GetScheduleController class

Введение

  1. Описание: Контроллер GetScheduleController используется для получения дтк-расписания по переданному району.
  2. Маршруты: /schedule/district_id/.

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

Параметры запроса:

districtId - код района (CL_5). Передаётся в /schedule/district_id/.

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

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

  1. Ищем по districtId.
  2. Генерируем расписание: генерация на основе доступных водителей для района на 7 дней. Проверяется: какие водители доступны в данный день, может ли хотя бы один водитель работать в этом районе в этот день. Если мы найдем такого водителя, то этот день добавится в итоговый список.

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

  1. Hasura: Получение ифнормации о районах.

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

  1. Расписание сгенерировалось: Возвращается статус 200 OK
      {
        "2025-02-25": [
            ["9:00", "13:00"]
        ],
        ..
      }
      
  2. Расписание не смогло сгенерироваться для района: Возвращается статус 200 OK
      {}
      
  3. Ошибки контроллера. Ожидаемый статус - 500 internalServerError.
  4. Inheritance

    Constructors

    GetScheduleController(Request request, String endpoint)

    Properties

    datalinkRepository → DatalinkRepository
    final
    endpoint ↔ String
    finalgetter/setter pairinherited-setteroverride-getter
    hashCode → int
    The hash code for this object.
    no setterinherited
    request ↔ Request
    finalgetter/setter pairinherited-setteroverride-getter
    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