feat(05-02): icon upload endpoint with validation

- Create imptune/api/icons.py with POST /printers/{printer_id}/icon
- Validate PNG format, 256x256 dimensions, 750KB max size
- Store icons SHA256-addressed under cfg.DATA_DIR/icons/
- Replace existing Icon record on re-upload
- Register icons.router in main.py with ICONS_DIR makedirs
- Patch cfg.ICONS_DIR in conftest.py for tests
- All 6 icon upload tests pass
This commit is contained in:
2026-04-10 15:05:36 +02:00
parent dd6cedfed9
commit f9e13ba96f
2 changed files with 89 additions and 0 deletions
+1
View File
@@ -24,6 +24,7 @@ def tmp_data_dir(tmp_path, monkeypatch):
cfg.DATA_DIR = str(data_dir)
cfg.DB_PATH = str(data_dir / "imptune.db")
cfg.DRIVERS_DIR = str(data_dir / "drivers")
cfg.ICONS_DIR = str(data_dir / "icons")
yield data_dir