- Unify API: lib/api.ts uses /api/v1, inbox uses /api/inbox (rewrites) - Remove localhost refs: openapi, inbox page - Add rewrites: /api/inbox|tmc -> inbox-server, /api/v1 -> FastAPI - Add stub routes: knowledge/insights, recommendations, search, log-error - Transfer from PAPA: prompts (inspection, tmc), scripts, supabase, data/tmc-requests - Fix inbox-server: ORDER BY created_at, package.json - Remove redundant app/api/inbox/files route (rewrites handle it) - knowledge/ in gitignore (large PDFs) Co-authored-by: Cursor <cursoragent@cursor.com>
65 lines
2.9 KiB
Python
65 lines
2.9 KiB
Python
"""
|
||
Схемы для управления модификациями воздушных судов.
|
||
"""
|
||
|
||
from datetime import datetime
|
||
from pydantic import BaseModel, Field
|
||
from app.schemas.common import TimestampOut
|
||
|
||
|
||
class AircraftModificationOut(TimestampOut):
|
||
"""Схема вывода модификации ВС."""
|
||
id: str
|
||
aircraft_id: str
|
||
modification_number: str
|
||
modification_type: str
|
||
title: str
|
||
description: str | None
|
||
applicable_aircraft_types: str | None
|
||
compliance_required: bool
|
||
compliance_date: datetime | None
|
||
compliance_status: str
|
||
compliance_method: str | None
|
||
performed_date: datetime | None
|
||
performed_by_org_id: str | None
|
||
performed_by_user_id: str | None
|
||
reference_documents: str | None
|
||
remarks: str | None
|
||
deferral_reason: str | None
|
||
deferral_until: datetime | None
|
||
|
||
|
||
class AircraftModificationCreate(BaseModel):
|
||
"""Схема создания модификации ВС."""
|
||
aircraft_id: str = Field(..., description="ID воздушного судна")
|
||
modification_number: str = Field(..., description="Номер модификации (AD, SB, STC номер)")
|
||
modification_type: str = Field(..., description="Тип модификации (AD, SB, STC, Service Bulletin)")
|
||
title: str = Field(..., description="Название модификации")
|
||
description: str | None = Field(default=None, description="Описание модификации")
|
||
applicable_aircraft_types: str | None = Field(default=None, description="Типы ВС, к которым применима модификация")
|
||
compliance_required: bool = Field(default=False, description="Обязательна ли модификация")
|
||
compliance_date: datetime | None = Field(default=None, description="Срок выполнения (для обязательных)")
|
||
compliance_method: str | None = Field(default=None, description="Способ выполнения модификации")
|
||
reference_documents: str | None = Field(default=None, description="Ссылки на документы модификации")
|
||
remarks: str | None = Field(default=None, description="Примечания")
|
||
|
||
|
||
class AircraftModificationUpdate(BaseModel):
|
||
"""Схема обновления модификации ВС."""
|
||
modification_number: str | None = None
|
||
modification_type: str | None = None
|
||
title: str | None = None
|
||
description: str | None = None
|
||
applicable_aircraft_types: str | None = None
|
||
compliance_required: bool | None = None
|
||
compliance_date: datetime | None = None
|
||
compliance_status: str | None = None
|
||
compliance_method: str | None = None
|
||
performed_date: datetime | None = None
|
||
performed_by_org_id: str | None = None
|
||
performed_by_user_id: str | None = None
|
||
reference_documents: str | None = None
|
||
remarks: str | None = None
|
||
deferral_reason: str | None = None
|
||
deferral_until: datetime | None = None
|