|string> */ public function rules(): array { return [ 'arrival_aiport_id' => [ 'required', 'integer', 'exists:airports,id', ], 'departure_airport_id' => [ 'required', 'integer', 'exists:airports,id', 'different:arrival_aiport_id', ], 'airline_id' => [ 'required', 'integer', 'exists:airlines,id', ], 'title' => [ 'required', 'string', 'max:255', ], 'summary' => [ 'nullable', 'string', ], 'flight_type' => [ 'required', 'integer', Rule::in([ FlightType::DEPARTURE->value, FlightType::RETURN->value, FlightType::ROUNDTRIP->value, ]), ], 'departure_time' => [ 'required', 'date', ], 'price' => [ 'required', 'numeric', 'min:0', ], 'image' => [ 'required', 'image', 'mimes:jpg,jpeg,png,webp', 'max:2048', ], 'status' => [ 'required', 'integer', Rule::in([ FlightStatus::DISABLE->value, FlightStatus::ENABLE->value, ]), ], ]; } }