Додати можливість видаляти документи із DS якщо вони не прив'язані ні до якої сутности
Feature request
Прошу розглянути пропозицію додати можливість видаляти документи із DS, якщо вони не прив'язані ні до якої сутности. Також окрім перевірки на відсутність зв'язку документа з будь-якою сутностю, можна додати валідацію на те, що документ видаляється за запитом саме того майданчику, з якого він був завантажений
method | endpoint | task_description |
---|---|---|
DELETE |
/api/documents/{scope}/{doc_id} |
Додати ендпоінт. Валідація: документ не прив'язаний до будь-якої сутності та документ може бути видалений тільки тим майданчиком, яким був завантажений раніше |
Use case
Майданчик реалізує у себе попередній аплоад файлів до DS, ще коли користувач знаходиться на формі. Таким чином, коли користувач натискає кнопку "Зберегти", процес публікації даних відбувається на порядок швидше, а це дозволяє покращити, як якість ПЗ на майданчику, так і сприйняття та відношення цілком до системи ProZorro.Продажі з боку користувачів. Користувач буде думати що швидкість подачі ставки залежить тільки від нього
Майданчик самостійно контролює кількість та строк життя таких документів. Наприклад сам видаляє такі файли якщо чернетка була видалена. Якщо виникнуть питання майданчик надає звіт, що ці файли дійсно використовуються та прикріплені, до x
чернеток організатора y
.
Можливі питання та проблеми що може вирішити ця фіча
Використання дисковогу простору в DS без користі для будь-кого
Недоліком схеми попереднього завантаження документів до DS може бути зріст кількості файлів, що не були опубліковані у бідах/процедурах тощо, бо у користувачів можуть виникнути обставини, за яких подальша публікація даних разом із документами буде зупинена. Таким чином ЦБД буде мати зайняті ресурси документами що не приносять ніякої цінності ані системі, ані кінцевим користувачам.
Проблеми у майданчиків якщо вирішувати потім односторонньо з боку адміністратора ЦБД
З іншого боку, якщо адміністратор ЦБД вирішить сам зачистити "документи-сиротки" за виникненням ситуації, то у майданчика може бути не дуже зручна ситуація з клієнтом, коли той усе-таки вирішить опублікувати бід/процедуру. Або якщо цей або інший користувач завантажить цей же файл з таким же типом і майданчик буде обробляти завантаження дкоументу за цією логікою)
Альтернативні варіанти що я бачу
Варіант 1
ЦБД самостійно видаляє такі документи, якщо вони не були використані протягом N днів, де N - число що можна затвердити. Але у даному випадку можуть бути кейси, де це може нанести шкоду усім:
- процедура з довгим періодом пропозицій, що довше N. Ставку не можна буде подати якщо документи будуть вже видалені із DS
- чернетка процедури що може потнеційно лежати роками.
Варіант 2
Свідомо забити на це