Skip to content

Commit

Permalink
fix: fix share member checking logic for change album ownership api
Browse files Browse the repository at this point in the history
  • Loading branch information
gmkim20713 committed Nov 23, 2024
1 parent e9767bf commit f8d0694
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,6 @@
public interface SharedMemberRepository extends R2dbcRepository<SharedMemberEntity, String> {
Flux<SharedMemberEntity> findAllByAlbumIdAndShareStatusNot(String albumId, ShareStatus status);
Flux<SharedMemberEntity> findAllByMemberIdAndShareStatusNot(String memberId, ShareStatus status);
Mono<SharedMemberEntity> findByAlbumIdAndMemberIdAndShareStatus(String albumId, String memberId, ShareStatus status);
Mono<SharedMemberEntity> findByAlbumIdAndMemberId(String albumId, String memberId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public Mono<AlbumEntity> modifyAlbumNameAndType(String albumId, String newAlbumN
@Transactional
public Mono<AlbumEntity> modifyAlbumOwnership(String albumId, String newOwnerMemberId, String requestMemberId) {
return albumPermissionVerifier.verifyOwnership(albumId, requestMemberId)
.flatMap(album -> sharedMemberQuery.findByAlbumIdAndMemberId(albumId, newOwnerMemberId)
.flatMap(album -> sharedMemberQuery.findByAlbumIdAndMemberIdWhereStatusAccepted(albumId, newOwnerMemberId)
.onErrorResume(SharedMemberNotFoundException.class, ex ->
Mono.error(new AlbumOwnerChangeDeniedException())
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package kr.mafoo.photo.service;

import static kr.mafoo.photo.domain.enums.ShareStatus.ACCEPTED;
import static kr.mafoo.photo.domain.enums.ShareStatus.REJECTED;

import kr.mafoo.photo.domain.SharedMemberEntity;
Expand Down Expand Up @@ -32,6 +33,11 @@ public Mono<SharedMemberEntity> findBySharedMemberId(String sharedMemberId) {
.switchIfEmpty(Mono.error(new SharedMemberNotFoundException()));
}

public Mono<SharedMemberEntity> findByAlbumIdAndMemberIdWhereStatusAccepted(String albumId, String memberId) {
return sharedMemberRepository.findByAlbumIdAndMemberIdAndShareStatus(albumId, memberId, ACCEPTED)
.switchIfEmpty(Mono.error(new SharedMemberNotFoundException()));
}

public Mono<SharedMemberEntity> findByAlbumIdAndMemberId(String albumId, String memberId) {
return sharedMemberRepository.findByAlbumIdAndMemberId(albumId, memberId)
.switchIfEmpty(Mono.error(new SharedMemberNotFoundException()));
Expand Down

0 comments on commit f8d0694

Please sign in to comment.