a) Inkonsistente Status-Codes — server.py
server.py
b) Job-Dict ohne Schema — server.py:241 Untyped dict mit ad-hoc keys.
server.py:241
JobStatus(BaseModel)
Literal["running","done","error"]
set_job_status(job_id, **kw)
Fix (a) umgesetzt in server.py:
Konvention durchgezogen:
Geaenderte Stellen:
/analyze
/preview
/thumb
/upload-watermark
Bereits konsistent durch #26: alle Tempdir-Verifikationen im Helper geben 403 (out-of-sandbox) oder 404 (in-sandbox-aber-not-found).
(b) Job-Dict mit Pydantic typisieren als separates Issue #31 ausgegliedert (groesserer Refactor, besser mit Test-Setup gemeinsam).
Manueller Test:
/preview?path=...x.bmp
folder=/tmp/does-not-exist
No dependencies set.
The note is not visible to the blocked user.
Probleme
a) Inkonsistente Status-Codes —
server.pyb) Job-Dict ohne Schema —
server.py:241Untyped dict mit ad-hoc keys.
Fix
JobStatus(BaseModel)mitLiteral["running","done","error"]. Helferset_job_status(job_id, **kw)fuer atomare Updates.Fix (a) umgesetzt in
server.py:Konvention durchgezogen:
Geaenderte Stellen:
/analyzenot-found Ordner: 400 -> 404/preview,/thumbfalscher Dateityp: 403 -> 415/upload-watermarkfalsches Format: 400 -> 415Bereits konsistent durch #26: alle Tempdir-Verifikationen im Helper geben 403 (out-of-sandbox) oder 404 (in-sandbox-aber-not-found).
(b) Job-Dict mit Pydantic typisieren als separates Issue #31 ausgegliedert (groesserer Refactor, besser mit Test-Setup gemeinsam).
Manueller Test:
/preview?path=...x.bmp-> HTTP 415/analyzemitfolder=/tmp/does-not-exist-> HTTP 404