/*
         * return all the flight that's on air.
         * if sync all appear in the url then the server ask for flight from external servers.
         */
        public async Task <ActionResult <List <Flight> > > GetFlights(
            [FromQuery(Name = "relative_to")] string relativTo)
        {
            Dictionary <string, string> flightToServer = new Dictionary <string, string>();
            bool          syncAll = Request.Query.ContainsKey("sync_all");
            List <Flight> flights = new List <Flight>();

            await foreach (FlightPlan fp in _fpDb.LoadAllFP())
            {
                if (!fp.IsValid())
                {
                    continue;
                }
                if (fp.IsOnAir(DateTime.Parse(relativTo).ToUniversalTime()))
                {
                    flights.Add(fp.ConvertToFlight(
                                    DateTime.Parse(relativTo).ToUniversalTime(), false));
                }
            }
            if (syncAll)
            {
                return(await HandleExternalServers(relativTo, flightToServer, flights));
            }
            await AddFlightsToServers(flightToServer);

            return(flights);
        }