D. Berge
b2a97a1987
Fix typo in SQL query.
...
Fixes #284 .
2023-10-29 20:38:58 +01:00
D. Berge
f684e3e8d6
Track changes to projects list.
...
The main application component listens for project events and
updates the Vuex store when a project related event is seen.
2023-10-29 20:38:58 +01:00
D. Berge
219425245f
Add Vuex projects module.
...
Not to be confused with the `project` module.
`projects`: lists all available projects
`project`: lists details for one project
2023-10-29 20:38:58 +01:00
D. Berge
31419e860e
Update API specification
2023-10-28 11:21:43 +02:00
D. Berge
65481d3086
Return the group project configuration value.
...
This value (expected to be an array of strings) can be used to
link related projects.
Closes #186 .
2023-10-28 11:15:26 +02:00
D. Berge
d64a1fcee7
Merge branch '280-consolidate-handling-of-project-data-in-the-project-component-rather-than-in-individual-tab' into 'devel'
...
Resolve "Consolidate handling of project data in the Project component rather than in individual tab components"
Closes #280
See merge request wgp/dougal/software!48
2023-10-25 14:28:06 +00: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
4c2a2617a1
Adapt Project component to Vuex use for fetching data.
...
The Project component is now responsible for fetching and
updating the data used by most project tabs, with the
exception of ProjectSummary, QC, Graphs and Map. It is
also the only one listening for server events and reacting
to them.
Individual tabs are still responsible for sending data to
the server, at least for the time being.
2023-10-25 16:19:18 +02:00
D. Berge
5021888d03
Adapt Log component to Vuex use for fetching data
2023-10-25 16:18:41 +02:00
D. Berge
bf633f7fdf
Refactor Calendar component.
...
- adapts it to Vuex use for fetching data
- displays extra events in 4-day and day views
- allows classifying by event label in 4-day and day views
2023-10-25 16:16:01 +02:00
D. Berge
847f49ad7c
Adapt SequenceList component to Vuex use for fetching data
2023-10-25 16:15:17 +02:00
D. Berge
171feb9dd2
Adapt Plan component to Vuex use for fetching data
2023-10-25 16:14:45 +02:00
D. Berge
503a0de12f
Adapt LineList component to Vuex use for fetching data
2023-10-25 16:13:56 +02:00
D. Berge
cf89a43f64
Add project configuration to Vuex store
2023-10-25 16:11:24 +02:00
D. Berge
680e376ed1
Add Vuex sequence module
2023-10-25 16:11:24 +02:00
D. Berge
a26974670a
Add Vuex plan module
2023-10-25 16:11:24 +02:00
D. Berge
16a6cb59dc
Add Vuex line module
2023-10-25 16:11:24 +02:00
D. Berge
829e206831
Add Vuex label module
2023-10-25 09:59:04 +02:00
D. Berge
83244fcd1a
Add Vuex event module
2023-10-25 09:51:28 +02:00
D. Berge
d9a6c77d0c
Update API description
2023-10-23 19:25:48 +02: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
f26e746c2b
Add flatEntries utility
2023-10-23 18:58:37 +02:00
D. Berge
39eaf17121
Update API description
2023-10-23 18:48:05 +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
5065d62443
Update planner endpoint documentation
2023-10-23 14:57:27 +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
051049581a
Merge branch '278-rewrite-events-queue' into 'devel'
...
Resolve "Rewrite events queue"
Closes #278
See merge request wgp/dougal/software!46
2023-10-17 10:28:21 +00:00
D. Berge
c4c5c44bf1
Add comment
2023-10-17 12:20:19 +02:00
D. Berge
6b5070e634
Add event changes API endpoint description
2023-10-17 12:15:41 +02:00
D. Berge
09ff96ceee
Add events change API endpoint
2023-10-17 11:15:36 +02:00
D. Berge
f231acf109
Add events change middleware
2023-10-17 11:15:06 +02:00
D. Berge
e576e1662c
Add library function returning event changes after given epoch
2023-10-17 11:13:58 +02:00
D. Berge
6a21ddd1cd
Rewrite events listener and handlers.
...
The events listener now uses a proper self-consuming queue and
the event handlers have been rewritten accordingly.
The way this works is that running init() on the handlers
library instantiates the handlers and returns two higher-order
functions, prepare() and despatch(). A call to the latter of
these is appended to the queue with each new incoming event.
The handlers have access to a context object (ctx) which may be
used to persist data between calls and/or exchange data between
handlers. This is used notably to give the handlers access to
project configurations, which are themselves refreshed by a
project configuration change handler (DetectProjectConfigurationChange).
2023-10-14 20:53:42 +02:00
D. Berge
c1e35b2459
Cache project configuration details.
...
This avoids requesting the project configurations on every single
incoming message. A listener refreshes the data on configuration
changes.
2023-10-14 20:11:18 +02:00
D. Berge
eee2a96029
Modify logging statements
2023-10-14 20:10:46 +02:00
D. Berge
6f5e5a4d20
Fix bug for shortcut when there is only one candidate project
2023-10-14 20:09:07 +02:00
D. Berge
9e73cb7e00
Clean up on SIGINT, SIGHUP signals
2023-10-14 20:07:19 +02:00
D. Berge
d7ab4eec7c
Run some tasks periodically from the main process.
...
This reduces reliance on crontab jobs.
2023-10-14 20:06:38 +02:00
D. Berge
cdd96a4bc7
Don't bother trying to kill the child process on exit.
...
As the exit signal handler does not allow asynchronous tasks and
besides, killing the parent should kill its children too.
2023-10-14 20:02:54 +02:00
D. Berge
39a21766b6
Exit on start up errors
2023-10-14 20:02:04 +02:00
D. Berge
0e33c18b5c
Replace console.log() with debug library calls
2023-10-14 19:57:57 +02:00
D. Berge
7f411ac7dd
Add queue libraries.
...
A basic queue implementation and one that consumes its items
automatically until empty.
2023-10-14 19:56:56 +02:00
D. Berge
ed1da11c9d
Add helper function to purge notifications
2023-10-14 19:54:34 +02:00
D. Berge
66ec28dd83
Refactor DB notifications listener to support large payloads.
...
The listener will automatically retrieve the full payload
before passing it on to event handlers.
2023-10-14 18:33:41 +02:00
D. Berge
7b6b81dbc5
Add more debugging statements
2023-10-04 14:50:12 +02:00
D. Berge
2e11c574c2
Throw rather than return.
...
Otherwise the finally {} block won't run.
2023-10-04 14:49:35 +02:00
D. Berge
d07565807c
Do not retry immediately
2023-10-04 14:49:09 +02:00
D. Berge
6eccbf215a
There should be no need to await.
...
That is because the queue handler will, in theory, only ever
process one event at a time.
2023-09-30 21:29:15 +02:00