Commit Graph

5 Commits

Author SHA1 Message Date
b42f7b13bb feat(07-01): add quick-add HTTP handlers and route registration
- Add ListQuickAddItems, CreateQuickAddItem, UpdateQuickAddItem, DeleteQuickAddItem handler methods
- Register GET/POST /api/quick-add and PUT/DELETE /api/quick-add/{itemId} in authenticated route group
- Validate name non-empty on create and update; return 404 on update when item not found
2026-03-12 13:34:19 +01:00
387507b468 feat(05-02): wire template routes and budget generate endpoint in router
- Add /api/template route group: GET, PUT /, POST/PUT/DELETE items, PUT items/reorder
- Add POST /api/budgets/generate before /{id} routes to avoid chi treating 'generate' as an id param
- /items/reorder registered before /items/{itemId} for correct static-before-param routing
2026-03-12 12:10:37 +01:00
ceca2fc71f feat(05-02): add template handlers and budget generation endpoint
- Add GetTemplate, UpdateTemplateName, CreateTemplateItem, UpdateTemplateItem, DeleteTemplateItem, ReorderTemplateItems handlers
- Add GenerateBudget handler with 409 BudgetExistsError response including budget_id
- Handler-level validation: one_off items rejected for template routes, fixed items require budgeted_amount
- Month format validated via time.Parse before calling query layer
2026-03-12 12:10:21 +01:00
f9dd40984c feat(05-01): template query functions and updated budget item queries with item_tier
- Add BudgetExistsError struct and ErrBudgetExists sentinel
- Update GetBudgetWithItems, CopyBudgetItems to include item_tier
- Update CreateBudgetItem/UpdateBudgetItem signatures to accept itemTier (default one_off)
- Add GetTemplate, UpdateTemplateName, CreateTemplateItem, UpdateTemplateItem, DeleteTemplateItem
- Add ReorderTemplateItems with transaction
- Add GenerateBudgetFromTemplate with duplicate-month detection and locale-aware naming
- Update handlers to pass ItemTier from request body (Rule 3 fix - blocking compile)
2026-03-12 12:06:43 +01:00
04cbb846d1 Init 2026-03-06 19:42:15 +00:00