Auto purge uploads from old deleted posts

È fantastico! Soluzione davvero ottima. :slight_smile:

Mi chiedo se utilizzare la stessa strategia di rimozione dei riferimenti di caricamento markdown nei post possa avere senso per lo scenario inverso, quando un caricamento viene eliminato ma i post che vi fanno riferimento rimangono attivi.

Se elimino un caricamento come:

Upload.find(123).destroy

Se il caricamento 123 è stato utilizzato da utenti per:

  • avatar personalizzato del profilo
  • sfondo del profilo
  • sfondo della scheda

Tutti i riferimenti vengono eliminati, apparentemente da:

before_destroy (rimuove i riferimenti ai caricamenti di sfondo/banner della scheda)

https://github.com/discourse/discourse/blob/6759ad71cac395697b2978eb34fcfbf1162d30d1/app/models/upload.rb#L53

after_destroy (rimuove i riferimenti ai caricamenti dell’avatar)

https://github.com/discourse/discourse/blob/6759ad71cac395697b2978eb34fcfbf1162d30d1/app/models/upload.rb#L60

Se gli ID dei post associati a un ID di caricamento potessero essere utilizzati per accodare la rimozione del markdown del caricamento quando viene distrutto, penso che ciò potrebbe potenzialmente prevenire riferimenti a caricamenti non validi in post non eliminati quando un caricamento viene eliminato manualmente.

Idealmente, preservando il markdown del caricamento per tutti gli ID di caricamento che non sono stati distrutti, se, ad esempio, un post contiene due caricamenti ma solo uno è stato distrutto.

Ad esempio, se si elimina un caricamento a cui si fa riferimento in più di un post (come i post citati) tramite https://meta.discourse.org/t/legal-compliance-plugin/356331 o la CLI di Rails.

1 Mi Piace