Skip to content

Aligner DELETE /api/v1/files/{id} sur le choix détachement (#246) #354

Description

@ronan-develop

Contexte

#246 a ajouté la possibilité de conserver un Media dans ses albums lors de la suppression d'un fichier depuis « mes fichiers », mais uniquement sur la route web (POST /files/{id}/delete, FileWebController::delete).

L'API publique (DELETE /api/v1/files/{id}, FileProcessor::handleDelete) garde le comportement historique : suppression totale du File et du Media associé (plus de CASCADE DB automatique depuis #246, donc MediaDeletionService::delete() est appelé explicitement), sans possibilité de conserver le Media dans ses albums.

Besoin

Permettre au client API de choisir, comme sur le web : ?keepInAlbums=true (ou équivalent body) sur DELETE /api/v1/files/{id} déclenche MediaDetachService::detachAndDeleteFile() au lieu de MediaDeletionService::delete().

Points d'attention

  • FileProcessor::handleDelete (src/State/FileProcessor.php) est le point d'entrée à modifier.
  • Réutiliser MediaDetachServiceInterface/MediaDeletionServiceInterface, déjà en place.
  • Tests API Platform à ajouter (pattern tests/Api/MediaTest.php).

Metadata

Metadata

Assignees

No one assigned

    Labels

    apiModifications ou ajouts concernant l’API (routes, contrôleurs, ressources…).

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions