Changeset 799f27d


Ignore:
Timestamp:
02/07/26 21:56:29 (5 months ago)
Author:
Filip Gavrilovski <filipgavrilovski28@…>
Branches:
main
Children:
7621d7b
Parents:
8ccb07e
Message:

refactor and simplify musical entity related dto-s

Location:
finkwave/src/main/java/com/ukim/finki/develop/finkwave
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • finkwave/src/main/java/com/ukim/finki/develop/finkwave/model/dto/AlbumDto.java

    r8ccb07e r799f27d  
    99@Getter
    1010@Setter
     11@AllArgsConstructor
    1112public class AlbumDto extends MusicalEntityDto{
    1213    private List<MusicalEntityDto>songs;
    1314
    14     public AlbumDto(Long id, String title, String genre, String type, String releasedBy, String artistUsername, Boolean isLikedByCurrentUser) {
    15         super(id, title, genre, type, releasedBy, artistUsername, isLikedByCurrentUser);
     15    public AlbumDto(Long id, String title, String genre, String type, String releasedBy, String artistUsername, String cover, Boolean isLikedByCurrentUser) {
     16        super(id, title, genre, type, releasedBy, artistUsername, cover, isLikedByCurrentUser);
    1617    }
    17 
    18 
    1918}
  • finkwave/src/main/java/com/ukim/finki/develop/finkwave/model/dto/MusicalEntityDto.java

    r8ccb07e r799f27d  
    1919    private String cover;
    2020    private Boolean isLikedByCurrentUser;
    21     private String album;
    22     private Long albumId;
    23 
    24     public MusicalEntityDto(Long id, String title, String genre, String type, String releasedBy, String artistUsername, Boolean isLikedByCurrentUser) {
    25         this.id = id;
    26         this.title = title;
    27         this.genre = genre;
    28         this.type = type;
    29         this.releasedBy = releasedBy;
    30         this.artistUsername = artistUsername;
    31         this.isLikedByCurrentUser = isLikedByCurrentUser;
    32     }
    33 
    34     public MusicalEntityDto(Long id, String title, String genre, String type, String releasedBy, String releasedByUsername, String cover, Boolean isLikedByCurrentUser) {
    35         this.id = id;
    36         this.title = title;
    37         this.genre = genre;
    38         this.type = type;
    39         this.releasedBy = releasedBy;
    40         this.artistUsername = artistUsername;
    41         this.cover = cover;
    42         this.isLikedByCurrentUser = isLikedByCurrentUser;
    43     }
    4421}
  • finkwave/src/main/java/com/ukim/finki/develop/finkwave/model/dto/SongDetailsDto.java

    r8ccb07e r799f27d  
    11package com.ukim.finki.develop.finkwave.model.dto;
    22
     3import lombok.AllArgsConstructor;
    34import lombok.Getter;
    45import lombok.NoArgsConstructor;
     
    1011@Setter
    1112@NoArgsConstructor
     13@AllArgsConstructor
    1214public class SongDetailsDto extends SongDto{
    1315    private List<ArtistContributionSummaryDto> contributions;
    1416    private List<ReviewDto> reviews;
    15 
    16     public SongDetailsDto(Long id, String title, String genre, String type, String releasedBy, String artistUsername, String cover, Boolean isLikedByCurrentUser, String album, Long albumId, String link, List<ReviewDto> reviews, List<ArtistContributionSummaryDto> contributions) {
    17         super(id, title, genre, type, releasedBy, artistUsername, cover, isLikedByCurrentUser, album, albumId, link);
    18         this.reviews = reviews;
    19         this.contributions = contributions;
    20     }
    21 
    22     public SongDetailsDto(Long id, String title, String genre, String type, String releasedBy, String artistUsername, Boolean isLikedByCurrentUser, String link, List<ReviewDto> reviews, List<ArtistContributionSummaryDto> contributions) {
    23         super(id, title, genre, type, releasedBy, artistUsername, isLikedByCurrentUser, link);
    24         this.reviews = reviews;
    25         this.contributions = contributions;
    26     }
    27 
    28     public SongDetailsDto(Long id, String title, String genre, String type, String releasedBy, String artistUsername, String cover, Boolean isLikedByCurrentUser, String link, List<ReviewDto> reviews, List<ArtistContributionSummaryDto> contributions) {
    29         super(id, title, genre, type, releasedBy, artistUsername, cover, isLikedByCurrentUser, link);
    30         this.reviews = reviews;
    31         this.contributions = contributions;
    32     }
    3317}
  • finkwave/src/main/java/com/ukim/finki/develop/finkwave/model/dto/SongDto.java

    r8ccb07e r799f27d  
    1010public class SongDto extends MusicalEntityDto{
    1111    private String link;
    12 
    13     // todo: clean up constructors
    14 
     12    private String album;
     13    private Long albumId;
    1514
    1615    public SongDto(Long id, String title, String genre, String type, String releasedBy, String artistUsername, String cover, Boolean isLikedByCurrentUser, String album, Long albumId, String link) {
    17         super(id, title, genre, type, releasedBy, artistUsername, cover, isLikedByCurrentUser, album, albumId);
    18         this.link = link;
    19     }
    20 
    21     public SongDto(Long id, String title, String genre, String type, String releasedBy, String artistUsername, Boolean isLikedByCurrentUser, String link) {
    22         super(id, title, genre, type, releasedBy, artistUsername, isLikedByCurrentUser);
    23         this.link = link;
    24     }
    25 
    26     public SongDto(Long id, String title, String genre, String type, String releasedBy, String artistUsername, String cover, Boolean isLikedByCurrentUser, String link) {
    2716        super(id, title, genre, type, releasedBy, artistUsername, cover, isLikedByCurrentUser);
    2817        this.link = link;
     18        this.album = album;
     19        this.albumId = albumId;
    2920    }
    3021}
  • finkwave/src/main/java/com/ukim/finki/develop/finkwave/repository/LikeRepository.java

    r8ccb07e r799f27d  
    2424            u.fullName,
    2525            u.username,
     26            me.cover,
    2627            (CASE WHEN currentUserLike.id IS NOT NULL THEN true ELSE false END))
    2728        FROM Like l
  • finkwave/src/main/java/com/ukim/finki/develop/finkwave/repository/SongRepository.java

    r8ccb07e r799f27d  
    8787            s.musicalEntities.cover,
    8888            (EXISTS (SELECT 1 FROM Like l WHERE l.musicalEntity.id = s.id AND l.listener.id = :currentUserId)),
     89            s.album.musicalEntities.title,
     90            s.album.musicalEntities.id,
    8991            s.link
    9092        )
  • finkwave/src/main/java/com/ukim/finki/develop/finkwave/service/AlbumService.java

    r8ccb07e r799f27d  
    3535                album.getMusicalEntities().getReleasedBy().getNonAdminUser().getUser().getFullName(),
    3636                album.getMusicalEntities().getReleasedBy().getNonAdminUser().getUser().getUsername(),
     37                album.getMusicalEntities().getCover(),
    3738                likeRepository.isLikedByUser(currentUserId));
    3839        List<MusicalEntityDto>songsFromAlbum=songRepository.findSongsByAlbum(id,currentUserId);
Note: See TracChangeset for help on using the changeset viewer.