Skip to content

Commit

Permalink
feat: #44 플레이리스트 제목과 이미지 수정 API
Browse files Browse the repository at this point in the history
  • Loading branch information
dgh06175 committed Sep 26, 2024
1 parent 8064806 commit 26c05d7
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public BaseResponse<PlaylistResponse.PlayListId> updatePlaylist(
@PathVariable("playlistId") Long playlistId,
@RequestBody PlaylistUpload playlistUpload) {

return BaseResponse.onSuccess(playlistService.updatePlaylist(member, playlistId, playlistUpload));
return BaseResponse.onSuccess(playlistService.updatePlaylistTitleAndImage(member, playlistId, playlistUpload));
}

@Operation(summary = "플레이리스트에 트랙 추가", description = "플레이리스트에 트랙을 추가한다.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,9 @@ public class Playlist extends BaseEntity {

@OneToMany(mappedBy = "playlist", cascade = CascadeType.ALL)
private List<PlaylistTrack> playlistTracks;

public void updatePlaylist(String title, String playlistImageUrl) {
this.title = title;
this.playlistImageUrl = playlistImageUrl;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ public interface PlaylistService {
PlaylistResponse.Playlists getSearchedPlaylists(Member member, String title, int page, int size);
PlaylistResponse.PlayListId deletePlaylist(Member member, Long playlistId);
PlaylistResponse.PlaylistDetail getPlaylistDetail(Member member, Long playlistId);
PlaylistResponse.PlayListId updatePlaylist(Member member, Long playlistId, PlaylistRequest.PlaylistUpload playlistUpload);
PlaylistResponse.PlayListId updatePlaylistTitleAndImage(Member member, Long playlistId, PlaylistRequest.PlaylistUpload playlistUpload);
PlaylistResponse.PlayListId addTrackToPlaylist(Member member, Long playlistId, PlaylistRequest.TrackId trackId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import com.cabin.plat.global.exception.errorCode.PlaylistErrorCode;
import com.cabin.plat.global.exception.errorCode.TrackErrorCode;
import java.util.*;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
Expand Down Expand Up @@ -111,19 +112,22 @@ public PlaylistResponse.PlaylistDetail getPlaylistDetail(Member member, Long pla

@Transactional
@Override
public PlaylistResponse.PlayListId updatePlaylist(Member member, Long playlistId, PlaylistRequest.PlaylistUpload playlistUpload) {
public PlaylistResponse.PlayListId updatePlaylistTitleAndImage(Member member, Long playlistId, PlaylistRequest.PlaylistUpload playlistUpload) {
Playlist playlist = findPlaylistById(playlistId);
if (!playlist.getMember().equals(member)) {
throw new RestApiException(PlaylistErrorCode.PLAYLIST_UPDATE_FORBIDDEN);
}
// TODO: 플레이리스트 업데이트

// 제목 및 이미지 변경
playlist.updatePlaylist(playlistUpload.getTitle(), playlistUpload.getPlaylistImageUrl());
playlistRepository.save(playlist);

return playlistMapper.toPlaylistId(playlistId);
}

@Transactional
@Override
public PlaylistResponse.PlayListId addTrackToPlaylist(Member member, Long playlistId, PlaylistRequest.TrackId trackId) {
// TODO: 트랙 이미 추가된건지 중복 검사
Playlist playlist = findPlaylistById(playlistId);
Track track = findTrackById(trackId.getTrackId());
if (!playlist.getMember().equals(member)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
import com.cabin.plat.domain.playlist.dto.PlaylistRequest.PlaylistUpload;
import com.cabin.plat.domain.playlist.dto.PlaylistRequest.PlaylistUpload.TrackOrder;
import com.cabin.plat.domain.playlist.dto.PlaylistResponse;
import com.cabin.plat.domain.playlist.dto.PlaylistResponse.Playlists;
import com.cabin.plat.domain.playlist.dto.PlaylistResponse.Playlists.PlaylistInfo;
import com.cabin.plat.domain.playlist.entity.Playlist;
import com.cabin.plat.domain.playlist.entity.PlaylistTrack;
Expand Down Expand Up @@ -476,7 +475,7 @@ class UpdatePlaylistTests {
Long playlistId = playlistIds.get(0);

// when
playlistService.updatePlaylist(member, playlistId, newPlaylistUpload);
playlistService.updatePlaylistTitleAndImage(member, playlistId, newPlaylistUpload);
Optional<Playlist> optionalPlaylist = playlistRepository.findById(playlistId);

// then
Expand All @@ -499,7 +498,7 @@ class UpdatePlaylistTests {
Long playlistId = playlistIds.get(0);

// when
playlistService.updatePlaylist(member, playlistId, newPlaylistUpload);
playlistService.updatePlaylistTitleAndImage(member, playlistId, newPlaylistUpload);
Optional<Playlist> optionalPlaylist = playlistRepository.findById(playlistId);

// then
Expand All @@ -522,7 +521,7 @@ class UpdatePlaylistTests {
Long playlistId = playlistIds.get(0);

// when then
assertThatThrownBy(() -> playlistService.updatePlaylist(member, playlistId, newPlaylistUpload))
assertThatThrownBy(() -> playlistService.updatePlaylistTitleAndImage(member, playlistId, newPlaylistUpload))
.isInstanceOf(RestApiException.class);
}
}
Expand Down

0 comments on commit 26c05d7

Please sign in to comment.