Per review feedback on PR #17, comment #137: use map[string]struct{}
(set semantics) instead of map[string]bool for the ORDER BY field
whitelist. Updates the lookup to comma-ok idiom.
Move pagination logic to preserve filter query parameters (school_id,
order_by, asc, per_page) when navigating between pages.
- Added QueryParams field to Pagination struct and pageURL() helper
- Server-side: buildListCoursesQueryParams() encodes active filters into
pagination links as query string
- Client-side: setupPaginationLinks() intercepts pagination link clicks,
reads current filter state from DOM selects, and constructs full URLs
with all parameters preserved
- Added data-paginated/data-base-url/data-current-page attributes to
pagination nav for JS targeting
Closes#1
dataSources changed from map[string]ReduxDataSource (objects) to
map[string]string (simple key-value pairs). Dictionaries block removed
from ReduxConfig entirely. ReduxConfigSorting now includes Name and
Direction fields alongside Property.
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`