updated existing api calls
This commit is contained in:
parent
ade15fdfdc
commit
c74a7490d9
12 changed files with 1509 additions and 698 deletions
|
|
@ -8,18 +8,19 @@ import { AxiosResponse } from "axios";
|
|||
import { useGlobalState } from "providers";
|
||||
import moment from "moment";
|
||||
import { or } from "utils/types";
|
||||
import { reject, result } from "lodash";
|
||||
|
||||
export interface IDeviceAPIContext {
|
||||
add: (name: string, description: string, backpack: pond.BackpackSettings) => Promise<any>;
|
||||
update: (id: number, settings: pond.DeviceSettings) => Promise<any>;
|
||||
remove: (id: number) => Promise<any>;
|
||||
get: (id: number | string, demo?: boolean, keys?: string[], types?: string[]) => Promise<any>;
|
||||
add: (name: string, description: string, backpack: pond.BackpackSettings) => Promise<AxiosResponse<pond.AddDeviceResponse>>;
|
||||
update: (id: number, settings: pond.DeviceSettings) => Promise<AxiosResponse<pond.UpdateDeviceResponse>>;
|
||||
remove: (id: number) => Promise<AxiosResponse<pond.RemoveDeviceResponse>>;
|
||||
get: (id: number | string, demo?: boolean, keys?: string[], types?: string[]) => Promise<AxiosResponse<pond.Device>>
|
||||
getPageData: (
|
||||
id: number | string,
|
||||
keys?: string[],
|
||||
types?: string[]
|
||||
) => Promise<AxiosResponse<pond.GetDevicePageDataResponse>>;
|
||||
getMulti: (ids: number[] | string[]) => Promise<any>;
|
||||
getMulti: (ids: number[] | string[]) => Promise<AxiosResponse<pond.GetMultiDeviceResponse>>;
|
||||
getGeoJson: (id: number | string, demo?: boolean) => Promise<any>;
|
||||
getMultiGeoJson: (ids: number[] | string[]) => Promise<any>;
|
||||
list: (
|
||||
|
|
@ -66,7 +67,7 @@ export interface IDeviceAPIContext {
|
|||
preferences: pond.DeviceComponentPreferences,
|
||||
keys?: string[],
|
||||
types?: string[]
|
||||
) => Promise<any>;
|
||||
) => Promise<AxiosResponse<pond.UpdateDeviceComponentPreferencesResponse>>;
|
||||
listDeviceComponentPreferences: (
|
||||
id: number | string,
|
||||
keys?: string[],
|
||||
|
|
@ -77,7 +78,7 @@ export interface IDeviceAPIContext {
|
|||
status: pond.DeviceStatus,
|
||||
keys?: string[],
|
||||
types?: string[]
|
||||
) => Promise<any>;
|
||||
) => Promise<AxiosResponse<pond.UpdateDeviceStatusResponse>>;
|
||||
sync: (id: number) => Promise<any>;
|
||||
clearPending: (id: number) => Promise<any>;
|
||||
pause: (id: number) => Promise<any>;
|
||||
|
|
@ -149,8 +150,16 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
const [{ as, team }] = useGlobalState();
|
||||
|
||||
const add = (name: string, description: string, backpack: pond.BackpackSettings) => {
|
||||
if (as) return post(pondURL("/devices?as=" + as), { name, description, backpack });
|
||||
return post(pondURL("/devices"), { name, description, backpack });
|
||||
let url = pondURL("/devices")
|
||||
if (as) url = pondURL("/devices?as=" + as)
|
||||
return new Promise<AxiosResponse<pond.AddDeviceResponse>>((resolve, reject) => {
|
||||
post<pond.AddDeviceResponse>(url, { name, description, backpack }).then(resp => {
|
||||
resp.data = pond.AddDeviceResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getDevice = (
|
||||
|
|
@ -159,42 +168,43 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
if (as && !(types && types.length > 0 && types[0] === "team"))
|
||||
return get(
|
||||
pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"?as=" +
|
||||
as +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : ""),
|
||||
demo
|
||||
)
|
||||
);
|
||||
const url = pondURL(
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
(keys ? "?keys=" + keys.toString() : "") +
|
||||
id +
|
||||
(as ? "?as=" + as : "") +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : ""),
|
||||
demo
|
||||
);
|
||||
return get(url);
|
||||
return new Promise<AxiosResponse<pond.Device>>((resolve, response) => {
|
||||
get<pond.Device>(url).then(resp => {
|
||||
resp.data = pond.Device.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const statistics = (
|
||||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
let url = pondURL("/deviceStatistics");
|
||||
if (types && types.length > 0 && types[0] === "team")
|
||||
return get(
|
||||
pondURL(
|
||||
"/deviceStatistics/" +
|
||||
(keys ? "?keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
);
|
||||
const url = pondURL("/deviceStatistics");
|
||||
return get<pond.GetDeviceStatisticsResponse>(url);
|
||||
url = pondURL(
|
||||
"/deviceStatistics/" +
|
||||
(keys ? "?keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
return new Promise<AxiosResponse<pond.GetDeviceStatisticsResponse>>((resolve, reject) => {
|
||||
get<pond.GetDeviceStatisticsResponse>(url).then(resp => {
|
||||
resp.data = pond.GetDeviceStatisticsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getDevicePageData = (
|
||||
|
|
@ -202,30 +212,42 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
): Promise<AxiosResponse<pond.GetDevicePageDataResponse>> => {
|
||||
if (as && !(types && types.length > 0 && types[0] === "team"))
|
||||
return get(
|
||||
pondURL(
|
||||
"/devicePageData/" +
|
||||
id +
|
||||
"?as=" +
|
||||
as +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
);
|
||||
const url = pondURL(
|
||||
let url = pondURL(
|
||||
"/devicePageData/" +
|
||||
id +
|
||||
(keys ? "?keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
);
|
||||
return get<pond.GetDevicePageDataResponse>(url);
|
||||
if (as && !(types && types.length > 0 && types[0] === "team")) {
|
||||
pondURL(
|
||||
"/devicePageData/" +
|
||||
id +
|
||||
"?as=" +
|
||||
as +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
}
|
||||
return new Promise<AxiosResponse<pond.GetDevicePageDataResponse>>((resolve, reject) => {
|
||||
get<pond.GetDevicePageDataResponse>(url).then(resp => {
|
||||
resp.data = pond.GetDevicePageDataResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getDeviceGeoJSON = (id: number | string, demo: boolean = false) => {
|
||||
if (as) return get(pondURL("/devices/" + id + "/geojson?as=" + as, demo));
|
||||
const url = pondURL("/devices/" + id + "/geojson", demo);
|
||||
return get(url);
|
||||
let url = pondURL("/devices/" + id + "/geojson", demo);
|
||||
if (as) url = pondURL("/devices/" + id + "/geojson?as=" + as, demo)
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(url).catch(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getMulti = (ids: number[] | string[]) => {
|
||||
|
|
@ -237,8 +259,15 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
idString = idString + "," + id;
|
||||
}
|
||||
});
|
||||
if (as) return get(pondURL("/multidevices?devices=" + idString + "&as=" + as));
|
||||
return get(pondURL("/multidevices?devices=" + idString));
|
||||
let url = pondURL("/multidevices?devices=" + idString + (as ? "&as=" + as : ""))
|
||||
return new Promise<AxiosResponse<pond.GetMultiDeviceResponse>>((resolve, reject) => {
|
||||
get<pond.GetMultiDeviceResponse>(url).then(resp => {
|
||||
resp.data = pond.GetMultiDeviceResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getMultiDevicesGeoJSON = (ids: number[] | string[]) => {
|
||||
|
|
@ -250,8 +279,14 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
idString = idString + "," + id;
|
||||
}
|
||||
});
|
||||
if (as) return get(pondURL("/geojson/devices?devices=" + idString + "&as=" + as));
|
||||
return get(pondURL("/geojson/devices?devices=" + idString));
|
||||
let url = pondURL("/geojson/devices?devices=" + idString + (as ? "&as=" + as : ""))
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(url).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const list = (
|
||||
|
|
@ -288,7 +323,14 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
);
|
||||
return get<pond.ListDevicesResponse>(url);
|
||||
return new Promise<AxiosResponse<pond.ListDevicesResponse>>((resolve, reject)=>{
|
||||
get<pond.ListDevicesResponse>(url).then(resp => {
|
||||
resp.data = pond.ListDevicesResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
});
|
||||
})
|
||||
};
|
||||
|
||||
const listForUser = (
|
||||
|
|
@ -307,45 +349,83 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
);
|
||||
return get<pond.ListDevicesResponse>(url);
|
||||
return new Promise<AxiosResponse<pond.ListDevicesResponse>>((resolve, reject) => {
|
||||
get<pond.ListDevicesResponse>(url).then(resp => {
|
||||
resp.data = pond.ListDevicesResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const remove = (id: number) => {
|
||||
if (as) return del(pondURL("/devices/" + id + "?as=" + as));
|
||||
const url = pondURL("/devices/" + id);
|
||||
return del(url);
|
||||
const url = pondURL("/devices/" + id + (as ? "?as=" + as : ""))
|
||||
return new Promise<AxiosResponse<pond.RemoveDeviceResponse>>((resolve, reject) => {
|
||||
del<pond.RemoveDeviceResponse>(url).then(resp => {
|
||||
resp.data = pond.RemoveDeviceResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const update = (id: number, settings: pond.DeviceSettings) => {
|
||||
if (as) return put(pondURL(`/devices/${id}/update?as=${as}`), settings);
|
||||
const url = pondURL("/devices/" + id + "/update");
|
||||
return put(url, settings);
|
||||
const url = pondURL("/devices/" + id + "/update" + (as ? "?as=" + as : ""));
|
||||
return new Promise<AxiosResponse<pond.UpdateDeviceResponse>>((resolve, reject) => {
|
||||
put<pond.UpdateDeviceResponse>(url, settings).then(resp => {
|
||||
resp.data = pond.UpdateDeviceResponse.fromObject(resp)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const claim = (id: number | Long, body: any) => {
|
||||
return put(pondURL("/devices/" + id), body);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(pondURL("/devices/" + id), body).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listHistory = (id: number, limit: number, offset: number) => {
|
||||
return get(pondURL("/devices/" + id + "/history?limit=" + limit + "&offset=" + offset));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(pondURL("/devices/" + id + "/history?limit=" + limit + "&offset=" + offset)).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listCompleteHistory = (
|
||||
id: number,
|
||||
limit: number,
|
||||
offset: number,
|
||||
filters?: pond.ObjectType[]
|
||||
) => {
|
||||
return get<pond.ListCompleteHistoryResponse>(
|
||||
pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/completehistory?limit=" +
|
||||
limit +
|
||||
"&offset=" +
|
||||
offset +
|
||||
(filters ? "&sources=" + filters.toString() : "")
|
||||
)
|
||||
);
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/completehistory?limit=" +
|
||||
limit +
|
||||
"&offset=" +
|
||||
offset +
|
||||
(filters ? "&sources=" + filters.toString() : "")
|
||||
)
|
||||
return new Promise<AxiosResponse<pond.ListCompleteHistoryResponse>>((resolve, reject) => {
|
||||
get<pond.ListCompleteHistoryResponse>(url).then(resp => {
|
||||
resp.data = pond.ListCompleteHistoryResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateDevicePermissions = (id: number | string, users: User[]) => {
|
||||
|
|
@ -358,18 +438,22 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
return put(
|
||||
pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/preferences" +
|
||||
"?as=" +
|
||||
or(as, "") +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
),
|
||||
preferences
|
||||
);
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/preferences" +
|
||||
"?as=" +
|
||||
or(as, "") +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(url,preferences).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateComponentPreferences = (
|
||||
|
|
@ -379,20 +463,25 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
return put(
|
||||
pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/components/" +
|
||||
component +
|
||||
"/componentPreferences" +
|
||||
"?as=" +
|
||||
as +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
),
|
||||
preferences
|
||||
);
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/components/" +
|
||||
component +
|
||||
"/componentPreferences" +
|
||||
"?as=" +
|
||||
as +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
return new Promise<AxiosResponse<pond.UpdateDeviceComponentPreferencesResponse>>((resolve, reject) => {
|
||||
put<pond.UpdateDeviceComponentPreferencesResponse>(url, preferences).then(resp => {
|
||||
resp.data = pond.UpdateDeviceComponentPreferencesResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listDeviceComponentPreferences = (
|
||||
|
|
@ -400,16 +489,22 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
return get<pond.ListDeviceComponentPreferencesResponse>(
|
||||
pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/componentPreferences?as=" +
|
||||
as +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
);
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/componentPreferences?as=" +
|
||||
as +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
return new Promise<AxiosResponse<pond.ListDeviceComponentPreferencesResponse>>((resolve, reject) => {
|
||||
get<pond.ListDeviceComponentPreferencesResponse>(url).then(resp => {
|
||||
resp.data = pond.ListDeviceComponentPreferencesResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateStatus = (
|
||||
|
|
@ -418,52 +513,93 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
return put(
|
||||
pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/updateStatus" +
|
||||
"?as=" +
|
||||
as +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
),
|
||||
status
|
||||
);
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/updateStatus" +
|
||||
"?as=" +
|
||||
as +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
return new Promise<AxiosResponse<pond.UpdateDeviceStatusResponse>>((resolve, reject) => {
|
||||
put<pond.UpdateDeviceStatusResponse>(url, status).then(resp => {
|
||||
resp.data = pond.UpdateDeviceStatusResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const sync = (id: number) => {
|
||||
return post(pondURL("/devices/" + id + "/sync"), {});
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(pondURL("/devices/" + id + "/sync"), {}).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const clearPending = (id: number) => {
|
||||
return post(pondURL("/devices/" + id + "/clearPending"), {});
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(pondURL("/devices/" + id + "/clearPending"), {}).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const pause = (id: number) => {
|
||||
return post(pondURL("/devices/" + id + "/pause"), {});
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(pondURL("/devices/" + id + "/pause"), {}).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const bulkPause = (ids: number[], setPaused: boolean) => {
|
||||
return post<pond.BulkPauseDeviceResponse>(
|
||||
pondURL(
|
||||
"/bulkPauseDevices?ids=" +
|
||||
ids.toString() +
|
||||
(setPaused ? "&pause=" + setPaused.toString() : "")
|
||||
),
|
||||
{}
|
||||
);
|
||||
let url = pondURL(
|
||||
"/bulkPauseDevices?ids=" +
|
||||
ids.toString() +
|
||||
(setPaused ? "&pause=" + setPaused.toString() : "")
|
||||
)
|
||||
return new Promise<AxiosResponse<pond.BulkPauseDeviceResponse>>((resolve, reject) => {
|
||||
post<pond.BulkPauseDeviceResponse>(url,{}).then(resp => {
|
||||
resp.data = pond.BulkPauseDeviceResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const bulkChangeDataCaps = (ids: number[], newCap: number) => {
|
||||
return post<pond.BulkChangeDataCapsResponse>(
|
||||
pondURL("/bulkChangeDataCap?ids=" + ids.toString() + "&dataCap=" + newCap),
|
||||
{}
|
||||
);
|
||||
return new Promise<AxiosResponse<pond.BulkChangeDataCapsResponse>>((resolve, reject) => {
|
||||
post<pond.BulkChangeDataCapsResponse>(
|
||||
pondURL("/bulkChangeDataCap?ids=" + ids.toString() + "&dataCap=" + newCap),
|
||||
{}
|
||||
).then(resp => {
|
||||
resp.data = pond.BulkChangeDataCapsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const resume = (id: number) => {
|
||||
return post(pondURL("/devices/" + id + "/resume"), {});
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(pondURL("/devices/" + id + "/resume"), {}).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getUpgradeStatus = (id: number, keys?: string[], types?: string[]) => {
|
||||
|
|
@ -472,15 +608,33 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
a = as ? a + "&keys=" + keys + "&types=" + types : "?keys=" + keys + "&types=" + types;
|
||||
}
|
||||
let url = pondURL("/devices/" + id + "/firmware" + a);
|
||||
return get(url);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(url).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const loadBackpack = (id: number, backpack: number) => {
|
||||
return put(pondURL("/devices/" + id + "/load/" + backpack), {});
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(pondURL("/devices/" + id + "/load/" + backpack), {}).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const setTags = (id: number, tags: string[]) => {
|
||||
return put(pondURL("/devices/" + id + "/tags"), { tags });
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(pondURL("/devices/" + id + "/tags"), { tags }).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const setWifi = (
|
||||
|
|
@ -494,31 +648,73 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
if (keys && keys.length > 0 && types && types.length > 0) {
|
||||
a = as ? a + "&keys=" + keys + "&types=" + types : "?keys=" + keys + "&types=" + types;
|
||||
}
|
||||
return put(pondURL("/devices/" + id + "/wifi" + a), { gateway, password });
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(pondURL("/devices/" + id + "/wifi" + a), { gateway, password }).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const tag = (id: number, tag: string) => {
|
||||
return put(pondURL("/devices/" + id + "/tags/" + tag), {});
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(pondURL("/devices/" + id + "/tags/" + tag), {}).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const untag = (id: number, tag: string) => {
|
||||
return del(pondURL("/devices/" + id + "/tags/" + tag));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
del(pondURL("/devices/" + id + "/tags/" + tag)).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getDatacap = (id: number) => {
|
||||
return get(pondURL("/devices/" + id + "/datacap/"));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(pondURL("/devices/" + id + "/datacap/")).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const isOverLimit = (id: number) => {
|
||||
return get(pondURL("/devices/" + id + "/overlimit/"));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(pondURL("/devices/" + id + "/overlimit/")).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const isPaused = (id: number) => {
|
||||
return get(pondURL("/devices/" + id + "/paused/"));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(pondURL("/devices/" + id + "/paused/")).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const setDatacap = (id: number, newCap: number) => {
|
||||
return post(pondURL("/devices/" + id + "/datacap?limit=" + newCap));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(pondURL("/devices/" + id + "/datacap?limit=" + newCap)).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getDataUsage = (id: number, start?: any) => {
|
||||
|
|
@ -527,7 +723,13 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
} else {
|
||||
start = "";
|
||||
}
|
||||
return get(pondURL("/devices/" + id + "/usage/" + start));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(pondURL("/devices/" + id + "/usage/" + start)).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
// const listJSONMeasurements = (
|
||||
|
|
@ -591,26 +793,57 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
// };
|
||||
|
||||
const listSimpleJSON = (device: number) => {
|
||||
return get(pondURL("/devices/" + device + "/measurements/exportSimple"));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(pondURL("/devices/" + device + "/measurements/exportSimple")).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const resetQuackCount = (id: number) => {
|
||||
return post(pondURL("/devices/" + id + "/resetCounts"));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(pondURL("/devices/" + id + "/resetCounts")).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const resetQuackCountTx = (id: number) => {
|
||||
return post(pondURL("/devices/" + id + "/resetCountTx"));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(pondURL("/devices/" + id + "/resetCountTx")).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const resetQuackCountTx1000 = (id: number) => {
|
||||
return post(pondURL("/devices/" + id + "/partialResetCountTx"));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(pondURL("/devices/" + id + "/partialResetCountTx")).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const linearMutation = (id: number, mutation: pond.LinearMutation) => {
|
||||
return post<pond.DeviceLinearMutationResponse>(
|
||||
pondURL("/devices/" + id + "/linearMutation"),
|
||||
mutation
|
||||
);
|
||||
return new Promise<AxiosResponse<pond.DeviceLinearMutationResponse>>((resolve, reject) => {
|
||||
post<pond.DeviceLinearMutationResponse>(
|
||||
pondURL("/devices/" + id + "/linearMutation"),
|
||||
mutation
|
||||
).then(resp => {
|
||||
resp.data = pond.DeviceLinearMutationResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const buyData = (
|
||||
|
|
@ -625,7 +858,13 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
if (source) url = url + "&source=" + source;
|
||||
if (keys) url = url + "&keys=" + keys;
|
||||
if (types) url = url + "&types=" + types;
|
||||
return put(pondURL(url));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(pondURL(url)).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue