148 lines
4.2 KiB
Python
148 lines
4.2 KiB
Python
from strawberry.dataloader import DataLoader
|
|
from database import models
|
|
from graphql_schema.dataloaders.base import MultiModelsDataloader
|
|
|
|
aircrafts_from_organization_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.Aircraft,
|
|
relationship_column=models.Organization.id,
|
|
extra_join=[models.Aircraft.organization]
|
|
).load,
|
|
cache=False
|
|
)
|
|
|
|
flight_copilots_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.Copilot,
|
|
relationship_column=models.Flight.id,
|
|
extra_join=[models.Copilot.flights]).load,
|
|
cache=False)
|
|
|
|
flights_by_copilot_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.Flight,
|
|
relationship_column=models.Copilot.id,
|
|
extra_join=[models.Flight.copilots],
|
|
order_by=[models.Flight.takeoff_datetime.desc()]
|
|
).load,
|
|
cache=False
|
|
)
|
|
|
|
public_flights_by_copilot_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.Flight,
|
|
relationship_column=models.Copilot.id,
|
|
extra_join=[models.Flight.copilots],
|
|
filters=[models.Flight.is_public.is_(True)],
|
|
order_by=[models.Flight.takeoff_datetime.desc()]
|
|
).load,
|
|
cache=False
|
|
)
|
|
|
|
flights_by_aircraft_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.Flight,
|
|
relationship_column=models.Flight.aircraft_id,
|
|
order_by=[models.Flight.takeoff_datetime.desc()]
|
|
).load, cache=False)
|
|
|
|
flight_by_poi_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.Flight,
|
|
relationship_column=models.PointOfInterest.id,
|
|
order_by=[models.Flight.takeoff_datetime.desc()],
|
|
extra_join=[models.Flight.track, models.PointOfInterest]
|
|
).load,
|
|
cache=False
|
|
)
|
|
|
|
flights_by_event_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.Flight,
|
|
relationship_column=models.Event.id,
|
|
extra_join=[models.Flight.event],
|
|
order_by=[models.Flight.takeoff_datetime.desc()]
|
|
).load,
|
|
cache=False
|
|
)
|
|
|
|
public_flights_by_event_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.Flight,
|
|
relationship_column=models.Event.id,
|
|
filters=[models.Flight.is_public.is_(True)],
|
|
order_by=[models.Flight.takeoff_datetime.desc()],
|
|
extra_join=[models.Flight.event]
|
|
).load,
|
|
cache=False
|
|
)
|
|
|
|
user_organizations_dataloader = DataLoader(load_fn=MultiModelsDataloader(
|
|
models.Organization,
|
|
relationship_column=models.user_is_in_organization.c.user_id,
|
|
extra_join=[models.user_is_in_organization]
|
|
).load, cache=False)
|
|
|
|
users_in_organization_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.User,
|
|
relationship_column=models.Organization.id,
|
|
extra_join=[models.Organization.users]
|
|
).load,
|
|
cache=False
|
|
)
|
|
|
|
photos_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.Photo,
|
|
relationship_column=models.Photo.flight_id,
|
|
order_by=[models.Photo.exposed_at]
|
|
).load,
|
|
cache=False
|
|
)
|
|
poi_photos_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.Photo,
|
|
relationship_column=models.Photo.point_of_interest_id,
|
|
order_by=[models.Photo.exposed_at]
|
|
).load,
|
|
cache=False
|
|
)
|
|
flight_track_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.FlightTrack,
|
|
relationship_column=models.FlightTrack.flight_id,
|
|
order_by=[models.FlightTrack.order]
|
|
).load,
|
|
cache=False
|
|
)
|
|
|
|
copilots_in_photo_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.Copilot,
|
|
relationship_column=models.copilot_has_photo.c.photo_id,
|
|
extra_join=[models.copilot_has_photo],
|
|
order_by=[models.Copilot.name]
|
|
).load,
|
|
cache=False
|
|
)
|
|
|
|
photo_copilots_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.Photo,
|
|
relationship_column=models.copilot_has_photo.c.copilot_id,
|
|
extra_join=[models.copilot_has_photo],
|
|
order_by=[models.Photo.exposed_at]
|
|
).load,
|
|
cache=False
|
|
)
|
|
|
|
photos_aircraft_dataloader = DataLoader(
|
|
load_fn=MultiModelsDataloader(
|
|
models.Photo,
|
|
relationship_column=models.Photo.aircraft_id,
|
|
order_by=[models.Photo.exposed_at]
|
|
).load,
|
|
cache=False
|
|
)
|