-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
친구 관계를 following/follower로 가져갈 것인지, 아니면 다른 컬랙션으로 관리할 것인지에대한 이슈다.
개인적으로는 following/follower관계로 가져가는 것이 편한데, 문제는 맞팔을 검색할 수가 없다.
결국 following리스트를 볼때는 화면 단위로, 해당 사용자가 follower인지 bulk로 검색하여 맞팔을 보여주고, follower리스트를 볼 때는 화면단위로 following하고 있는지 체크해야 한다.
친구 관계를 following/follower로 가져갈 경우
구현하기 쉬우나, 맞팔인지 체크하기 위해 follower를 검색해야 함.
usergrid 기본 기능을 사용하므로, Activity 또는 Feed를 이용할 수 있음.
서로 following하기
- A가 B에게 following함: POST A/following/B
- B가 follower리스트에서 A를 following함: POST B/following/A
A의 following리스트 조회
- GET A/following?limit=10
- GET A/follower?uuid1 or uuid2 or uuid3.... or uuid10
친구관계를 요청/수락으로 관리할 경우(컬랙션이용)
동기화가 깨질 수 있음. 친구 요청/수락시 여러 과정이 있으므로, 중간에 하나라도 실패될 경우 문제가 발생할 수 있음.
A가 B에게 친구 요청
- A가 자신의 친구 목록에 B가 있는지 확인: GET A/friend/B
- B가 요청받은 목록에 A를 넣어줌: POST B/requested {A}
- A가 요청한 목록에 B를 넣어줌: POST A/request {B}
- B가 자신에게 들어온 요청을 조회: GET B/requested
- A가 자신이한 요청을 조회: GET A/request
B가 자신에게 온 요청을 수락
- A의 친구 목록에 자신을 등록: POST A/friend {B}
- 자신(B)의 친구 목록에 A를 등록: POST B/friend {A}
- A가 요청한 목록에서 B를 삭제: DELETE A/request/B
- B가 자신에게 들어온 A의 요청을 삭제: DELETE B/requested/A
B가 자신에게 온 요청을 거절
- A의 거절 목록에 요청을 추가: POST A/refused {B}
- B의 요청을 삭제: DELETE B/requested/A
- A의 요청을 삭제: DELETE A/request/B
친구 목록 조회
- A가 자신의 친구 리스트를 조회: GET A/friend
- B가 자신의 친구 리스트를 조회: GET B/friend