- pagination: clamp per_page to [1,100] and page to >=1 in the parser,
guard the TotalPages division against per_page=0 (panic), and clamp the
current page to [1,totalPages]; preserves cursor (next-token) mode
- middleware: add panic-recovery as the outermost middleware so handler
panics return a 500 instead of crashing the process; re-panics
http.ErrAbortHandler to keep file serving intact
- index: bound the index page query (Limit:200) so it no longer drains
the entire courses table in 1000-row batches
- synchandler: combine course date with clock time via time.Date instead
of adding two absolute Unix epochs, which produced corrupt start times
- tracing: make DeploymentEnvironment configurable via config.Trace
(defaults to development instead of hardcoded production)
- http: align course handler tracer name to 'kuriweb.http' to match the
request middleware instrument so spans share the same tracer
* Added command and query for organizations
* Saving unknown organizations into database in `background` service
* Added `List` method in `OrganizationRepository`