Реализация вебхуков для плагина Calendar

Привет!

Я хотел бы узнать, интересует ли сообщество реализация нескольких вебхуков для плагина «Календарь».

Я могу заняться этим, если сообщество считает, что это будет хорошим дополнением к плагину…

При этом это займёт время, так как я не могу найти подходящую документацию по реализации вебхуков в плагине и мне придётся провести некоторое исследование :slight_smile:

5 лайков

У вас есть интересные варианты использования? Какие операции вы бы реализовали? Создание/обновление/удаление/регистрация на событие/выход с события?

Да, это события, которые я хочу создать на данный момент; сценарий использования — запуск внешней платформы управления событиями.

Следующий вопрос — возможность принимать веб-хуки от удалённой платформы, но, возможно, я создам для этого отдельный плагин, так как универсальное решение (по моему первому предположению) невозможно, если мы не реализуем поддержку формата iCal (но даже в этом случае я уже вижу множество ограничений).

1 лайк

Я нашёл официальный плагин с расширениями для вебхуков: GitHub - discourse/discourse-solved: Allow accepted answers on topics · GitHub.

Так что я могу приступить к реализации, если нет возражений :slight_smile:

Я изучил код и выяснил, что добавление новых вебхуков не так просто, как должно быть.

  • Вебхуки являются частью группы вебхуков (полагаю, это нужно для администратора и/или для пространства имен событий).
  • Для плагина Solved существует два вебхука: solved_accepted_solution и solved_unaccepted_solution, которые находятся в группе solved.

Проблема заключается в следующем:

  • группа solved жестко задана в модели WebHookEventType в Discourse.
  • оба события также жестко заданы в модели WebHookEventType в Discourse.

Я посмотрю, смогу ли я и как именно объявить новые события, не внося изменений в код Discourse…

1 лайк