Support deleting extensions #66

Closed
opened 2024-04-02 16:46:37 +02:00 by Oleg-Komarov · 1 comment
Owner

Use cases:

  1. An admin removes an extension that violates policies (incl. spam, malware, etc)
  2. A maintainer removes an extension

Note: Moderators should be able to flag an extension to be disabled, but not delete it directly.

Requirements:

  1. Soft-delete behavior:
  • a deleted extension must not be present in website listings and in API responses
  • detail page should either indicate that the extension was deleted or return a 404 page
  • all uploaded resources must no longer be available for download via their original download urls, but may be preserved on the server for further inspection
  1. Names/slugs/ids of deleted extensions can't be reused (comes naturally from uniqueness of those fields and the fact that the soft-deleted record is kept in the same table).
Use cases: 1. An admin removes an extension that violates policies (incl. spam, malware, etc) 2. A maintainer removes an extension Note: Moderators should be able to flag an extension to be disabled, but not delete it directly. Requirements: 1. Soft-delete behavior: - a deleted extension must not be present in website listings and in API responses - detail page should either indicate that the extension was deleted or return a 404 page - all uploaded resources must no longer be available for download via their original download urls, but may be preserved on the server for further inspection 2. Names/slugs/ids of deleted extensions can't be reused (comes naturally from uniqueness of those fields and the fact that the soft-deleted record is kept in the same table).
Oleg-Komarov self-assigned this 2024-04-02 16:46:38 +02:00
Author
Owner

Deployed

Deployed
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: infrastructure/extensions-website#66
No description provided.