Skip to content

Refactor/add service layer#2

Merged
o1uch merged 9 commits into
mainfrom
refactor/add-service-layer
May 12, 2026
Merged

Refactor/add service layer#2
o1uch merged 9 commits into
mainfrom
refactor/add-service-layer

Conversation

@o1uch
Copy link
Copy Markdown
Owner

@o1uch o1uch commented Apr 18, 2026

WIP: рефакторинг слоя хранения данных и введение TaskRepository

В рамках PR будет выполнен рефакторинг текущей архитектуры проекта и добавлены новые зависимости:

  • Добавлен интерфейс TaskRepository как абстракция над хранилищем данных;
  • Переработан store для соответствия контракту репозитория;
  • Обновлены сигнатуры методов работы с задачами;
  • API адаптирован под использование нового слоя доступа к данным;
  • Обновлены тесты под изменения структуры хранения;
  • Создан новый слой service, для корректного разделения ответственности между модулями программы.;

Цель текущих изменений — отделение API от конкретной реализации хранилища и подготовка архитектуры к возможной смене СУБД (например, PostgreSQL).

o1uch added 9 commits April 18, 2026 23:56
service.go содержит базовые методы бизнес-логики.
В рамках коммита реализовано:
- добавлен пакет service с базовой структурой Service;
- реализованы методы AddTask и NextDate;
- добавлена валидация и нормализация данных (trim, обработка дат);
- введены доменные ошибки (ErrEmptyTitle, ErrDateParse и др.);
- API адаптирован для работы через service: бизнес-логика вынесена в
  service.
  - Адаптирован GetTasksHandler
      - Адаптирован GetTaskByIDHandler
      - Адаптирован UpdateTaskHandler
          - Адаптирован DoneTaskHandler()
              - Адаптирован DeleteTaskByIDHandler()
	      - Добавлен .gitignore
	      - небольшая чистка кода в пакете api
@o1uch o1uch merged commit 7f262be into main May 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant