source: src/main/java/com/example/skychasemk/controller/BookingController.java@ 62bba0c

Last change on this file since 62bba0c was de83113, checked in by ste08 <sjovanoska@…>, 4 months ago

Signup,Login,FlightSearch,Booking and Payment working!

  • Property mode set to 100644
File size: 1.8 KB
Line 
1package com.example.skychasemk.controller;
2
3import com.example.skychasemk.dto.BookingDTO;
4import com.example.skychasemk.model.Booking;
5import com.example.skychasemk.repository.BookingRepository;
6import com.example.skychasemk.services.BookingService;
7import org.springframework.beans.factory.annotation.Autowired;
8import org.springframework.web.bind.annotation.*;
9
10import java.time.LocalDate;
11import java.util.Optional;
12
13@RestController
14@RequestMapping("/api")
15public class BookingController {
16
17 @Autowired
18 private BookingService bookingService;
19
20 @Autowired
21 private BookingRepository bookingRepository;
22
23
24 @GetMapping("/flights/id/{id}")
25 public Optional<Booking> getBookingById(@PathVariable("id") Integer bookingID) {
26 return bookingService.getBookingById(bookingID);
27 }
28
29 @PutMapping("/flights/{bookingId}")
30 public Booking updateBooking(@PathVariable("bookingId") Integer bookingID, @RequestBody Booking booking) {
31 return bookingService.updateBooking(bookingID, booking);
32 }
33
34 @GetMapping("/bookings/getAll/{flightId}")
35 public Booking getAllBookings(@PathVariable Integer flightId){
36 return (Booking) bookingRepository.findBookingsByFlightId(flightId);
37 }
38
39 @PostMapping("/bookings")
40 public Booking createBooking(@RequestBody BookingDTO bookingRequest) {
41 Booking newBooking = new Booking();
42 newBooking.setUserId(bookingRequest.getUserId());
43 newBooking.setFlightId(bookingRequest.getFlightId());
44 newBooking.setBookingDate(LocalDate.now());
45 newBooking.setStatus(Booking.payment_status.PENDING);
46 newBooking.setTotal_cost(bookingRequest.getTotalCost());
47 newBooking.setSeatNumber(bookingRequest.getSeatNumber());
48 System.out.println("Saving Booking: " + newBooking);
49
50 return bookingRepository.save(newBooking);
51 }
52}
53
Note: See TracBrowser for help on using the repository browser.