-
Notifications
You must be signed in to change notification settings - Fork 4
Project API
Jin Young Park edited this page Dec 11, 2020
·
9 revisions
Method | url | description |
---|---|---|
GET | api/project | project ์ ์ฒด ์ ๋ณด ์กฐํ |
GET | api/project/:projectId | project ๊ฐ๋ณ ์กฐํ |
POST | api/project | project ์์ฑ |
PATCH | api/project/:projectId | project ์ ๋ชฉ ์์ |
PUT | api/project/:projectId | project ์์ |
DELETE | api/project/:projectId | project ์ญ์ |
Method | url | description |
---|---|---|
POST | api/project/:projectId/section | section ์์ฑ |
PATCH | api/project/:projectId/section/:sectionId | section ์ ๋ชฉ ์์ |
DELETE | api/project/:projectId/section/:sectionId | section ์ญ์ |
URL
GET /api/project
Response Description
Name | Type | Description |
---|---|---|
id | UUID | ํ๋ก์ ํธ ID |
title | STRING | ํ๋ก์ ํธ ์ด๋ฆ |
taskCount | INT | ์์ ๊ฐ์(ํ์ ์์ ํฌํจ) |
defaultSectionId | INT | ์ฒซ๋ฒ์งธ ์น์ ID |
Response
[
{
id: UUID,
title: 'ํ๋ก์ ํธ ์ด๋ฆ',
color: '#111111',
isFavorite: true,
isList: true,
taskCount: 3,
defaultSectionId: UUID
}
]
Failed Response
Code | Common Message | Return Message | Description |
---|---|---|---|
401 | Unauthorized | Unauthorized | ์ ํจํ ํ ํฐ์ header์ ํฌํจํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
500 | Internal Server Error | Internal Server Error | ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ธด ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
URL
GET /api/project/:projectId
Response Description
Name | Type | Description |
---|---|---|
id | UUID | ํ๋ก์ ํธ ID |
title | STRING | ํ๋ก์ ํธ ์ด๋ฆ |
isList | BOOLEAN | ๋ชฉ๋ก๋ทฐ์ผ๊ฒฝ์ฐ true, ์นธ๋ฐ๋ทฐ์ผ๊ฒฝ์ฐ false |
sections | ARRAY | ํ์ ์น์ ๋ฐ์ดํฐ |
section.id | UUID | ์น์ ID |
section.tasks | ARRAY | ํ์ ์์ ์ ๋ณด Task API ์ฐธ์กฐ |
Response
{
id : 1,
title: 'ํ๋ก์ ํธ ์ด๋ฆ',
isList: true,
sections:
[
{
id: 1,
tasks:
[
{
id : 1,
title: '์์
1',
dueDate: '2020-11-18',
createdAt: '2020-11-18T07:12:41.000Z',
updatedAt: '2020-11-18T07:12:41.000Z'
tasks: [{id: 2, title: ...},{}, ...],
}
]
}
]
}
Failed Response
Code | Common Message | Return Message | Description |
---|---|---|---|
400 | Bad Request | id๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | ํ๋ก์ ํธ ID๊ฐ String ํ์ ์ด ์๋๊ฑฐ๋ UUID4 ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
401 | Unauthorized | Unauthorized | ์ ํจํ ํ ํฐ์ header์ ํฌํจํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
403 | Forbidden | Forbidden | ํด๋น ์ ์ ์ ์์ ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
404 | Not Found | ํด๋น ์์ ์ด ์กด์ฌํ์ง ์์ต๋๋ค. | ์กด์ฌํ์ง ์๋ ํ๋ก์ ํธ id์ธ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
500 | Internal Server Error | Internal Server Error | ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ธด ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
URL
POST /api/project
Request Description
Name | Required | Type | Description |
---|---|---|---|
title | REQUIRED | STRING | ํ๋ก์ ํธ ์ด๋ฆ |
isList | REQUIRED | BOOLEAN | ๋ชฉ๋ก๋ทฐ: true, ์นธ๋ฐ๋ทฐ: false |
isFavorite | CONDITIONAL (default=false) | BOOLEAN | ์ฆ๊ฒจ์ฐพ๊ธฐ์ ์ถ๊ฐ ์ฌ๋ถ |
Request
{
title : 'ํ๋ก์ ํธ ์ด๋ฆ',
isList: true || false,
color: '#111111',
isFavorite : true || false,
}
Response Description
Name | Type | Description |
---|---|---|
message | STRING | ์์ฒญ ์ฑ๊ณต์ 'OK' |
Response
{
message: 'ok',
}
Failed Response
Code | Common Message | Return Message | Description |
---|---|---|---|
400 | Bad Request | title๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | ํ์ดํ์ด String ํ์ ์ด ์๋๊ฑฐ๋ ๋น ๋ฌธ์์ด์ธ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
401 | Unauthorized | Unauthorized | ์ ํจํ ํ ํฐ์ header์ ํฌํจํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
500 | Internal Server Error | Internal Server Error | ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ธด ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
URL
PATCH /api/project/:projectID
Request Description
Name | Required | Type | Description |
---|---|---|---|
title | OPTIONAL | STRING | ํ๋ก์ ํธ ์ด๋ฆ |
color | OPTIONAL | STRING | ํ๋ก์ ํธ ์์ |
isList | OPTIONAL | Boolean | ํ๋ก์ ํธ ๋ชฉ๋กํ ์ฌ๋ถ |
isFavorite | OPTIONAL | Boolean | ํ๋ก์ ํธ ์ฆ๊ฒจ์ฐพ๊ธฐ ์ฌ๋ถ |
Request
{
title : '์๋ก์ด ํ๋ก์ ํธ ์ด๋ฆ',
}
Response Description
Name | Type | Description |
---|---|---|
message | STRING | ์์ฒญ ์ฑ๊ณต์ 'OK' |
Response
{
message: 'ok'
}
Failed Response
Code | Common Message | Return Message | Description |
---|---|---|---|
400 | Bad Request | id๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | ํ๋ก์ ํธ ID๊ฐ String ํ์ ์ด ์๋๊ฑฐ๋ UUID4 ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
isList๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | isList์ด Boolean ํ์ ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. | ||
color๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | color ๊ฐ์ด String ํ์ ์ด ์๋๊ฑฐ๋ hexa code๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. | ||
isFavorite๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | isFavorite์ด Boolean ํ์ ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. | ||
401 | Unauthorized | Unauthorized | ์ ํจํ ํ ํฐ์ header์ ํฌํจํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
403 | Forbidden | Forbidden | ํด๋น ์ ์ ์ ํ๋ก์ ํธ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
404 | Not Found | ์กด์ฌํ์ง ์๋ ์์ ์ ๋๋ค. | ์กด์ฌํ์ง ์๋ id์ธ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
500 | Internal Server Error | Internal Server Error | ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ธด ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
URL
PUT /api/project/projectId
Request Description
Name | Required | Type | Description |
---|---|---|---|
title | REQUIRED | STRING | ํ๋ก์ ํธ ์ด๋ฆ |
color | OPTIONAL | STRING | ํ๋ก์ ํธ ์์ |
isList | REQUIRED | BOOLEAN | ๋ชฉ๋ก๋ทฐ: true, ์นธ๋ฐ๋ทฐ: false |
isFavorite | CONDITIONAL (default=false) | BOOLEAN | ์ฆ๊ฒจ์ฐพ๊ธฐ์ ์ถ๊ฐ ์ฌ๋ถ |
Request
{
title : 'ํ๋ก์ ํธ ์ด๋ฆ',
isList: false,
color: "#eeeeee"
isFavorite : true || false
}
Response Description
Name | Type | Description |
---|---|---|
message | STRING | ์์ฒญ ์ฑ๊ณต์ 'OK' |
Response
{
message: 'ok'
}
Failed Response
Code | Common Message | Return Message | Description |
---|---|---|---|
400 | Bad Request | id๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | ํ๋ก์ ํธ ID๊ฐ String ํ์ ์ด ์๋๊ฑฐ๋ UUID4 ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
isList๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | isList์ด Boolean ํ์ ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. | ||
color๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | color ๊ฐ์ด String ํ์ ์ด ์๋๊ฑฐ๋ hexa code๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. | ||
isFavorite๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | isFavorite์ด Boolean ํ์ ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. | ||
401 | Unauthorized | Unauthorized | ์ ํจํ ํ ํฐ์ header์ ํฌํจํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
403 | Forbidden | Forbidden | ํด๋น ์ ์ ์ ํ๋ก์ ํธ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
404 | Not Found | ์กด์ฌํ์ง ์๋ ์์ ์ ๋๋ค. | ์กด์ฌํ์ง ์๋ id์ธ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
500 | Internal Server Error | Internal Server Error | ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ธด ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
URL
DELETE /api/project/:projectId
Response
{
message: 'ok'
}
Failed Response
Code | Common Message | Return Message | Description |
---|---|---|---|
400 | Bad Request | id๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | ํ๋ก์ ํธ ID๊ฐ String ํ์ ์ด ์๋๊ฑฐ๋ UUID4 ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
401 | Unauthorized | Unauthorized | ์ ํจํ ํ ํฐ์ header์ ํฌํจํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
403 | Forbidden | Forbidden | ํด๋น ์ ์ ์ ํ๋ก์ ํธ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
404 | Not Found | ์กด์ฌํ์ง ์๋ ์์ ์ ๋๋ค. | ์กด์ฌํ์ง ์๋ id์ธ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
500 | Internal Server Error | Internal Server Error | ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ธด ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
URL
POST /api/project/:projectId/section
Request Description
Name | Required | Type | Description |
---|---|---|---|
title | REQUIRED | STRING | ์น์ ์ด๋ฆ |
Request
{
title : '์๋ก์ด ์น์
์ด๋ฆ',
}
Response
{
message: 'ok'
}
Failed Response
Code | Common Message | Return Message | Description |
---|---|---|---|
400 | Bad Request | id๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | projectId๊ฐ String ํ์ ์ด ์๋๊ฑฐ๋ UUID4 ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
title๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | ํ์ดํ์ด String ํ์ ์ด ์๋๊ฑฐ๋ ๋น ๋ฌธ์์ด์ธ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. | ||
401 | Unauthorized | Unauthorized | ์ ํจํ ํ ํฐ์ header์ ํฌํจํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
403 | Forbidden | Forbidden | ํด๋น ์ ์ ์ ํ๋ก์ ํธ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
404 | Not Found | ์กด์ฌํ์ง ์๋ ์์ ์ ๋๋ค. | ์กด์ฌํ์ง ์๋ projectId์ธ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
500 | Internal Server Error | Internal Server Error | ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ธด ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
URL
PATCH /api/project/:projectId/section/:sectionId
Request Description
Name | Required | Type | Description |
---|---|---|---|
title | REQUIRED | STRING | ์น์ ์ด๋ฆ |
Request
{
title : '์๋ก์ด ์น์
์ด๋ฆ',
}
Response
{
message: 'ok'
}
Failed Response
Code | Common Message | Return Message | Description |
---|---|---|---|
400 | Bad Request | id๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | ํ๋ก์ ํธ ID๊ฐ String ํ์ ์ด ์๋๊ฑฐ๋ UUID4 ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
title๊ฐ์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค | ํ์ดํ์ด String ํ์ ์ด ์๋๊ฑฐ๋ ๋น ๋ฌธ์์ด์ธ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. | ||
401 | Unauthorized | Unauthorized | ์ ํจํ ํ ํฐ์ header์ ํฌํจํ์ง ์์ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
403 | Forbidden | Forbidden | ํด๋น ์ ์ ์ ํ๋ก์ ํธ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
404 | Not Found | ์กด์ฌํ์ง ์๋ ์์ ์ ๋๋ค. | ์กด์ฌํ์ง ์๋ id์ธ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
500 | Internal Server Error | Internal Server Error | ์๋ฒ์ ๋ฌธ์ ๊ฐ ์๊ธด ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. |
URL
PATCH /api/project/:projectId/section/:sectionId/position
Request Description
Name | Required | Type | Description |
---|---|---|---|
orderedTasks | REQUIRED | ARRAY | ํ๋ฉด์ ๋ณด์ฌ์ง ์์๋๋ก ์ ๋ ฌ๋ task id ๋ฐฐ์ด |
Request
{
orderedTasks : [uuid1, uuid2, uuid3, ...]
}
Response
{
message: 'ok'
}
URL
DELETE /api/project/:projectId/section/:sectionId
Response
{
message: 'ok'
}