UserBlockController class
Введение
- Описание: Контроллер
UserBlockControllerотвечает за блокировку или разблокировку пользователей в системе. - Маршруты: Обрабатываются POST-запрос по маршруту
/user/block.
Формат запроса
Тело запроса: JSON-объект, содержащий идентификатор пользователя.
{
"id": "5915906a-867b-4e23-86fa-93422a5043b3"
}
Валидация и преобразование данных
Основная логика
- Получение пользователя: Контроллер получает данные пользователя по
id. - Обновление статуса: Пользователь помечается как
blocked = not blocked. - Блокировка в Firebase: Пользователь отключается через Firebase с использованием cloud функции.
- Обновление токена: Вызывается cloud функция
user_changed, обновляющая токен юзера в Hasura.
Взаимодействие с микросервисами
- Cloud: блокировка пользователся в firebase и обновление токена в hasura.
- Hasura: получение и обновление данных пользователя.
Ответы сервера
- Успешное выполнение: Ожидаемый статус -
200 OK.- Пример:
UserBlockController User 5915906a-867b-4e23-86fa-93422a5043b3 has been banned and token refreshed successfully!
- Пример:
- Ошибки обработки: Возможны различные ошибки.
- Отсутствие
idв запросе. Ожидаемый статус -400 badRequest. - Пользователь не найден. Ожидаемый статус -
500 internalServerError. - Ошибка Firebase. Ожидаемый статус -
500 internalServerError. - Ошибка при обновлении токена. Ожидаемый статус -
500 internalServerError.
- Отсутствие
- Inheritance
-
- Object
- Controller
- UserBlockController
Constructors
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