D. Berge
48e1369088
Fix host based authentication
2025-07-25 14:03:43 +02:00
D. Berge
daa700e7dc
Add (temporarily disabled) menu option for vessel config.
...
The idea is to have a frontend access to a screen where duly
authorised users can modify vessel-wide configuration parameters.
2025-07-25 14:01:49 +02:00
D. Berge
8db2c8ce25
Use access rights mixin in Equipment view
2025-07-25 13:36:16 +02:00
D. Berge
890e48e078
Revert "Don't refresh projects if no user is logged in."
...
This reverts commit 3a0f720f2f .
2025-07-25 13:35:35 +02:00
D. Berge
11829555cf
Add <v-tooltip/> showing permissions.
...
Hovering over the user avatar or a project name in the breadcrumbs
shows a tooltip with the relevant permissions.
2025-07-25 13:33:59 +02:00
D. Berge
07d8e97f74
Fix Markdown functions in root component
2025-07-25 13:32:30 +02:00
D. Berge
fc379aba14
Silence errors when refreshing projects.
...
We use this endpoint also to do autologins, so HTTP 403's are not
unexpected.
2025-07-25 13:31:28 +02:00
D. Berge
8cbacb9aa7
Allow silencing API request errors.
...
The {silent: true} option in the new `opts` argument to the
`api` action does the trick.
2025-07-25 13:30:26 +02:00
D. Berge
acb59035e4
Add missing file
2025-07-25 13:29:39 +02:00
D. Berge
b7d0ee7da7
Remove dead code from the frontend
2025-07-25 11:02:24 +02:00
D. Berge
3a0f720f2f
Don't refresh projects if no user is logged in.
...
Avoids a 403.
2025-07-25 10:43:08 +02:00
D. Berge
6cf6fe29f4
Improve presentation of organisation component in project settings
2025-07-24 23:04:44 +02:00
D. Berge
6f0f2dadcc
Add "actions" slot to DougalOrganisations component
2025-07-24 23:04:15 +02:00
D. Berge
64fba1adc3
Add project permissions tooltip to breadcrumbs
2025-07-24 23:03:41 +02:00
D. Berge
3ea82cb660
Fix reading of credentials for issuing JWT
2025-07-24 23:03:05 +02:00
D. Berge
84c1385f88
Refactor class User (clean up)
2025-07-24 23:02:30 +02:00
D. Berge
b1b7332216
Add access mixin to Project and use in child component
2025-07-24 20:43:22 +02:00
D. Berge
8e7451e17a
Adapt the access rights mixin to new user management code
2025-07-24 20:42:25 +02:00
D. Berge
bdeb2b8742
Show organisation membership in user avatar
2025-07-24 20:41:07 +02:00
D. Berge
ccfabf84f7
Add user management page to frontend
2025-07-24 20:40:18 +02:00
D. Berge
5d4e219403
Refactor Vuex store to adapt to new User class
2025-07-24 20:38:51 +02:00
D. Berge
3b7e4c9f0b
Add client-side User class derived from @dougal/user.
...
Adds methods to communicate with the backend.
2025-07-24 20:37:50 +02:00
D. Berge
683f5680b1
Add organisations configuration section to project settings UI
2025-07-24 20:36:45 +02:00
D. Berge
ce901a03a1
Add component for editing users
2025-07-24 20:35:46 +02:00
D. Berge
f8e5b74c1a
Add components for editing organisations settings
2025-07-24 20:35:17 +02:00
D. Berge
ec41d26a7a
Use @dougal/user, @dougal/organisations modules in frontend
2025-07-24 20:32:25 +02:00
D. Berge
386fd59900
Update API to handle permissions checks on most endpoints
2025-07-24 19:24:40 +02:00
D. Berge
e47020a21e
Add /user endpoints to API
2025-07-24 19:23:43 +02:00
D. Berge
b8f58ac67c
Add FIXME
2025-07-24 19:20:58 +02:00
D. Berge
b3e27ed1b9
Refactor auth.authentify.
...
We now get the user's details directly from the JWT token.
2025-07-24 19:15:36 +02:00
D. Berge
f5441d186f
Refactor auth.access middleware.
...
It users @dougal/user and @dougal/organisations classes.
2025-07-24 19:14:19 +02:00
D. Berge
d58bc4d62e
Remove unused code
2025-07-24 19:13:17 +02:00
D. Berge
01d1691def
Fix login endpoint (checkValidCredentials is now async)
2025-07-24 19:09:39 +02:00
D. Berge
bc444fc066
Add dependency to project organisations cache
2025-07-24 18:48:22 +02:00
D. Berge
989ec84852
Refactor JWT credentials check to use class User
2025-07-24 18:36:34 +02:00
D. Berge
065f6617af
Add class ServerUser derived from User.
...
Used on the backend. Adds methods to hash and check passwords and
to read from and save user data to the database.
2025-07-24 18:31:51 +02:00
D. Berge
825530c1fe
Use @dougal/user, @dougal/organisations modules in backend
2025-07-24 18:27:59 +02:00
D. Berge
1ef8eb871f
Add @dougal/user NodeJS module.
...
Abstracts the concept of User in the new permissions model.
2025-07-24 18:22:44 +02:00
D. Berge
2e9c603ab8
Add @dougal/organisations NodeJS module.
...
Abstracts the concept of Organisations in the new permissions model.
2025-07-24 18:21:02 +02:00
D. Berge
7f067ff760
Add contextual info about sailline CSV files.
...
The information that has to go on those and their layout is not
very obvious so adding a contextual help dialogue and an example
file puts the user on the right track.
Closes #319
2025-07-20 11:03:10 +02:00
D. Berge
487c297747
Add database upgrade file 37.
...
Fixes database upgrade file 35.
2025-07-19 12:20:55 +02:00
D. Berge
cfa771a830
Skip info for saillines with no preplot.
...
It may happen that the sailline info file has data for more lines
than are actually in the preplot (e.g., if importing a reduced
preplot file). In this case, we don't want a constraint violation
error due to missing corresponding lines in `preplot_lines` so we
check for that and only import lines that do exist in `preplot_lines`
2025-07-19 11:31:52 +02:00
D. Berge
3905e6f5d8
Update OpenAPI specification
2025-07-13 11:15:41 +02:00
D. Berge
2657c42dcc
Fix export statement
2025-07-13 11:13:31 +02:00
D. Berge
63e6af545a
Fix typo
2025-07-13 11:13:09 +02:00
D. Berge
d6fb7404b1
Adapt version.get middleware to new permissions approach
2025-07-13 00:07:52 +02:00
D. Berge
8188766a81
Refactor access to info table.
...
To adapt to new permissions system.
2025-07-13 00:07:05 +02:00
D. Berge
b7ae657137
Add auth.operations middleware.
...
Adds an array of allowed operations on given context to the request
under `req.user.operations`.
2025-07-13 00:02:48 +02:00
D. Berge
1295ec2ee3
Add function to return allowed operations in a given context
2025-07-13 00:01:15 +02:00
D. Berge
7c6d3fe5ee
Check permissions against vessel if not on a project endpoint
2025-07-12 16:49:10 +02:00