mirror of
https://github.com/azaion/gps-denied-desktop.git
synced 2026-04-22 22:56:35 +00:00
abc26d5c20
docs -> _docs
47 lines
1.0 KiB
Python
47 lines
1.0 KiB
Python
from abc import ABC, abstractmethod
|
|
from typing import Optional
|
|
|
|
from models.flight import Flight, Waypoint
|
|
from models.core import GPSPoint
|
|
|
|
|
|
class FlightLifecycleManagerBase(ABC):
|
|
@abstractmethod
|
|
async def create_flight(
|
|
self,
|
|
name: str,
|
|
description: str,
|
|
start_gps: GPSPoint,
|
|
rough_waypoints: list[GPSPoint],
|
|
camera_params: dict,
|
|
altitude: float,
|
|
) -> Flight:
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def delete_flight(self, flight_id: str) -> bool:
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def update_waypoints(
|
|
self, flight_id: str, waypoints: list[Waypoint]
|
|
) -> bool:
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def get_flight(self, flight_id: str) -> Optional[Flight]:
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def start_processing(self, flight_id: str) -> bool:
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def stop_processing(self, flight_id: str) -> bool:
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def get_processing_status(self, flight_id: str) -> dict:
|
|
pass
|
|
|