add api, docs

This commit is contained in:
iIronside
2021-11-25 12:33:08 +03:00
parent 7d886ff7c3
commit 9e964222ae
19 changed files with 2149 additions and 24 deletions

View File

@ -1243,4 +1243,749 @@
"type": "yii\\web\\NotFoundHttpException"
}
```
## Задачи
### Задача
`https://guild.craft-group.xyz/api/task/get-task`
<p>
Для получения данных задачи необходимо отправить <b>GET</b> запрос на URL https://guild.craft-group.xyz/task/get-task
</p>
<p>
Требуемые параметры:
</p>
<table>
<tr>
<th>
Параметры
</th>
<th>
Значение
</th>
</tr>
<tr>
<td>
task_id
</td>
<td>
ID менеджера
</td>
</tr>
</table>
<p>
Пример запроса:
</p>
`https://guild.craft-group.xyz/api/task/get-task?task_id=3`
<p>
Возвращает объект <b>Задачи</b>. <br>
Каждый объект <b>Задачи</b> имеет такой вид:
</p>
```json5
{
"id": 3,
"project_id": 2,
"title": "polkjhgbfv task",
"status": 1,
"created_at": "2021-11-24 11:53:11",
"updated_at": "2021-11-24 11:53:11",
"project_user_id": 1,
"user_id": null,
"description": "dfvdfvfdvfd"
}
```
<p>
Передаваемые параметры объекта <b>Задача</b>:
</p>
<table>
<tr>
<th>
Параметры
</th>
<th>
Значение
</th>
</tr>
<tr>
<td>
id
</td>
<td>
ID задачи(int)
</td>
</tr>
<tr>
<td>
project_id
</td>
<td>
ID проекта(int)
</td>
</tr>
<tr>
<td>
title
</td>
<td>
Название задачи(string)
</td>
</tr>
<tr>
<td>
status
</td>
<td>
Статус(int)
</td>
</tr>
<tr>
<td>
created_at
</td>
<td>
Дата создания(string)
</td>
</tr>
<tr>
<td>
updated_at
</td>
<td>
Дата изменения(string)
</td>
</tr>
<tr>
<td>
project_user_id
</td>
<td>
ID сотрудника на проекта(int)
</td>
</tr>
<tr>
<td>
user_id
</td>
<td>
ID сотрудника(int)
</td>
</tr>
<tr>
<td>
description
</td>
<td>
Описание задачи(string)
</td>
</tr>
</table>
<p>
Если задача не найдена будет отправлено следующее сообщение:
</p>
```json5
{
"name": "Not Found",
"message": "The task does not exist",
"code": 0,
"status": 404,
"type": "yii\\web\\NotFoundHttpException"
}
```
### Список задач
`https://guild.craft-group.xyz/api/task/get-task-list`
<p>
Для получения списка данных задач необходимо отправить <b>GET</b> запрос на URL https://guild.craft-group.xyz/task/get-task-list
</p>
<p>
Требуемые параметры:
</p>
<table>
<tr>
<th>
Параметры
</th>
<th>
Значение
</th>
</tr>
<tr>
<td>
project_id
</td>
<td>
ID проекта
</td>
</tr>
</table>
<p>
Пример запроса:
</p>
`https://guild.craft-group.xyz/api/task/get-task-list?project_id=2`
<p>
Возвращает массив объектов <b>Задачи</b>. <br>
Каждый объект <b>Задачи</b> имеет такой вид:
</p>
```json5
[
{
"id": 3,
"project_id": 2,
"title": "polkjhgbfv task",
"status": 1,
"created_at": "2021-11-24 11:53:11",
"updated_at": "2021-11-24 11:53:11",
"project_user_id": 1,
"user_id": null,
"description": "dfvdfvfdvfd"
},
{
"id": 7,
"project_id": 2,
"title": "polkjhgbfv taskdfsdfsd",
"status": 1,
"created_at": "2021-11-24 14:55:01",
"updated_at": "2021-11-24 14:55:01",
"project_user_id": 1,
"user_id": null,
"description": "dfvdfvfdvfdsddsfds"
}
]
```
<p>
Передаваемые параметры объекта <b>Задача</b>:
</p>
<table>
<tr>
<th>
Параметры
</th>
<th>
Значение
</th>
</tr>
<tr>
<td>
id
</td>
<td>
ID задачи(int)
</td>
</tr>
<tr>
<td>
project_id
</td>
<td>
ID проекта(int)
</td>
</tr>
<tr>
<td>
title
</td>
<td>
Название задачи(string)
</td>
</tr>
<tr>
<td>
status
</td>
<td>
Статус(int)
</td>
</tr>
<tr>
<td>
created_at
</td>
<td>
Дата создания(string)
</td>
</tr>
<tr>
<td>
updated_at
</td>
<td>
Дата изменения(string)
</td>
</tr>
<tr>
<td>
project_user_id
</td>
<td>
ID сотрудника на проекта(int)
</td>
</tr>
<tr>
<td>
user_id
</td>
<td>
ID сотрудника(int)
</td>
</tr>
<tr>
<td>
description
</td>
<td>
Описание задачи(string)
</td>
</tr>
</table>
<p>
Если задачи не найдена будет отправлено следующее сообщение:
</p>
```json5
{
"name": "Not Found",
"message": "The project does not exist or there are no tasks for it",
"code": 0,
"status": 404,
"type": "yii\\web\\NotFoundHttpException"
}
```
### Создать задачу
`https://guild.craft-group.xyz/api/task/create-task`
<p>
Для создания задачи необходимо отправить <b>POST</b> запрос на URL https://guild.craft-group.xyz/task/create-task
</p>
<p>
Требуемые параметры:
</p>
<table>
<tr>
<th>
Параметры
</th>
<th>
Значение
</th>
</tr>
<tr>
<td>
project_id
</td>
<td>
ID проекта(int)
</td>
</tr>
<tr>
<td>
title
</td>
<td>
Название задачи(string)
</td>
</tr>
<tr>
<td>
status
</td>
<td>
Статус(int)
</td>
</tr>
<tr>
<td>
project_user_id
</td>
<td>
ID сотрудника на проекта, создатель задачи(int)
</td>
</tr>
<tr>
<td>
description
</td>
<td>
Описание задачи(string)
</td>
</tr>
</table>
<p>
Пример запроса:
</p>
`http://guild.loc/api/task/create-task`
<p>
Возвращает объект <b>Задачи</b>. <br>
Каждый объект <b>Задачи</b> имеет такой вид:
</p>
```json5
{
"project_id": "2",
"title": "polkjhgbfv taskdfsdfsd",
"status": "1",
"project_user_id": "1",
"description": "dfvdfvfdvfdsddsfds",
"created_at": {
"expression": "NOW()",
"params": []
},
"updated_at": {
"expression": "NOW()",
"params": []
},
"id": 12
}
```
<p>
Если требуемый параметр задачи не будет получен, будет отправлено сообщение следующего вида:
</p>
```json5
{
"name": "Bad Request",
"message": "{\"project_user_id\":[\"\С\о\з\д\а\т\е\л\ь cannot be blank.\"]}",
"code": 0,
"status": 400,
"type": "yii\\web\\BadRequestHttpException"
}
```
### Изменить задачу
`https://guild.craft-group.xyz/api/task/update`
<p>
Для изменения задачи необходимо отправить <b>POST</b> запрос на URL https://guild.craft-group.xyz/task/update
</p>
<p>
Требуемые параметры:
</p>
<table>
<tr>
<th>
Параметры
</th>
<th>
Значение
</th>
</tr>
<tr>
<td>
task_id
</td>
<td>
ID задачи
</td>
</tr>
</table>
<p>
Пример запроса:
</p>
`https://guild.craft-group.xyz/api/task/update`
<p>
Возвращает объект <b>Задачи</b>. <br>
Каждый объект <b>Задачи</b> имеет такой вид:
</p>
```json5
{
"id": 11,
"project_id": 2,
"title": "432423",
"status": 1,
"created_at": "2021-11-24 14:40:25",
"updated_at": "2021-11-25 11:44:30",
"project_user_id": 5,
"user_id": 2,
"description": "888"
}
```
<p>
Параметры объекта <b>Задача</b>:
</p>
<table>
<tr>
<th>
Параметры
</th>
<th>
Значение
</th>
</tr>
<tr>
<td>
task_id
</td>
<td>
ID задачи(int)
</td>
</tr>
<tr>
<td>
project_id
</td>
<td>
ID проекта(int)
</td>
</tr>
<tr>
<td>
title
</td>
<td>
Название задачи(string)
</td>
</tr>
<tr>
<td>
status
</td>
<td>
Статус(int)
</td>
</tr>
<tr>
<td>
created_at
</td>
<td>
Дата создания(string)
</td>
</tr>
<tr>
<td>
updated_at
</td>
<td>
Дата изменения(string)
</td>
</tr>
<tr>
<td>
project_user_id
</td>
<td>
ID сотрудника на проекта(int)
</td>
</tr>
<tr>
<td>
user_id
</td>
<td>
ID сотрудника(int)
</td>
</tr>
<tr>
<td>
description
</td>
<td>
Описание задачи(string)
</td>
</tr>
</table>
<p>
Если задача не найдена будет отправлено следующее сообщение:
</p>
```json5
{
"name": "Not Found",
"message": "The task does not exist",
"code": 0,
"status": 404,
"type": "yii\\web\\NotFoundHttpException"
}
```
## Исполнители задачи
### Список исполнителей задачи
`https://guild.craft-group.xyz/api/task-user/get-task-users`
<p>
Для получения списка исполнителей необходимо отправить <b>GET</b> запрос на URL https://guild.craft-group.xyz/api/task-user/get-task-users
</p>
<p>
Требуемые параметры:
</p>
<table>
<tr>
<th>
Параметры
</th>
<th>
Значение
</th>
</tr>
<tr>
<td>
task_id
</td>
<td>
ID задачи
</td>
</tr>
</table>
<p>
Пример запроса:
</p>
`https://guild.craft-group.xyz/api/task-user/get-task-users?task_id=10`
<p>
Возвращает массив сотрудников проекта закреплённых за задачей. <br>
Каждый ответ имеет такой вид:
</p>
```json5
[
{
"id": 5,
"task_id": 10,
"project_user_id": 1
},
{
"id": 7,
"task_id": 10,
"project_user_id": 5
}
]
```
<p>
Параметры объекта <b>Исполнитель</b>:
</p>
<table>
<tr>
<th>
Параметры
</th>
<th>
Значение
</th>
</tr>
<tr>
<td>
id
</td>
<td>
ID исполнителя задачи(int)
</td>
</tr>
<tr>
<td>
task_id
</td>
<td>
ID задачи(int)
</td>
</tr>
<tr>
<td>
project_user_id
</td>
<td>
ID сотрудника на проекте(int)
</td>
</tr>
</table>
<p>
Если задача не найдена будет отправлено следующее сообщение:
</p>
```json5
{
"name": "Not Found",
"message": "The task does not exist or there are no employees for it",
"code": 0,
"status": 404,
"type": "yii\\web\\NotFoundHttpException"
}
```
### Назначить сотрудника на задачу
`https://guild.craft-group.xyz/api/task-user/get-task-users`
<p>
Для назначения исполнителя необходимо отправить <b>POST</b> запрос на URL https://guild.craft-group.xyz/api/task-user/set-task-user
</p>
<p>
Требуемые параметры:
</p>
<table>
<tr>
<th>
Параметры
</th>
<th>
Значение
</th>
</tr>
<tr>
<td>
task_id
</td>
<td>
ID задачи
</td>
</tr>
<tr>
<td>
project_user_id
</td>
<td>
ID сотрудника на проекте
</td>
</tr>
</table>
<p>
Пример запроса:
</p>
`https://guild.craft-group.xyz/api/task-user/set-task-user`
<p>
Возвращает объект <b>Исполнителя задачи</b>.<br>
Каждый ответ имеет такой вид:
</p>
```json5
{
"task_id": "10",
"project_user_id": "5",
"id": 8
}
```
<p>
Если задача не найдена будет отправлено следующее сообщение:
</p>
```json5
{
"name": "Bad Request",
"message": "{\"task_id\":[\"\З\а\д\а\ч\а is invalid.\"]}",
"code": 0,
"status": 400,
"type": "yii\\web\\BadRequestHttpException"
}
```