D. Berge
2657c42dcc
Fix export statement
2025-07-13 11:13:31 +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
7c6d3fe5ee
Check permissions against vessel if not on a project endpoint
2025-07-12 16:49:10 +02:00
D. Berge
55855d66e9
Remove dead code
2025-07-12 12:14:12 +02:00
D. Berge
ca4a14ffd9
Use new orgs based method for authorisation
2025-07-11 22:48:44 +02:00
D. Berge
6b6f545b9f
Filter list of projects to only those readable by user
2025-07-11 22:47:32 +02:00
D. Berge
addbe2d572
Refactor user authentication code to use database
2025-07-11 22:46:47 +02:00
D. Berge
712b20c596
Add API endpoint to retrieve line name properties.
...
This will be needed by the configuration GUI.
2025-07-09 16:38:41 +02:00
D. Berge
af0df23cc4
Add diagnostics API endpoint.
...
Only available with write access and above.
Reports used and available filesystem sizes and database space
usage.
2024-05-08 16:27:32 +02:00
D. Berge
efe64f0a8c
Implement PUT method for project configuration endpoint.
...
In short:
POST creates a new project
PUT overwrites a project configuration with a new one
PATCH merges the request body with the existing configuration
2024-05-01 10:40:04 +02:00
D. Berge
d2f94dbb88
Refactor JWT token verification
2024-05-01 10:05:48 +02:00
D. Berge
1056122fff
Fix missing parenthesis
2024-04-28 18:37:30 +02:00
D. Berge
9bd0aca18f
Add debugging statements to ETag middleware
2023-11-04 10:45:50 +01:00
D. Berge
60932300c1
Ensure that project is defined.
...
Which would not be in the case of the `project` event unless we
look at the `new` and `old` properties.
2023-11-04 10:45:50 +01:00
D. Berge
12307b7ae6
Refactor ETag watcher to use path-to-regexp.
...
Simplifies the code and makes it easier to look at.
2023-11-04 10:45:50 +01:00
D. Berge
7076b51a25
Add auth.access.role(roles) higher order middleware
2023-11-03 21:22:02 +01:00
D. Berge
4a18cb8a81
Remove useless code
2023-11-02 23:51:05 +01:00
D. Berge
c615727acf
Don't require authentication for the /version endpoint.
...
It will still hide the `db` and `os` values from non-admins though.
2023-11-02 23:48:46 +01:00
D. Berge
620d5ccf47
Add /version API endpoint
2023-11-02 19:48:30 +01:00
D. Berge
656f776262
Do not cache any responses containing cookies
2023-11-02 13:24:40 +01:00
D. Berge
89cb237f8d
Use setContentDisposition()
2023-10-29 20:38:58 +01:00
D. Berge
2365789d48
Merge branch '281-modify-planner-endpoint-s' into 'devel'
...
Resolve "Modify planner endpoint(s)"
Closes #281
See merge request wgp/dougal/software!49
2023-10-25 14:26:23 +00:00
D. Berge
b5aafe42ad
Add YAML support to events GET endpoint
2023-10-23 19:24:03 +02:00
D. Berge
025f3f774d
Add YAML and CSV support to project configuration GET endpoint
2023-10-23 19:22:50 +02:00
D. Berge
1bb06938b1
Add CSV export handler to main event log endpoint.
...
Closes #245 .
2023-10-23 17:28:30 +02:00
D. Berge
851369a0b4
Invalidate planner endpoint cache when setting remarks
2023-10-23 14:58:41 +02:00
D. Berge
2d1e1e9532
Modify return payload of planner endpoint.
...
Previous:
[
{ sequence: …},
{ sequence: …},
…
]
Current:
{
remarks: "…",
sequences: [
{ sequence: …},
{ sequence: …},
…
]
}
2023-10-23 14:53:32 +02:00
D. Berge
f231acf109
Add events change middleware
2023-10-17 11:15:06 +02:00
D. Berge
0829ea3ea1
Save a copy of the headers not the original.
...
Otherwise ExpressJS will complain about trying to modify
headers that have already been sent.
2023-09-24 12:17:16 +02:00
D. Berge
33618b6b82
Do not cache Set-Cookie headers
2023-09-14 13:13:47 +02:00
D. Berge
5a2af5c49e
Add CSV output option for events log
2023-09-13 21:58:06 +02:00
D. Berge
707889be42
Refactor layer API endpoint and database functions.
...
- A single get() function is used both to list all available
layers, if no layer name is given, or a single layer.
- The database no longer holds the actual layer contents,
only the path to the layer file(s), so the list() function
is now redundant as we return the full payload in every case.
- The /gis/layer and /gis/layer/:name endpoints now have the same
payload structure.
2023-09-12 19:29:02 +02:00
D. Berge
36d5862375
Add map layer middleware and API endpoints
2023-09-11 10:15:19 +02:00
D. Berge
4f165b0c83
Revert behaviour of new jwt-express version.
...
Fixes breakage introduced in commit
cd00f8b995 .
2023-09-10 14:09:01 +02:00
D. Berge
2c86944a51
Merge branch '262-preset-remarks-and-labels-no-longer-working-with-api-0-4-0' into 'devel'
...
Resolve "Preset remarks and labels no longer working with API 0.4.0"
Closes #262
See merge request wgp/dougal/software!36
2023-09-10 10:10:22 +00:00
D. Berge
941d15c1bc
Return labels directly from project configuration.
...
NOTE: This is a breaking API change. Before this it returned an
array of labels, now it returns an object.
2023-09-10 11:59:38 +02:00
D. Berge
cd00f8b995
Breaking-change Node package udpates (server)
2023-09-10 11:49:56 +02:00
D. Berge
e8b1cb27f1
Add ETag middleware
2023-09-02 15:29:24 +02:00
D. Berge
70cf59bb4c
Add API files endpoint.
...
Used to download files. It relies on `imports.paths` being set
appropriately in `etc/config.yaml` to indicate which parts of
the filesystem are accessible to users via Dougal.
2023-08-30 13:51:31 +02:00
D. Berge
675c19f060
Fix whitespace
2023-08-30 13:47:51 +02:00
D. Berge
6721b1b96b
Add API endpoint for patching a project
2023-08-30 13:47:02 +02:00
D. Berge
fe9d3563a0
Add API endpoint to delete a project
2023-08-23 19:26:27 +02:00
D. Berge
38a07dffc6
Add API endpoint to retrieve project configuration.
...
Only available to users with at least `write` access.
2023-08-23 19:26:27 +02:00
D. Berge
1a6500308f
Add API endpoint for creating a project
2023-08-23 19:26:27 +02:00
D. Berge
6033b45ed3
Refactor API middleware.
...
The middleware naming is kept consistent with the HTTP verb that
they handle.
2023-08-23 19:17:20 +02:00
D. Berge
aa7cbed611
Do not require authentication to query API version
2023-05-18 18:32:26 +02:00
D. Berge
546bc45861
Remove dead code
2022-05-04 18:35:20 +02:00
D. Berge
bb9340a0af
Add QC results accept/unaccept middleware.
...
This middleware can only deal with shot QCs, not sequence-wide QCs.
2022-05-04 17:22:18 +02:00