two-clock / backend

개발자를 위한 Github 계정 및 저장소 정보 공유 서비스
4 stars 0 forks source link

feat: add Github API following/follower list using accessToken #45

Closed jjangsky closed 2 months ago

jjangsky commented 3 months ago

관련 이슈

변경 사항

실제 Github Following/Follower List 요청 시 반환되는 Response

{
"login": "youchanKim",
"id": 132042138,
"node_id": "U_kgDOB97Nmg",
"avatar_url": "https://avatars.githubusercontent.com/u/132042138?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/youchanKim",
"html_url": "https://github.com/youchanKim",
"followers_url": "https://api.github.com/users/youchanKim/followers",
"following_url": "https://api.github.com/users/youchanKim/following{/other_user}",
"gists_url": "https://api.github.com/users/youchanKim/gists{/gist_id}",
"starred_url": "https://api.github.com/users/youchanKim/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/youchanKim/subscriptions",
"organizations_url": "https://api.github.com/users/youchanKim/orgs",
"repos_url": "https://api.github.com/users/youchanKim/repos",
"events_url": "https://api.github.com/users/youchanKim/events{/privacy}",
"received_events_url": "https://api.github.com/users/youchanKim/received_events",
"type": "User",
"site_admin": false
},

following/follower 목록 API를 요청했을 때 반환받는 필드 대부분 다시 API를 요청할 수 있는 주소로 반환되어 단순 목록 확인용으로 사용할 수 있는 login, avatar_url, html_url 만 반환 받도록 설정하였습니다.

로그인 한 사용자의 Follow 목록 조회 API -> /api/v1/github/following


Response

{ "message": "OK", "data": [ { "login": "wbluke", "avatarUrl": "https://avatars.githubusercontent.com/u/44018338?v=4", "htmlUrl": "https://github.com/wbluke" }, { "login": "9898s", "avatarUrl": "https://avatars.githubusercontent.com/u/46531692?v=4", "htmlUrl": "https://github.com/9898s" }, { "login": "devFancy", "avatarUrl": "https://avatars.githubusercontent.com/u/83820185?v=4", "htmlUrl": "https://github.com/devFancy" }, {...}, ] }


> 로그인 한 사용자의 Follower 목록 조회 API -> `/api/v1/github/followers`

Response { "message": "OK", "data": [ { "login": "9898s", "avatarUrl": "https://avatars.githubusercontent.com/u/46531692?v=4", "htmlUrl": "https://github.com/9898s" }, { "login": "youchanKim", "avatarUrl": "https://avatars.githubusercontent.com/u/132042138?v=4", "htmlUrl": "https://github.com/youchanKim" }, { "login": "Peter-Yu-0402", "avatarUrl": "https://avatars.githubusercontent.com/u/149031461?v=4", "htmlUrl": "https://github.com/Peter-Yu-0402" }, { "login": "openmpy", "avatarUrl": "https://avatars.githubusercontent.com/u/150704638?v=4", "htmlUrl": "https://github.com/openmpy" } ] }


해당 API를 사용하기 위해서는 yml 설정 파일에 access-token을 추가 하여야 합니다.

github: client-id: ${github.client-id} client-secret: ${github.client-secret} redirect-uri: ${github.redirect-uri} access-token: ${ 여기에 로그인 처리 과정에서 발급받은 access Token 넣어주세요~}


추후 로그인 과정에서 Redis에 토큰이 저장되면 로직 변경 예정입니다.

## 체크 목록

- [X] 포스트맨으로 체크해 보았나요?
jjangsky commented 2 months ago

수정사항 커밋 완료했습니다 Pr merge 진행하겠습니다~