ProductsSyncController class
Введение
- Описание: Контроллер
ProductsSyncControllerпредоставляет конечную точку API для синхронизации данных по товарам между Umbrella и DTK. - Маршруты: Обрабатывается Post-запросы по маршрутам
/products/syncи/districts/send-schedule. Точки вызываются через Cloud Scheduler.
Формат запроса
Не смотря на то, что это Post запросы, но в теле запроса мы не передаём данных.
Валидация и преобразование данных
Основная логика
Контроллер запрашивает данные по продуктам по маршруту UMBRELLA_PARTNER_API_BASE_URL/couriers/available-products/endpoint.
Параметр endpoint - код для 4 стран: Мексика(mx-central), Чили(cl-central), Колумбия(co-central), Перу(pe-central).
Полученные данные передаются для обновления в Hasura.
Взаимодействие с микросервисами
- Hasura: Обновление продуктов.
- UMBRELLA_PARTNER_API_BASE_URL: Получение актулальных продуктов.
Ответы сервера
- Успешное обновление: Возвращается статус
200 OKс текстом:ProductsSyncController: cron success: Products synced successfully
- Ошибки синхронизаци. Ожидаемый статус -
500 internalServerError.
- Inheritance
-
- Object
- Controller
- ProductsSyncController
Constructors
Properties
- endpoint ↔ String
-
getter/setter pairinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- request ↔ Request
-
getter/setter pairinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- umbrellaRepository → UmbrellaRepository
-
final
Methods
-
call(
Request request) → FutureOr< Response> -
inherited
-
handler(
) → Future< Response> -
Must be implemented
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
requestAsJson(
) → Future -
Reads request value and parse as json
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited