curo1305
ba48d625dd
feat(14-04): add analysis API routes and typed schemas
- POST /analysis/connections/{id}/estimate: scope estimate without bytes (T-14-04)
- POST /analysis/connections/{id}/jobs: enqueue job, returns job_id (ANALYZE-01)
- GET /analysis/jobs, GET /analysis/jobs/{id}: job status list and detail
- POST /analysis/jobs/{id}/cancel: batch cancel (queued items immediate; running cooperative)
- POST /analysis/jobs/{id}/items/{item_id}/cancel|skip|retry: per-item controls (ANALYZE-05)
- AnalysisEstimateRequest/Out, AnalysisEnqueueRequest/Out, AnalysisJobOut: typed schemas
- AnalysisJobOut: both simple (waiting/working/done/skipped/failed) and per-stage counts
- All routes use get_regular_user — admin blocked (T-14-01)
- Response schemas exclude credentials_enc, object_key, raw provider URLs (T-14-02)
- 14/14 test_cloud_analysis_api.py pass; 7 new analysis security tests pass (33/33 total)
2026-06-23 15:50:37 +02:00
..
2026-06-05 00:00:26 +02:00
2026-06-23 15:50:37 +02:00
2026-06-23 15:06:24 +02:00
2026-06-06 21:55:13 +02:00
2026-06-05 14:44:59 +02:00
2026-06-23 15:06:24 +02:00
2026-06-23 15:50:24 +02:00
2026-06-23 00:27:52 +02:00
2026-06-22 08:29:41 +02:00
2026-06-23 15:50:37 +02:00
2026-05-24 11:30:56 +02:00
2026-06-18 23:17:34 +02:00
2026-06-06 17:19:50 +02:00
2026-06-04 19:13:05 +02:00
2026-06-23 00:14:57 +02:00
2026-06-22 09:02:42 +02:00
2026-06-03 18:47:43 +02:00
2026-06-12 10:54:34 +02:00