Агрегация данных
💻 Задания на агрегации и выборки#
Расширить todolist REST API следующими endpoints:
Ход выполнения заданий:
Коммиты
Оба варанта реализации надо предоставить в виде нескольких коммитов. В репозитории должны быть как минимум два коммита:
- финальная версия на чистом SQL
- финальная версия с использованием query builder
/dashboard#
Ответ должен содержать обзорную информацию по задачам:
- Количество задач запланированных на сегодня. Использовать SQL
BETWEENпоdueDate, иCOUNT. - Все списки и количество не выполненных задач в каждом. Для подсчета количества задач использовать
GROUP BYиCOUNTв SQL. Информацию про список получить в том-же запросе используяRIGHT JOIN(ответ также должен содержать списки без задач).
/collection/today#
Ответ содержит список задач назначенных на текущий день. Для каждой задачи включена информация про название списка, в котором она находиться. Для этого использовать eager loading связи к списку.
/lists/{listId}/tasks#
Работа с задачами конкретного списка. Вложенный ресурс. Указать этот базовый путь над контроллером для задач. Ответ содержит только открытые задачи.
?all=true - параметр запроса, включает в ответ также и выполненные задачи.