Risposta Discourse

Sì, potrei farlo. Sarebbe però un po’ un workaround :wink:

Non sono sicuro che questo espediente rimanga valido nel tempo. È anche un po’ rischioso. Ad esempio, se eseguo semplicemente quel codice, l’impostazione del sito post_undo_action_window_mins dell’utente rimarrebbe modificata. Potresti reimpostarla alla fine della migrazione, ma apportare modifiche alle impostazioni in questo modo al volo per aggirare un guardian non è ideale.

L’ideale sarebbe apportare una leggera modifica all’interfaccia di ReactionManager per rendere possibile migrare in modo affidabile i retorts nelle reactions. Attualmente è configurata solo per gestire le richieste dal client.

Un modo per farlo sarebbe:

  • astrarre il guardian in toggle! in un metodo ensure_can_toggle
  • rendere il metodo ensure_can_toggle soggetto a un’opzione force

Questo è l’approccio tipicamente adottato per gestire migrazioni o importazioni backend in altre parti di Discourse (se cerchi force in app/ o lib/ troverai alcuni esempi).

Ha senso?

2 Mi Piace