Commit Graph

1363 Commits

Author SHA1 Message Date
D. Berge
a253578a1b Make SmartSource header less verbose.
PostgreSQL NOTIFY has an 8,000 bytes payload limit
and we were going over that.
2020-09-04 01:33:18 +02:00
D. Berge
1a851fefdf Fix issue with protocol detection 2020-09-04 01:33:18 +02:00
D. Berge
5c8f8023d6 Remove debug statement 2020-09-04 01:33:18 +02:00
D. Berge
a167d4954c Use server notifications on map.
The real-time position is pushed via a websocket rather
than pulled at regular intervals.
2020-09-04 01:33:18 +02:00
D. Berge
34dfb4f862 Add websocket client to receive event notifications.
These are saved in the Vuex store and can be retrieved
via the `serverEvent` getter. There are also some
convenience getters for retrieving line status.
2020-09-04 01:33:18 +02:00
D. Berge
52907921f1 Add websocket server to emit DB notifications 2020-09-04 01:33:18 +02:00
D. Berge
8c6d4e69ac Send notification on real_time_inputs insert 2020-09-04 01:33:18 +02:00
D. Berge
8800666380 Send notification on project insert/update/delete 2020-09-04 01:33:18 +02:00
D. Berge
0cdff4c493 Add notification trigger function to DB 2020-09-04 01:33:18 +02:00
D. Berge
a9a084b531 Cope with prospect detection not working during approach / runout 2020-09-04 01:31:39 +02:00
D. Berge
0fc795d1c4 Add commit after copy_from calls 2020-09-03 17:08:25 +02:00
D. Berge
c7cee0b822 Associate correct schema when recreating a survey 2020-09-02 18:58:50 +02:00
D. Berge
fb947dcf9f Run exports before database upgrade 2020-09-02 18:58:24 +02:00
D. Berge
0cd1b30e29 Let create_survey take an explicity schema name 2020-09-02 18:57:42 +02:00
D. Berge
19c0562888 Ensure we don't try to connect to a non-existing database 2020-09-02 16:52:33 +02:00
D. Berge
ffd021a23e Ensure we're not using the database we're about to drop 2020-09-02 16:39:49 +02:00
D. Berge
faf1a0d83f Add database upgrade scripts (WIP) 2020-09-02 15:05:43 +02:00
D. Berge
f708410e47 Conditionally enable / disable system import / export 2020-09-02 15:05:43 +02:00
D. Berge
a8830c9a05 Add system data import module 2020-09-02 15:05:43 +02:00
D. Berge
78aaacb8b3 Improve sequence list search 2020-09-02 11:09:04 +02:00
D. Berge
cf477c921e Add data export task to bin/runner.sh 2020-09-02 09:08:10 +02:00
D. Berge
4c103fafca Add system data export module.
It exports the data that is entered directly into
Dougal as opposed to being read from an external
source.

As of this commit, not all direct data is exported.
Specifically, sequence comments (raw and final),
sequence and shot NTBA and shot NTBP statuses are not
exported.
2020-09-02 09:07:06 +02:00
D. Berge
d683f00594 Implement SmartSource header parser 2020-09-02 08:59:22 +02:00
D. Berge
3864dd43f5 Force CRS for header outputs 2020-09-02 08:58:23 +02:00
D. Berge
0a2f0b0b60 Refactor save() so that we can force a specific CRS.
This was brought about due to the absence of CRS information
in the navigation header outputs. We get either unqualified
easting / northing or unqualified latitude / longitude, neither
of which happen to be WGS84.

This is not a good solution as it involves manual configuration,
but allows us to move forward for the time being.
2020-09-02 08:55:08 +02:00
D. Berge
ff2e30511c Refactor save() call to pass in header.meta options 2020-09-02 08:54:16 +02:00
D. Berge
1f60ebae47 Make selection of headers to parse configurable 2020-09-02 08:52:49 +02:00
D. Berge
e9f62a420a Only fetch real-time positions when layers are visible 2020-09-01 12:37:59 +02:00
D. Berge
7dbfb3ab6a Change real-time position marker 2020-09-01 12:37:39 +02:00
D. Berge
bf896f71dc Show also NTBP and in progress sequence statuses 2020-09-01 12:36:00 +02:00
D. Berge
297829f343 Do not list raw/final files if there aren't any 2020-09-01 12:35:30 +02:00
D. Berge
4291b83817 Show raw and final remarks in expanded row 2020-09-01 12:34:58 +02:00
D. Berge
276af8fcd6 Filter sequence list locally (fetch all sequences).
Even in the event that we have thousands of sequences
this should be acceptable and gives us more flexibility
at lower effort than paginating on the server.
2020-09-01 12:33:01 +02:00
D. Berge
c8e0dc5d02 Return only real files from sequence list endpoint.
In other words, filter out real-time data.
2020-09-01 12:30:49 +02:00
D. Berge
1a9f04aa98 Add NTBP status information to sequences summary 2020-09-01 12:17:21 +02:00
D. Berge
880891cc2b Add real-time position to map 2020-09-01 11:01:13 +02:00
D. Berge
ef8429cbb0 Update example survey configuration file 2020-09-01 11:00:17 +02:00
D. Berge
1fc069a0bd Fix path to NTBP regexp pattern 2020-09-01 10:59:29 +02:00
D. Berge
eded667d79 Add endpoint for retrieving real-time data as GeoJSON 2020-09-01 10:58:37 +02:00
D. Berge
557d87de72 Add endpoint to retrieve real-time input data 2020-09-01 10:56:25 +02:00
D. Berge
bfc4124b33 Save to real_time_inputs also when we're on a line 2020-09-01 10:52:38 +02:00
D. Berge
41925c3645 Add a navigation header to the default configuration.
This receives data from the navigation system on
UDP port 30000. It will try to parse all known headers.
2020-08-31 14:36:56 +02:00
D. Berge
bed9cdc69f Add UDP server for navigation system headers 2020-08-31 14:36:56 +02:00
D. Berge
c0c395d9a0 Save online and offline real-time data to database 2020-08-31 14:36:56 +02:00
D. Berge
2cf9c36b2d Add real-time inputs table to DB 2020-08-31 14:36:56 +02:00
D. Berge
e4803da149 Add decoders for Hydronav, LABOv3 navigation headers 2020-08-31 13:40:56 +02:00
D. Berge
c4c09f0a9d Delete online data before importing sequence.
The deferred import routing will delete any online
data for any raw sequences that it imports.
2020-08-31 13:09:57 +02:00
D. Berge
433daca9ef Add deep properties getter utility function to config.
cfg._("a.deep.property") returns the value of
cfg.a.deep.property if it exists. If the property
or any of its parents do not exist, returns undefined.
2020-08-31 13:07:27 +02:00
D. Berge
5363ce8bab Handle NTBP flags in raw data.
This works by matching a regular expression against
the full path name (not just the file name). If it
matches, the NTBP flag is set to true.
2020-08-31 13:04:46 +02:00
D. Berge
c32c408d12 Import .profile into runner.sh.
So that it has access to the right environment
when run by cron.
2020-08-31 12:57:55 +02:00