- http: handleError now recognizes domain.ErrNotFound in addition to the
common errors.ErrNotFound sentinel, so repo-not-found maps to 404
instead of 500 (the two packages use distinct error types)
- sqlite_course_repository: propagate listCount errors instead of logging
and swallowing them, which left callers with a silent Count=0
- synchandler: collect course/organization insert failures into a
function-scoped error via errors.Join and return it; previously the
loop-local err was overwritten and the handler always returned nil,
hiding all insert failures
- 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
Before script has been separated on two groups: for learning type and
course category and for school and sorting. It means when school is
choosen, learning type and course category resets on update.
TODO: need to add pagination
* Added command and query for organizations
* Saving unknown organizations into database in `background` service
* Added `List` method in `OrganizationRepository`