UserBlockController class

Введение

  1. Описание: Контроллер UserBlockController отвечает за блокировку или разблокировку пользователей в системе.
  2. Маршруты: Обрабатываются POST-запрос по маршруту /user/block.

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

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

{
  "id": "5915906a-867b-4e23-86fa-93422a5043b3"
}

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

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

  1. Получение пользователя: Контроллер получает данные пользователя по id.
  2. Обновление статуса: Пользователь помечается как blocked = not blocked.
  3. Блокировка в Firebase: Пользователь отключается через Firebase с использованием cloud функции.
  4. Обновление токена: Вызывается cloud функция user_changed, обновляющая токен юзера в Hasura.

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

  1. Cloud: блокировка пользователся в firebase и обновление токена в hasura.
  2. Hasura: получение и обновление данных пользователя.

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

  1. Успешное выполнение: Ожидаемый статус - 200 OK.
    • Пример: UserBlockController User 5915906a-867b-4e23-86fa-93422a5043b3 has been banned and token refreshed successfully!
  2. Ошибки обработки: Возможны различные ошибки.
    1. Отсутствие id в запросе. Ожидаемый статус - 400 badRequest.
    2. Пользователь не найден. Ожидаемый статус - 500 internalServerError.
    3. Ошибка Firebase. Ожидаемый статус - 500 internalServerError.
    4. Ошибка при обновлении токена. Ожидаемый статус - 500 internalServerError.
Inheritance

Constructors

UserBlockController()

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
userRepository → UserRepository
final

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