70af5cc86a
fix: repair broken routes
...
continuous-integration/drone/push Build is passing
a follow up of:
7f87d0f2c2
1b64571429
2023-08-15 17:56:25 +02:00
7f87d0f2c2
routes: regroup, reorganise, break out csrf config
continuous-integration/drone/push Build is passing
2023-08-13 16:44:40 +02:00
1b64571429
routes: group certain endpoints
continuous-integration/drone/push Build is passing
2023-08-13 15:52:31 +02:00
e7be74d1eb
routes: add extra handling for signin/signup
continuous-integration/drone/push Build is passing
2023-08-12 14:50:49 +02:00
1106359a3e
go(app/server.go): rename func
continuous-integration/drone/push Build is passing
2023-08-11 23:18:54 +02:00
7b7d1b14a2
go(app): echoSettings.go -> server.go
continuous-integration/drone/push Build is passing
2023-08-11 23:14:19 +02:00
1c67191c09
feat: implement user deletion
continuous-integration/drone/push Build is passing
2023-08-07 21:29:30 +02:00
52dfe44080
go(logout): let only authorised users log out
continuous-integration/drone/push Build is passing
2023-08-07 14:40:46 +02:00
81ca7d8ec1
go,tmpl: add a way to manage API keys [wip]
continuous-integration/drone/push Build is passing
2023-08-05 22:13:43 +02:00
e941e73222
go(settings): expose default server timeouts
continuous-integration/drone/push Build is passing
2023-08-05 14:25:34 +02:00
4ccec7857d
go(settings): improve function docs [skip ci]
2023-08-04 18:35:57 +02:00
094a478cf9
go(settings): add const defaults
continuous-integration/drone/push Build is passing
2023-08-04 18:31:45 +02:00
eb555cfcad
go: add + use sessionMaxAge
continuous-integration/drone/push Build is failing
2023-08-04 18:28:56 +02:00
2559092231
go: add getters for Session{Auth,Encr}IsHex
continuous-integration/drone/push Build is passing
2023-08-04 18:13:23 +02:00
172703aab5
go: use '__Host' prefix with the csrf cookie
continuous-integration/drone/push Build is passing
2023-08-04 17:26:51 +02:00
fb74533a96
go(settings): add domain fallback
continuous-integration/drone/push Build is passing
2023-08-04 17:19:06 +02:00
118c34dac6
go: fix csrf issues
continuous-integration/drone/push Build is passing
2023-08-03 14:49:21 +02:00
044ed583b9
go: set global default {read,write} timeouts
continuous-integration/drone/push Build is passing
2023-08-03 14:40:04 +02:00
5f8548958f
go: add usr updating [wip]
continuous-integration/drone/push Build is passing
2023-06-02 20:00:14 +02:00
32aa8d8852
go: add+enable compression middleware
continuous-integration/drone/push Build is passing
2023-05-31 22:42:50 +02:00
5cf5ba51bc
go: enable HEAD method for some routes
continuous-integration/drone/push Build is passing
2023-05-31 22:32:25 +02:00
ffc9b74c75
go: add a simple caching middleware for assets
continuous-integration/drone/push Build is passing
2023-05-31 22:29:52 +02:00
dbd0e9d01d
go: implement session auth middleware
...
continuous-integration/drone/push Build is passing
* simplify protection of endpoints
* role discernment still occures in respective handlers
* db client needs to be passed into handlers as a global var now
2023-05-30 23:50:37 +02:00
ae5c4f1dd4
go,tmpl: add usr details listing
...
continuous-integration/drone/push Build is passing
* add tmpl
* add handler for route /manage/user/:id
* add convenience helper func
* handle not found/invalid uuid errors
2023-05-29 22:42:18 +02:00
ff68a7dbe3
go: fix port default,flag handling
continuous-integration/drone/push Build is passing
2023-05-23 16:37:33 +02:00
547f6e7b3c
add user creation
continuous-integration/drone/push Build is passing
2023-05-22 06:47:33 +02:00
97ea29d043
add user listing
continuous-integration/drone/push Build is passing
2023-05-22 03:22:58 +02:00
6ce05ea74d
feat: add initial admin user creation
...
continuous-integration/drone/push Build is passing
have the app create the initial admin user:
* if the db has not yet been set up
* if there are not users
* if the config value for Init.CreateAdmin is True
* if the admin password is not empty
default username, email values can be seen in modules/user/const.go
2023-05-21 18:50:41 +02:00
9eb811169d
feat: bump configuration schema to 0.0.1-rc.2
...
continuous-integration/drone/push Build is passing
this entails a couple of breaking changes due to schema evolution. once
the schema is stabilised, backward compatibility promise will be given.
* update config struct and accompanying scructs
* update tests
* update exampleConfig.dhall
* update local dev environment (devenv)
* make settings reflect the config schema changes
* make use of some settings/config updates
2023-05-21 12:44:18 +02:00
3a2f85f683
feat: add license headers (+spdx id)
continuous-integration/drone/push Build is passing
2023-05-20 20:15:57 +02:00
72723d951d
go(refactor): clean up run.go
continuous-integration/drone/push Build is passing
2023-05-17 20:40:24 +02:00
31ab083f8a
handlers: add health-check endpoints
continuous-integration/drone/push Build is passing
2023-05-13 22:33:38 +02:00
fc4460d5e1
go: delete pertinent ENVs after loading settings
continuous-integration/drone/push Build is passing
2023-05-12 22:43:36 +02:00
e8ac4e39ce
modules/funcmap: add funcs to calculate SRI hashes
...
continuous-integration/drone/push Build is passing
* correctly handle LiveMode resp. whether or not to set/read embeds
2023-05-12 00:11:23 +02:00
1fb7479d8e
slogger: rename Logger to Slogger
continuous-integration/drone/push Build is passing
2023-05-11 17:06:20 +02:00
9bbfbe923e
app: set debug lvl also to gommon Echo logger
continuous-integration/drone/push Build is passing
2023-05-11 04:48:24 +02:00
741af20b6e
app: call logger consistently
continuous-integration/drone/push Build is passing
2023-05-11 04:45:33 +02:00
bef3cb228e
app(logger): restore the old behaviour
...
continuous-integration/drone/push Build is passing
that is - have the Logger() method return pointer to the local (s)logger
2023-05-11 04:42:38 +02:00
122ea638c9
go: refactor template rendering
...
continuous-integration/drone/push Build is passing
* create pkg 'modules/template'
* move template rendering code from 'handlers' to 'modules/template'
* update call sites
* walk the 'templates' dir to discover nested hierarchies
* solidify LiveMode handling (vs embedded assets)
* break out funcMap to it's own file
* general clean-up
2023-05-11 04:32:39 +02:00
61760fa373
app/assets.go: add info on what path failed
continuous-integration/drone/push Build is passing
2023-05-11 03:09:12 +02:00
813d0c233e
echo settings: enable rate-limiting
continuous-integration/drone/push Build is passing
2023-05-10 17:48:02 +02:00
a879704535
go: partially rework how slogging works
continuous-integration/drone/push Build is passing
2023-05-09 17:35:00 +02:00
df0c280ad1
go: redo asset handling
...
continuous-integration/drone/push Build is passing
* only embed substructure of assets
* create subfolders for css, imgs
* add .gitattributes file specifying pcmt.css as generated (by tailwind)
2023-05-08 00:13:33 +02:00
9dbc475145
go: implement the Echo renderer for templates
continuous-integration/drone/push Build is passing
2023-05-06 21:50:35 +02:00
eafc9c1e92
go,tmpl: conditionally show content to users
continuous-integration/drone/push Build is passing
2023-05-06 00:03:41 +02:00
0a34bca1c1
go: allow choosing db type, setting connstr
continuous-integration/drone/push Build is passing
2023-05-05 23:10:56 +02:00
f1bb52c58f
go: add a setting val for whether db is set up
continuous-integration/drone/push Build is passing
2023-05-05 22:58:13 +02:00
bfafc4a8be
config: update schema
...
continuous-integration/drone/push Build is passing
* couple session-related attrs in a record
* couple logger-pertaining attrs in a record
* update config Go representation
* update Go config consumers
2023-05-05 19:31:43 +02:00
746eb82f67
go: make sure flags are properly checked
continuous-integration/drone/push Build is passing
2023-05-04 21:28:30 +02:00
9fd55dbc0b
app: pre-declare errors
continuous-integration/drone/push Build is passing
2023-05-04 16:38:15 +02:00