| 10-events |
02 |
events |
| events |
| postgres |
| sqlc |
| htmx |
| templ |
|
| phase |
provides |
| 10-events |
Plan 01 event schema, calendar tab, create form, and create/list routes |
|
|
| Parent-scoped event edit form and update handler |
| Hard-delete event flow with inline confirmation |
| Event mutation authorization through loadOwnedEvent |
| Update validation for required fields and end-after-start time ordering |
|
| events |
| tablo-detail |
| calendar |
|
| added |
patterns |
|
|
| loadOwnedEvent composes loadOwnedTablo with child lookup scoped by tablo_id |
| Inline edit and delete fragments target #event-form-slot and refresh #events-tab after mutation |
|
|
| created |
modified |
|
|
| backend/internal/db/queries/events.sql |
| backend/internal/web/handlers_events_test.go |
| backend/internal/web/handlers_events.go |
| backend/internal/web/router.go |
| backend/templates/events.templ |
| backend/templates/events_forms.go |
|
|
| Delete is a hard delete through DELETE FROM events with no deleted_at field. |
| Update reuses the create form parser so create and edit enforce the same date/time validation. |
| Mutation routes load the parent tablo first and then fetch the child event by id plus tablo_id. |
|
| Event mutation handlers return 404 for inaccessible parent or child resources. |
| Event edit validation errors re-render the edit form into #event-form-slot with status 422. |
|
| EVENT-01 |
| EVENT-02 |
| EVENT-04 |
| EVENT-05 |
|
~18min |
2026-05-15 |