Files
app/src/graphql/fragments/flight.js
T

138 lines
2.1 KiB
JavaScript

import gql from "graphql-tag";
import {FRAGMENT_AIRCRAFT_FULL_INFO} from "src/graphql/fragments/aircraft";
import {FRAGMENT_AIRPORT_INFO} from "src/graphql/fragments/airport";
import {FRAGMENT_PHOTO_FULL_INFO} from "src/graphql/fragments/photo";
import {FRAGMENT_POI_FULL_INFO} from "src/graphql/fragments/poi";
import {FRAGMENT_COPILOT_PUBLIC_INFO} from "src/graphql/fragments/copilot";
export const FRAGMENT_WEATHER_FULL_INFO = gql`
fragment weatherFullInfo on WeatherInfo {
datetime
qnh
temperatureSurface
dewpointSurface
windSpeedSurface
windDirectionSurface
cloudcoverTotal
cloudcoverLow
rain
}`;
export const FRAGMENT_FLIGHT_FULL_INFO = gql`
fragment flightFullInfo on Flight {
id
name
urlSlug
description
takeoffDatetime
landingDatetime
landings
durationMinCalculated
isPublic
flightPlanId
socialImageUrl
titlePhoto {
thumbnailUrl
url
id
}
takeoffAirport {
...airportInfo
}
landingAirport {
...airportInfo
}
landingWeatherInfo {
...weatherFullInfo
}
takeoffWeatherInfo {
...weatherFullInfo
}
event {
id
isPublic
urlSlug
name
}
track {
points {
coordinates {
lat
lng
}
timestamp
magneticVariation
speed
altitude
terrainElevation
}
mapBounds {
lat
lng
}
maxSpeed
avgSpeed
maxAltitude
avgAltitude
}
turnPoints {
pointOfInterest {
...pointOfInterestFullInfo
}
airport {
...airportInfo
}
landingDuration
}
aircraft {
...aircraftFullInfo
}
}
${FRAGMENT_AIRCRAFT_FULL_INFO}
${FRAGMENT_AIRPORT_INFO}
${FRAGMENT_POI_FULL_INFO}
${FRAGMENT_WEATHER_FULL_INFO}
`;
export const FRAGMENT_FLIGHT_FULL_PRIVATE_INFO = gql`
fragment flightFullPrivateInfo on Flight {
...flightFullInfo
flightPlanId
debriefingNotes
copilots {
...copilotPublicInfo
token
}
photos {
...photoFullInfo
pointOfInterest {
id
name
}
copilots {
id
name
}
}
}
${FRAGMENT_FLIGHT_FULL_INFO}
${FRAGMENT_PHOTO_FULL_INFO}
${FRAGMENT_COPILOT_PUBLIC_INFO}
`;