Automatisches Löschen von Uploads aus alten gelöschten Beiträgen

Das ist großartig! Wirklich schöne Lösung. :slight_smile:

Ich frage mich, ob die Verwendung derselben Strategie zum Entfernen von Upload-Referenzen in Beiträgen auch für das umgekehrte Szenario sinnvoll wäre, wenn ein Upload zerstört wird, aber Beiträge, die darauf verweisen, live bleiben.

Wenn ich einen Upload zerstöre wie:

Upload.find(123).destroy

Wenn Upload 123 von Benutzern für Folgendes verwendet wurde:

  • Profil-Benutzerbild (Avatar)
  • Profil-Hintergrund
  • Karten-Hintergrund

Alle Referenzen werden scheinbar entfernt durch:

before_destroy (Entfernt Hintergrund-/Kartenbanner-Upload-Referenzen)

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

after_destroy (Entfernt Avatar-Upload-Referenzen)

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

Wenn die Beitrags-IDs, die mit einer Upload-ID verknüpft sind, verwendet werden könnten, um das Entfernen des Upload-Markdowns beim Zerstören in die Warteschlange zu stellen, denke ich, dass dies potenziell tote Upload-Referenzen in nicht gelöschten Beiträgen verhindern könnte, wenn ein Upload manuell zerstört wird.

Idealerweise sollte das Upload-Markdown für alle Upload-IDs beibehalten werden, die nicht zerstört wurden, falls beispielsweise ein Beitrag zwei Uploads hat, aber nur einer zerstört wurde.

Z. B. Wenn ein Upload gelöscht wird, auf den in mehr als einem Beitrag verwiesen wird (wie z. B. Zitatbeiträge) über https://meta.discourse.org/t/legal-compliance-plugin/356331 oder die Rails CLI.

1 „Gefällt mir“