ProductsSyncController class

Введение

  1. Описание: Контроллер ProductsSyncController предоставляет конечную точку API для синхронизации данных по товарам между Umbrella и DTK.
  2. Маршруты: Обрабатывается 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.

Взаимодействие с микросервисами

  1. Hasura: Обновление продуктов.
  2. UMBRELLA_PARTNER_API_BASE_URL: Получение актулальных продуктов.

Ответы сервера

  1. Успешное обновление: Возвращается статус 200 OK с текстом:
    ProductsSyncController: cron success: Products synced successfully
  2. Ошибки синхронизаци. Ожидаемый статус - 500 internalServerError.
Inheritance

Constructors

ProductsSyncController()

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