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.
This commit is contained in:
Jan Meinl
2026-05-14 11:01:24 +02:00
parent 0621e4f376
commit 096e3f5ec8
5 changed files with 76 additions and 0 deletions
@@ -0,0 +1,7 @@
package dev.coph.flightscore.backend.flight;
public enum Daytime {
MORNING,
EVENING,
}
@@ -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;
}
@@ -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;
}
@@ -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;
}
@@ -0,0 +1,8 @@
package dev.coph.flightscore.backend.flight;
public enum FlightType {
COMPETITION,
PRACTICE
}