Инфраструктурный слой (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Для работы с инфраструктурным слоем следует
- Создать базовый Response (как и в каких ситуациях и где создаётся, описано в разделе ниже).
- Создать источник данных и передать ему настроенный httpService и queryBuilder, а также реализовать в нём метод, возвращающий Response.
- Создать провайдер для источника данных.
Далее создаются репозитории и провайдер для инфраструктурного слоя.
Детальное описание того, как это сделать, с полноценным примером в финале и детальным описанием каждого компонента приведено в разделах ниже.