From 5a2ba54b2a1164b94257e59fa2751fd3a5777982 Mon Sep 17 00:00:00 2001 From: xbgmsharp Date: Mon, 3 Apr 2023 22:49:16 +0200 Subject: [PATCH] Update export GPX API endpoints, moorages and log. Logs gpx should be move to the cron process to remove api.metrics dependency --- initdb/02_1_signalk_api.sql | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/initdb/02_1_signalk_api.sql b/initdb/02_1_signalk_api.sql index e423d29..58da65b 100644 --- a/initdb/02_1_signalk_api.sql +++ b/initdb/02_1_signalk_api.sql @@ -666,16 +666,18 @@ AS $export_logbook_gpx$ 'PostgSAIL' as creator, 'http://www.topografix.com/GPX/1/1' as xmlns, 'http://www.opencpn.org' as "xmlns:opencpn", - 'http://openplotter.cloud' as "xmlns:postgsail", + 'https://iot.openplotter.cloud' as "xmlns:postgsail", 'http://www.w3.org/2001/XMLSchema-instance' as "xmlns:xsi", 'http://www.garmin.com/xmlschemas/GpxExtensions/v3' as "xmlns:gpxx", 'http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www8.garmin.com/xmlschemas/GpxExtensionsv3.xsd' as "xsi:schemaLocation"), xmlelement(name trk, xmlelement(name name, log_rec.name), xmlelement(name desc, log_rec.notes), - xmlelement(name link, xmlattributes(concat('https://openplotter.cloud/log/',log_rec.id) as href), + xmlelement(name link, xmlattributes(concat('https://iot.openplotter.cloud/log/', log_rec.id) as href), xmlelement(name text, log_rec.name)), - xmlelement(name extensions, xmlelement(name "opencpn:guid", uuid_generate_v4()), + xmlelement(name extensions, xmlelement(name "postgsail:log_id", 1), + xmlelement(name "postgsail:link", concat('https://iot.openplotter.cloud/log/', log_rec.id)), + xmlelement(name "opencpn:guid", uuid_generate_v4()), xmlelement(name "opencpn:viz", '1'), xmlelement(name "opencpn:start", log_rec._from_time), xmlelement(name "opencpn:end", log_rec._to_time) @@ -868,12 +870,12 @@ CREATE FUNCTION api.export_moorages_gpx_fn() RETURNS pg_catalog.xml AS $export_m DECLARE BEGIN -- Generate XML - SELECT xmlelement(name gpx, + RETURN xmlelement(name gpx, xmlattributes( '1.1' as version, 'PostgSAIL' as creator, 'http://www.topografix.com/GPX/1/1' as xmlns, 'http://www.opencpn.org' as "xmlns:opencpn", - 'http://openplotter.cloud' as "xmlns:postgsail", + 'https://iot.openplotter.cloud' as "xmlns:postgsail", 'http://www.w3.org/2001/XMLSchema-instance' as "xmlns:xsi", 'http://www.garmin.com/xmlschemas/GpxExtensions/v3' as "xmlns:gpxx", 'http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www8.garmin.com/xmlschemas/GpxExtensionsv3.xsd' as "xsi:schemaLocation"), @@ -885,14 +887,14 @@ CREATE FUNCTION api.export_moorages_gpx_fn() RETURNS pg_catalog.xml AS $export_m concat('Last Stayed On: ', 'TODO last seen', E'\nTotal Stays: ', m.stay_duration, E'\nTotal Arrivals and Departures: ', m.reference_count, - E'\nLink: ', concat('https://openplotter.cloud/moorage/', m.id)), + E'\nLink: ', concat('https://iot.openplotter.cloud/moorage/', m.id)), xmlelement(name "opencpn:guid", uuid_generate_v4())), xmlelement(name sym, 'anchor'), xmlelement(name type, 'WPT'), - xmlelement(name link, xmlattributes(concat('https://openplotter.cloud/moorage/',m.id) as href), + xmlelement(name link, xmlattributes(concat('https://iot.openplotter.cloud/moorage/', m.id) as href), xmlelement(name text, m.name)), xmlelement(name extensions, xmlelement(name "postgsail:mooorage_id", 1), - xmlelement(name "postgsail:link", concat('https://openplotter.cloud/moorage/',m.id)), + xmlelement(name "postgsail:link", concat('https://iot.openplotter.cloud/moorage/', m.id)), xmlelement(name "opencpn:guid", uuid_generate_v4()), xmlelement(name "opencpn:viz", '1'), xmlelement(name "opencpn:scale_min_max", xmlattributes(true as UseScale, 30000 as ScaleMin, 0 as ScaleMax) @@ -1225,11 +1227,6 @@ COMMENT ON VIEW -- api.stats_moorages_away_view -- IS 'Statistics Moorages Time Spent Away web view'; --- global timelapse --- TODO -CREATE VIEW timelapse AS -- TODO - SELECT latitude, longitude from api.metrics; - -- View main monitoring for web app CREATE VIEW api.monitoring_view WITH (security_invoker=true,security_barrier=true) AS SELECT