Модуль работы с пользователями¶
Модуль включает функции для работы с пользователями.
Функция 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: пользоваетль запросил переподтверждение задания