mirror of
https://github.com/xbgmsharp/postgsail.git
synced 2025-09-17 19:27:49 +00:00
Update gpx moorages export, make urk link dynamic
This commit is contained in:
@@ -555,13 +555,15 @@ DROP FUNCTION IF EXISTS api.export_moorages_gpx_fn;
|
|||||||
CREATE FUNCTION api.export_moorages_gpx_fn() RETURNS pg_catalog.xml AS $export_moorages_gpx$
|
CREATE FUNCTION api.export_moorages_gpx_fn() RETURNS pg_catalog.xml AS $export_moorages_gpx$
|
||||||
DECLARE
|
DECLARE
|
||||||
BEGIN
|
BEGIN
|
||||||
|
-- Gather url from app settings
|
||||||
|
app_settings := get_app_url_fn();
|
||||||
-- Generate XML
|
-- Generate XML
|
||||||
RETURN xmlelement(name gpx,
|
RETURN xmlelement(name gpx,
|
||||||
xmlattributes( '1.1' as version,
|
xmlattributes( '1.1' as version,
|
||||||
'PostgSAIL' as creator,
|
'PostgSAIL' as creator,
|
||||||
'http://www.topografix.com/GPX/1/1' as xmlns,
|
'http://www.topografix.com/GPX/1/1' as xmlns,
|
||||||
'http://www.opencpn.org' as "xmlns:opencpn",
|
'http://www.opencpn.org' as "xmlns:opencpn",
|
||||||
'https://iot.openplotter.cloud' as "xmlns:postgsail",
|
app_settings->>'app.url' as "xmlns:postgsail",
|
||||||
'http://www.w3.org/2001/XMLSchema-instance' as "xmlns:xsi",
|
'http://www.w3.org/2001/XMLSchema-instance' as "xmlns:xsi",
|
||||||
'http://www.garmin.com/xmlschemas/GpxExtensions/v3' as "xmlns:gpxx",
|
'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"),
|
'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"),
|
||||||
@@ -573,14 +575,14 @@ CREATE FUNCTION api.export_moorages_gpx_fn() RETURNS pg_catalog.xml AS $export_m
|
|||||||
concat('Last Stayed On: ', 'TODO last seen',
|
concat('Last Stayed On: ', 'TODO last seen',
|
||||||
E'\nTotal Stays: ', m.stay_duration,
|
E'\nTotal Stays: ', m.stay_duration,
|
||||||
E'\nTotal Arrivals and Departures: ', m.reference_count,
|
E'\nTotal Arrivals and Departures: ', m.reference_count,
|
||||||
E'\nLink: ', concat('https://iot.openplotter.cloud/moorage/', m.id)),
|
E'\nLink: ', concat(app_settings->>'app.url','/moorage/', m.id)),
|
||||||
xmlelement(name "opencpn:guid", uuid_generate_v4())),
|
xmlelement(name "opencpn:guid", uuid_generate_v4())),
|
||||||
xmlelement(name sym, 'anchor'),
|
xmlelement(name sym, 'anchor'),
|
||||||
xmlelement(name type, 'WPT'),
|
xmlelement(name type, 'WPT'),
|
||||||
xmlelement(name link, xmlattributes(concat('https://iot.openplotter.cloud/moorage/', m.id) as href),
|
xmlelement(name link, xmlattributes(concat(app_settings->>'app.url','moorage/', m.id) as href),
|
||||||
xmlelement(name text, m.name)),
|
xmlelement(name text, m.name)),
|
||||||
xmlelement(name extensions, xmlelement(name "postgsail:mooorage_id", 1),
|
xmlelement(name extensions, xmlelement(name "postgsail:mooorage_id", 1),
|
||||||
xmlelement(name "postgsail:link", concat('https://iot.openplotter.cloud/moorage/', m.id)),
|
xmlelement(name "postgsail:link", concat(app_settings->>'app.url','moorage/', m.id)),
|
||||||
xmlelement(name "opencpn:guid", uuid_generate_v4()),
|
xmlelement(name "opencpn:guid", uuid_generate_v4()),
|
||||||
xmlelement(name "opencpn:viz", '1'),
|
xmlelement(name "opencpn:viz", '1'),
|
||||||
xmlelement(name "opencpn:scale_min_max", xmlattributes(true as UseScale, 30000 as ScaleMin, 0 as ScaleMax)
|
xmlelement(name "opencpn:scale_min_max", xmlattributes(true as UseScale, 30000 as ScaleMin, 0 as ScaleMax)
|
||||||
|
Reference in New Issue
Block a user