summaryrefslogtreecommitdiff
path: root/internal
Commit message (Collapse)AuthorAge
* config: config_test.go: remove left over debug linemihna1232026-09-10
|
* config: config_test.go: remove unused writeConf functionmihna1232026-09-10
|
* config: add database section to config and remove defaultsmihna1232026-09-10
|
* go.mod: update module to git.mihna123.commihna1232026-09-04
|
* web: simplify style.css even moremihna1232026-09-04
| | | | | Don't want to start styling too early. Want to do that at the end as currently the shape of the website is very foggy.
* web: serve the stylesheet over a css routemihna1232026-09-04
| | | | | | | | | | | Embed the css directory alongside the templates and serve it with a FileServerFS mounted on GET /css/. The directory name matches the url prefix, so the file resolves without an fs.Sub and there is no error path to handle. Adding js later is the same one line. Cover the route in the handler tests, including that template sources stay unreachable and that the href the home page emits resolves to a file that is actually served.
* config: add tests for config loading and page handlersmihna1232026-09-04
| | | | | | | | | Cover the defaults/system/user cascade, partial overrides, malformed files and base-url validation, plus DefaultPath resolution. An empty value in an ini file counts as unset, so that is pinned down too. Add the first handlers tests: routing, the instance name reaching the template, and escaping of operator-supplied config in the page.
* config: add config package and wire it into server and handlersmihna1232026-09-04
| | | | | | | | | | | Replace the hardcoded server.Config with an ini-backed config package that reads /etc/openstore/openstore.conf then the user's config file, so user settings override system ones and both override the built-in defaults. Missing files are ignored rather than fatal. Move route registration into a handlers package that owns the templates and builds a Page view model, which removes the server -> handlers import cycle along with the setter-based context injection.
* user: check errors type and fail now where needed in testsmihna1232026-08-29
|
* user: fix the valid username explanation in inputmihna1232026-08-29
|
* user: fail now when register fails in order not to dereference a nil valuemihna1232026-08-29
|
* user: rename internal test functionsmihna1232026-08-29
|
* user: add bcryptCost to service constructor in TestRegisterRepositotyErrormihna1232026-08-29
|
* user: add a service stub with validated register methodmihna1232026-08-29
|
* user: export all private fieldsmihna1232026-08-29
|
* listing: implement a service layer stub along with testsmihna1232026-08-23
|
* listing: use slog.DiscardHandler instead of creating a new onemihna1232026-08-23
|
* listing: add slug prop to struct and export some more props and constantsmihna1232026-08-23
|
* listing: add isExternal and origin fields to listing structmihna1232026-08-23
| | | | | Need to have information where did the listing come from if it is external
* listing: change the text propery name to descriptionmihna1232026-08-23
| | | | Naming it text is just not "descriptive" enough
* listing: implement a basic listing struct along with user struct stubmihna1232026-08-22
|
* test: add tests for servermihna1232026-08-21
|
* server: use server config to render the index templatemihna1232026-08-21
|
* logs: build up sloger attrs to conditionaly log xff headermihna1232026-08-21
|
* logs: handle all loggs with slogmihna1232026-08-21
|
* server: move logging from the handler into middlewaremihna1232026-08-21
|
* server: serve html template from embedded fsmihna1232026-08-21
|
* server: move server handler to server packagemihna1232026-08-21