إزالة التلقائية للتحميلات من المشاركات القديمة المحذوفة

هذا رائع! حل جميل حقًا. :slight_smile:

أتساءل عما إذا كان استخدام نفس استراتيجية تجريد مراجع التحميل في المشاركات يمكن أن يكون منطقيًا للسيناريو العكسي، عندما يتم تدمير تحميل ولكن المشاركات التي تشير إليه تظل نشطة.

إذا قمت بتدمير تحميل مثل:

Upload.find(123).destroy

إذا تم استخدام التحميل 123 من قبل أي مستخدمين من أجل:

  • صورة الملف الشخصي المخصصة
  • خلفية الملف الشخصي
  • خلفية البطاقة

يتم مسح جميع المراجع، ويبدو أنها من:

before_destroy (مسح مراجع تحميل الخلفية/لافتة البطاقة)

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

after_destroy (مسح مراجع تحميل الصورة الرمزية)

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

إذا كان من الممكن استخدام معرفات المشاركات المرتبطة بمعرف التحميل لجدولة تجريد تنسيق ماركداون (markdown) الخاص بالتحميل عند تدميره، أعتقد أن هذا قد يمنع مراجع التحميل الميتة في المشاركات غير المحذوفة عندما يتم تدمير تحميل يدويًا.

من الناحية المثالية، الحفاظ على تنسيق ماركداون للتحميل لأي معرفات تحميل لم يتم تدميرها، إذا، على سبيل المثال، تحتوي مشاركة واحدة على تحميلين ولكن تم تدمير واحد فقط.

على سبيل المثال، إذا تم حذف تحميل مشار إليه في أكثر من مشاركة واحدة (مثل المشاركات المقتبسة) عبر https://meta.discourse.org/t/legal-compliance-plugin/356331 أو واجهة سطر الأوامر لـ Rails.

إعجاب واحد (1)