Commit Graph

115 Commits

Author SHA1 Message Date
leo
f8df3f3806
dhall: switch to using the versioned config
All checks were successful
continuous-integration/drone/push Build is passing
the Dhall config package formerly in ./config/schema has been moved to
https://git.dotya.ml/mirre-mt/pcmt-config-schema/, meaning the schema
has been decoupled from this repository.

the schema is now being versioned, which makes it easier to progress
without breaking stuff (unless we wanted to reference the versions by
commit hashes...).

* use schema version 0.0.0
2023-05-06 01:48:03 +02:00
leo
c4f8cf87f5
go: redirect signed users from / to /home
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-06 00:09:13 +02:00
leo
eafc9c1e92
go,tmpl: conditionally show content to users
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-06 00:03:41 +02:00
leo
0a34bca1c1
go: allow choosing db type, setting connstr
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-05 23:10:56 +02:00
leo
f1bb52c58f
go: add a setting val for whether db is set up
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-05 22:58:13 +02:00
leo
b1ab686493
go: add db module for preps/checks
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-05 22:52:59 +02:00
leo
4dad751716
handlers: rm pages.go [skip ci] 2023-05-05 19:58:35 +02:00
leo
bb4854cf1f
nix: add devenv
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-05 19:43:28 +02:00
leo
bfafc4a8be
config: update schema
All checks were successful
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
leo
5a1ec4fe28
js: correct the commands [skip ci] 2023-05-05 15:09:02 +02:00
leo
dfdcc77737
conf: add pretty printing,raw conf, conf tests
All checks were successful
continuous-integration/drone/push Build is passing
* also, set debug logger directly in config if devel mode is set
* add new flag to indicate whether the passed config is path or raw
  config
2023-05-04 23:49:25 +02:00
leo
2a56ba3456
ci: bump golang to 1.20.4
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-05 01:33:36 +02:00
leo
d9265cafa8
config: use new form + add example [skip ci]
* also unstage config.dhall and add it to the list of the ignored
2023-05-04 21:40:25 +02:00
leo
746eb82f67
go: make sure flags are properly checked
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-04 21:28:30 +02:00
leo
44025ccd36
dhall: create a package for config [skip ci] 2023-05-04 21:02:15 +02:00
leo
0c835d0daf
fix(config.dhall): correct the port range
All checks were successful
continuous-integration/drone/push Build is passing
well this is embarassing
2023-05-04 16:42:05 +02:00
leo
9fd55dbc0b
app: pre-declare errors
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-04 16:38:15 +02:00
leo
38f72825e0
app: switch a couple of Info statements to Debug
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-04 16:35:41 +02:00
leo
18adb45692
ci: make frontend depend on pull
All checks were successful
continuous-integration/drone/push Build is passing
* change git status checking method to git diff-index
2023-05-04 15:12:24 +02:00
leo
1f427abbbe
ci: rename 'npm i' to 'frontend'
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-04 15:09:29 +02:00
leo
f3b6075c27
ci: set GOPATH on arch to make use of caching
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-04 15:07:07 +02:00
leo
48e3c49b52
ci: run tests sooner
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-04 15:00:42 +02:00
leo
6c47b6e354
just: run pg with user namespaces [skip ci] 2023-05-04 00:12:39 +02:00
leo
ecd3330ea8
fix(just): mount actual data folder [skip ci] 2023-05-04 00:12:14 +02:00
leo
279514f350
just: add prod target [skip ci] 2023-05-03 23:58:40 +02:00
leo
6c061fb94f
just: add db{start,stop} targets [skip ci] 2023-05-03 23:58:23 +02:00
leo
0a5d4e7d30
go: use enttest in tests
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 23:21:47 +02:00
leo
0ac668d001
mod/usr: fix typo [skip ci]
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 22:43:51 +02:00
leo
4f2302143d
mod/user: rewrite some if statements as switches
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 22:42:08 +02:00
leo
0125bff8bd
embed: add specificity
All checks were successful
continuous-integration/drone Build is passing
continuous-integration/drone/push Build is passing
2023-05-03 06:38:26 +02:00
leo
a2c17693c6
go: save,verify a bcrypt hash of the passwd
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 06:30:12 +02:00
leo
5a3ce50bb2
mod/user: don't print out the raw usr object
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 06:09:44 +02:00
leo
faefe3b577
mod/user: add check for when usr is not found
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 06:08:28 +02:00
leo
ce70bbe196
index.tmpl: credit gopher design
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 06:07:32 +02:00
leo
78774ac3ad
errorPage.tmpl: increase msg font size
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 06:06:32 +02:00
leo
24b62dad98
air: don't rebuild on tmpl changes [skip ci] 2023-05-03 06:05:07 +02:00
leo
864e2ec815
handlers.go: change msg log level
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 06:03:38 +02:00
leo
672132a109
go: die even more reliably on error
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 05:58:09 +02:00
leo
1359750c97
go: handle long running shutdowns better
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 04:58:47 +02:00
leo
6937eb7a80
go: explicitly close chan
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 04:57:04 +02:00
leo
ed14e45969
go: add more tests (+return instead of exit)
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 04:26:42 +02:00
leo
1ba95c3d37
fix(run.go): use a non-blocking channel receive
All checks were successful
continuous-integration/drone/push Build is passing
adding the started channel and receiving in a blocking fashion meant the
program flow never got to blocking on the quit channel after setting up
signal intercepts. this commit turns the blocking receive on `started`
to a non-blocking one.
2023-05-03 03:03:06 +02:00
leo
d5ed25f1f1
go: add a TODO [skip ci] 2023-05-03 02:38:35 +02:00
leo
d83a4bbc4c
rename app/startup.go to app/echoSettings.go
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 02:37:04 +02:00
leo
258d9a5352
fix: set develMode again
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-03 02:35:35 +02:00
leo
066d5da42f
chore: rm empty app/config.go [skip ci] 2023-05-03 02:26:24 +02:00
leo
c4d0cb209b
go: add settings struct
All checks were successful
continuous-integration/drone/push Build is passing
* let the settings struct be the single source of truth
* rm app fields that are covered by settings
* pass around a pointer to settings instead of config
* consolidate config+flags into settings on start-up
* update tests
* rm empty settings.go file

fixes #4
2023-05-03 02:18:29 +02:00
leo
9ab2d0ae0b
go: handle host+port combinations,shutdown better
All checks were successful
continuous-integration/drone Build is passing
continuous-integration/drone/push Build is passing
* add log messages telling the user what went wrong if the app fails to
  start
* improve existing log messages
* cleanup: close channels when exiting
* cleanup: stop listening for signals when exiting
2023-05-02 00:04:04 +02:00
leo
a053103000
config: use the in-house logger
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-01 23:09:36 +02:00
leo
593454d616
go: add user email handling + improve sessions
All checks were successful
continuous-integration/drone/push Build is passing
* add Email field to User entity (+codegen)
* switch to Echo contrib sessions backed by Gorilla sessions
* use SessionCookieSecret value from the config
* stage mod,sum changes
* add clearer signup/signin redirect logic
* render error pages on 500/404s and only fall back to returning raw
  errors when the error is some unexpected kind
* add username/email "exists" funcs+tests - handle "not found" and "not
  unique" errors, return errors otherwise
2023-05-01 22:48:11 +02:00