Skip to content

Компоненты

Рассмотрим основные компоненты базового репозитория. Он состоит из следующих ключевых элементов:

  • CrudService - класс, реализующий базовую логику чтения и записи данных. Большинство CRUD-сервисов приложения наследуются от этого класса.
  • CrudRepository - класс, предоставляющий базовую логику взаимодействия с базой данных с использованием TypeORM
  • Директория decorators/fields содержит набор декораторов для описания полей в моделях. Эти декораторы включают соответствующие декораторы из TypeORM, а также декораторы для валидации и документирования полей.
  • Директория applications включает классы, определяющие базовую конфигурацию приложения для различных режимов работы. Например, класс RestApplication используется для запуска приложения в стандартном режиме, а класс ConsoleApplication — для запуска приложения в режиме консольной команды
  • SearchQuery - класс, предназначенный для создания запросов к репозиторию на уровне доменного сервиса. В настоящее время поддерживаются запросы для репозиториев, работающих с TypeORM. Запрос, сформированный с использованием SearchQuery, преобразуется в запрос с использованием QueryBuilder из TypeORM.
  • DataMapper - класс, позволяющий создать экземпляр необходимого класса на основе обычного объекта или другого экземпляра класса. Этот класс создает глубокую копию объекта, включая вложенные экземпляры других классов
  • ValidationHelper - класс, обеспечивающий валидацию объектов. Валидация выполняется с использованием class-validator, а также кастомных валидаторов, которые устанавливаются через декоратор Validator.