Модуль работы с собаками¶
Модуль включает функции для работы с собаками.
Функция new_dog¶
Функция добавляет в базу данных новую собаку.
Parametrs:
name
(string): кличка собакиosheinic_id
(integer): id ошейника, должен существовать в базе и не быть привязанным к другой собаке
Returns:
json: содержит success: true
в случае успешной регистрации
Raises
IndexException: ошейника с таким id не существует в базе данных
ValueException: ошейник уже привязан к другой собаке
Функция dog_list¶
Функция выводит список собак пользователя (проиводит выборку из таблицы connections с фильтрацией по пользователю).
Parametrs:
user_id
(integer): Опционален, по умолчанию равен id текущего пользователя.
Return
list(json): содержит массив json объектов {'dog_id' : dog_id(integer), 'distance' : distance(float), 'last_cared' : (datetime)}
. Ключ distance
указывает растояние до собаки от текущего положения пользователя в метрах.
Raises
IndexException: пользователя с указанным id не существует в базе
Функция dog_list_all¶
Функция выводит список всех собак, информация о которых есть в приложении.
Parametrs
Return
list(json): содержит массив json объектов {'dog_id' : dog_id(integer), 'distance' : distance(float), 'last_cared' : (datetime)}
. Ключ distance
указывает растояние до собаки от текущего положения пользователя в метрах.
Функция care_about¶
Функция добавляет собаку в список пользователя.
Parametrs:
dog_id
(integer): id собаки
Returns:
json: содержит success: true
в случае успешной работы
Raises:
IndexException: собаки с указанным id не существует
InvalidException: собака уже находится в списке пользователя
Функция stop_care¶
Функция удаляет собаку из списка пользователя.
Parametrs:
dog_id
(integer): id собаки
Returns:
json: содержит success: true
в случае успешной работы
Raises:
IndexException: собаки с указанным id не существует
InvalidException: собака не находится в списке пользователя
Функция track¶
Функция выводит расстояние до выбранной собаки от текущего располжения пользователя. Расстояние обновляется время от времени.
Parametrs:
dog_id
(integer): id собаки
Returns:
float: растояние до собаки в метрах
Raises:
IndexException: собаки с указанным id не существует
Функция stop_track¶
Функция останавливает отслеживание собаки.
Parametrs:
dog_id
(integer): id собаки
Returns:
json: содержит success: true
в случае успешной работы
Raises:
IndexException: собаки с указанным id не существует
InvalidException: собака с указанным id не отслеживается текущим пользователем
Функция choose_dog¶
С помощью этой функции пользователь может самостоятельно выбрать собаку, о которой он хочет позаботиться или принять задание от другого волонтера.
Paramentrs:
dog_id
(integer): id собаки
Returns:
dog_name
(string): кличка собакиdistance
(float): расстояние до собаки в метрах
Raises:
IndexException: собаки с указанным id не существует