Changeset 765e166


Ignore:
Timestamp:
02/20/26 17:36:58 (5 months ago)
Author:
Filip Gavrilovski <filipgavrilovski28@…>
Branches:
main
Children:
947fcaa
Parents:
ed8f998
Message:

change event model to be consistent with database v3; fix song repository bug

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

Legend:

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

    red8f998 r765e166  
    3636    @ManyToOne(fetch = FetchType.LAZY)
    3737    @OnDelete(action = OnDeleteAction.CASCADE)
    38     @JoinColumn(name = "creator_artist_id")
    39     private Artist creatorArtist;
    40 
    41     @ManyToOne(fetch = FetchType.LAZY)
    42     @OnDelete(action = OnDeleteAction.CASCADE)
    43     @JoinColumn(name = "creator_admin_id")
    44     private Admin creatorAdmin;
    45 
     38    @JoinColumn(name = "creator_id")
     39    private User creatorUser;
    4640}
  • finkwave/src/main/java/com/ukim/finki/develop/finkwave/repository/SongRepository.java

    red8f998 r765e166  
    8080
    8181    @Query("""
    82         SELECT NEW com.ukim.finki.develop.finkwave.model.dto.SongDto(
    83             s.id,
    84             s.musicalEntities.title,
    85             s.musicalEntities.genre,
    86             'SONG',
    87             s.musicalEntities.releasedBy.nonAdminUser.user.fullName,
    88             s.musicalEntities.releasedBy.nonAdminUser.user.username,
    89             s.musicalEntities.cover,
    90             (EXISTS (SELECT 1 FROM Like l WHERE l.musicalEntity.id = s.id AND l.listener.id = :currentUserId)),
    91             s.album.musicalEntities.title,
    92             s.album.musicalEntities.id,
    93             s.link
    94         )
    95         FROM Song s
    96         WHERE s.musicalEntities.title ILIKE '%' || :searchTerm || '%'
    97     """)
     82    SELECT NEW com.ukim.finki.develop.finkwave.model.dto.SongDto(
     83        s.id,
     84        me.title,
     85        me.genre,
     86        'SONG',
     87        u.fullName,
     88        u.username,
     89        me.cover,
     90        (EXISTS (
     91            SELECT 1 FROM Like l
     92            WHERE l.musicalEntity.id = s.id
     93              AND l.listener.id = :currentUserId
     94        )),
     95        albumMe.title,
     96        a.id,
     97        s.link
     98    )
     99    FROM Song s
     100    JOIN s.musicalEntities me
     101    JOIN me.releasedBy rb
     102    JOIN rb.nonAdminUser nau
     103    JOIN nau.user u
     104    LEFT JOIN s.album a
     105    LEFT JOIN a.musicalEntities albumMe
     106    WHERE me.title ILIKE CONCAT('%', :searchTerm, '%')
     107""")
    98108    List<SongDto> searchSongs(@Param("currentUserId")Long currentUserId, @Param("searchTerm") String searchTerm);
    99109
Note: See TracChangeset for help on using the changeset viewer.