source: Git/src/main/java/com/wediscussmovies/project/web/controller/GenreController.java@ 6f91f99

main
Last change on this file since 6f91f99 was 6f91f99, checked in by Test <matonikolov77@…>, 2 years ago

Refactored reply repository and discussion repository

  • Property mode set to 100644
File size: 1.8 KB
Line 
1package com.wediscussmovies.project.web.controller;
2
3import com.wediscussmovies.project.LoggedUser;
4import com.wediscussmovies.project.model.Genre;
5import com.wediscussmovies.project.model.User;
6import com.wediscussmovies.project.model.relation.UserGenres;
7import com.wediscussmovies.project.repository.GenreLikesRepository;
8import com.wediscussmovies.project.service.GenreService;
9import org.springframework.stereotype.Controller;
10import org.springframework.ui.Model;
11import org.springframework.web.bind.annotation.GetMapping;
12import org.springframework.web.bind.annotation.RequestMapping;
13
14import java.util.ArrayList;
15import java.util.List;
16
17@Controller
18@RequestMapping("/genres")
19public class GenreController {
20 private final GenreService genreService;
21 private final GenreLikesRepository genreLikesRepository;
22
23 public GenreController(GenreService genreService, GenreLikesRepository genreLikesRepository) {
24 this.genreService = genreService;
25 this.genreLikesRepository = genreLikesRepository;
26 }
27 @GetMapping
28 public String getGenres(Model model){
29 model.addAttribute("genres",genreService.findAllWithLikes());
30 model.addAttribute("allGenres", genreService.findAll());
31 model.addAttribute("contentTemplate","genres");
32 addModelPropertiesForUser(model);
33 return "template";
34 }
35
36 private void addModelPropertiesForUser(Model model){
37 User user = LoggedUser.getLoggedUser();
38 List<UserGenres> genreLikesList = this.genreLikesRepository.findAllByUser(user);
39 List<Genre> genres = new ArrayList<>();
40 for(UserGenres g: genreLikesList){
41 genres.add(genreService.findById(g.getId().getGenreId()));
42 }
43 model.addAttribute("likedGenres",genres);
44 model.addAttribute("user",user);
45 }
46}
Note: See TracBrowser for help on using the repository browser.