Studio-Yandex-Practicum / ProCharity_back_2.0

bot ProCharity (НКО Фонд Друзья)
13 stars 13 forks source link

Добавить новые поля при передаче сайту информации о статусе подписки и блокировки бота #625

Open gorskyolga opened 1 month ago

gorskyolga commented 1 month ago

При нажатии кнопки "Подписаться на задания" / "Отписаться от заданий", а также при блокировке / разблокировке бота вызываются эндпоинты сайта для передачи статуса подписки и блокировки бота. Вызов происходит из метода send_user_bot_status в src\core\services\procharity_api.py. Эндпоинт для волонтера - self._settings.procharity_send_bot_status_volunteer_api_url. Эндпоинт для фонда - self._settings.procharity_send_bot_status_fund_api_url.

Для волонтера поле "bot_status" определяется как сводное поле по итогу значений в двух полях: user.banned и user.has_mailing. Для фонда при определении "bot_status" используется только поле user.banned.

Нужно добавить отправку дополнительных полей:

  1. поля "bot_blocked":

    • Значение поля "bot_blocked" равно значению поля user.banned.
    • Поле должно отправляться и для волонтера, и для фонда.
  2. поля "has_mailing_new_tasks":

    • Значение поля "has_mailing_new_tasks" равно значению поля user.has_mailing.
    • Должно отправляться только по эндпоинту для волонтера.
  3. полей has_mailing_profile, has_mailing_my_tasks и has_mailing_procharity:

    • Значение полей соответствуют значениям полей с такими же названиями в external_site_users.
    • Передавать поле нужно только, если его значение True или False. Если значение поля в таблице external_site_users равно NULL, то передавать поле не нужно.
    • Поле должно отправляться и для волонтера, и для фонда.

Отправка поля "bot_status" должна сохраниться в неизменном виде.