Commit graph

33 commits

Author SHA1 Message Date
c2eef9cf7c Refactoring away from main package
Some checks failed
cacert-boardvoting/pipeline/head There was a failure building this commit
This commit is a refactoring of code that has been located in the main
package. We introduce separate packages for the main application, jobs,
notifications, and request handlers.

Dependencies are injected from the main application, this will make
testing easier.
2022-10-15 19:58:58 +02:00
c1c9ed5dec Fix golangci-lint warnings 2022-09-26 11:58:36 +02:00
ff58bf721c Fix test code 2022-06-04 19:30:58 +02:00
be77e5f05d Make remind voter job useful 2022-06-04 19:30:07 +02:00
f966cbd62f Implement user creation and voter management 2022-06-04 19:00:57 +02:00
39bd724381 Switch routing to chi
Routing with httprouter and alice became a bit too complex. This commit
replaces the routing and middleware composition with chi.
2022-06-04 14:48:24 +02:00
de4c6faef6 Implement email address deletion 2022-06-04 13:53:07 +02:00
be14a37b4d Implement add email address 2022-06-03 20:57:20 +02:00
a5475ec16e Implement user editing 2022-06-02 23:14:38 +02:00
5efc57d2c3 Implement user deletion
- add audit logging for user changes
- refactor model errors into functions
- implement user delete form and submit handlers
2022-06-01 18:57:38 +02:00
db52f88e25 Implement user list 2022-05-29 20:46:52 +02:00
7f0b52c5b5 Fix linter warnings 2022-05-29 15:43:45 +02:00
368bd8eefb Remove old code
- remove the old code and its dependencies
- perform some refactoring and fix notifications
- add TODO tags for observed shortcomings
- rename voters.go to users.go
- implement health check for SMTP connection
2022-05-29 15:36:27 +02:00
28ddbd2ce6 Implement motion withdraw 2022-05-29 12:01:58 +02:00
c12aaf4d89 Implement proxy voting 2022-05-27 20:45:04 +02:00
0c02daf29a Implement direct voting 2022-05-27 17:40:01 +02:00
164495c818 Improve design
- improve icons
- implement VoteChoice and VoteStatus as real types with Scanner and Value
  methods
2022-05-27 14:42:39 +02:00
b8b6899cf3 Update modified timestamp when updating motion 2022-05-27 13:43:57 +02:00
2b98712aa8 Implement motion editing 2022-05-26 21:04:47 +02:00
335ce16547 Add tests for handlers and middleware
- drop migration 2022052601_drop_unused_decisions_colums because it was implicitly part of an earlier migration
- add /health endpoint for database health check
- add tests for the health check endpoint
- add tests for middleware secureHeaders, logRequest and tryAuthenticate
- add models.UserModel.CreateUser method
2022-05-26 19:22:56 +02:00
1695ce0168 Implement small improvements
- fix golangci-lint warnings
- start setup for user management
- nicer formatting of user login information
2022-05-26 16:47:57 +02:00
a1a66b7245 Finish new motion create implementation
- rename config block mail_server to mail_config
- rename smtp server settings
- move mail notification settings to mail_config
- improve navigation templates
- prepare routes for user management
2022-05-26 15:27:25 +02:00
aa3a1b0cc7 Implement database mapping for vote types 2022-05-22 21:47:27 +02:00
e1af6876c1 Implement new motion form
- add session handler
- add form decoder from go-playground
- implement custom decoder for VoteType
2022-05-22 21:15:54 +02:00
0ad88fe5f4 Implement motion detail view
- add httprouter for parameterized routing
- improve styling
- add routes and handlers
- implement motion detail handler
2022-05-22 14:08:02 +02:00
ff93acb65c Refactorings
- fix typo in nav.html and template functions
- implement template cache and render function
- refactor motion list methods to reduce cyclomatic complexity
2022-05-21 20:49:35 +02:00
ec7623a51a Implement timestamp pagination for motion list 2022-05-21 19:18:17 +02:00
2b8beadb77 Remove unused Print method 2022-05-21 14:30:57 +02:00
49295d2caa Add context to model methods 2022-05-21 14:27:46 +02:00
3346cb5dba Fix golangci-lint warnings 2022-05-21 14:09:19 +02:00
68d6f4bcdc Reimplement decision close job 2022-05-21 13:51:17 +02:00
01b95f2253 Start notification job refactoring 2022-05-15 20:10:49 +02:00
933f21a43c Move migrations to internal/migrations 2022-05-14 12:45:53 +02:00