Changeset 2fa6841


Ignore:
Timestamp:
02/08/26 20:00:21 (5 months ago)
Author:
Filip Gavrilovski <filipgavrilovski28@…>
Branches:
main
Children:
c684a6d
Parents:
821dc0e
Message:

fix song repository bugs; minor ui change

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • finkwave/src/main/java/com/ukim/finki/develop/finkwave/repository/SongRepository.java

    r821dc0e r2fa6841  
    11package com.ukim.finki.develop.finkwave.repository;
    22
    3 import com.ukim.finki.develop.finkwave.model.dto.BasicSongDto;
    4 import com.ukim.finki.develop.finkwave.model.dto.MusicalEntityDto;
    5 import com.ukim.finki.develop.finkwave.model.dto.SongDto;
     3import java.util.List;
     4
    65import org.springframework.data.jpa.repository.JpaRepository;
    76import org.springframework.data.jpa.repository.Query;
     
    109
    1110import com.ukim.finki.develop.finkwave.model.Song;
    12 
    13 import java.util.List;
     11import com.ukim.finki.develop.finkwave.model.dto.BasicSongDto;
     12import com.ukim.finki.develop.finkwave.model.dto.MusicalEntityDto;
     13import com.ukim.finki.develop.finkwave.model.dto.SongDto;
    1414
    1515@Repository
     
    6363        )
    6464        FROM Song s
     65        JOIN Listen l on l.id.songId = s.id
    6566        GROUP BY
    6667            s.id,
     
    9899
    99100    @Query(value = """
    100         SELECT DISTINCT on (l.song_id)
    101             l.song_id,
    102             me.title,
    103             u.full_name,
    104             u.username,
    105             s.link,
    106             me.cover
    107         FROM LISTENS l
    108         JOIN MUSICAL_ENTITIES me on me.id = l.song_id
    109         JOIN USERS u on u.user_id = me.released_by
    110         JOIN SONGS s on s.id = me.id
    111         WHERE l.listener_id = :userId
    112         ORDER BY l.song_id, l.timestamp DESC
    113         LIMIT 5
     101        SELECT
     102            t.song_id,
     103            t.title,
     104            t.full_name,
     105            t.username,
     106            t.link,
     107            t.cover
     108        FROM (
     109                 SELECT DISTINCT ON (l.song_id)
     110                     l.song_id,
     111                     me.title,
     112                     u.full_name,
     113                     u.username,
     114                     me.cover,
     115                     s.link,
     116                     l.timestamp
     117                 FROM listens l
     118                     JOIN musical_entities me ON me.id = l.song_id
     119                     JOIN songs s on s.id = l.song_id
     120                     JOIN users u ON u.user_id = me.released_by
     121                     WHERE l.listener_id = 2
     122                 ORDER BY l.song_id, l.timestamp DESC
     123             ) t
     124        ORDER BY t.timestamp DESC
     125        LIMIT 5;
    114126    """, nativeQuery = true)
    115127    List<BasicSongDto> getRecentlyListened(@Param("userId")Long userId);
  • frontend/src/components/search/UserResult.tsx

    r821dc0e r2fa6841  
    3535                                </p>
    3636                        </div>
    37                         <div className="text-right text-xs text-gray-500">
    38                                 <p>{user.followers} followers</p>
    39                         </div>
    4037                </div>
    4138        );
  • frontend/src/pages/SongDetail.tsx

    r821dc0e r2fa6841  
    137137                        setSong(response.data);
    138138                } catch (err) {
     139                        // todo :add toast
    139140                        console.error("Error deleting review:", err);
    140141                }
Note: See TracChangeset for help on using the changeset viewer.