Retórica de Discourse

Sí, podría hacerlo, aunque sería un poco un “parche” :wink:

No estoy seguro de poder asumir que ese workaround seguiría siendo viable con el tiempo. Además, es un poco arriesgado. Por ejemplo, si simplemente ejecuto ese código, la configuración del sitio post_undo_action_window_mins del usuario quedaría modificada. Podrías volver a cambiarla al final de la migración, pero realizar cambios de configuración de esta manera sobre la marcha para eludir un guardian no es lo ideal.

Lo que idealmente busco aquí es un ligero cambio en la interfaz de ReactionManager para que sea posible migrar de forma fiable los “retorts” a reacciones. Actualmente, solo está configurado para manejar solicitudes desde el cliente.

Una forma de hacerlo sería:

  • abstraer el guardian en toggle! a un método ensure_can_toggle
  • hacer que el método ensure_can_toggle sea susceptible a una opción force

Este es el enfoque que se suele adoptar para manejar migraciones o importaciones en el backend en otras partes de Discourse (si buscas en app/ o lib/ la palabra force, verás algunos ejemplos).

¿Tiene sentido?

2 Me gusta