From 096e3f5ec86289f2beef2018fa24ffaf1871e6c6 Mon Sep 17 00:00:00 2001 From: Jan Meinl Date: Thu, 14 May 2026 11:01:24 +0200 Subject: [PATCH] Add flight model classes with enums and relationships - Added `Flight`, `FlightType`, `FlightPublicData`, `FlightScoringData` classes for representing flight details. - Introduced `Daytime` enum for specifying flight time periods. - Established relationships between flight-related classes for improved data organization. --- .../flightscore/backend/flight/Daytime.java | 7 ++++++ .../flightscore/backend/flight/Flight.java | 22 ++++++++++++++++++ .../backend/flight/FlightPublicData.java | 23 +++++++++++++++++++ .../backend/flight/FlightScoringData.java | 16 +++++++++++++ .../backend/flight/FlightType.java | 8 +++++++ 5 files changed, 76 insertions(+) create mode 100644 src/main/java/dev/coph/flightscore/backend/flight/Daytime.java create mode 100644 src/main/java/dev/coph/flightscore/backend/flight/Flight.java create mode 100644 src/main/java/dev/coph/flightscore/backend/flight/FlightPublicData.java create mode 100644 src/main/java/dev/coph/flightscore/backend/flight/FlightScoringData.java create mode 100644 src/main/java/dev/coph/flightscore/backend/flight/FlightType.java diff --git a/src/main/java/dev/coph/flightscore/backend/flight/Daytime.java b/src/main/java/dev/coph/flightscore/backend/flight/Daytime.java new file mode 100644 index 0000000..089cfd1 --- /dev/null +++ b/src/main/java/dev/coph/flightscore/backend/flight/Daytime.java @@ -0,0 +1,7 @@ +package dev.coph.flightscore.backend.flight; + +public enum Daytime { + MORNING, + EVENING, + +} diff --git a/src/main/java/dev/coph/flightscore/backend/flight/Flight.java b/src/main/java/dev/coph/flightscore/backend/flight/Flight.java new file mode 100644 index 0000000..02a899d --- /dev/null +++ b/src/main/java/dev/coph/flightscore/backend/flight/Flight.java @@ -0,0 +1,22 @@ +package dev.coph.flightscore.backend.flight; + +import lombok.Getter; +import lombok.experimental.Accessors; + +import java.time.LocalDate; + +@Getter +@Accessors(fluent = true) +public class Flight { + + private int flightNumber; + private FlightType type; + private LocalDate date; + private Daytime daytime; + private int qnh; + + private FlightPublicData publicData; + private FlightScoringData scoringData; + + +} diff --git a/src/main/java/dev/coph/flightscore/backend/flight/FlightPublicData.java b/src/main/java/dev/coph/flightscore/backend/flight/FlightPublicData.java new file mode 100644 index 0000000..2136fb0 --- /dev/null +++ b/src/main/java/dev/coph/flightscore/backend/flight/FlightPublicData.java @@ -0,0 +1,23 @@ +package dev.coph.flightscore.backend.flight; + +import lombok.Getter; +import lombok.experimental.Accessors; + +/** + * A class for the public data of a flight. Not used for scoring + */ +@Getter +@Accessors(fluent = true) +public class FlightPublicData { + + private String launchArea; + private String launchPeriod; + private String MinimumILPToGoals; + private Boolean soloFlightRequired; + private String SunsetAndSunrise; + private String PZsInForce; + private String searchPeriod; + private String nextBriefing; + private String additionalNotes; + +} diff --git a/src/main/java/dev/coph/flightscore/backend/flight/FlightScoringData.java b/src/main/java/dev/coph/flightscore/backend/flight/FlightScoringData.java new file mode 100644 index 0000000..fe19f17 --- /dev/null +++ b/src/main/java/dev/coph/flightscore/backend/flight/FlightScoringData.java @@ -0,0 +1,16 @@ +package dev.coph.flightscore.backend.flight; + +import lombok.Getter; +import lombok.experimental.Accessors; + +import java.time.Instant; + +@Getter +@Accessors(fluent = true) +public class FlightScoringData { + + private Instant launchPeriodStart; + private Instant launchPeriodEnd; + private Integer minimumILPToGoalsInMeter; + +} diff --git a/src/main/java/dev/coph/flightscore/backend/flight/FlightType.java b/src/main/java/dev/coph/flightscore/backend/flight/FlightType.java new file mode 100644 index 0000000..ddbb245 --- /dev/null +++ b/src/main/java/dev/coph/flightscore/backend/flight/FlightType.java @@ -0,0 +1,8 @@ +package dev.coph.flightscore.backend.flight; + +public enum FlightType { + COMPETITION, + PRACTICE + + +}