Files
gps-denied-desktop/models/api/flight_responses.py
T
Oleksandr Bezdieniezhnykh abc26d5c20 initial structure implemented
docs -> _docs
2025-12-01 14:20:56 +02:00

62 lines
1.3 KiB
Python

from datetime import datetime
from typing import Optional
from pydantic import BaseModel
from ..core.gps_point import GPSPoint
from ..core.camera_parameters import CameraParameters
from ..flight.waypoint import Waypoint
from ..flight.geofences import Geofences
class FlightResponse(BaseModel):
flight_id: str
status: str
message: Optional[str] = None
created_at: datetime
class FlightDetailResponse(BaseModel):
flight_id: str
name: str
description: str
start_gps: GPSPoint
waypoints: list[Waypoint]
geofences: Geofences
camera_params: CameraParameters
altitude: float
status: str
frames_processed: int
frames_total: int
created_at: datetime
updated_at: datetime
class FlightStatusResponse(BaseModel):
status: str
frames_processed: int
frames_total: int
current_frame: Optional[int] = None
current_heading: Optional[float] = None
blocked: bool = False
search_grid_size: Optional[int] = None
message: Optional[str] = None
created_at: datetime
updated_at: datetime
class DeleteResponse(BaseModel):
deleted: bool
flight_id: str
class UpdateResponse(BaseModel):
updated: bool
waypoint_id: str
class BatchUpdateResponse(BaseModel):
success: bool
updated_count: int
failed_ids: list[str] = []
errors: Optional[dict[str, str]] = None