Skip to content

Commit

Permalink
feat: 차단한 사람/본인을 차단한 사람이 팔로우 할 경우 예외 처리 (#393)
Browse files Browse the repository at this point in the history
  • Loading branch information
penrose15 committed Sep 7, 2024
1 parent 33aa782 commit 6b1a008
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
public enum FollowErrorType implements ErrorType {
NOT_FOUND("FOLLOW_1", "팔로잉 유저를 찾을 수 없습니다"),
SELF_FOLLOWING_NOT_ALLOWED("FOLLOW_2", "자기 자신을 팔로잉 할 수 없습니다"),
INVALID_FOLLOW_TYPE("FOLLOW_3", "올바르지 않은 팔로우 타입입니다");
INVALID_FOLLOW_TYPE("FOLLOW_3", "올바르지 않은 팔로우 타입입니다"),
CANNOT_FOLLOW_BLACK("FOLLOW_4", "차단한 사람을 팔로우할 수 없습니다"),
CANNOT_FOLLOW_MEMBER_WHO_BLOCKED_YOU("FOLLOW_5", "본인을 차단한 사람을 팔로우할 수 없습니다");

private final String code;
private final String message;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
package com.depromeet.friend.facade;

import com.depromeet.blacklist.port.in.usecase.BlacklistQueryUseCase;
import com.depromeet.exception.BadRequestException;
import com.depromeet.friend.domain.vo.FollowCheck;
import com.depromeet.friend.domain.vo.FollowSlice;
import com.depromeet.friend.domain.vo.Follower;
import com.depromeet.friend.domain.vo.Following;
import com.depromeet.friend.dto.request.FollowRequest;
import com.depromeet.friend.dto.response.*;
import com.depromeet.friend.port.in.FollowUseCase;
import com.depromeet.friend.port.in.usecase.FollowUseCase;
import com.depromeet.member.domain.Member;
import com.depromeet.member.port.in.usecase.MemberUseCase;
import com.depromeet.notification.event.FollowLogEvent;
import com.depromeet.type.friend.FollowErrorType;
import java.util.List;
import java.util.Set;
import lombok.RequiredArgsConstructor;
Expand All @@ -34,6 +36,14 @@ public class FollowFacade {
public boolean addOrDeleteFollow(Long memberId, FollowRequest followRequest) {
Member member = memberUseCase.findById(memberId);
Member following = memberUseCase.findById(followRequest.followingId());

if (blacklistQueryUseCase.checkBlackMember(member.getId(), following.getId())) {
throw new BadRequestException(FollowErrorType.CANNOT_FOLLOW_BLACK);
}
if (blacklistQueryUseCase.checkBlackMember(following.getId(), member.getId())) {
throw new BadRequestException(FollowErrorType.CANNOT_FOLLOW_MEMBER_WHO_BLOCKED_YOU);
}

boolean isAdd = followUseCase.addOrDeleteFollow(member, following);
eventPublisher.publishEvent(FollowLogEvent.of(following, member));

Expand Down

0 comments on commit 6b1a008

Please sign in to comment.