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_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
|
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()
|
created_by: Mapped['User'] = relationship()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -47,6 +47,24 @@ reporting_points_dataloader = DataLoader(
|
|||||||
).load, cache=False
|
).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(
|
flights_by_copilot_dataloader = DataLoader(
|
||||||
load_fn=MultiModelsDataloader(
|
load_fn=MultiModelsDataloader(
|
||||||
models.Flight,
|
models.Flight,
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ from graphql_schema.dataloaders.multi_models import (
|
|||||||
aircrafts_from_organization_dataloader, user_organizations_dataloader, flights_by_event_dataloader,
|
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,
|
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,
|
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 (
|
from graphql_schema.dataloaders.single_model import (
|
||||||
poi_dataloader, poi_type_dataloader, event_dataloader, aircraft_dataloader, airport_dataloader,
|
poi_dataloader, poi_type_dataloader, event_dataloader, aircraft_dataloader, airport_dataloader,
|
||||||
@@ -52,14 +52,29 @@ class ReportingPoint:
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_sqlalchemy_type(models.Runway)
|
||||||
|
class Runway:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@strawberry_sqlalchemy_type(models.Frequency)
|
||||||
|
class Frequency:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
@strawberry_sqlalchemy_type(models.Airport)
|
@strawberry_sqlalchemy_type(models.Airport)
|
||||||
class Airport:
|
class Airport:
|
||||||
reporting_points: List[ReportingPoint] = strawberry.field(
|
reporting_points: List[ReportingPoint] = strawberry.field(
|
||||||
resolver=lambda root: reporting_points_dataloader.load(root.id)
|
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 ikonu
|
||||||
# TODO: loader na RWY a frekvence
|
|
||||||
|
|
||||||
|
|
||||||
@strawberry.type
|
@strawberry.type
|
||||||
|
|||||||
Reference in New Issue
Block a user