Changeset 15782a6
- Timestamp:
- 02/05/26 17:56:50 (5 months ago)
- Branches:
- main
- Children:
- 694fc25
- Parents:
- 929e93c
- Location:
- finkwave/src/main/java/com/ukim/finki/develop/finkwave
- Files:
-
- 2 added
- 1 deleted
- 3 edited
-
controller/AllController.java (deleted)
-
controller/SongController.java (added)
-
model/MusicalEntity.java (modified) (1 diff)
-
model/dto/MusicalEntityDto.java (modified) (2 diffs)
-
repository/SongRepository.java (modified) (3 diffs)
-
service/SongService.java (added)
Legend:
- Unmodified
- Added
- Removed
-
finkwave/src/main/java/com/ukim/finki/develop/finkwave/model/MusicalEntity.java
r929e93c r15782a6 37 37 private LocalDate releaseDate; 38 38 39 private String cover; 40 39 41 @ManyToOne(fetch = FetchType.LAZY) 40 42 @OnDelete(action = OnDeleteAction.CASCADE) -
finkwave/src/main/java/com/ukim/finki/develop/finkwave/model/dto/MusicalEntityDto.java
r929e93c r15782a6 1 1 package com.ukim.finki.develop.finkwave.model.dto; 2 2 3 import jakarta.annotation.Nullable; 3 4 import lombok.AllArgsConstructor; 4 5 import lombok.Getter; … … 14 15 private String type; 15 16 private String releasedBy; 17 private String cover; 16 18 private Boolean isLikedByCurrentUser; 19 20 public MusicalEntityDto(Long id, String title, String genre, String type, String releasedBy, Boolean isLikedByCurrentUser) { 21 this.id = id; 22 this.title = title; 23 this.genre = genre; 24 this.type = type; 25 this.releasedBy = releasedBy; 26 this.isLikedByCurrentUser = isLikedByCurrentUser; 27 } 17 28 } -
finkwave/src/main/java/com/ukim/finki/develop/finkwave/repository/SongRepository.java
r929e93c r15782a6 21 21 "'SONG', " + 22 22 "u.fullName, " + 23 "me.cover," + 23 24 "(CASE WHEN :currentUserId IS NOT NULL AND l.id IS NOT NULL THEN true ELSE false END)) " + 24 25 "FROM Song s " + … … 39 40 "'SONG', " + 40 41 "u.fullName, " + 42 "me.cover," + 41 43 "(CASE WHEN :currentUserId IS NOT NULL AND l.id IS NOT NULL THEN true ELSE false END)) " + 42 44 "FROM Song s "+ … … 49 51 "WHERE ps.playlist.id=:playlistId") 50 52 List<MusicalEntityDto>findSongsByPlaylistId(@Param("playlistId")Long playlistId, @Param("currentUserId")Long currentUserId); 53 54 @Query("SELECT NEW com.ukim.finki.develop.finkwave.model.dto.MusicalEntityDto(" + 55 "s.id, " + 56 "me.title, " + 57 "me.genre, " + 58 "'SONG', " + 59 "u.fullName, " + 60 "me.cover," + 61 "FALSE ) " + 62 // "(CASE WHEN :currentUserId IS NOT NULL AND l.id IS NOT NULL THEN true ELSE false END)) " + 63 // "COUNT(*) " + 64 "FROM Song s "+ 65 "JOIN s.musicalEntities me " + 66 "JOIN me.releasedBy a " + 67 "JOIN a.nonAdminUser nau "+ 68 "JOIN nau.user u " + 69 "JOIN Listen l on l.song.id = s.id " + 70 "GROUP BY s.id, me.title, me.genre, u.fullName, me.cover " + 71 "ORDER BY count(*) desc " 72 ) 73 // todo: handle likes, momentalno site se false za da raboti joinot 74 // todo: add paging 75 List<MusicalEntityDto> findTopByListens(@Param("currentUserId")Long currentUserId); 51 76 }
Note:
See TracChangeset
for help on using the changeset viewer.
