import BaseModel from './BaseModel' import User from './User' import Wing from './Wing' import Harness from './Harness' import Site from './Site' import { FlightParser } from '../services/FlightParser' export default class Flight extends BaseModel { public id: string = '' public user_id: string = '' public wing_id: number | null = null public custom_wing_name: string = '' public harness_id: number | null = null public custom_harness_name: string = '' public hash: string = '' public type: string = '' public takeoff_at: Date | null = null public takeoff_weight: number | null = null public takeoff_lng: number = 0 public takeoff_lat: number = 0 public takeoff_bearing: number = 0 public takeoff_gps_altitude: number = 0 public landing_at: Date | null = null public landing_lng: number = 0 public landing_lat: number = 0 public landing_gps_altitude: number = 0 public takeoff_landing_height_diff: number = 0 public duration: string = '' public duration_in_seconds: number = 0 public free_distance: number = 0 public route_distance: number = 0 public route_bearing: number = 0 public average_general_speed: number = 0 public average_route_speed: number = 0 public max_speed: number = 0 public min_gps_altitude: number = 0 public max_gps_altitude: number = 0 public max_climb_rate: number = 0 public max_sink_rate: number = 0 public timezone: string = 'America/Sao_Paulo' public likes_total: number = 0 public views_total: number = 0 public created_at: any = null public updated_at: any = null public deleted_at: any = null public wing_manufacturer_id: number = 0 public harness_manufacturer_id: number = 0 public igc_url: string = '' public cover_url: string = '' public flightParsed: FlightParser | null = null public user: User | null = new User() public wing: Wing | null = new Wing() public harness: Harness | null = new Harness() public takeoff_site: Site | null = null public flight_forecasts: Array = [] constructor(data: any = {}) { super(data) this.setFillableKeys(data) } public get fillable (): Array { return [ 'id', 'user_id', 'wing_id', 'custom_wing_name', 'harness_id', 'custom_harness_name', 'hash', 'type', 'takeoff_at', 'takeoff_weight', 'takeoff_lng', 'takeoff_lat', 'takeoff_bearing', 'takeoff_gps_altitude', 'landing_at', 'landing_lng', 'landing_lat', 'landing_gps_altitude', 'takeoff_landing_height_diff', 'duration', 'duration_in_seconds', 'free_distance', 'route_distance', 'route_bearing', 'average_general_speed', 'average_route_speed', 'max_speed', 'min_gps_altitude', 'max_gps_altitude', 'max_climb_rate', 'max_sink_rate', 'timezone', 'igc_url', 'cover_url', 'flightParsed', 'user', 'takeoff_site', 'wing', 'harness', 'flight_forecasts', 'likes_total', 'views_total', 'created_at', 'updated_at', 'deleted_at', 'wing_manufacturer_id', 'harness_manufacturer_id', ] } }