Changeset 8675f75
- Timestamp:
- 02/07/26 20:11:09 (5 months ago)
- Branches:
- main
- Children:
- 8ccb07e
- Parents:
- 9c1dcc7
- Files:
-
- 6 edited
-
finkwave/src/main/java/com/ukim/finki/develop/finkwave/controller/SongController.java (modified) (1 diff)
-
finkwave/src/main/java/com/ukim/finki/develop/finkwave/controller/TestController.java (modified) (2 diffs)
-
finkwave/src/main/java/com/ukim/finki/develop/finkwave/model/dto/BasicSongDto.java (modified) (1 diff)
-
finkwave/src/main/java/com/ukim/finki/develop/finkwave/repository/SongRepository.java (modified) (3 diffs)
-
finkwave/src/main/java/com/ukim/finki/develop/finkwave/service/SongService.java (modified) (1 diff)
-
frontend/src/pages/SongDetail.tsx (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
finkwave/src/main/java/com/ukim/finki/develop/finkwave/controller/SongController.java
r9c1dcc7 r8675f75 28 28 29 29 @GetMapping("/search") 30 public HttpEntity<List< MusicalEntityDto>> searchSongs(30 public HttpEntity<List<SongDto>> searchSongs( 31 31 @RequestParam(name = "q") String searchTerm){ 32 32 return ResponseEntity.ok(songService.searchSongs(searchTerm)); -
finkwave/src/main/java/com/ukim/finki/develop/finkwave/controller/TestController.java
r9c1dcc7 r8675f75 4 4 import com.ukim.finki.develop.finkwave.model.User; 5 5 import com.ukim.finki.develop.finkwave.model.dto.MusicalEntityDto; 6 import com.ukim.finki.develop.finkwave.model.dto.SongDto; 6 7 import com.ukim.finki.develop.finkwave.repository.SongRepository; 7 8 import com.ukim.finki.develop.finkwave.repository.UserRepository; … … 22 23 23 24 @GetMapping("/search/{searchTerm}") 24 public HttpEntity<List< MusicalEntityDto>> searchSongsTest(@PathVariable String searchTerm){25 public HttpEntity<List<SongDto>> searchSongsTest(@PathVariable String searchTerm){ 25 26 return ResponseEntity.ok(songRepository.searchSongs(null, searchTerm)); 26 27 } -
finkwave/src/main/java/com/ukim/finki/develop/finkwave/model/dto/BasicSongDto.java
r9c1dcc7 r8675f75 7 7 String title, 8 8 String artist, 9 String link, 9 10 @Nullable String cover 10 11 ){} -
finkwave/src/main/java/com/ukim/finki/develop/finkwave/repository/SongRepository.java
r9c1dcc7 r8675f75 69 69 70 70 @Query(""" 71 SELECT NEW com.ukim.finki.develop.finkwave.model.dto. MusicalEntityDto(71 SELECT NEW com.ukim.finki.develop.finkwave.model.dto.SongDto( 72 72 s.id, 73 73 s.musicalEntities.title, … … 76 76 s.musicalEntities.releasedBy.nonAdminUser.user.fullName, 77 77 s.musicalEntities.cover, 78 (EXISTS (SELECT 1 FROM Like l WHERE l.musicalEntity.id = s.id AND l.listener.id = :currentUserId)) 78 (EXISTS (SELECT 1 FROM Like l WHERE l.musicalEntity.id = s.id AND l.listener.id = :currentUserId)), 79 s.link 79 80 ) 80 81 FROM Song s 81 82 WHERE s.musicalEntities.title ILIKE '%' || :searchTerm || '%' 82 83 """) 83 List< MusicalEntityDto> searchSongs(@Param("currentUserId")Long currentUserId, @Param("searchTerm") String searchTerm);84 List<SongDto> searchSongs(@Param("currentUserId")Long currentUserId, @Param("searchTerm") String searchTerm); 84 85 85 86 … … 89 90 me.title, 90 91 u.full_name, 92 s.link, 91 93 me.cover 92 94 FROM LISTENS l 93 95 JOIN MUSICAL_ENTITIES me on me.id = l.song_id 94 JOIN USERS u on u.user_id = l.listener_id 95 WHERE u.user_id = :userId 96 JOIN USERS u on u.user_id = me.released_by 97 JOIN SONGS s on s.id = me.id 98 WHERE l.listener_id = :userId 96 99 ORDER BY l.song_id, l.timestamp DESC 97 100 LIMIT 5 -
finkwave/src/main/java/com/ukim/finki/develop/finkwave/service/SongService.java
r9c1dcc7 r8675f75 26 26 } 27 27 28 public List< MusicalEntityDto> searchSongs(String searchTerm){28 public List<SongDto> searchSongs(String searchTerm){ 29 29 Long userId = authService.getCurrentUserID(); 30 30 return songRepository.searchSongs(userId, searchTerm); -
frontend/src/pages/SongDetail.tsx
r9c1dcc7 r8675f75 452 452 </div> 453 453 </div> 454 <span className="text-sm text-gray-500 bg-white/5 px-2.5 py-0.5 rounded-full">455 {review.grade}/5456 </span>457 454 </div> 458 455 <p className="text-gray-300 text-sm leading-relaxed mt-3 pl-12">
Note:
See TracChangeset
for help on using the changeset viewer.
