source: src/main/java/com/example/skychasemk/controller/ReviewController.java@ ff72ad2

Last change on this file since ff72ad2 was 3a74959, checked in by ste08 <sjovanoska@…>, 3 months ago

Review page added

  • Property mode set to 100644
File size: 1.7 KB
Line 
1package com.example.skychasemk.controller;
2
3import com.example.skychasemk.dto.ReviewDTO;
4import com.example.skychasemk.model.Notification;
5import com.example.skychasemk.model.Review;
6import com.example.skychasemk.repository.ReviewRepository;
7import com.example.skychasemk.services.ReviewService;
8import org.springframework.beans.factory.annotation.Autowired;
9import org.springframework.http.ResponseEntity;
10import org.springframework.web.bind.annotation.*;
11
12import java.util.List;
13import java.util.Optional;
14
15@RestController
16@RequestMapping("/api/reviews")
17public class ReviewController {
18
19 @Autowired
20 private ReviewService reviewService;
21 @Autowired
22 private ReviewRepository reviewRepository;
23
24 // Get all reviews
25 @GetMapping
26 public List<Review> getAllReviews() {
27 return reviewService.getAllReviews();
28 }
29
30 @GetMapping("/{userId}")
31 public ResponseEntity<List<Review>> getReviewsByFlightId(@PathVariable Integer userId) {
32 List<Review> reviews = reviewRepository.findByUserId(userId);
33 return ResponseEntity.ok(reviews);
34 }
35
36 @PostMapping
37 public ResponseEntity<Review> submitReview(@RequestBody ReviewDTO dto) {
38 Review savedReview = reviewService.submitReview(dto);
39 return ResponseEntity.ok(savedReview);
40 }
41
42 // Update an existing review
43 @PutMapping("/{id}")
44 public Review updateReview(@PathVariable("id") Integer reviewID, @RequestBody Review review) {
45 return reviewService.updateReview(reviewID, review);
46 }
47
48 // Delete a review
49 @DeleteMapping("/{id}")
50 public void deleteReview(@PathVariable("id") Integer reviewID) {
51 reviewService.deleteReview(reviewID);
52 }
53}
Note: See TracBrowser for help on using the repository browser.