TrackingController class

Введение

  1. Описание: Контроллер TrackingController сохраняет местоположение водителя в hasura.
  2. Маршруты: Обрабатываются POST-запрос по маршруту /tracking/addList.

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

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

{
  Body: {
    "locations": [
      {"lat": 1, "lng": 1, "time": "2018-01-01T12:01:01.123Z"},
      {"lat": 2, "lng": 2, "time": "2018-01-01T12:01:01.123Z"}
    ]
  },
  Headers:
    Authorization: Bearer XXX YYY ZZZ
}

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

  1. Преобразовывает JSON в List<TrackPoint> .
  2. Проверка токена авторизации Bearer в headers.

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

  1. Производится валидация.
  2. Добавление списка TrackPoint: в таблицу track_point в Hasura добавляется список координат водителей.

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

  1. Hasura: добавление списка координат.

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

  1. Успешное добавление координат: Ожидаемый статус - 200 OK.
  2. Ошибка авторизации: Ожидаемый статус - 401 unauthorized.
  3. Внутренние ошибки: Ожидаемый статус - 500 internalServerError.
Inheritance

Constructors

TrackingController()

Properties

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

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