dyomedea/src/db/gpx.ts

45 lines
1.5 KiB
TypeScript
Raw Normal View History

import { cloneDeep } from 'lodash';
import getUri from '../lib/ids';
declare global {
var db: any;
var dbReady: boolean;
}
const emptyGpx: Gpx = {
$: {
version: '1.1',
creator: 'dyomedea version 0.000002',
xmlns: 'http://www.topografix.com/GPX/1/1',
'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',
'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 http://www.garmin.com/xmlschemas/WaypointExtension/v1 http://www8.garmin.com/xmlschemas/WaypointExtensionv1.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd',
'xmlns:gpxx': 'http://www.garmin.com/xmlschemas/GpxExtensions/v3',
'xmlns:wptx1': 'http://www.garmin.com/xmlschemas/WaypointExtension/v1',
'xmlns:gpxtpx': 'http://www.garmin.com/xmlschemas/TrackPointExtension/v1',
'xmlns:dyo': 'http://xmlns.dyomedea.com/',
},
metadata: {
2022-11-07 16:04:02 +00:00
name: '',
desc: '',
author: '',
copyright: '',
link: '',
time: '',
keywords: '',
bounds: '',
extensions: '',
},
2022-11-07 16:04:02 +00:00
wpt: [],
rte: [],
trk: [],
extensions: '',
};
export const putNewGpx = (id: string) => {
const uri = getUri('gpx', { gpx: id });
const gpx = cloneDeep(emptyGpx);
gpx.metadata!.time = new Date(Date.now()).toISOString();
db.put({ _id: uri, type: 'gpx', doc: gpx });
};