From 7c040d2453906184db98ed521684dfb48b4e1984 Mon Sep 17 00:00:00 2001 From: rokibulislam <rrcucse.11@gmail.com> Date: Mon, 22 Apr 2024 16:52:58 +0200 Subject: [PATCH] update rest api --- .../api/flight/requests/FlightRequest.java | 2 ++ .../java/cz/muni/fi/pa165/dao/Flight.java | 14 +++++++--- .../cz/muni/fi/pa165/dao/FlightPilot.java | 24 +++++++++++++++++ .../cz/muni/fi/pa165/dao/FlightSteward.java | 26 +++++++++++++++++++ .../muni/fi/pa165/rest/FlightController.java | 9 ++++--- .../rest/FlightRealizationController.java | 3 +-- .../fi/pa165/rest/IssueReportController.java | 3 +-- 7 files changed, 70 insertions(+), 11 deletions(-) create mode 100644 airports-flight-service/src/main/java/cz/muni/fi/pa165/dao/FlightPilot.java create mode 100644 airports-flight-service/src/main/java/cz/muni/fi/pa165/dao/FlightSteward.java diff --git a/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/requests/FlightRequest.java b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/requests/FlightRequest.java index a22078c..c77f409 100644 --- a/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/requests/FlightRequest.java +++ b/airport-manager-api/src/main/java/cz/muni/fi/pa165/api/flight/requests/FlightRequest.java @@ -14,4 +14,6 @@ public class FlightRequest { private UUID origin; private UUID destination; private UUID planeId; + private List<UUID> pilotIds; + private List<UUID> stewardIds; } diff --git a/airports-flight-service/src/main/java/cz/muni/fi/pa165/dao/Flight.java b/airports-flight-service/src/main/java/cz/muni/fi/pa165/dao/Flight.java index b8134e1..9ac8cd3 100644 --- a/airports-flight-service/src/main/java/cz/muni/fi/pa165/dao/Flight.java +++ b/airports-flight-service/src/main/java/cz/muni/fi/pa165/dao/Flight.java @@ -1,14 +1,18 @@ package cz.muni.fi.pa165.dao; import cz.muni.fi.pa165.Constants; +import cz.muni.fi.pa165.api.employee.Steward; import lombok.Data; import javax.persistence.*; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; import java.util.UUID; +import java.util.Set; + @Data @Entity @Table(name = "flight", schema = Constants.FLIGHT_SCHEMA) @@ -21,8 +25,10 @@ public class Flight implements Serializable { private UUID destination; private UUID planeId; -// @ElementCollection -// private List<Long> pilotIds; -// @ElementCollection -// private List<Long> stewardIds; + @OneToMany(mappedBy = "flightId", cascade = CascadeType.ALL, orphanRemoval = true) + private Set<FlightSteward> stewardIds; + + + @OneToMany(mappedBy = "flightId", cascade = CascadeType.ALL, orphanRemoval = true) + private Set<FlightPilot> pilotIds; } diff --git a/airports-flight-service/src/main/java/cz/muni/fi/pa165/dao/FlightPilot.java b/airports-flight-service/src/main/java/cz/muni/fi/pa165/dao/FlightPilot.java new file mode 100644 index 0000000..cecd26d --- /dev/null +++ b/airports-flight-service/src/main/java/cz/muni/fi/pa165/dao/FlightPilot.java @@ -0,0 +1,24 @@ +package cz.muni.fi.pa165.dao; + +import cz.muni.fi.pa165.Constants; +import lombok.Data; +import javax.persistence.*; +import java.io.Serializable; +import java.util.UUID; + +@Data +@Entity +@Table(name = "flight_pilot", schema = "flight_pilot") +@Inheritance(strategy = InheritanceType.JOINED) +public class FlightPilot implements Serializable { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private UUID id; + + private UUID pilotId; + + @ManyToOne + @JoinColumn(name = "flight_id") + private Flight flightId; +} diff --git a/airports-flight-service/src/main/java/cz/muni/fi/pa165/dao/FlightSteward.java b/airports-flight-service/src/main/java/cz/muni/fi/pa165/dao/FlightSteward.java new file mode 100644 index 0000000..4ffba9c --- /dev/null +++ b/airports-flight-service/src/main/java/cz/muni/fi/pa165/dao/FlightSteward.java @@ -0,0 +1,26 @@ +package cz.muni.fi.pa165.dao; + + +import cz.muni.fi.pa165.Constants; +import lombok.Data; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.UUID; + +@Data +@Entity +@Table(name = "flight_steward", schema = "flight_steward") +@Inheritance(strategy = InheritanceType.JOINED) +public class FlightSteward implements Serializable { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private UUID id; + + private UUID stewardId; + + @ManyToOne + @JoinColumn(name = "flight_id") + private Flight flightId; +} diff --git a/airports-flight-service/src/main/java/cz/muni/fi/pa165/rest/FlightController.java b/airports-flight-service/src/main/java/cz/muni/fi/pa165/rest/FlightController.java index c312652..926cd2b 100644 --- a/airports-flight-service/src/main/java/cz/muni/fi/pa165/rest/FlightController.java +++ b/airports-flight-service/src/main/java/cz/muni/fi/pa165/rest/FlightController.java @@ -5,6 +5,8 @@ import cz.muni.fi.pa165.api.flight.requests.FlightRequest; import cz.muni.fi.pa165.facade.FlightFacade; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.UUID; @@ -33,12 +35,13 @@ public class FlightController { @GetMapping("/{id}") public Flight getFlight(@PathVariable UUID id) { return flightFacade.getFlight(id); - } // Create a new flight @PostMapping public Flight createFlight(@RequestBody FlightRequest flightRequest) { + System.out.println("Get create Flights"); + System.out.println(flightRequest); return flightFacade.createFlight(flightRequest); } @@ -55,11 +58,11 @@ public class FlightController { return flightFacade.updateFlight(id, flightRequest); } - /* + @DeleteMapping("/{id}") public ResponseEntity<String> deleteFlight(@PathVariable(value = "id") UUID id) { flightFacade.deleteFlight(id); return new ResponseEntity<>("Flight deleted sucessfully", HttpStatus.OK); } - */ + } diff --git a/airports-flight-service/src/main/java/cz/muni/fi/pa165/rest/FlightRealizationController.java b/airports-flight-service/src/main/java/cz/muni/fi/pa165/rest/FlightRealizationController.java index 76dc557..bb4e592 100644 --- a/airports-flight-service/src/main/java/cz/muni/fi/pa165/rest/FlightRealizationController.java +++ b/airports-flight-service/src/main/java/cz/muni/fi/pa165/rest/FlightRealizationController.java @@ -50,11 +50,10 @@ public class FlightRealizationController { return flightRealizationFacade.updateFlightRealization(id, flightRealizationRequest); } - /* + @DeleteMapping("/{id}") public ResponseEntity<String> deleteFlightRealization(@PathVariable UUID id) { flightRealizationFacade.deleteFlightRealization(id); return new ResponseEntity<>("Flight Realization deleted sucessfully", HttpStatus.OK); } - */ } diff --git a/airports-flight-service/src/main/java/cz/muni/fi/pa165/rest/IssueReportController.java b/airports-flight-service/src/main/java/cz/muni/fi/pa165/rest/IssueReportController.java index 1620b1c..22074b1 100644 --- a/airports-flight-service/src/main/java/cz/muni/fi/pa165/rest/IssueReportController.java +++ b/airports-flight-service/src/main/java/cz/muni/fi/pa165/rest/IssueReportController.java @@ -72,11 +72,10 @@ public class IssueReportController { return issueReportFacade.updateIssueReport(id, issueReportRequest); } - /* + @DeleteMapping("/{id}") public ResponseEntity<String> deleteIssueReport(@PathVariable(value = "id") UUID id) { issueReportFacade.deleteIssueReport(id); return new ResponseEntity<>("Issue deleted sucessfully", HttpStatus.OK); } - */ } -- GitLab