Модуль работы с пользователями

Модуль включает функции для работы с пользователями.

Функция user_registration

Функция регистрирует нового пользователя и добавляет его в базу данных.

Parametrs:

  • name(string): имя пользователя

  • email(EmailString): почта пользователя, должна быть уникальной в базе данных

  • password(string): пароль пользователя

Returns:

json: содержит success: true в случае успешной регистрации

Raises

  • UniqueException: попытка создать дубликат уникального значения

Функция user_login

Функция авторизует пользователя и открывает ему доступ к функциям, требующих авторизации.

Parametrs:

  • email(EmailString): почта пользователя, должна быть уникальной в базе данных

  • password(string): пароль пользователя

Return

json: содержит success: true в случае успешной авторизации

Raises

  • IndexException: пользователя с указанной почтой не существует в базе данных

  • ValueException: указан неверный пароль

Функция user_logout

Функция обеспечивает выход пользователя из приложения. Закрывает доступ к функциям, требующих авторизации.

Parametrs

Return

json: содержит success: true в случае успешной деавторизации

Функция give_priviledges

Функция открывает пользователю доступ к расширенному функционалу (взаимодействие с ошейниками).

Parametrs:

  • user_id(integer): id пользователя

  • secretkey(string): секретная последовательность символов, позволяющая открыть волонтеру доступ к работе с ошейниками

Returns:

json: содержит success: true в случае успешной работы

Raises:

  • IndexException: пользователя с указанным id не существует

  • ValueException: секретный ключ указан неверно

Функция remove_priviledges

Функция закрывает пользователю доступ к работе с ошейниками.

Parametrs:

  • user_id(integer): id пользователя

  • secretkey(string): секретная последовательность символов, позволяющая закрыть волонтеру доступ к работе с ошейниками

Returns:

json: содержит success: true в случае успешной работы

Raises:

  • IndexException: пользователя с указанным id не существует

  • ValueException: секретный ключ указан неверно

Функция give_task

Функция выдает задание пользователю. Этот пользователь должен быть активен, а собака находится в его списке.

Paraments:

  • user_id(integer): id пользователя

  • dog_id(integer): id собаки

  • message(string): сообщение с заданием

Returns:

json: содержит success: true в случае успешной работы

Raises:

  • IndexException: пользователь с указанным id не существует

  • IndexException: собака с указанным id не существует

  • InvalidException: пользователь неактивен

  • InvaludException: собака не находится в списке пользователя

Функция confirm_task

Функция проверки заданий, выдаваемых пользователями.

Parametrs:

  • user_id(integer): id пользователя

  • data(file): доказательство выполненного задания, которое будет отправлено пользователю с id = user_id

Return:

json: содержит success: true в случае успешной работы

Raises:

  • IndexException: пользоваетля с указанным id не существует

  • InvalidException: data отсутствует или файл с таким форматом не получается обработать

  • ValueException: пользоваетль запросил переподтверждение задания