-
Notifications
You must be signed in to change notification settings - Fork 1
API 스펙 설계
BangKiHyun edited this page Dec 11, 2020
·
5 revisions
참여자 등록 - /v1/signup , String email, String githubId, String userRole - POST
- 챌린저
- 미션에 참여하는 사람 등록
- 리뷰어
- 미션 리뷰해주는 사람 등록
class User {
Long id; //DB
String email;
String githubId; //github
USER_ROLE role;
}
enum USER_ROLE {
CHALLANGER, REVIEWER;
}로그인 - /v1/signin, email, - POST
세션에 (고유id, githubId), USER_ROLE;
| URL | METHOD | 비고 | 설명 |
|---|---|---|---|
| /v1/signup | POST | String email String githubId String userRole (Challenger, Reviewer) |
회원가입 |
| /v1/signin | POST | String email | 로그인 |
-
미션 등록 /v1/mission - 어드민 - POST
- 미션 레포 만들어져있어야한다.
-
미션 목록 보기 /v1/mission - GET
-
미션 자세히 보기 /v1/mission/{missionId} - GET
| URL | METHOD | 비고 | 설명 |
|---|---|---|---|
| /v1/mission | POST | 미션 등록, 미션 레포 알아야됨 | 미션 등록 (어드민) |
| /v1/mission | GET | 미션 목록 보기 | |
| /v1/mission/{missionId} | GET | 보려는 미션 Id | 미션 자세히 보기 |
-
미션 시작 /v1/mission/begining - POST
-
브랜치 생성 - 챌린저 git id 브랜치생성
-
진행 미션 생성
-
리뷰어 배정
- 외부에서 만들어서 넣어줌
-
-
리뷰 요청 - /v1/progressmission/{missionId} - POST
- github 미션 레포에서 pr 찾아서 리뷰 생성 - 어떤 레포, githubId
- 이력 관리 & 리뷰어에게 알림
- slack 연동
-
Git 연동
| URL | METHOD | 비고 | 설명 |
|---|---|---|---|
| /v1/mission/begining | POST | missionId, challenger id | 미션 시작하기 |
| /v1/progressmission/{missionId} | POST | 진행중인 미션 Id | 리뷰 요청 |
- 리뷰(PR) 목록 보기 - 토큰 기반으로 , 분리하는게 좋을 것 같다.
- 챌린저 : 리뷰를 요청할 수 있는 목록 /v1/reviews/challenger - GET
- 리뷰어 : 현재 리뷰를 하고 있는 목록 /v1/reviews/reviewer - GET
- 리뷰 완료 - /v1/reviews/{reivewId}/complete/ - PUT
- slack 연동
- [2020/12/02 수정]
| URL | METHOD | 비고 | 설명 |
|---|---|---|---|
| /v1/reviews/challenger | GET | (세션, 토큰)? | 챌린저가 현재 리뷰 요청한 목록 보기 |
| /v1/reviews/reviewer | GET | (세션, 토큰)? | 리뷰어가 자신에게 배정되어있는 리뷰 목록 보기 |
| /v1/reivews/{reviewId}/complete | PUT | 해당 리뷰 아이디 | 리뷰어가 리뷰 완료했다고 알리기 |