SUAI-TaskPlanner-Contest / TaskPlanner

Client application for working with todos and syncing with CalDAV servers
MIT License
3 stars 2 forks source link

50 create task repository #61

Closed astronik00 closed 1 year ago

astronik00 commented 1 year ago

## Создание класса валидации данных

Related Issue #50
Reviewer requrements Знание принципов ORM, умение писать запросы SQL

Code changes

Были исправлены ошибки маппинга сущностей путем создания общего файла db.entities.py, куда были перенесены все модели, а также настройки SQLAlchemy.

Созданы следующие классы репозиториев, которые содержат в себе SQL запросы:

How to test

Просмотреть файлы репозиториев на наличие всех базовых функций, которые точно понадобятся в работе. Посмотреть запросы SQL, проверить на адекватность и возможность улучшения.

aleksandra-shchegoleva commented 1 year ago

@astronik00 В целом все хорошо. Помимо замечаний по коду: 1) В задаче был указан метод поиска задачи по шаблону, он будет реализован или он не нужен пока что? Насколько я понимаю этот метод нужен для строки поиска, которую вроде бы пока не стали делать 2) Возможно в репозитории Task нужен метод получения всех задач с определенного сервера - по id и объекту server Все остальные базовые функции реализованы. Нам же не нужны методы возврата задач с опреденным техническим статусом, например?

Lailes commented 1 year ago

@astronik00 Для работы CalDAV библиотеки необходимо название календаря. Думаю, что стоит добавить его в task

Lailes commented 1 year ago

Нужно добавить название календаря в Server

astronik00 commented 1 year ago

@aleksandra-shchegoleva

  1. Добавила поля, которые просил @Lailes
  2. Изменила метод edit
  3. Убрала везде блок try-raise, чтобы перенести его потом на уровень выше (в сервис).
  4. Добавила методы в Server и Task, который бы позволяли соответственно получать все задачи на сервере и все задачи с указанного сервера
  5. Добавила вспомогательные функции для работы с локальным временем и UTC-0
astronik00 commented 1 year ago

@aleksandra-shchegoleva

  1. Были исправлены сущности (изменено название primary_key)
  2. Создан абстрактный класс для репозиториев, все репозитории теперь его расширяют
  3. Добавлены методы в сервере для получения списков лейблов
aleksandra-shchegoleva commented 1 year ago

@astronik00 Замечаний нет, можно мэрджить