Skip to content

Инфраструктурный слой (contexts/{context}/infrastructure/)

В разделах ниже представлены основные компоненты пакета для работы с инфраструктурным слоем.

Предполагаемая структура папок:

infrastructure/
├── http/
│   ├── datasources/      # Реализация источников данных для конкретного контекста (необязательно, если есть один базовый)
│   ├── responses/        # Реализация ответов для конкретного контекста (необязательно, если есть один базовый)
│   ├── dto/              # Реализация DTO проекта (необязательно, только когда требуется преобразование к доменной сущности)
│   └── repositories/     # Реализации репозиториев
│       ├── UserRepository.ts
│       ├── AuthRepository.ts
│       └── index.ts
├── providers/                     # Инфраструктурные провайдеры
│   ├── DatasourceProvider.ts      # Находится здесь в случаях когда источник данных привязан к контексту
│   ├── InfrastructureProvider.ts
│   └── index.ts
└── index.ts

Для работы с инфраструктурным слоем следует

  1. Создать базовый Response (как и в каких ситуациях и где создаётся, описано в разделе ниже).
  2. Создать источник данных и передать ему настроенный httpService и queryBuilder, а также реализовать в нём метод, возвращающий Response.
  3. Создать провайдер для источника данных.

Далее создаются репозитории и провайдер для инфраструктурного слоя.

Детальное описание того, как это сделать, с полноценным примером в финале и детальным описанием каждого компонента приведено в разделах ниже.