# api check list
[API 介紹](https://drive.google.com/file/d/1u5rf_WoQf62LaKVdlbnaaRN_eCVGWc8D/view)
## 公告
```GET``` /announcement 獲得公告
+ Parameters
No parameters
+ Responses
code Description
+ 200 成功,物件包含公告id、公告內容的 list
```json=
[
{
"annId":"ANNID",
"userId":"USRID"
"title":"TITLE",
"pinned":"bool",
"createTime":"createTime",
"lastUpdateTime":"lastUpdateTime"
},
...
]
```
```GET``` /announcement/[annId]
+ Parameters
+ 無
+ Responses
code Description
+ 200 成功,物件包含該公告的所有東西
```json=
{
"userId":"USRID",
"title":"TITLE",
"content":"CONTENT",
"pinned":"bool",
"createTime":"createTime",
"lastUpdateTime":"lastUpdateTime"
}
```
```POST```/announcements 增加公告
+ Parameters
```json=
{
"title":"TITLE",
"content":"CONTENT",
"pinned":"bool"
}
```
+ Responses
code Description
+ 200 新增成功
+ 403 權限不符
`PATCH` /announcement/[ann_id] 修改公告
+ Parameters
```json=
{
"userId":"USRID",
"title":"TITLE",
"content":"CONTENT",
"pinned":"bool",
}
```
+ Responses
code Description
+ 200 修改成功
+ 403 權限不符
```DELETE``` /announcement/[ann_id] 刪除公告
+ Parameters
+ 無
```
+ Responses
code Description
+ 200 刪除成功
+ 403 權限不符
```
## 排行榜
```GET``` /ranking 得到排行榜資料(貢獻)
- Parameters
- 無
- Responses
- 200,回傳排行前面幾個的資料
```json=
{
"rankingList": [
{
"name": "",
"contribution": 5
}
]
}
```
## 考古題
`GET` /exam/[doc_id] 取得考古題文件
+ Parameters
```json=
{
"doc_id":"DOCID"
}
```
+ Responses
code Description
+ 200 成功,物件包含該考古題的所有東西
```json=
{
"doc_Id":"DOCID",
"course_id":"COUSEID",
"user_id":"USRID",
"year":"YEAR",
"semester":"SEMESTER"
"title":"TITLE",
"description":"DISCRIPTION",
"create_Time":"createTime",
"last_update_time":"lastUpdateTime",
"upvote":"int",
"downvote":"int",
"folder_path": "folder_path"
}
```
```POST```/exam 增加考古題
+ Parameters
```json=
{
"course_id":"COUSEID",
"year":"YEAR",
"semester":"SEMESTER",
"title":"TITLE",
"description":"DISCRIPTION"
}
```
+ Responses
code Description
+ 200 新增成功
`PATCH` /exam/[doc_id] 修改考古題
+ Parameters
```json=
{
"course_id":"COUSEID",
"year":"YEAR",
"semester":"SEMESTER"
"title":"TITLE",
"description":"DISCRIPTION",
}
```
+ Responses
code Description
+ 200 修改成功
+ 403 權限不符
`PATCH` /exam/[doc_id]/vote 評價考古題
+ Parameters
```json=
{
"upvote": int,
"downvote"
}
```
+ Responses
code Description
+ 200 修改成功
+ 403 權限不符
```DELETE``` /exam/[doc_id]/delete 刪除考古題
+ Parameters
+ Responses
code Description
+ 200 刪除成功
+ 403 權限不符
## 留言
`POST` /comment 新增留言
+ Parameters
```json=
{
"reply_id": "AREAID",
"content":"CONTENT"
}
```
+ Responses
code Description
- 200 修改成功
- 403 權限不符
`PATCH` /comment/[com_id] 修改留言
+ Parameters
```json=
{
"content":"CONTENT"
}
```
+ Responses
code Description
- 200 修改成功
- 403 權限不符
```DELETE``` /comment/[com_id] 刪除留言
+ Parameters
+ Responses
code Description
+ 200 刪除成功
+ 403 權限不符
## 管理員介面的使用者列表
```GET``` /user/[user_id] 得到使用者的角色
+ Parameters
+ Responses
code Description
+ 200 讀取成功
+ 403 權限不符
```json=
{
"user_id":"USRID",
"name":"NAME",
"email":"EMAIL",
"role":"ROLE",
"contribution":"int",
"ceate_time":"crateTime"
}
```
```PATCH``` /user/[user_id]/[role] 修改使用者的角色
+ Parameters
```json=
{
"user_id":"USRID",
"role":"ROLE"
}
```
+ Responses
code Description
+ 200 修改成功
+ 403 權限不符
## 登入登出
子緯做好了