ZoNacitani frekvenci, RWY
This commit is contained in:
@@ -145,6 +145,8 @@ class Airport(BaseModel):
|
||||
created_at: Mapped[datetime] = mapped_column(DateTime, server_default=func.now())
|
||||
created_by_id: Mapped[int] = mapped_column(Integer, ForeignKey('user.id'), nullable=True) # automaticky import nebude mit ID # noqa
|
||||
|
||||
runways: Mapped[list['Runway']] = relationship()
|
||||
frequencies: Mapped[list['Frequency']] = relationship()
|
||||
created_by: Mapped['User'] = relationship()
|
||||
|
||||
|
||||
|
||||
@@ -47,6 +47,24 @@ reporting_points_dataloader = DataLoader(
|
||||
).load, cache=False
|
||||
)
|
||||
|
||||
runways_dataloader = DataLoader(
|
||||
load_fn=MultiModelsDataloader(
|
||||
models.Runway,
|
||||
relationship_column=models.Airport.id,
|
||||
extra_join=[models.Airport.runways],
|
||||
order_by=[models.Runway.designator]
|
||||
).load, cache=False
|
||||
)
|
||||
|
||||
frequencies_dataloader = DataLoader(
|
||||
load_fn=MultiModelsDataloader(
|
||||
models.Frequency,
|
||||
relationship_column=models.Airport.id,
|
||||
extra_join=[models.Airport.frequencies],
|
||||
order_by=[models.Frequency.frequency]
|
||||
).load, cache=False
|
||||
)
|
||||
|
||||
flights_by_copilot_dataloader = DataLoader(
|
||||
load_fn=MultiModelsDataloader(
|
||||
models.Flight,
|
||||
|
||||
@@ -15,7 +15,7 @@ from graphql_schema.dataloaders.multi_models import (
|
||||
aircrafts_from_organization_dataloader, user_organizations_dataloader, flights_by_event_dataloader,
|
||||
flights_by_copilot_dataloader, public_flights_by_event_dataloader, public_flights_by_copilot_dataloader,
|
||||
photo_copilots_dataloader, photos_aircraft_dataloader, copilots_in_photo_dataloader, flight_plan_markers_dataloader,
|
||||
reporting_points_dataloader, flight_plan_copilots_dataloader
|
||||
reporting_points_dataloader, flight_plan_copilots_dataloader, runways_dataloader, frequencies_dataloader
|
||||
)
|
||||
from graphql_schema.dataloaders.single_model import (
|
||||
poi_dataloader, poi_type_dataloader, event_dataloader, aircraft_dataloader, airport_dataloader,
|
||||
@@ -52,14 +52,29 @@ class ReportingPoint:
|
||||
pass
|
||||
|
||||
|
||||
@strawberry_sqlalchemy_type(models.Runway)
|
||||
class Runway:
|
||||
pass
|
||||
|
||||
|
||||
@strawberry_sqlalchemy_type(models.Frequency)
|
||||
class Frequency:
|
||||
pass
|
||||
|
||||
|
||||
@strawberry_sqlalchemy_type(models.Airport)
|
||||
class Airport:
|
||||
reporting_points: List[ReportingPoint] = strawberry.field(
|
||||
resolver=lambda root: reporting_points_dataloader.load(root.id)
|
||||
)
|
||||
runways: List[Runway] = strawberry.field(
|
||||
resolver=lambda root: runways_dataloader.load(root.id)
|
||||
)
|
||||
frequencies: List[Frequency] = strawberry.field(
|
||||
resolver=lambda root: frequencies_dataloader.load(root.id)
|
||||
)
|
||||
|
||||
# TODO: loader na ikonu
|
||||
# TODO: loader na RWY a frekvence
|
||||
|
||||
|
||||
@strawberry.type
|
||||
|
||||
Reference in New Issue
Block a user