## Отчеты ## Методы
Метод Описание
api/reports Список отчётов
api/reports/{id} Один отчёт
find-by-date Отчёт по дате
create Создать отчёт
delete Удалить отчёт
update Изменить отчёт
reports-by-date Отчёты по датам
### Список `https://guild.craft-group.xyz/api/reports`

Для получения списка отчетов необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/reports

Возможные параметры:

Параметры Значение
fromDate* Дата (yyyy-mm-dd) начала поиска отчетов.
toDate Дата (yyyy-mm-dd) окончания поиска отчетов.
limit Количество отчетов, которое вернет сервер при запросе (по умолчанию 10).
offset Количество записей на которое нужно отступить в списке отчетов.
user_card_id Идентификатор карточки пользователя отчета.

Пример запроса:

`https://guild.craft-group.xyz/api/reports/index?fromDate=2021-08-01&toDate=2021-08-31&user_card_id=2&limit=3&offset=2` ### Один отчет `https://guild.craft-group.xyz/api/reports/{id}`

Для получения отчета необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/reports/{id}

Параметры:

Параметры Значение
id* ID отчета.

Пример запроса на просмотр отчета с ID 13:

`https://guild.craft-group.xyz/api/reports/13` ### Отчёт по дате `https://guild.craft-group.xyz/api/reports/find-by-date`

Для получения отчета необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/reports/find-by-date

Требуемые параметры:

Параметры Значение
user_card_id* ID профиля пользователя
date* Дата в формате: Y-m-d

Пример запроса :

`https://guild.craft-group.xyz/api/reports/find-by-date?user_card_id=17&date=2022-02-14`

Пример ответа:

```json5 [ { "id": "1", "created_at": "2022-02-14", "today": null, "difficulties": "", "tomorrow": "", "status": null, "user_card_id": "17", "task": [ { "id": "1", "report_id": "1", "task": "dfghjkl", "hours_spent": "2", "created_at": "1644842433", "status": "1", "minutes_spent": "4" } ] }, { "id": "2", "created_at": "2022-02-14", "today": "dxvxv", "difficulties": "сложности возникли", "tomorrow": "завтра", "status": null, "user_card_id": "17", "task": [ { "id": "2", "report_id": "2", "task": "54651513", "hours_spent": "4", "created_at": "1644842630", "status": "1", "minutes_spent": "2" } ] } ] ``` ### Создать отчет `https://guild.craft-group.xyz/api/reports/create`

Для создания отчёта, необходимо сделать POST запрос на URL https://guild.craft-group.xyz/api/reports/create

Возможные параметры:

Параметры Значение
created_at* Дата (yyyy-mm-dd) создания.
user_card_id* Идентификатор карточки пользователя.
tasks* JSON массив содержащий объекты задач
[{ 
    "task" : "Рефакторинг",
    "created_at": 1638260728,
    "status": 1,
    "minutes_spent": 26,
    "hours_spent" : 3
}]
difficulties Сложности.
tomorrow Планы на завтра.
status Номер статуса.
### Удалить отчет `https://guild.craft-group.xyz/api/reports/delete`

Для удаления отчета необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/reports/delete

Возможные параметры:

Параметры Значение
id* Идентификатор отчета.

Пример запроса:

`https://guild.craft-group.xyz/api/reports/delete?id=17` ### Обновить отчет `https://guild.craft-group.xyz/api/reports/update`

Для удаления отчета необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/reports/update

Возможные параметры:

Параметры Значение
id* Идентификатор отчета.
created_at Дата (yyyy-mm-dd) создания.
today Сделанное сегодня.
difficulties Сложности.
tomorrow Планы на завтра.
status Номер статуса.

Пример запроса:

`https://guild.craft-group.xyz/api/reports/update?id=18&created_at=2021-09-17&today=0&difficulties=diff&tomorrow=new task&status=1` ### Отчёты по датам `https://guild.craft-group.xyz/api/reports/reports-by-date`

Для получения списка дат за которые есть отчёты необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/reports/reports-by-date

Параметры:

Параметры Значение Обязательный
fromDate Дата начала периода Да
toDate Дата конца периода Да
user_card_id Id пользователя. По умолчанию будет выведен список для текущего пользователя, при передаче параметра будет выведен список для заданного пользователя Нет

Пример запроса:

`http://guild.loc/api/reports/reports-by-date?fromDate=2022-12-1&toDate=2022-12-31&user_card_id=1 task&status=1`

Возвращаемые параметры: id - идентификатор отчёта, date - дата отчёта, spendTime - время затраченое на все задачи в отчёте

```json5 [ { "date": "2022-12-16", "id": 50, "spendTime": 8 }, { "date": "2022-12-16", "id": 51, "spendTime": 8 }, { "date": "2022-12-16", "id": 52, "spendTime": 8 }, { "date": "2022-12-01", "id": 53, "spendTime": null }, { "date": "2022-12-10", "id": 54, "spendTime": null }, { "date": "2022-12-16", "id": 55, "spendTime": null }, { "date": "2022-12-31", "id": 56, "spendTime": null }, { "date": "2022-12-31", "id": 57, "spendTime": null }, { "date": "2022-12-31", "id": 58, "spendTime": null } ] ```