Skip to content

Commit

Permalink
Merge pull request #78 from Na-o-man/feat/#76/nobodyFace-photoList-api
Browse files Browse the repository at this point in the history
[FEAT] 특정 공유그룹의 아무도 인식되지 않은 사진 조회 API 구현
  • Loading branch information
bflykky authored Aug 11, 2024
2 parents 1662184 + 6a8a7b9 commit 23ea3a3
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,14 @@ public ResultResponse<PhotoResponse.PhotoUploadInfo> uploadPhotoList(@Valid @Req
}

@GetMapping
@Operation(summary = "특정 공유그룹의 특정 앨범 사진 조회 API", description = "특정 공유 그룹의 특정 앨범의 사진을 조회하는 API입니다.")
@Operation(summary = "특정 공유그룹의 특정 앨범 사진 조회 API", description = "특정 공유그룹의 특정 앨범의 사진을 조회하는 API입니다.")
@Parameters(value = {
@Parameter(name = "shareGroupId", description = "조회할 공유 그룹의 아이디를 입력해주세요."),
@Parameter(name = "shareGroupId", description = "조회할 공유그룹의 아이디를 입력해주세요."),
@Parameter(name = "profileId", description = "조회할 프로필의 아이디를 입력해주세요."),
@Parameter(name = "page", description = "조회할 페이지를 입력해 주세요.(0번부터 시작)"),
@Parameter(name = "size", description = "한 페이지에 나타낼 사진 개수를 입력해주세요.")
})
public ResultResponse<PhotoResponse.PagedPhotoEsInfo> getAllPhotoListByShareGroup(@RequestParam Long shareGroupId,
public ResultResponse<PhotoResponse.PagedPhotoEsInfo> getPhotoListByShareGroupAndProfile(@RequestParam Long shareGroupId,
@RequestParam Long profileId,
@PageableDefault(sort = "createdAt", direction = Sort.Direction.DESC)
@Parameter(hidden = true) Pageable pageable,
Expand All @@ -76,17 +76,32 @@ public ResultResponse<PhotoResponse.PagedPhotoEsInfo> getAllPhotoListByShareGrou
}

@GetMapping("/all")
@Operation(summary = "특정 공유그룹의 전체 사진 조회 API", description = "특정 공유 그룹의 전체 사진을 조회하는 API입니다.")
@Operation(summary = "특정 공유그룹의 전체 사진 조회 API", description = "특정 공유그룹의 전체 사진을 조회하는 API입니다.")
@Parameters(value = {
@Parameter(name = "shareGroupId", description = "조회할 공유 그룹의 아이디를 입력해주세요."),
@Parameter(name = "shareGroupId", description = "조회할 공유그룹의 아이디를 입력해주세요."),
@Parameter(name = "page", description = "조회할 페이지를 입력해 주세요.(0번부터 시작)"),
@Parameter(name = "size", description = "한 페이지에 나타낼 사진 개수를 입력해주세요.")
})
public ResultResponse<PhotoResponse.PagedPhotoEsInfo> getAllPhotoListByShareGroup(@RequestParam Long shareGroupId,
@PageableDefault(sort = "createdAt", direction = Sort.Direction.DESC)
@Parameter(hidden = true) Pageable pageable,
@LoginMember Member member) {
Page<PhotoEs> photoEsList = photoEsService.getPhotoEsListByShareGroupId(shareGroupId, member, pageable);
Page<PhotoEs> photoEsList = photoEsService.getAllPhotoEsListByShareGroupId(shareGroupId, member, pageable);
return ResultResponse.of(RETRIEVE_PHOTO, photoConverter.toPagedPhotoEsInfo(photoEsList, member));
}

@GetMapping("/etc")
@Operation(summary = "특정 공유그룹의 아무도 인식되지 않은 사진 조회 API", description = "특정 공유그룹의 아무도 인식되지 않은 사진을 조회하는 API입니다.")
@Parameters(value = {
@Parameter(name = "shareGroupId", description = "조회할 공유그룹의 아이디를 입력해주세요."),
@Parameter(name = "page", description = "조회할 페이지를 입력해 주세요.(0번부터 시작)"),
@Parameter(name = "size", description = "한 페이지에 나타낼 사진 개수를 입력해주세요.")
})
public ResultResponse<PhotoResponse.PagedPhotoEsInfo> getEtcPhotoListByShareGroup(@RequestParam Long shareGroupId,
@PageableDefault(sort = "createdAt", direction = Sort.Direction.DESC)
@Parameter(hidden = true) Pageable pageable,
@LoginMember Member member) {
Page<PhotoEs> photoEsList = photoEsService.getEtcPhotoEsListByShareGroupId(shareGroupId, member, pageable);
return ResultResponse.of(RETRIEVE_PHOTO, photoConverter.toPagedPhotoEsInfo(photoEsList, member));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.springframework.data.domain.Pageable;

public interface PhotoEsService {
Page<PhotoEs> getPhotoEsListByShareGroupId(Long shareGroupId, Member member, Pageable pageable);
Page<PhotoEs> getPhotoEsListByShareGroupIdAndFaceTag(Long shareGroupId, Long profileId, Member member, Pageable pageable);
Page<PhotoEs> getAllPhotoEsListByShareGroupId(Long shareGroupId, Member member, Pageable pageable);
Page<PhotoEs> getEtcPhotoEsListByShareGroupId(Long shareGroupId, Member member, Pageable pageable);
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,18 @@ public Page<PhotoEs> getPhotoEsListByShareGroupIdAndFaceTag(Long shareGroupId, L

@Override
@Transactional(readOnly = true)
public Page<PhotoEs> getPhotoEsListByShareGroupId(Long shareGroupId, Member member, Pageable pageable) {
public Page<PhotoEs> getAllPhotoEsListByShareGroupId(Long shareGroupId, Member member, Pageable pageable) {
validateShareGroupAndProfile(shareGroupId, member);
return photoEsClientRepository.findPhotoEsByShareGroupId(shareGroupId, pageable);
}

@Override
@Transactional(readOnly = true)
public Page<PhotoEs> getEtcPhotoEsListByShareGroupId(Long shareGroupId, Member member, Pageable pageable) {
validateShareGroupAndProfile(shareGroupId, member);
return photoEsClientRepository.findPhotoEsByShareGroupIdAndNotFaceTag(shareGroupId, pageable);
}

private void validateShareGroupAndProfile(Long shareGroupId, Member member) {
// 해당 공유 그룹이 존재하는지 확인
shareGroupService.findShareGroup(shareGroupId);
Expand Down

0 comments on commit 23ea3a3

Please sign in to comment.