9 Commits
Author SHA1 Message Date
m d5886c678b feat(api): OCR réel — POST /ocr/jobs + GET /ocr/jobs/:id (tesseract syscall, jobs asynchrones)
- ocr/tesseract.go : Engine → Tesseract subprocess (OCR_LANG fra+eng) ; PDF → calque texte via ledongthuc/pdf (go.mod : nouveau dep)
- repository/ocr_jobs.go : queued→processing→done/failed, scoping device, text/error NULLIFés
- service/ocr.go : Create valide le fichier (GetFile), queue + goroutine de traitement ; physique résolu par glob UPLOAD_DIR/<device>/<id>.* ; fail propre (fichier illisible, erreur moteur)
- handlers/ocr.go : réels (validate fileId, NOT_FOUND si job d'un autre device), fin 501 OCR
- tests end-to-end : cycle queued→done (stub moteur), NOT_FOUND fichier inconnu, scoping device
- smoke réel : PNG 'VAULTDROP' → job done text='VAULTDROP' (tesseract installé)
- docs/AGENTS : §5 + état des routes (tout V1 réel)
2026-09-10 19:54:16 +02:00
m 484498d989 feat(backend): migrations Postgres testées (users, devices, resources, operations, ocr_jobs) + migrate au boot
- golang-migrate embarqué via embed (db/migrations/*.sql), MigrateDatabase(url) au boot
- ids TEXT 32-hex avec CHECK ~ '^[0-9a-f]{32}$' ; operations idempotentes UNIQUE(device_id, operation_id)
- harness db/migrations_test.go (up → assertions schéma → down, skip si PG indisponible)
- DB dev fraîche vaultdrop_dev (la DB vaultdrop héberge un prototype V2 abandonné)
2026-09-10 07:35:36 +02:00
m 76ceafa56c add backend auth 2026-07-14 09:47:55 +02:00
m e59fde6a48 migrate to postgres 2026-07-12 23:49:25 +02:00
m 999fbaf7fa add pdf reader lib 2026-07-12 12:39:12 +02:00
m 571a571db6 paddle ocr suport 2026-07-12 12:19:19 +02:00
m 1d35bea1c5 add migration system 2026-07-12 09:28:20 +02:00
m a2b3f75321 add sqlc and sqlite 2026-07-12 00:02:27 +02:00
m b1f7fe6959 init project 2026-07-11 20:12:00 +02:00