klg-asutk-app/backend/app/schemas/modifications.py
Yuriy 0150aba4f5 Consolidation: KLG ASUTK + PAPA integration
- 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>
2026-02-08 17:18:31 +03:00

65 lines
2.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
Схемы для управления модификациями воздушных судов.
"""
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