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
RevLine 
[5b447b0]1package com.wediscussmovies.project.web.controller;
2
[3c0f9a9]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;
[5b447b0]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
[3c0f9a9]15import java.util.ArrayList;
16import java.util.List;
17
[5b447b0]18@Controller
19@RequestMapping("/genres")
20public class GenreController {
21 private final GenreService genreService;
[3c0f9a9]22 private final GenreLikesRepository genreLikesRepository;
[5b447b0]23
[3c0f9a9]24 public GenreController(GenreService genreService, GenreLikesRepository genreLikesRepository) {
[5b447b0]25 this.genreService = genreService;
[3c0f9a9]26 this.genreLikesRepository = genreLikesRepository;
[5b447b0]27 }
28 @GetMapping
29 public String getGenres(Model model){
30 model.addAttribute("genres",genreService.findAllWithLikes());
[3c0f9a9]31 model.addAttribute("allGenres", genreService.findAll());
[5b447b0]32 model.addAttribute("contentTemplate","genres");
[3c0f9a9]33 addModelPropertiesForUser(model);
[5b447b0]34 return "template";
35 }
[3c0f9a9]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 }
[5b447b0]47}
Note: See TracBrowser for help on using the repository browser.