peter
e9c60f72cd
refactor(capture): the HTTP layer reads through queries and writes through the service
...
Capture's routes (downloads, files, public watch links) and the token list no longer build SQL, call
the session or set a model's fields: reads are downloads/queries, writes the unit's service (service,
folders, links, quota), and each write flushes for the handler to commit. Whose a row is goes
through userscope (owned_by, owned_row), which owned_or_404 now uses too.
The fence holds Capture below its routes as well: it reads only Catalog's and Plex's tables, writes
no other unit's, filters owners through userscope and commits only in its jobs and the upload
ingest. A test per service use case, among them that the tray lists only the caller's files.
2026-10-19 00:19:03 +02:00
..
2026-10-05 00:19:38 +02:00
2026-10-18 23:45:53 +02:00
2026-10-16 01:13:31 +02:00
2026-10-05 00:19:39 +02:00
2026-10-18 15:38:32 +02:00
2026-10-10 15:35:12 +02:00
2026-09-19 19:19:29 +02:00
2026-10-17 23:08:55 +02:00
2026-10-05 00:19:39 +02:00
2026-10-18 23:45:53 +02:00
2026-10-18 15:38:32 +02:00
2026-10-15 04:58:16 +02:00
2026-10-05 00:19:39 +02:00
2026-09-29 21:21:19 +02:00
2026-10-11 05:34:25 +02:00
2026-10-05 00:19:39 +02:00
2026-10-19 00:19:03 +02:00
2026-10-18 15:38:32 +02:00
2026-09-27 13:58:23 +02:00
2026-10-05 00:19:39 +02:00
2026-09-18 03:16:15 +02:00
2026-10-05 00:19:39 +02:00
2026-10-18 23:45:53 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-18 23:45:53 +02:00
2026-10-05 03:16:27 +02:00
2026-10-12 20:54:47 +02:00
2026-10-18 23:45:53 +02:00
2026-10-19 00:19:03 +02:00
2026-10-19 00:19:03 +02:00
2026-10-05 03:16:27 +02:00
2026-10-18 23:45:53 +02:00
2026-10-18 23:45:53 +02:00
2026-10-18 23:45:53 +02:00
2026-10-18 23:45:53 +02:00
2026-10-18 23:45:53 +02:00
2026-09-04 20:29:33 +02:00
2026-10-05 00:19:39 +02:00
2026-09-04 20:29:33 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-18 23:45:53 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 05:54:19 +02:00
2026-08-23 07:43:06 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-08-23 07:43:06 +02:00
2026-10-06 21:02:07 +02:00
2026-10-18 23:45:53 +02:00
2026-10-18 23:45:53 +02:00
2026-10-18 23:45:53 +02:00
2026-10-19 00:19:03 +02:00
2026-09-19 04:51:31 +02:00
2026-10-10 21:56:47 +02:00
2026-08-28 02:37:56 +02:00
2026-10-05 01:13:06 +02:00
2026-10-05 00:19:39 +02:00
2026-09-19 07:34:17 +02:00
2026-10-05 00:19:39 +02:00
2026-10-18 23:45:53 +02:00
2026-09-19 01:33:32 +02:00
2026-10-18 23:45:53 +02:00
2026-10-15 04:58:16 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-09-01 23:31:49 +02:00
2026-10-04 17:53:19 +02:00
2026-10-05 00:19:50 +02:00
2026-10-13 00:14:09 +02:00
2026-10-11 04:42:55 +02:00
2026-10-13 00:14:09 +02:00
2026-10-13 00:14:09 +02:00
2026-10-15 04:58:16 +02:00
2026-10-18 21:21:19 +02:00
2026-10-18 02:23:15 +02:00
2026-10-05 00:19:39 +02:00
2026-08-23 07:43:06 +02:00
2026-09-29 22:46:04 +02:00
2026-08-23 07:43:06 +02:00
2026-10-18 23:45:53 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-10-18 23:45:53 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-18 23:45:53 +02:00
2026-10-05 03:16:27 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-09-19 19:19:30 +02:00
2026-10-08 21:18:48 +02:00
2026-09-19 19:19:30 +02:00
2026-10-08 22:12:43 +02:00
2026-10-08 21:18:48 +02:00
2026-10-09 01:22:00 +02:00
2026-10-10 00:03:08 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-09-19 18:21:06 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-17 23:08:55 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-10 00:03:08 +02:00
2026-10-05 00:19:39 +02:00
2026-10-06 22:31:48 +02:00
2026-10-05 00:19:39 +02:00
2026-10-09 23:46:39 +02:00
2026-10-06 22:31:48 +02:00
2026-10-07 23:16:25 +02:00
2026-10-05 00:19:39 +02:00
2026-09-27 13:58:23 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-06 23:55:41 +02:00
2026-10-11 05:34:25 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-04 17:53:19 +02:00
2026-10-05 00:19:38 +02:00
2026-10-06 23:55:41 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:50 +02:00
2026-10-11 04:42:55 +02:00
2026-08-23 07:43:06 +02:00
2026-10-18 15:38:32 +02:00
2026-10-05 00:19:39 +02:00
2026-10-18 21:21:19 +02:00
2026-10-05 00:19:38 +02:00
2026-10-05 00:19:39 +02:00
2026-08-23 07:43:06 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-11 05:34:25 +02:00
2026-10-15 04:58:16 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-18 03:45:18 +02:00
2026-10-05 00:19:39 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-10-19 00:19:03 +02:00
2026-10-18 23:45:53 +02:00
2026-10-18 23:45:53 +02:00
2026-09-05 04:02:57 +02:00
2026-10-05 00:19:38 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00
2026-10-18 23:45:53 +02:00
2026-10-13 00:14:09 +02:00
2026-09-18 22:50:37 +02:00
2026-09-19 04:51:31 +02:00
2026-10-05 00:19:39 +02:00
2026-10-05 00:19:39 +02:00