Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation : Friend #12

Closed
this-is-spear opened this issue Feb 19, 2023 · 0 comments · Fixed by #14
Closed

Documentation : Friend #12

this-is-spear opened this issue Feb 19, 2023 · 0 comments · Fixed by #14
Labels
documentation Changes only affect the documentation

Comments

@this-is-spear
Copy link
Owner

this-is-spear commented Feb 19, 2023

기능

  • 상대방에게 친구 요청을 한다.
  • 친구 요청에 대한 응답을 보낸다.
  • 친구 목록을 조회한다.

용어 사전

영어 한글 설명
Friend 친구 정보 친구 정보.
FromUser 사용자 친구 요청을 보낸 사용자.
ToUser 상대방 친구 요청을 받은 사용자.
FriendHistory 친구 요청 이력 친구 요청 이력을 보낸 정보.
ApprovalStatus 요청 승인 여부 요청이 승인됐는지 여부이다. 승인 여부는 대기(WAITING), 승인(APPROVED), 거절(REJECTED) 중 하나의 정보를 포함한다.
WAITING 대기 요청이 대기인 상태.
APPROVED 승인 요청이 승인된 상태.
REJECTED 실패 요청이 실패된 상태.
Email 이메일 사용자 식별할 수 있는 수단.

모델링

Friend

  • 상태
    • 식별자(Id), 사용자 식별자(FromMemberId), 상대방 식별자(ToMemberId)를 포함한다.
    • 사용자 식별자는 비어있을 수 없다.
    • 상대방 식별자는 비어있을 수 없다.
    • 사용자 식별자와 상대방 식별자는 같을 수 없다.

AskedFriendHistory

  • 상태
    • 식별자(Id), 사용자 식별자(FromMemberId), 상대방 식별자(ToMemberId), 승인 여부(ApprovalStatus)를 포함한다.
    • 승인 여부는 대기(WAITING), 승인(APPROVED), 거절(REJECTED)중 하나의 정보를 가진다.
    • 사용자 식별자는 비어있을 수 없다.
    • 상대방 식별자는 비어있을 수 없다.
    • 사용자 식별자와 상대방 식별자는 같을 수 없다.
  • 행위
    • 대기(WAITING)에서 승인(APPROVED)으로 변경한다.
      • 승인 여부(ApprovalStatus)가 대기(WAITING)여야 한다.
    • 대기(WAITING)에서 거절(REJECTED)로 변경한다.
      • 승인 여부(ApprovalStatus)가 대기(WAITING)여야 한다.
    • 거절(REJECTED)에서 대기(WAITING)로 변경한다.
      • 승인 여부(ApprovalStatus)가 거절(REJECTED)이어야 한다.

SocialNetworkController

  • 상대방에게 친구 요청을 보낸다.
    • 회원만 사용할 수 있다.
  • 자신에게 온 친구 요청을 승낙한다.
    • 회원만 사용할 수 있다.
  • 자신에게 온 친구 요청을 거절한다.
    • 회원만 사용할 수 있다.
  • 자신의 친구 목록을 조회한다.
    • 회원만 사용할 수 있다.
  • 자신에게 온 친구 요청 목록을 확인한다.
    • 회원만 사용할 수 있다.

SocialNetworkService

  • 사용자의 정보(Principal)와 상대방의 식별자(MemberId)를 입력받아 친구 요청을 보낸다.
    • 사용자의 정보가 존재해야 한다.
    • 상대방의 정보가 존재해야 한다.
  • 사용자 정보(Principal)와 친구 요청 식별자(AskedFriendHistoryId)를 입력해 친구 요청을 승낙한다.
    • 요청 받은 사용자 본인이어야 한다.
    • 친구 요청을 승낙한다.
    • 친구 정보가 생성된다.
  • 사용자 정보(Principal)와 친구 요청 식별자(AskedFriendHistoryId)를 입력해 친구 요청을 거절한다.
    • 요청 받은 사용자 본인이어야 한다.
    • 친구 요청을 거절한다.
  • 자신의 정보(Principal)를 이용해 친구 목록을 조회한다.
  • 자신의 정보(Principal)를 이용해 자신에게 온 친구 요청 목록을 확인한다.

FriendService

  • 친구 정보를 저장한다.
  • 친구 목록을 조회한다.
  • 친구 요청 정보를 저장한다.
    • 상대방에게 보내거나 받은 이력이 있으면 안된다.
    • 생성된 친구 요청의 승인 여부(ApprovalStatus)는 대기(WAITING) 상태이거나 거절(REJECTED) 상태여아 한다.
  • 친구 요청 정보를 조회한다.
  • 대기(WAITING) 중인 친구 요청 목록을 조회한다.
  • 친구 요청 정보를 승낙한다.
    • 친구 요청 정보가 존재해야 한다.
    • 승인 여부(ApprovalStatus)가 승인(APPROVED)으로 변경된다.
  • 친구 요청 정보를 거절한다.
    • 친구 요청 정보가 존재해야 한다.
    • 승인 여부(ApprovalStatus)가 거절(REJECTED)로 변경된다.
@this-is-spear this-is-spear added the documentation Changes only affect the documentation label Feb 20, 2023
@this-is-spear this-is-spear linked a pull request Feb 21, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Changes only affect the documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant