1. API 목록
2. GET: 배정 목록 조회
교수/외부멘토 별 배정된 팀 리스트를 조회한다.
| Name | Description |
|---|---|
|
Bearer {accessToken} (관리자) |
| Parameter | Description |
|---|---|
|
대회 ID |
| Parameter | Description |
|---|---|
|
회원 유형 필터 (MemberRoleType: ROLE_교수, ROLE_외부멘토) |
|
이름 또는 담당 팀 이름 검색어 |
GET /contests/1/staff?memberType=ROLE_%EA%B5%90%EC%88%98&search=%EA%B0%9C%EB%B0%9C HTTP/1.1
Authorization: Bearer admin.access.token
Host: localhost:8080
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 487
[ {
"contestMemberId" : 1,
"memberId" : 2,
"name" : "홍길동",
"email" : "gildong@example.com",
"roleType" : "ROLE_교수",
"teams" : [ {
"teamId" : 10,
"teamName" : "개발 1팀"
}, {
"teamId" : 12,
"teamName" : "운영 기획팀"
} ]
}, {
"contestMemberId" : 2,
"memberId" : 3,
"name" : "이멘토",
"email" : "mentor@example.com",
"roleType" : "ROLE_외부멘토",
"teams" : [ {
"teamId" : 10,
"teamName" : "개발 1팀"
} ]
} ]
| Path | Type | Description |
|---|---|---|
|
|
배정 목록 |
|
|
배정 ID |
|
|
회원 ID |
|
|
이름 |
|
|
이메일 |
|
|
회원 유형 (MemberRoleType) |
|
|
담당 팀 목록 |
|
|
팀 ID |
|
|
팀 이름 |
3. POST: 일괄 배정
여러 교수/외부멘토를 동일한 담당 팀 목록으로 한 번에 배정한다.
| Name | Description |
|---|---|
|
Bearer {accessToken} (관리자) |
| Parameter | Description |
|---|---|
|
대회 ID |
POST /contests/1/staff/batch HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer admin.access.token
Content-Length: 54
Host: localhost:8080
{
"memberIds" : [ 2, 3 ],
"teamIds" : [ 10, 12 ]
}
| Path | Type | Description |
|---|---|---|
|
|
배정할 회원 ID 목록 |
|
|
담당 팀 ID 목록 |
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
4. PATCH: 배정 팀 수정
배정된 담당 팀 목록을 추가/삭제하여 수정한다.
| Name | Description |
|---|---|
|
Bearer {accessToken} (관리자) |
| Parameter | Description |
|---|---|
|
대회 ID |
|
배정 ID |
PATCH /contests/1/staff/2 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer admin.access.token
Content-Length: 55
Host: localhost:8080
{
"addTeamIds" : [ 12 ],
"deleteTeamIds" : [ 10 ]
}
| Path | Type | Description |
|---|---|---|
|
|
추가할 팀 ID 목록 |
|
|
삭제할 팀 ID 목록 |
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
5. DELETE: 배정 삭제
해당 배정을 삭제하여 회원의 모든 담당 팀 배정을 제거한다.
| Name | Description |
|---|---|
|
Bearer {accessToken} (관리자) |
| Parameter | Description |
|---|---|
|
대회 ID |
|
배정 ID |
DELETE /contests/1/staff/2 HTTP/1.1
Authorization: Bearer admin.access.token
Host: localhost:8080
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers