Implementación de webhooks para el plugin Calendar

¡Hola!

Quería saber si te interesaría la implementación de algunos webhooks para el plugin de Calendario.

Puedo trabajar en ello si la comunidad considera que sería una buena adición al plugin…

Dicho esto, llevará tiempo ya que no encuentro una documentación adecuada sobre cómo implementar webhooks en un plugin y tendré que investigar :slight_smile:

5 Me gusta

¿Tienes casos de uso interesantes? ¿Qué operaciones implementarías? ¿Crear/actualizar/eliminar/inscribirse en un evento/anular inscripción a un evento?

Sí, estos son los eventos que quiero crear por ahora; el caso de uso es activar una plataforma externa de gestión de eventos.

La siguiente pregunta será poder aceptar hooks de la plataforma remota, pero puede que cree un plugin separado para ello, ya que no puede ser genérico (mi primera suposición) a menos que implementemos soporte para el formato iCal (pero aun así, ya puedo ver muchas limitaciones para esto).

1 me gusta

Encontré un plugin oficial con extensiones de webhook: GitHub - discourse/discourse-solved: Allow accepted answers on topics.

Así que puedo empezar a trabajar en la implementación si no hay objeciones :slight_smile:

Investigué el código y descubrí que no es tan fácil como debería ser agregar nuevos webhooks.

  • Los webhooks son parte de un grupo de webhooks (supongo que es para el administrador y/o para organizar eventos por espacio de nombres)
  • Para el plugin Solved, hay 2 webhooks: solved_accepted_solution y solved_unaccepted_solution, en el grupo solved

Donde falla es:

  • el grupo solved está codificado de forma rígida en el modelo WebHookEventType de Discourse
  • los dos eventos también están codificados de forma rígida en el modelo WebHookEventType de Discourse

Veré si y cómo puedo lograr declarar nuevos eventos sin tener que tocar el código de Discourse…

1 me gusta