Commit Graph

8 Commits

Author SHA1 Message Date
Jakub Zych
52638fb4e3 feat(05-01): add Paginate envelope and RegisterJoinTable
- Page/PageMeta emit {data, meta} with no links key
- RegisterJoinTable fails loud on nil db; document pivot-write contract
2026-09-18 18:47:42 +02:00
Jakub Zych
969a5f522a feat(05-01): implement Fill, hook interfaces, and cascade helper
- Allow-list copy with once-per-key non-production dropped-key log
- Winter-named Has* hook interfaces; WithSoftDeleteCascade names the tx
2026-09-18 18:46:37 +02:00
Jakub Zych
fec23e21c2 test(05-01): add failing tests for Fill and lifecycle cascade
- Fill allow-list, once-per-key dropped log, production silence
- BeforeCreate fires on real Postgres; cascade rollback on error
2026-09-18 18:45:46 +02:00
Jakub Zych
92255a46ed test(03-04): cover framework database, routing and JWT boundaries
- Shared pgx/GORM pool, ICU locale fail, and isolated plugin migrations
- Seven-stage middleware order, missing-guard boot failure, typed 404s
- Adversarial JWT matrix including alg:none, empty secret, and no leak

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 20:29:46 +02:00
Jakub Zych
8e3bf266d8 feat(03-03): add typed path params and per-plugin rollback
Compile regex and enum constraints at route registration so malformed and unknown IDs share a 404, and named rollback errors isolate one plugin's history.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 20:19:59 +02:00
Jakub Zych
56be82f3f3 feat(03-02): add allow-listed database-default order helper
- Reject identifiers and directions outside the caller allow-list
- Emit ordinary ORDER BY without COLLATE so ICU pl-PL applies

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 20:13:03 +02:00
Jakub Zych
4ee4c4a2fc feat(03-01): add ServeMux groups, JWT verifier, and serve command
Named middleware resolves at boot, HS256 tokens are pinned with required
exp/sub, and both binaries expose a signal-aware serve command.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 20:04:13 +02:00
Jakub Zych
d0d845052b feat(03-01): add shared postgres pool and plugin migrations
Open one pgx stdlib *sql.DB, hand it to GORM, and run per-plugin
gormigrate sets with isolated history tables after an ICU pl-PL check.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 19:55:33 +02:00