OrderCancellationController class

Введение

  1. Описание: Контроллер OrderCancellationController предоставляет конечную точку API для отмены заказа.
  2. Маршруты: Обрабатываются POST-запрос по маршруту /order/shortCode/cancel.

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

Тело запроса: JSON-объект, содержащий данные заказа, описан в классе OrderCancelDto.

  {
    "reason": "OTRO",
    "comment": {
      "text": "comment here",
      "date": "2025-01-23"
    }
  }

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

  1. Валидация ввода: Производится валидация поля reason.
  2. Обработка причины отмены: Проверяется корректность причины отмены.

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

  1. Установка нового статуса: Если заказ спасен в системе, а причина отмены SIN_COBERTURA, то проставляем статус RequestChangeCourierService. Во всех остальных случаях Refuse

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

  1. Hasura:
    1. Получение заказа.
    2. Обновление данных заказа.
    3. Добавление коментария к заказу (если reason=OTRO).

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

  1. Успешное обновление заказа: Возвращается статус 200 OK с информацией об успешном обновлении.
  2. Ошибки обработки: Возможны различные ошибки, такие как.
    1. Ошибки валидации. Ожидаемый статус - 400 badRequest.
    2. Ошибка входных данных. Ожидаемый статус - 400 badRequest.
    3. Заказ не найден. Ожидаемый статус - 404 badRequest.
    4. Инные ошибки. Ожидаемый статус - 500 internalServerError.
Annotations
  • @Routes(prefix: '/')

Constructors

OrderCancellationController()

Properties

hashCode → int
The hash code for this object.
no setterinherited
orderRepository → OrderRepository
final
router → Router
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

handler(Request request, String shortCode) → Future<JsonResponse<void>>
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited