Files
arr/.sqlx/query-bd10698fda9b55789f3b5806cda9ccaf45973fbe052f5ef4fdf693529e24f994.json
T
Miguel Palhas 4c73b3e7c6
ci / web (push) Successful in 28s
ci / rust (push) Successful in 1m24s
e2e / e2e (push) Successful in 1m19s
feat(api,web): remove a movie, files optional
`DELETE /api/movies/{id}` took the row and left the files, and no
surface exposed it. It now accepts `delete_files`, which unlinks the
title's §7.4 folder — atomic, so sidecars go with the feature. Targets
come from `media_files`, never from re-deriving the folder name, and a
path outside its root is never touched. The torrent is untouched (§7.3):
it keeps seeding and the reaper owns it.

The release deck grows a quiet REMOVE control opening one inline
confirmation: file count, size and folder first, then a delete-files
toggle that starts off, then what the choice costs.

Closes #104
2026-08-23 09:08:52 +01:00

21 lines
439 B
JSON

{
"db_name": "SQLite",
"query": "SELECT r.path AS \"path!: String\" FROM roots r JOIN movies m ON m.root_id = r.id WHERE m.id = ?",
"describe": {
"columns": [
{
"name": "path!: String",
"ordinal": 0,
"type_info": "Text"
}
],
"parameters": {
"Right": 1
},
"nullable": [
false
]
},
"hash": "bd10698fda9b55789f3b5806cda9ccaf45973fbe052f5ef4fdf693529e24f994"
}