source: Git/src/main/java/com/wediscussmovies/project/web/controller/GenreController.java@ 3c0f9a9

main
Last change on this file since 3c0f9a9 was 3c0f9a9, checked in by Petar Partaloski <ppartaloski@…>, 2 years ago

Added genre liking, fixed counter, improved paging, improved searches

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