add api for project
This commit is contained in:
parent
8a1f99c707
commit
78aaef28df
@ -52,6 +52,7 @@ class Project extends \yii\db\ActiveRecord
|
|||||||
public function rules()
|
public function rules()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
|
['name', 'unique'],
|
||||||
[['name', 'status'], 'required'],
|
[['name', 'status'], 'required'],
|
||||||
[['description'], 'string'],
|
[['description'], 'string'],
|
||||||
[['created_at', 'updated_at'], 'safe'],
|
[['created_at', 'updated_at'], 'safe'],
|
||||||
|
993
docs/api/projects_and_tasks.md
Normal file
993
docs/api/projects_and_tasks.md
Normal file
@ -0,0 +1,993 @@
|
|||||||
|
## Проекты
|
||||||
|
|
||||||
|
## Методы
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Метод
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Описание
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
project
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Получить проект
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
project-list
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Получить список проектов
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
status-list
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Получить список статусов для проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
create
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Создать проект
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
update
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Изменить проект
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
### Получить проект
|
||||||
|
`https://guild.craft-group.xyz/api/project/get-project`
|
||||||
|
<p>
|
||||||
|
Для получения проекта необходимо отправить <b>GET</b> запрос на URL https://guild.craft-group.xyz/api/project/get-project
|
||||||
|
</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/project/get-project?project_id=1`
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Возвращает объект проекта имеющий такой вид:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```json5
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"name": "проект название",
|
||||||
|
"budget": "333",
|
||||||
|
"status": 5,
|
||||||
|
"hh_id": {
|
||||||
|
"id": 1,
|
||||||
|
"hh_id": null,
|
||||||
|
"url": "knkjsefnejkdbvjfdbv",
|
||||||
|
"title": null,
|
||||||
|
"dt_add": null,
|
||||||
|
"photo": null
|
||||||
|
},
|
||||||
|
"company": {
|
||||||
|
"id": 1,
|
||||||
|
"name": "Рога и копыта",
|
||||||
|
"description": "Живодёрня"
|
||||||
|
},
|
||||||
|
"_links": {
|
||||||
|
"self": {
|
||||||
|
"href": "http://guild.loc/api/project/index?project_id=1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Получить список проектов
|
||||||
|
`https://guild.craft-group.xyz/api/project/project-list`
|
||||||
|
<p>
|
||||||
|
Для получения списка проектов необходимо отправить <b>GET</b> запрос на URL https://guild.craft-group.xyz/api/project/project-list
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Параметры:
|
||||||
|
</p>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Параметры
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Значение
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
card_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
ID профиля пользователя (При передаче этого параметра будет возвращён список проектов в которых задействован конкретный пользователь, без него будет возвращён список всех проектов)
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Пример запроса:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
`https://guild.craft-group.xyz/api/project/project-list?card_id=1`
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Возвращает массив объектов проект имеющий такой вид:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```json5
|
||||||
|
{
|
||||||
|
"projects": [
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"name": "проект название",
|
||||||
|
"budget": "333",
|
||||||
|
"status": 5,
|
||||||
|
"hh_id": {
|
||||||
|
"id": 1,
|
||||||
|
"hh_id": null,
|
||||||
|
"url": "knkjsefnejkdbvjfdbv",
|
||||||
|
"title": null,
|
||||||
|
"dt_add": null,
|
||||||
|
"photo": null
|
||||||
|
},
|
||||||
|
"company": {
|
||||||
|
"id": 1,
|
||||||
|
"name": "Рога и копыта",
|
||||||
|
"description": "Живодёрня"
|
||||||
|
},
|
||||||
|
"_links": {
|
||||||
|
"self": {
|
||||||
|
"href": "http://guild.loc/api/project/index?project_id=1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"name": "тестовый проект",
|
||||||
|
"budget": "333",
|
||||||
|
"status": 5,
|
||||||
|
"hh_id": {
|
||||||
|
"id": 1,
|
||||||
|
"hh_id": null,
|
||||||
|
"url": "knkjsefnejkdbvjfdbv",
|
||||||
|
"title": null,
|
||||||
|
"dt_add": null,
|
||||||
|
"photo": null
|
||||||
|
},
|
||||||
|
"company": null,
|
||||||
|
"_links": {
|
||||||
|
"self": {
|
||||||
|
"href": "http://guild.loc/api/project/index?project_id=3"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_links": {
|
||||||
|
"self": {
|
||||||
|
"href": "http://guild.loc/api/project/project-list?card_id=1&page=1"
|
||||||
|
},
|
||||||
|
"first": {
|
||||||
|
"href": "http://guild.loc/api/project/project-list?card_id=1&page=1"
|
||||||
|
},
|
||||||
|
"last": {
|
||||||
|
"href": "http://guild.loc/api/project/project-list?card_id=1&page=1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"_meta": {
|
||||||
|
"totalCount": 2,
|
||||||
|
"pageCount": 1,
|
||||||
|
"currentPage": 1,
|
||||||
|
"perPage": 20
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Получить список статусов для проекта
|
||||||
|
`https://guild.craft-group.xyz/api/project/status-list`
|
||||||
|
<p>
|
||||||
|
Для получения списка статусов проекта необходимо отправить <b>GET</b> запрос на URL https://guild.craft-group.xyz/api/project/status-list
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Требуемые параметры: не требуются
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Пример запроса:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
`https://guild.craft-group.xyz/api/project/status-list`
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Возвращает массив объектов статус имеющий такой вид:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```json5
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": 5,
|
||||||
|
"name": "проект"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 6,
|
||||||
|
"name": "проект статус 2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Создать проект
|
||||||
|
|
||||||
|
`https://guild.craft-group.xyz/api/project/create`
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Для создания нового проекта необходимо отправить <b>POST</b> запрос на URL https://guild.craft-group.xyz/api/project/create
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Параметры:
|
||||||
|
</p>
|
||||||
|
* - обязательные параметры
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Параметры
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Значение
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
* name
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
название проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
* status
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
статус проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
description
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
описание проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
budget
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
бюджет проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
company_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
ID компании
|
||||||
|
</td>
|
||||||
|
</tr><tr>
|
||||||
|
<td>
|
||||||
|
$hh_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
ID hh
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Пример запроса:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
`https://guild.craft-group.xyz/api/project/create`
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Возвращает массив объектов статус имеющий такой вид:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```json5
|
||||||
|
{
|
||||||
|
"id": 10,
|
||||||
|
"name": "test",
|
||||||
|
"budget": "333",
|
||||||
|
"status": "5",
|
||||||
|
"hh_id": null,
|
||||||
|
"company": null,
|
||||||
|
"_links": {
|
||||||
|
"self": {
|
||||||
|
"href": "http://guild.loc/api/project/index?project_id=10"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Обновить проект
|
||||||
|
|
||||||
|
`https://guild.craft-group.xyz/api/project/update`
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Для создания нового проекта необходимо отправить <b>POST</b> запрос на URL https://guild.craft-group.xyz/api/project/update
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Параметры:
|
||||||
|
</p>
|
||||||
|
* - обязательные параметры
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Параметры
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Значение
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
* project_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
ID проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
status
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
статус проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
name
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
название
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
description
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
описание проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
budget
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
бюджет проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
company_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
ID компании
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
hh_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
ID hh
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Пример запроса:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
`https://guild.craft-group.xyz/api/project/update`
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Возвращает массив объектов статус имеющий такой вид:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```json5
|
||||||
|
{
|
||||||
|
"id": 7,
|
||||||
|
"name": "777nnknkfg666",
|
||||||
|
"budget": "333",
|
||||||
|
"status": "5",
|
||||||
|
"hh_id": {
|
||||||
|
"id": 1,
|
||||||
|
"hh_id": null,
|
||||||
|
"url": "knkjsefnejkdbvjfdbv",
|
||||||
|
"title": null,
|
||||||
|
"dt_add": null,
|
||||||
|
"photo": null
|
||||||
|
},
|
||||||
|
"company": {
|
||||||
|
"id": 1,
|
||||||
|
"name": "Рога и копыта",
|
||||||
|
"description": "Живодёрня"
|
||||||
|
},
|
||||||
|
"_links": {
|
||||||
|
"self": {
|
||||||
|
"href": "http://guild.loc/api/project/index?project_id=7"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
# Задачи
|
||||||
|
|
||||||
|
## Методы
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Метод
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Описание
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
get-task-list
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Возвращает список задач
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
get-task
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Возвращает задачу
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
create-task
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Создаёт задачу
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
update
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Обновить задачу
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
## Список задач
|
||||||
|
|
||||||
|
`https://guild.craft-group.xyz/api/task/get-task-list?project_id=1`
|
||||||
|
<p>
|
||||||
|
Параметры:
|
||||||
|
</p>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Параметры
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Значение
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
project_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Id проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<p>
|
||||||
|
Без передачи параметра возвращает массив объектов <b>Задача</b> . С параметром <b>project_id</b>,
|
||||||
|
метод возвращает объекты <b>Задача</b> определённого проекта.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Возвращает <b>массив</b> объектов <b>Задача</b>. <br>
|
||||||
|
Каждый объект <b>Задача</b> имеет такой вид:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```json5
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "6",
|
||||||
|
"project_id": "74",
|
||||||
|
"title": "Название задачи",
|
||||||
|
"status": "1",
|
||||||
|
"created_at": "2021-12-20 16:29:39",
|
||||||
|
"updated_at": "2021-12-20 17:35:04",
|
||||||
|
"description": "Описание задачи",
|
||||||
|
"card_id_creator": "1",
|
||||||
|
"card_id": "3"
|
||||||
|
},
|
||||||
|
'...'
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Получить документ
|
||||||
|
|
||||||
|
`https://guild.craft-group.xyz/api/task/get-task?task_id=15`
|
||||||
|
<p>
|
||||||
|
Параметры:
|
||||||
|
</p>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Параметры
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Значение
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
task_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Id задачи
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Возвращает объект <b>Задача</b>. <br>
|
||||||
|
Каждый объект <b>Задача</b> имеет такой вид:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```json5
|
||||||
|
{
|
||||||
|
"id": 15,
|
||||||
|
"project_id": 74,
|
||||||
|
"title": "4324238888",
|
||||||
|
"status": 1,
|
||||||
|
"created_at": "2022-01-05 17:37:37",
|
||||||
|
"updated_at": "2022-01-05 17:46:10",
|
||||||
|
"description": "888",
|
||||||
|
"card_id_creator": 1,
|
||||||
|
"card_id": null
|
||||||
|
}
|
||||||
|
```
|
||||||
|
<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/document/create-document`
|
||||||
|
<p>
|
||||||
|
Параметры:
|
||||||
|
</p>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Параметры
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Значение
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
title
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Название задачи
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
project_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Id проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
status
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
статус задачи
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
card_id_creator
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Id профиля создателя
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
card_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Id профиля наблюдателя(не обязательный параметр)
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
description
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Описание
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Создаёт <b>Задача</b>. Требует передачи <b>POST</b> запроса с соответствующими
|
||||||
|
параметрами
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
В случае указания не верных параметров буде возвращена соответствующая ошибка. Пример ошибки:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```json5
|
||||||
|
{
|
||||||
|
"name": "Internal Server Error",
|
||||||
|
"message": "{\"project_id\":[\"\П\р\о\е\к\т is invalid.\"]}",
|
||||||
|
"code": 0,
|
||||||
|
"status": 500,
|
||||||
|
"type": "yii\\web\\ServerErrorHttpException"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Обновить задачу
|
||||||
|
|
||||||
|
`https://guild.craft-group.xyz/api/task/update`
|
||||||
|
<p>
|
||||||
|
Параметры:
|
||||||
|
</p>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Параметры
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Значение
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
title
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Название задачи
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
project_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Id проекта
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
status
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
статус задачи
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
card_id_creator
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Id профиля создателя
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
card_id
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Id профиля наблюдателя(не обязательный параметр)
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
description
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Описание
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Обновляет объект <b>Задача</b>. Требует передачи <b>POST</b> запроса с соответствующими
|
||||||
|
параметрами
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
В случае указания не верных параметров буде возвращена соответствующая ошибка. Пример ошибки:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
```json5
|
||||||
|
{
|
||||||
|
"name": "Not Found",
|
||||||
|
"message": "The task does not exist",
|
||||||
|
"code": 0,
|
||||||
|
"status": 404,
|
||||||
|
"type": "yii\\web\\NotFoundHttpException"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Исполнители задачи
|
||||||
|
## Методы
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>
|
||||||
|
Метод
|
||||||
|
</th>
|
||||||
|
<th>
|
||||||
|
Описание
|
||||||
|
</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
get-task-users
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Список исплнителей задачи
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
set-task-users
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
Назначить исполнителя на задачу
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
### Список исполнителей задачи
|
||||||
|
`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/set-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"
|
||||||
|
}
|
||||||
|
```
|
@ -1,200 +0,0 @@
|
|||||||
## Исполнители задачи
|
|
||||||
## Методы
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<th>
|
|
||||||
Метод
|
|
||||||
</th>
|
|
||||||
<th>
|
|
||||||
Описание
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
get-task-users
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Список исплнителей задачи
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
set-task-users
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Назначить исполнителя на задачу
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
### Список исполнителей задачи
|
|
||||||
`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/set-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"
|
|
||||||
}
|
|
||||||
```
|
|
321
docs/api/task.md
321
docs/api/task.md
@ -1,321 +0,0 @@
|
|||||||
# Задачи
|
|
||||||
|
|
||||||
## Методы
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<th>
|
|
||||||
Метод
|
|
||||||
</th>
|
|
||||||
<th>
|
|
||||||
Описание
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
get-task-list
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Возвращает список задач
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
get-task
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Возвращает задачу
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
create-task
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Создаёт задачу
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
update
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Обновить задачу
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
## Список задач
|
|
||||||
|
|
||||||
`https://guild.craft-group.xyz/api/task/get-task-list?project_id=1`
|
|
||||||
<p>
|
|
||||||
Параметры:
|
|
||||||
</p>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<th>
|
|
||||||
Параметры
|
|
||||||
</th>
|
|
||||||
<th>
|
|
||||||
Значение
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
project_id
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Id проекта
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<p>
|
|
||||||
Без передачи параметра возвращает массив объектов <b>Задача</b> . С параметром <b>project_id</b>,
|
|
||||||
метод возвращает объекты <b>Задача</b> определённого проекта.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Возвращает <b>массив</b> объектов <b>Задача</b>. <br>
|
|
||||||
Каждый объект <b>Задача</b> имеет такой вид:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
```json5
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"id": "6",
|
|
||||||
"project_id": "74",
|
|
||||||
"title": "Название задачи",
|
|
||||||
"status": "1",
|
|
||||||
"created_at": "2021-12-20 16:29:39",
|
|
||||||
"updated_at": "2021-12-20 17:35:04",
|
|
||||||
"description": "Описание задачи",
|
|
||||||
"card_id_creator": "1",
|
|
||||||
"card_id": "3"
|
|
||||||
},
|
|
||||||
'...'
|
|
||||||
]
|
|
||||||
```
|
|
||||||
|
|
||||||
## Получить документ
|
|
||||||
|
|
||||||
`https://guild.craft-group.xyz/api/task/get-task?task_id=15`
|
|
||||||
<p>
|
|
||||||
Параметры:
|
|
||||||
</p>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<th>
|
|
||||||
Параметры
|
|
||||||
</th>
|
|
||||||
<th>
|
|
||||||
Значение
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
task_id
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Id задачи
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Возвращает объект <b>Задача</b>. <br>
|
|
||||||
Каждый объект <b>Задача</b> имеет такой вид:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
```json5
|
|
||||||
{
|
|
||||||
"id": 15,
|
|
||||||
"project_id": 74,
|
|
||||||
"title": "4324238888",
|
|
||||||
"status": 1,
|
|
||||||
"created_at": "2022-01-05 17:37:37",
|
|
||||||
"updated_at": "2022-01-05 17:46:10",
|
|
||||||
"description": "888",
|
|
||||||
"card_id_creator": 1,
|
|
||||||
"card_id": null
|
|
||||||
}
|
|
||||||
```
|
|
||||||
<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/document/create-document`
|
|
||||||
<p>
|
|
||||||
Параметры:
|
|
||||||
</p>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<th>
|
|
||||||
Параметры
|
|
||||||
</th>
|
|
||||||
<th>
|
|
||||||
Значение
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
title
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Название задачи
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
project_id
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Id проекта
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
status
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
статус задачи
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
card_id_creator
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Id профиля создателя
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
card_id
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Id профиля наблюдателя(не обязательный параметр)
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
description
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Описание
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Создаёт <b>Задача</b>. Требует передачи <b>POST</b> запроса с соответствующими
|
|
||||||
параметрами
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
В случае указания не верных параметров буде возвращена соответствующая ошибка. Пример ошибки:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
```json5
|
|
||||||
{
|
|
||||||
"name": "Internal Server Error",
|
|
||||||
"message": "{\"project_id\":[\"\П\р\о\е\к\т is invalid.\"]}",
|
|
||||||
"code": 0,
|
|
||||||
"status": 500,
|
|
||||||
"type": "yii\\web\\ServerErrorHttpException"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Обновить задачу
|
|
||||||
|
|
||||||
`https://guild.craft-group.xyz/api/task/update`
|
|
||||||
<p>
|
|
||||||
Параметры:
|
|
||||||
</p>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<th>
|
|
||||||
Параметры
|
|
||||||
</th>
|
|
||||||
<th>
|
|
||||||
Значение
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
title
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Название задачи
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
project_id
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Id проекта
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
status
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
статус задачи
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
card_id_creator
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Id профиля создателя
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
card_id
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Id профиля наблюдателя(не обязательный параметр)
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
description
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
Описание
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Обновляет объект <b>Задача</b>. Требует передачи <b>POST</b> запроса с соответствующими
|
|
||||||
параметрами
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
В случае указания не верных параметров буде возвращена соответствующая ошибка. Пример ошибки:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
```json5
|
|
||||||
{
|
|
||||||
"name": "Not Found",
|
|
||||||
"message": "The task does not exist",
|
|
||||||
"code": 0,
|
|
||||||
"status": 404,
|
|
||||||
"type": "yii\\web\\NotFoundHttpException"
|
|
||||||
}
|
|
||||||
```
|
|
@ -18,7 +18,5 @@ class Api extends \yii\base\Module
|
|||||||
public function init()
|
public function init()
|
||||||
{
|
{
|
||||||
parent::init();
|
parent::init();
|
||||||
|
|
||||||
// custom initialization code goes here
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
96
frontend/modules/api/controllers/ProjectController.php
Normal file
96
frontend/modules/api/controllers/ProjectController.php
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace frontend\modules\api\controllers;
|
||||||
|
|
||||||
|
use common\models\ProjectUser;
|
||||||
|
use common\models\Status;
|
||||||
|
use common\models\UseStatus;
|
||||||
|
use frontend\modules\api\models\Project;
|
||||||
|
use Yii;
|
||||||
|
use yii\data\ActiveDataProvider;
|
||||||
|
use yii\helpers\ArrayHelper;
|
||||||
|
use yii\web\NotFoundHttpException;
|
||||||
|
|
||||||
|
class ProjectController extends ApiController
|
||||||
|
{
|
||||||
|
public $modelClass = 'frontend\modules\api\models\Project';
|
||||||
|
public $serializer = [
|
||||||
|
'class' => 'yii\rest\Serializer',
|
||||||
|
'collectionEnvelope' => 'projects',
|
||||||
|
];
|
||||||
|
|
||||||
|
public function behaviors(): array
|
||||||
|
{
|
||||||
|
return ArrayHelper::merge(parent::behaviors(), [
|
||||||
|
|
||||||
|
'verbs' => [
|
||||||
|
'class' => \yii\filters\VerbFilter::class,
|
||||||
|
'actions' => [
|
||||||
|
'get-project' => ['GET', 'OPTIONS'],
|
||||||
|
'project-list' => ['GET', 'OPTIONS'],
|
||||||
|
'status-list' => ['GET', 'OPTIONS'],
|
||||||
|
'create' => ['POST', 'OPTIONS'],
|
||||||
|
'update' => ['POST', 'OPTIONS']
|
||||||
|
],
|
||||||
|
]
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function actionGetProject($project_id): ?Project
|
||||||
|
{
|
||||||
|
return Project::findOne($project_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function actionProjectList($card_id = null): ActiveDataProvider
|
||||||
|
{
|
||||||
|
if (!empty($card_id)) {
|
||||||
|
$projectIdList = ProjectUser::find()->where(['card_id' => $card_id])->select('project_id')->column();
|
||||||
|
$query = Project::find()->where([ 'IN', 'id', $projectIdList]);
|
||||||
|
} else {
|
||||||
|
$query = Project::find();
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ActiveDataProvider([
|
||||||
|
'query' => $query,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function actionStatusList(): array
|
||||||
|
{
|
||||||
|
return Status::find()
|
||||||
|
->joinWith('useStatuses')
|
||||||
|
->where(['`use_status`.`use`' => UseStatus::USE_PROJECT])->all();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function actionCreate()
|
||||||
|
{
|
||||||
|
$project = new Project();
|
||||||
|
$project->attributes = \yii::$app->request->post();
|
||||||
|
|
||||||
|
if($project->validate()) {
|
||||||
|
$project->save(false);
|
||||||
|
return $project;
|
||||||
|
}
|
||||||
|
return $project->errors;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws \Throwable
|
||||||
|
* @throws \yii\base\InvalidConfigException
|
||||||
|
* @throws \yii\db\StaleObjectException
|
||||||
|
* @throws NotFoundHttpException
|
||||||
|
*/
|
||||||
|
public function actionUpdate()
|
||||||
|
{
|
||||||
|
$project = Project::findOne(Yii::$app->request->post('project_id'));
|
||||||
|
if(empty($project)) {
|
||||||
|
throw new NotFoundHttpException('The project not found');
|
||||||
|
}
|
||||||
|
|
||||||
|
$project->load(Yii::$app->request->getBodyParams(), '');
|
||||||
|
if (!$project->update()) {
|
||||||
|
return $project->errors;
|
||||||
|
}
|
||||||
|
return $project;
|
||||||
|
}
|
||||||
|
}
|
20
frontend/modules/api/models/Company.php
Normal file
20
frontend/modules/api/models/Company.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace frontend\modules\api\models;
|
||||||
|
|
||||||
|
class Company extends \common\models\Company
|
||||||
|
{
|
||||||
|
public function fields()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'id',
|
||||||
|
'name',
|
||||||
|
'description',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function extraFields(): array
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
44
frontend/modules/api/models/Project.php
Normal file
44
frontend/modules/api/models/Project.php
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace frontend\modules\api\models;
|
||||||
|
|
||||||
|
use yii\db\ActiveQuery;
|
||||||
|
use yii\helpers\Url;
|
||||||
|
use yii\web\Link;
|
||||||
|
use yii\web\Linkable;
|
||||||
|
|
||||||
|
class Project extends \common\models\Project implements Linkable
|
||||||
|
{
|
||||||
|
public function fields(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'id',
|
||||||
|
'name',
|
||||||
|
'budget',
|
||||||
|
'status',
|
||||||
|
'hh_id' => function() {
|
||||||
|
return $this->hh;
|
||||||
|
},
|
||||||
|
'company' => function() {
|
||||||
|
return $this->company;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function extraFields(): array
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getLinks(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
Link::REL_SELF => Url::to(['index', 'project_id' => $this->id], true),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCompany(): ActiveQuery
|
||||||
|
{
|
||||||
|
return $this->hasOne(Company::className(), ['id' => 'company_id']);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user