Retours Discourse

Oui, je pourrais faire ça. Ce serait un peu un bricolage, cependant :wink:

Je ne suis pas sûr que ce contournement reste viable avec le temps. C’est aussi un peu risqué. Par exemple, si j’exécute simplement ce code, le paramètre du site post_undo_action_window_mins de l’utilisateur resterait modifié. Vous pourriez le rétablir à la fin de la migration, mais effectuer des modifications de paramètres de cette manière à la volée pour contourner un gardien n’est pas idéal.

Idéalement, ce que je recherche ici, c’est une légère modification de l’interface ReactionManager pour rendre possible la migration fiable des répliques vers les réactions. Actuellement, elle n’est configurée que pour gérer les requêtes provenant du client.

Une façon de procéder serait de :

  • abstraire le gardien dans toggle! vers une méthode ensure_can_toggle
  • rendre la méthode ensure_can_toggle soumise à une option force

C’est l’approche généralement adoptée pour gérer les migrations ou les importations backend dans d’autres parties de Discourse (si vous effectuez une recherche dans app/ ou lib/ pour force, vous verrez quelques exemples).

Est-ce que cela a du sens ?

2 « J'aime »