45 lines
890 B
TypeScript
45 lines
890 B
TypeScript
|
import getUri from '../lib/ids';
|
||
|
import { putNewGpx } from './gpx';
|
||
|
import { put } from './lib';
|
||
|
|
||
|
export const emptyWpt: Wpt = {
|
||
|
$: { lat: 0, lon: 0 },
|
||
|
ele: undefined,
|
||
|
time: undefined,
|
||
|
magvar: undefined,
|
||
|
geoidheight: undefined,
|
||
|
name: undefined,
|
||
|
cmt: undefined,
|
||
|
desc: undefined,
|
||
|
src: undefined,
|
||
|
link: undefined,
|
||
|
sym: undefined,
|
||
|
type: undefined,
|
||
|
fix: undefined,
|
||
|
sat: undefined,
|
||
|
hdop: undefined,
|
||
|
vdop: undefined,
|
||
|
pdop: undefined,
|
||
|
ageofdgpsdata: undefined,
|
||
|
dgpsid: undefined,
|
||
|
extensions: undefined,
|
||
|
};
|
||
|
|
||
|
export const putNewWpt = async (id?: IdGpx | IdWpt) => {
|
||
|
let finalId = { ...id };
|
||
|
if (!('wpt' in finalId)) {
|
||
|
const gpxId = await putNewGpx(id);
|
||
|
finalId = { ...gpxId, wpt: 0 };
|
||
|
}
|
||
|
const uri = getUri('wpt', finalId);
|
||
|
await put(
|
||
|
uri,
|
||
|
'wpt',
|
||
|
(wpt) => {
|
||
|
return wpt;
|
||
|
},
|
||
|
emptyWpt
|
||
|
);
|
||
|
return finalId as IdWpt;
|
||
|
};
|