OrderUmbrellaController class

Введение

  1. Описание: Контроллер OrderUmbrellaController используется для пересчета цены заказа или редактирования заказ.
  2. Маршруты: Обрабатываются POST-запрос по маршруту /proxy/. endpoint может быть либо order_recalc, либо order_edit.

Формат запроса

Тело запроса: JSON-объект, содержащий идентификатор пользователя. Подробнее в OrderUmbrella.

{
  "input": {
    "orderId": "12321",
    "umbrellaId": "umbrella hash",
    "whoDid": "dtk_admin",
    "orderItems": List<<a href="../track_point_domain/TrackPoint-class.html">TrackPoint</a>>
  }
}

Валидация и преобразование данных

  1. Преобразовывает JSON в объект HasuraAction.
  2. Преобразовывает HasuraAction.input в OrderUmbrella.

Основная логика

  1. Пересчёт цены заказа: если endpoint=order_recalc, то цена заказа будет пересчитана и отправлена Post запросом в Umbrella Partner.
  2. Редактирование позиций заказа: если endpoint=order_edit, то. отправляется Post запрос в Umbrella Partner с новыми позициями заказа, а так же в таблице order_positions в hasura перезаписываются позиции закапза.

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

  1. Hasura: перезапись позиций заказа.
  2. Umbrella Partner: отправка новой информации по заказу.

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

  1. Успешная операция (order_edit, order_recalc): Ожидаемый статус - 200 OK.
  2. Endpoint не найден: Ожидаемый статус - 404 notFound.
  3. Ошибка вызова операций: Ожидаемый статус - 500 badRequest.
Inheritance

Constructors

OrderUmbrellaController(Request request, String endpoint)

Properties

endpoint ↔ String
getter/setter pairoverride
hashCode → int
The hash code for this object.
no setterinherited
repository → UmbrellaRepository
final
request ↔ Request
getter/setter pairoverride
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

call(Request request) → FutureOr<Response>
inherited
handler() → FutureOr<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