Merge branch 'dev_environment' of gitlab.com:brandx/bxt-app into dev_environment
This commit is contained in:
commit
e506906c93
12 changed files with 1509 additions and 698 deletions
|
|
@ -1,3 +1,4 @@
|
|||
import { AxiosResponse } from "axios";
|
||||
import { useHTTP } from "hooks";
|
||||
import { pond } from "protobuf-ts/pond";
|
||||
import { createContext, PropsWithChildren, useContext } from "react";
|
||||
|
|
@ -19,27 +20,58 @@ export default function BackpackProvider(props: PropsWithChildren<any>) {
|
|||
|
||||
const addBackpack = (backpack: pond.Backpack) => {
|
||||
const url = pondURL("/backpacks");
|
||||
return post(url, backpack);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(url, backpack).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
});
|
||||
})
|
||||
};
|
||||
|
||||
const updateBackpack = (backpackID: number | Long, backpack: pond.Backpack) => {
|
||||
const url = pondURL("/backpacks/" + backpackID);
|
||||
return put(url, backpack);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(url, backpack).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
});
|
||||
})
|
||||
};
|
||||
|
||||
const removeBackpack = (backpackID: number | Long) => {
|
||||
const url = pondURL("/backpacks/" + backpackID);
|
||||
return del(url);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
return del(url).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
});
|
||||
})
|
||||
|
||||
};
|
||||
|
||||
const getBackpack = (backpackID: number | Long) => {
|
||||
const url = pondURL("/backpacks/" + backpackID);
|
||||
return get(url);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
return get(url).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
});
|
||||
})
|
||||
};
|
||||
|
||||
const listBackpacks = () => {
|
||||
const url = pondURL("/backpacks");
|
||||
return get(url);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
return get(url).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
});
|
||||
})
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { useHTTP, usePermissionAPI } from "hooks";
|
||||
import { createContext, PropsWithChildren, useContext } from "react";
|
||||
import { pond } from "protobuf-ts/pond";
|
||||
import { or } from "utils/types";
|
||||
import { has, or } from "utils/types";
|
||||
import { User, binScope } from "models";
|
||||
import { pondURL } from "./pond";
|
||||
import { AxiosResponse } from "axios";
|
||||
|
|
@ -35,7 +35,7 @@ export interface IBinAPIContext {
|
|||
component: string,
|
||||
preferences: pond.BinComponentPreferences
|
||||
) => Promise<AxiosResponse<pond.UpdateBinComponentPreferencesResponse>>;
|
||||
getBinPageData: (binKey: string, userKey: string, showErrors?: boolean) => Promise<AxiosResponse>;
|
||||
getBinPageData: (binKey: string, userKey: string, showErrors?: boolean) => Promise<AxiosResponse<pond.GetBinPageDataResponse>>;
|
||||
listBins: (
|
||||
limit: number,
|
||||
offset: number,
|
||||
|
|
@ -131,38 +131,80 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
const [{ as }] = useGlobalState();
|
||||
|
||||
const addBin = (bin: pond.BinSettings) => {
|
||||
if (as) return post<pond.AddBinResponse>(pondURL("/bins?as=" + as), bin);
|
||||
return post<pond.AddBinResponse>(pondURL("/bins"), bin);
|
||||
const url = "/bins" + (as ? "?as=" + as : "")
|
||||
return new Promise<AxiosResponse<pond.AddBinResponse>>((resolve, reject)=>{
|
||||
post<pond.AddBinResponse>(pondURL(url), bin).then(resp => {
|
||||
resp.data = pond.AddBinResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateBin = (key: string, bin: pond.BinSettings) => {
|
||||
if (as) return put<pond.UpdateBinResponse>(pondURL("/bins/" + key + "?as=" + as), bin);
|
||||
return put<pond.UpdateBinResponse>(pondURL("/bins/" + key), bin);
|
||||
const url = "/bins/" + key + (as ? "?as=" + as : "")
|
||||
return new Promise<AxiosResponse<pond.UpdateBinResponse>>((resolve, reject)=>{
|
||||
put<pond.UpdateBinResponse>(pondURL(url), bin).then(resp => {
|
||||
resp.data = pond.UpdateBinResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const bulkBinUpdate = (bins: pond.BinSettings[]) => {
|
||||
if (as)
|
||||
return put<pond.BulkBinUpdateResponse>(pondURL("/bulkBins/update?as=" + as), { bins: bins });
|
||||
return put<pond.BulkBinUpdateResponse>(pondURL("/bulkBins/update"), { bins: bins });
|
||||
let url = "/bulkBins/update"
|
||||
if (as) url = url + "?as=" + as
|
||||
return new Promise<AxiosResponse<pond.BulkBinUpdateResponse>>((resolve, reject)=>{
|
||||
put<pond.BulkBinUpdateResponse>(pondURL(url), { bins: bins }).then(resp => {
|
||||
resp.data = pond.BulkBinUpdateResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateBinStatus = (key: string, binStatus: pond.BinStatus) => {
|
||||
if (as)
|
||||
return put<pond.UpdateBinStatusResponse>(
|
||||
pondURL("/bins/" + key + "/status?as=" + as),
|
||||
binStatus
|
||||
);
|
||||
return put<pond.UpdateBinStatusResponse>(pondURL("/bins/" + key + "/status"), binStatus);
|
||||
let url = "/bins/" + key + "/status"
|
||||
if (as) url = url + "?as=" + as
|
||||
return new Promise<AxiosResponse<pond.UpdateBinStatusResponse>>((resolve, reject)=>{
|
||||
put<pond.UpdateBinStatusResponse>(pondURL(url), binStatus).then(resp=>{
|
||||
resp.data = pond.UpdateBinStatusResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err=>{
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const removeBin = (key: string) => {
|
||||
if (as) return del<pond.RemoveBinResponse>(pondURL("/bins/" + key + "?as=" + as));
|
||||
return del<pond.RemoveBinResponse>(pondURL("/bins/" + key));
|
||||
let url = "/bins/" + key
|
||||
if (as) url = url + "?as=" + as
|
||||
return new Promise<AxiosResponse<pond.RemoveBinResponse>>((resolve, reject) => {
|
||||
del<pond.RemoveBinResponse>(pondURL(url)).then(resp => {
|
||||
resp.data = pond.RemoveBinResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getBin = (key: string) => {
|
||||
if (as) return get<pond.Bin>(pondURL("/bins/" + key + "?as=" + as));
|
||||
return get<pond.Bin>(pondURL("/bins/" + key));
|
||||
const url = "/bins/" + key + (as ? "?as=" + as : "")
|
||||
return new Promise<AxiosResponse<pond.Bin>>((resolve, reject)=>{
|
||||
get<pond.Bin>(pondURL(url))
|
||||
.then(resp => {
|
||||
resp.data = pond.Bin.fromObject(resp.data)
|
||||
resolve(resp)
|
||||
})
|
||||
.catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const addComponent = (
|
||||
|
|
@ -181,19 +223,40 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
} else if (preferences) {
|
||||
url = url + "?binPref=" + preferences.type + "&fillNode=" + preferences.node;
|
||||
}
|
||||
return post<pond.AddBinComponentResponse>(pondURL(url));
|
||||
return new Promise<AxiosResponse<pond.AddBinComponentResponse>>((resolve, reject)=>{
|
||||
post<pond.AddBinComponentResponse>(pondURL(url)).then(resp => {
|
||||
resp.data = pond.AddBinComponentResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const removeComponent = (bin: string, component: string) => {
|
||||
let url = "/bins/" + bin + "/removeComponent/" + component;
|
||||
if (as) url = url + "?as=" + as;
|
||||
return post<pond.RemoveBinComponentResponse>(pondURL(url));
|
||||
return new Promise<AxiosResponse<pond.RemoveBinComponentResponse>>((resolve, reject)=>{
|
||||
post<pond.RemoveBinComponentResponse>(pondURL(url)).then(resp => {
|
||||
resp.data = pond.RemoveBinComponentResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const removeAllComponents = (bin: string) => {
|
||||
let url = "/bins/" + bin + "/removeAllComponents";
|
||||
if (as) url = url + "?as=" + as;
|
||||
return post<pond.RemoveAllBinComponentsResponse>(pondURL(url));
|
||||
return new Promise<AxiosResponse<pond.RemoveAllBinComponentsResponse>>((resolve, reject)=>{
|
||||
post<pond.RemoveAllBinComponentsResponse>(pondURL(url)).then(resp => {
|
||||
resp.data = pond.RemoveAllBinComponentsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateComponentPreferences = (
|
||||
|
|
@ -207,21 +270,33 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
preferences: Object;
|
||||
}
|
||||
let body: request = { preferences: pond.BinComponentPreferences.toObject(preferences) };
|
||||
return put<pond.UpdateBinComponentPreferencesResponse>(pondURL(url), body);
|
||||
return new Promise<AxiosResponse<pond.UpdateBinComponentPreferencesResponse>>((resolve,reject)=>{
|
||||
put<pond.UpdateBinComponentPreferencesResponse>(pondURL(url), body).then(resp => {
|
||||
resp.data = pond.UpdateBinComponentPreferencesResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getBinPageData = (binKey: string, userKey: string, showErrors = true) => {
|
||||
return get(
|
||||
pondURL(
|
||||
"/bins/" +
|
||||
const url = "/bins/" +
|
||||
binKey +
|
||||
"/users/" +
|
||||
userKey +
|
||||
"?as=" +
|
||||
as +
|
||||
(showErrors ? "&showErrors=true" : "&showErrors=false")
|
||||
)
|
||||
);
|
||||
(showErrors ? "?showErrors=true" : "?showErrors=false") +
|
||||
(as ? "&as=" + as : "")
|
||||
return new Promise<AxiosResponse<pond.GetBinPageDataResponse>>((resolve, reject)=>{
|
||||
get<pond.GetBinPageDataResponse>(pondURL(url))
|
||||
.then(resp => {
|
||||
resp.data = pond.GetBinPageDataResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
|
||||
})
|
||||
};
|
||||
|
||||
const listBins = (
|
||||
|
|
@ -236,7 +311,8 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
return get<pond.ListBinsResponse>(
|
||||
return new Promise<AxiosResponse<pond.ListBinsResponse>>((resolve, reject)=>{
|
||||
get<pond.ListBinsResponse>(
|
||||
pondURL(
|
||||
"/bins" +
|
||||
"?limit=" +
|
||||
|
|
@ -252,7 +328,13 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
(keys ? "&keys=" + keys.join(",") : "") +
|
||||
(types ? "&types=" + types.join(",") : "")
|
||||
)
|
||||
);
|
||||
).then(resp => {
|
||||
resp.data = pond.ListBinsResponse.fromObject(resp.data);
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listBinsAndData = (
|
||||
|
|
@ -266,9 +348,7 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
return get<pond.ListBinsAndDataResponse>(
|
||||
pondURL(
|
||||
"/binsAndData" +
|
||||
const url = "/binsAndData" +
|
||||
"?limit=" +
|
||||
limit +
|
||||
"&offset=" +
|
||||
|
|
@ -280,8 +360,15 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
(search ? "&search=" + search : "") +
|
||||
(keys ? "&keys=" + keys.join(",") : "") +
|
||||
(types ? "&types=" + types.join(",") : "")
|
||||
)
|
||||
);
|
||||
|
||||
return new Promise<AxiosResponse<pond.ListBinsAndDataResponse>>((resolve, reject)=>{
|
||||
get<pond.ListBinsAndDataResponse>(pondURL(url)).then(resp => {
|
||||
resp.data = pond.ListBinsAndDataResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listBinStatus = (
|
||||
|
|
@ -293,9 +380,7 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
order?: "asc" | "desc",
|
||||
asRoot?: boolean
|
||||
) => {
|
||||
return get<pond.ListBinStatusResponse>(
|
||||
pondURL(
|
||||
"/bins/" +
|
||||
const url = "/bins/" +
|
||||
key +
|
||||
"/status" +
|
||||
dateRange(startDate, endDate) +
|
||||
|
|
@ -305,12 +390,29 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
offset +
|
||||
("&order=" + or(order, "asc")) +
|
||||
(asRoot ? "&asRoot=" + asRoot.toString() : "")
|
||||
)
|
||||
);
|
||||
return new Promise<AxiosResponse<pond.ListBinStatusResponse>>((resolve, reject)=>{
|
||||
get<pond.ListBinStatusResponse>(
|
||||
pondURL(url)
|
||||
).then(resp => {
|
||||
resp.data = pond.ListBinStatusResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listBinComponents = (key: string) => {
|
||||
return get<pond.ListBinComponentsResponse>(pondURL("/bins/" + key + "/components"));
|
||||
return new Promise<AxiosResponse<pond.ListBinComponentsResponse>>((resolve, reject)=>{
|
||||
get<pond.ListBinComponentsResponse>(pondURL("/bins/" + key + "/components"))
|
||||
.then(resp => {
|
||||
resp.data = pond.ListBinComponentsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
})
|
||||
.catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listBinComponentsMeasurements = (
|
||||
|
|
@ -319,31 +421,54 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
end: string,
|
||||
showErrors = false
|
||||
) => {
|
||||
return get<pond.ListBinComponentsMeasurementsResponse>(
|
||||
pondURL(
|
||||
"/bins/" +
|
||||
let url = "/bins/" +
|
||||
key +
|
||||
"/components/measurements?start=" +
|
||||
start +
|
||||
"&end=" +
|
||||
end +
|
||||
"&as=" +
|
||||
as +
|
||||
(as ? "&as=" + as : "") +
|
||||
(showErrors ? "&showErrors=true" : "&showErrors=false")
|
||||
|
||||
return new Promise<AxiosResponse<pond.ListBinComponentsMeasurementsResponse>>((resolve, reject) => {
|
||||
get<pond.ListBinComponentsMeasurementsResponse>(pondURL(url))
|
||||
.then(resp => {
|
||||
resp.data = pond.ListBinComponentsMeasurementsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
})
|
||||
.catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
}
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
const listHistory = (id: string, limit: number, offset: number) => {
|
||||
return get<pond.ListBinHistoryResponse>(
|
||||
pondURL("/bins/" + id + "/history?limit=" + limit + "&offset=" + offset)
|
||||
);
|
||||
let url = "/bins/" + id + "/history?limit=" + limit + "&offset=" + offset
|
||||
return new Promise<AxiosResponse<pond.ListBinHistoryResponse>>((resolve, reject)=>{
|
||||
get<pond.ListBinHistoryResponse>(
|
||||
pondURL(url)
|
||||
).then(resp => {
|
||||
resp.data = pond.ListBinHistoryResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listHistoryBetween = (id: string, limit: number, start: string, end: string) => {
|
||||
return get<pond.ListBinHistoryResponse>(
|
||||
pondURL("/bins/" + id + "/historyBetween?limit=" + limit + "&start=" + start + "&end=" + end)
|
||||
);
|
||||
let url = "/bins/" + id + "/historyBetween?limit=" + limit + "&start=" + start + "&end=" + end
|
||||
return new Promise<AxiosResponse<pond.ListBinHistoryResponse>>((resolve, reject)=>{
|
||||
get<pond.ListBinHistoryResponse>(
|
||||
pondURL(url)
|
||||
).then(resp => {
|
||||
resp.data = pond.ListBinHistoryResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateBinPermissions = (key: string, users: User[]) => {
|
||||
|
|
@ -351,16 +476,21 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
};
|
||||
|
||||
const getBinMetrics = (search?: string) => {
|
||||
let url = "/metrics/bins" + (search ? "?search=" + search : "")
|
||||
if (as) {
|
||||
if (search)
|
||||
return get<pond.GetBinMetricsResponse>(
|
||||
pondURL("/metrics/bins/?search=" + search + "&as=" + as)
|
||||
);
|
||||
return get<pond.GetBinMetricsResponse>(pondURL("/metrics/bins/?as=" + as));
|
||||
if (search){
|
||||
url = "/metrics/bins/?search=" + search + "&as=" + as
|
||||
}
|
||||
return get<pond.GetBinMetricsResponse>(
|
||||
pondURL("/metrics/bins" + (search ? "?search=" + search : ""))
|
||||
);
|
||||
url = "/metrics/bins/?as=" + as;
|
||||
}
|
||||
return new Promise<AxiosResponse<pond.GetBinMetricsResponse>>((resolve, reject)=>{
|
||||
get<pond.GetBinMetricsResponse>(pondURL(url)).then(resp => {
|
||||
resp.data = pond.GetBinMetricsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listBinLiters = (
|
||||
|
|
@ -373,10 +503,7 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
pressure: string,
|
||||
fan?: string
|
||||
) => {
|
||||
if (as) {
|
||||
return get<pond.ListBinLiterResponse>(
|
||||
pondURL(
|
||||
"/bins/" +
|
||||
const url = "/bins/" +
|
||||
key +
|
||||
"/liters?start=" +
|
||||
start +
|
||||
|
|
@ -391,44 +518,43 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
"&pressure=" +
|
||||
pressure +
|
||||
(fan ? "&fan=" + fan : "") +
|
||||
"&as=" +
|
||||
as
|
||||
)
|
||||
);
|
||||
}
|
||||
return get<pond.ListBinLiterResponse>(
|
||||
pondURL(
|
||||
"/bins/" +
|
||||
key +
|
||||
"/liters?start=" +
|
||||
start +
|
||||
"&end=" +
|
||||
end +
|
||||
"&moisture=" +
|
||||
moisture +
|
||||
"&plenum=" +
|
||||
plenum +
|
||||
"&cable=" +
|
||||
cable +
|
||||
"&pressure=" +
|
||||
pressure +
|
||||
(fan ? "&fan=" + fan : "")
|
||||
)
|
||||
);
|
||||
(as ? "&as=" + as : "")
|
||||
|
||||
return new Promise<AxiosResponse<pond.ListBinLiterResponse>>((resolve, reject)=>{
|
||||
get<pond.ListBinLiterResponse>(pondURL(url))
|
||||
.then(resp => {
|
||||
resp.data = pond.ListBinLiterResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listBinPrefs = (key: string) => {
|
||||
return get<pond.ListBinComponentPreferencesResponse>(
|
||||
pondURL("/bins/" + key + "/componentPreferences?as=" + as)
|
||||
);
|
||||
const url = "/bins/" + key + "/componentPreferences?as=" + as
|
||||
return new Promise<AxiosResponse<pond.ListBinComponentPreferencesResponse>>((resolve, reject)=>{
|
||||
get<pond.ListBinComponentPreferencesResponse>(pondURL(url))
|
||||
.then(resp => {
|
||||
resp.data = pond.ListBinComponentPreferencesResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateTopNodes = (key: string, newTopNodes: pond.NewTopNode[]) => {
|
||||
let body: pond.TopNodeList = pond.TopNodeList.create({ newTopNodes: newTopNodes });
|
||||
return post<pond.UpdateTopNodesResponse>(
|
||||
pondURL("/bins/" + key + "/updateTopNodes" + (as ? "?as=" + as : "")),
|
||||
body
|
||||
);
|
||||
let url = "/bins/" + key + "/updateTopNodes" + (as ? "?as=" + as : "")
|
||||
return new Promise<AxiosResponse<pond.UpdateTopNodesResponse>>((resolve,response) => {
|
||||
post<pond.UpdateTopNodesResponse>(pondURL(url),body).then(resp => {
|
||||
resp.data = pond.UpdateTopNodesResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return response(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listBinMeasurements = (
|
||||
|
|
@ -460,7 +586,15 @@ export default function BinProvider(props: PropsWithChildren<Props>) {
|
|||
(types ? "&types=" + types : "") +
|
||||
(showErrors ? "&showErrors=true" : "&showErrors=false")
|
||||
);
|
||||
return get<pond.ListObjectMeasurementsResponse>(url);
|
||||
return new Promise<AxiosResponse<pond.ListObjectMeasurementsResponse>>((resolve, reject) => {
|
||||
get<pond.ListObjectMeasurementsResponse>(url)
|
||||
.then(resp => {
|
||||
resp.data = pond.ListObjectMeasurementsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ export interface IComponentAPIContext {
|
|||
url: string,
|
||||
componentKey: string
|
||||
) => Promise<any>;
|
||||
add: (device: number, settings: pond.ComponentSettings) => Promise<any>;
|
||||
add: (device: number, settings: pond.ComponentSettings) => Promise<AxiosResponse<pond.AddComponentResponse>>;
|
||||
addMultiComponents: (
|
||||
device: number,
|
||||
components: pond.MultiComponentSettings
|
||||
|
|
@ -28,9 +28,9 @@ export interface IComponentAPIContext {
|
|||
settings: pond.ComponentSettings,
|
||||
keys?: string[],
|
||||
types?: string[]
|
||||
) => Promise<any>;
|
||||
remove: (device: number, component: string, keys?: string[], types?: string[]) => Promise<any>;
|
||||
get: (device: number, component: string, keys?: string[], types?: string[]) => Promise<any>;
|
||||
) => Promise<AxiosResponse<pond.UpdateComponentResponse>>;
|
||||
remove: (device: number, component: string, keys?: string[], types?: string[]) => Promise<AxiosResponse<pond.RemoveComponentResponse>>;
|
||||
get: (device: number, component: string, keys?: string[], types?: string[]) => Promise<AxiosResponse<pond.Component>>;
|
||||
list: (
|
||||
device: number | string,
|
||||
demo?: boolean,
|
||||
|
|
@ -70,7 +70,7 @@ export interface IComponentAPIContext {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => //exportMeasurements?: boolean
|
||||
Promise<any>;
|
||||
Promise<AxiosResponse<pond.ListMeasurementsResponse>>;
|
||||
sampleMeasurements: (
|
||||
device: number | string,
|
||||
component: string,
|
||||
|
|
@ -80,7 +80,7 @@ export interface IComponentAPIContext {
|
|||
demo?: boolean,
|
||||
keys?: string[],
|
||||
types?: string[]
|
||||
) => Promise<any>;
|
||||
) => Promise<AxiosResponse<pond.SampleMeasurementsResponse>>;
|
||||
sampleUnitMeasurements: (
|
||||
device: number | string,
|
||||
component: string,
|
||||
|
|
@ -148,19 +148,29 @@ export default function ComponentProvider(props: PropsWithChildren<Props>) {
|
|||
};
|
||||
|
||||
const addComponent = (device: number, settings: pond.ComponentSettings) => {
|
||||
if (as) return post(pondURL(`/devices/${device}/components?as=${as}`), settings);
|
||||
const url = pondURL("/devices/" + device + "/components?");
|
||||
return post(url, settings);
|
||||
let url = "/devices/" + device + "/components"
|
||||
if (as) url = url + `?as=${as}`
|
||||
return new Promise<AxiosResponse<pond.AddComponentResponse>>((resolve, reject) => {
|
||||
post<pond.AddComponentResponse>(pondURL(url), settings).then(resp => {
|
||||
resp.data = pond.AddComponentResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const addMultiComponents = (device: number, components: pond.MultiComponentSettings) => {
|
||||
if (as)
|
||||
return post<pond.AddMultiComponentsResponse>(
|
||||
pondURL(`/devices/${device}/multiComponents?as=${as}`),
|
||||
components
|
||||
);
|
||||
const url = pondURL("/devices/" + device + "/multiComponents?");
|
||||
return post<pond.AddMultiComponentsResponse>(url, components);
|
||||
let url = "/devices/" + device + "/multiComponents"
|
||||
if (as) url = url + `?as=${as}`
|
||||
return new Promise<AxiosResponse<pond.AddMultiComponentsResponse>>((resolve, reject)=>{
|
||||
post<pond.AddMultiComponentsResponse>(pondURL(url), components).then(resp => {
|
||||
resp.data = pond.AddMultiComponentsResponse.fromObject(resp.data)
|
||||
resolve(resp)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateComponent = (
|
||||
|
|
@ -183,7 +193,14 @@ export default function ComponentProvider(props: PropsWithChildren<Props>) {
|
|||
("&types=" + t) +
|
||||
(as ? "&as=" + as : "")
|
||||
);
|
||||
return put(url, settings);
|
||||
return new Promise<AxiosResponse<pond.UpdateComponentResponse>>((resolve, reject)=>{
|
||||
put<pond.UpdateComponentResponse>(url, settings).then(resp => {
|
||||
resp.data = pond.UpdateComponentResponse.fromObject(resp.data)
|
||||
resolve(resp)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const removeComponent = (
|
||||
|
|
@ -205,7 +222,14 @@ export default function ComponentProvider(props: PropsWithChildren<Props>) {
|
|||
("&types=" + t) +
|
||||
(as ? "&as=" + as : "")
|
||||
);
|
||||
return del(url);
|
||||
return new Promise<AxiosResponse<pond.RemoveComponentResponse>>((resolve, reject) => {
|
||||
del<pond.RemoveComponentResponse>(url).then(resp => {
|
||||
resp.data = pond.RemoveComponentResponse.fromObject(resp)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getComponent = (device: number, component: string, keys?: string[], types?: string[]) => {
|
||||
|
|
@ -222,7 +246,14 @@ export default function ComponentProvider(props: PropsWithChildren<Props>) {
|
|||
("&types=" + t) +
|
||||
(as ? "&as=" + as : "")
|
||||
);
|
||||
return get(url);
|
||||
return new Promise<AxiosResponse<pond.Component>>((resolve, reject) => {
|
||||
get<pond.Component>(url).then(resp => {
|
||||
resp.data = pond.Component.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listComponents = (
|
||||
|
|
@ -250,13 +281,26 @@ export default function ComponentProvider(props: PropsWithChildren<Props>) {
|
|||
(comprehensive ? "&comprehensive=" + comprehensive.toString() : ""),
|
||||
demo
|
||||
);
|
||||
return get<pond.ListComponentsResponse>(url);
|
||||
return new Promise<AxiosResponse<pond.ListComponentsResponse>>((resolve, reject) => {
|
||||
get<pond.ListComponentsResponse>(url).then(resp => {
|
||||
resp.data = pond.ListComponentsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listComponentsForObject = (keys: string[], types: string[]) => {
|
||||
return get<pond.ListComponentsResponse>(
|
||||
pondURL("/components/forObject?keys=" + keys + "&types=" + types + (as ? "&as=" + as : ""))
|
||||
);
|
||||
let url = pondURL("/components/forObject?keys=" + keys + "&types=" + types + (as ? "&as=" + as : ""))
|
||||
return new Promise<AxiosResponse<pond.ListComponentsResponse>>((resolve, reject) => {
|
||||
get<pond.ListComponentsResponse>(url).then(resp => {
|
||||
resp.data = pond.ListComponentsResponse.fromObject(resp.data)
|
||||
resolve(resp)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listComponentCardData = (
|
||||
|
|
@ -284,7 +328,14 @@ export default function ComponentProvider(props: PropsWithChildren<Props>) {
|
|||
(types ? "&types=" + types : "&types=" + ["device"]),
|
||||
demo
|
||||
);
|
||||
return get<pond.ListComponentCardDataResponse>(url);
|
||||
return new Promise<AxiosResponse<pond.ListComponentCardDataResponse>>((resolve,reject)=>{
|
||||
get<pond.ListComponentCardDataResponse>(url).then(resp => {
|
||||
resp.data = pond.ListComponentCardDataResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listHistory = (
|
||||
|
|
@ -295,8 +346,7 @@ export default function ComponentProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
return get<pond.ListComponentHistoryResponse>(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
deviceId +
|
||||
"/components/" +
|
||||
|
|
@ -308,7 +358,14 @@ export default function ComponentProvider(props: PropsWithChildren<Props>) {
|
|||
(keys ? "&keys=" + keys : "&keys=" + [deviceId.toString()]) +
|
||||
(types ? "&types=" + types : "&types=" + ["device"])
|
||||
)
|
||||
);
|
||||
return new Promise<AxiosResponse<pond.ListComponentHistoryResponse>>((resolve,reject) => {
|
||||
get<pond.ListComponentHistoryResponse>(url).then(resp => {
|
||||
resp.data = pond.ListComponentHistoryResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listMeasurements = (
|
||||
|
|
@ -346,7 +403,14 @@ export default function ComponentProvider(props: PropsWithChildren<Props>) {
|
|||
(types ? "&types=" + types : "&types=" + ["device"]),
|
||||
demo
|
||||
);
|
||||
return get(url);
|
||||
return new Promise<AxiosResponse<pond.ListMeasurementsResponse>>((resolve,reject) => {
|
||||
return get<pond.ListMeasurementsResponse>(url).then(resp => {
|
||||
resp.data = pond.ListMeasurementsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const sampleMeasurements = (
|
||||
|
|
@ -373,7 +437,14 @@ export default function ComponentProvider(props: PropsWithChildren<Props>) {
|
|||
(types ? "&types=" + types : "&types=" + ["device"]),
|
||||
demo
|
||||
);
|
||||
return get(url);
|
||||
return new Promise<AxiosResponse<pond.SampleMeasurementsResponse>>((resolve, reject) => {
|
||||
get<pond.SampleMeasurementsResponse>(url).then(resp => {
|
||||
resp.data = pond.SampleMeasurementsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const sampleUnitMeasurements = (
|
||||
|
|
@ -402,7 +473,14 @@ export default function ComponentProvider(props: PropsWithChildren<Props>) {
|
|||
(showErrors ? "&showErrors=true" : "&showErrors=false"),
|
||||
demo
|
||||
);
|
||||
return get<pond.SampleUnitMeasurementsResponse>(url);
|
||||
return new Promise<AxiosResponse<pond.SampleUnitMeasurementsResponse>>((resolve, reject) => {
|
||||
get<pond.SampleUnitMeasurementsResponse>(url).then(resp => {
|
||||
resp.data = pond.SampleUnitMeasurementsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateComponentPreferences = (
|
||||
|
|
@ -421,7 +499,13 @@ export default function ComponentProvider(props: PropsWithChildren<Props>) {
|
|||
(keys ? "?keys=" + keys : "?keys=" + [id.toString()]) +
|
||||
(types ? "&types=" + types : "&types=" + ["device"])
|
||||
);
|
||||
return put(url, preferences);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(url, preferences).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listUnitMeasurements = (
|
||||
|
|
@ -456,7 +540,14 @@ export default function ComponentProvider(props: PropsWithChildren<Props>) {
|
|||
(types ? "&types=" + types : "&types=" + ["device"]) +
|
||||
(showErrors ? "&showErrors=true" : "&showErrors=false")
|
||||
);
|
||||
return get<pond.ListUnitMeasurementsResponse>(url);
|
||||
return new Promise<AxiosResponse<pond.ListUnitMeasurementsResponse>>((resolve,reject) => {
|
||||
get<pond.ListUnitMeasurementsResponse>(url).then(resp => {
|
||||
resp.data = pond.ListUnitMeasurementsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"?as=" +
|
||||
as +
|
||||
(as ? "?as=" + as : "") +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : ""),
|
||||
demo
|
||||
)
|
||||
);
|
||||
const url = pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
(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(
|
||||
url = pondURL(
|
||||
"/deviceStatistics/" +
|
||||
(keys ? "?keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
);
|
||||
const url = pondURL("/deviceStatistics");
|
||||
return get<pond.GetDeviceStatisticsResponse>(url);
|
||||
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,8 +212,13 @@ 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(
|
||||
let url = pondURL(
|
||||
"/devicePageData/" +
|
||||
id +
|
||||
(keys ? "?keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
);
|
||||
if (as && !(types && types.length > 0 && types[0] === "team")) {
|
||||
pondURL(
|
||||
"/devicePageData/" +
|
||||
id +
|
||||
|
|
@ -212,20 +227,27 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
);
|
||||
const url = pondURL(
|
||||
"/devicePageData/" +
|
||||
id +
|
||||
(keys ? "?keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
);
|
||||
return get<pond.GetDevicePageDataResponse>(url);
|
||||
}
|
||||
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,36 +349,67 @@ 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(
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/completehistory?limit=" +
|
||||
|
|
@ -345,7 +418,14 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
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,8 +438,7 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
return put(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/preferences" +
|
||||
|
|
@ -367,9 +446,14 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
or(as, "") +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
),
|
||||
preferences
|
||||
);
|
||||
)
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(url,preferences).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateComponentPreferences = (
|
||||
|
|
@ -379,8 +463,7 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
return put(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/components/" +
|
||||
|
|
@ -390,9 +473,15 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
as +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
),
|
||||
preferences
|
||||
);
|
||||
)
|
||||
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,8 +489,7 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
return get<pond.ListDeviceComponentPreferencesResponse>(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/componentPreferences?as=" +
|
||||
|
|
@ -409,7 +497,14 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
(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,8 +513,7 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
return put(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
id +
|
||||
"/updateStatus" +
|
||||
|
|
@ -427,43 +521,85 @@ export default function DeviceProvider(props: PropsWithChildren<Props>) {
|
|||
as +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
),
|
||||
status
|
||||
);
|
||||
)
|
||||
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(
|
||||
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>(
|
||||
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>(
|
||||
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 (
|
||||
|
|
|
|||
|
|
@ -72,10 +72,15 @@ export default function GateProvider(props: PropsWithChildren<Props>) {
|
|||
const [{ as }] = useGlobalState();
|
||||
|
||||
const addGate = (name: string, settings: pond.GateSettings) => {
|
||||
if (as) {
|
||||
return post<pond.AddGateResponse>(pondURL("/gates?name=" + name + "&as=" + as), settings);
|
||||
}
|
||||
return post<pond.AddGateResponse>(pondURL("/gates?name=" + name + "&as=" + as), settings);
|
||||
let url = pondURL("/gates?name=" + name + (as ? "&as=" + as : ""))
|
||||
return new Promise<AxiosResponse<pond.AddGateResponse>>((resolve, reject) => {
|
||||
post<pond.AddGateResponse>(url, settings).then(resp => {
|
||||
resp.data = pond.AddGateResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listGates = (
|
||||
|
|
@ -93,8 +98,7 @@ export default function GateProvider(props: PropsWithChildren<Props>) {
|
|||
let asText = "";
|
||||
if (as) asText = "&as=" + as;
|
||||
if (specificUser) asText = "&as=" + specificUser;
|
||||
return get<pond.ListGatesResponse>(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/gates?limit=" +
|
||||
limit +
|
||||
"&offset=" +
|
||||
|
|
@ -108,38 +112,62 @@ export default function GateProvider(props: PropsWithChildren<Props>) {
|
|||
(types ? "&types=" + types.toString() : "") +
|
||||
asText
|
||||
)
|
||||
);
|
||||
return new Promise<AxiosResponse<pond.ListGatesResponse>>((resolve, reject) => {
|
||||
get<pond.ListGatesResponse>(url).then(resp => {
|
||||
resp.data = pond.ListGatesResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateGate = (key: string, name: string, settings: pond.GateSettings) => {
|
||||
if (as) {
|
||||
return put<pond.UpdateGateResponse>(
|
||||
pondURL("/gates/" + key + "?as=" + as + "&name=" + name),
|
||||
settings
|
||||
);
|
||||
}
|
||||
return put<pond.UpdateGateResponse>(pondURL("/gates/" + key + "?name=" + name), settings);
|
||||
let url = pondURL("/gates/" + key + "?name=" + name + (as ? "&as=" + as : ""))
|
||||
return new Promise<AxiosResponse<pond.UpdateGateResponse>>((resolve, reject) => {
|
||||
put<pond.UpdateGateResponse>(url, settings).then(resp => {
|
||||
resp.data = pond.UpdateGateResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const removeGate = (key: string) => {
|
||||
if (as) {
|
||||
return del<pond.RemoveGateResponse>(pondURL("/gates/" + key + "?as=" + as));
|
||||
}
|
||||
return del<pond.RemoveGateResponse>(pondURL("/gates/" + key + "?as=" + as));
|
||||
let url = pondURL("/gates/" + key + (as ? "?as=" + as : ""))
|
||||
return new Promise<AxiosResponse<pond.RemoveGateResponse>>((resolve, reject) => {
|
||||
del<pond.RemoveGateResponse>(url).then(resp => {
|
||||
resp.data = pond.RemoveGateResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getGate = (key: string) => {
|
||||
if (as) {
|
||||
return get<pond.GetGateResponse>(pondURL("/gates/" + key + "?as=" + as));
|
||||
}
|
||||
return get<pond.GetGateResponse>(pondURL("/gates/" + key));
|
||||
let url = pondURL("/gates/" + key + (as ? "?as=" + as : ""))
|
||||
return new Promise<AxiosResponse<pond.GetGateResponse>>((resolve, reject) => {
|
||||
get<pond.GetGateResponse>(url).then(resp => {
|
||||
resp.data = pond.GetGateResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getGatePageData = (key: string) => {
|
||||
if (as) {
|
||||
return get<pond.GetGatePageDataResponse>(pondURL("/gatePage/" + key + "?as=" + as));
|
||||
}
|
||||
return get<pond.GetGatePageDataResponse>(pondURL("/gatePage/" + key));
|
||||
let url = pondURL("/gatePage/" + key + (as ? "?as=" + as : ""))
|
||||
return new Promise<AxiosResponse<pond.GetGatePageDataResponse>>((resolve, reject) => {
|
||||
get<pond.GetGatePageDataResponse>(url).then(resp => {
|
||||
resp.data = pond.GetGatePageDataResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateLink = (
|
||||
|
|
@ -149,21 +177,21 @@ export default function GateProvider(props: PropsWithChildren<Props>) {
|
|||
objectType: string,
|
||||
permissions: string[]
|
||||
) => {
|
||||
if (as)
|
||||
return post(pondURL(`/gates/` + parentID + `/link?as=${as}`), {
|
||||
let url = pondURL(`/gates/` + parentID + "/link" + (as ? `?as=${as}` : ""))
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(url, {
|
||||
Key: objectID,
|
||||
Type: objectType,
|
||||
Parent: parentID,
|
||||
ParentType: parentType,
|
||||
Permissions: permissions
|
||||
});
|
||||
return post(pondURL(`/gates/` + parentID + `/link`), {
|
||||
Key: objectID,
|
||||
Type: objectType,
|
||||
Parent: parentID,
|
||||
ParentType: parentType,
|
||||
Permissions: permissions
|
||||
});
|
||||
}).then(resp => {
|
||||
resolve(resp)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
|
||||
};
|
||||
|
||||
const updatePrefs = (
|
||||
|
|
@ -174,9 +202,7 @@ export default function GateProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
if (as) {
|
||||
return put<pond.UpdateGatePreferencesResponse>(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
`/gatePrefs/` +
|
||||
gateKey +
|
||||
"?childType=" +
|
||||
|
|
@ -185,27 +211,18 @@ export default function GateProvider(props: PropsWithChildren<Props>) {
|
|||
childKey +
|
||||
"&gatePreference=" +
|
||||
gatePref +
|
||||
`&as=` +
|
||||
as +
|
||||
(as ? `&as=` + as : "") +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
);
|
||||
}
|
||||
return put<pond.UpdateGatePreferencesResponse>(
|
||||
pondURL(
|
||||
`/gatePrefs/` +
|
||||
gateKey +
|
||||
"?childType=" +
|
||||
childType +
|
||||
"&childKey=" +
|
||||
childKey +
|
||||
"&gatePreference=" +
|
||||
gatePref +
|
||||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
);
|
||||
return new Promise<AxiosResponse<pond.UpdateGatePreferencesResponse>>((resolve, reject) => {
|
||||
put<pond.UpdateGatePreferencesResponse>(url).then(resp => {
|
||||
resp.data = pond.UpdateGatePreferencesResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listGateAirflow = (
|
||||
|
|
@ -218,8 +235,7 @@ export default function GateProvider(props: PropsWithChildren<Props>) {
|
|||
keys?: string[],
|
||||
types?: string[]
|
||||
) => {
|
||||
return get<pond.ListGateAirflowResponse>(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/gates/" +
|
||||
gate +
|
||||
"/airflow?device=" +
|
||||
|
|
@ -236,13 +252,26 @@ export default function GateProvider(props: PropsWithChildren<Props>) {
|
|||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
)
|
||||
);
|
||||
return new Promise<AxiosResponse<pond.ListGateAirflowResponse>>((resolve, reject) => {
|
||||
get<pond.ListGateAirflowResponse>(url).then(resp => {
|
||||
resp.data = pond.ListGateAirflowResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listGateMeasurements = (key: string, start: string, end: string) => {
|
||||
return get<pond.ListGateMeasurementsResponse>(
|
||||
pondURL("/gates/" + key + "/measurements?start=" + start + "&end=" + end + "&as=" + as)
|
||||
);
|
||||
let url = pondURL("/gates/" + key + "/measurements?start=" + start + "&end=" + end + "&as=" + as)
|
||||
return new Promise<AxiosResponse<pond.ListGateMeasurementsResponse>>((resolve, reject) => {
|
||||
get<pond.ListGateMeasurementsResponse>(url).then(resp => {
|
||||
resp.data = pond.ListGateMeasurementsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ export interface IGroupAPIContext {
|
|||
asRoot?: boolean,
|
||||
keys?: string[],
|
||||
types?: string[],
|
||||
) => Promise<any>;
|
||||
) => Promise<AxiosResponse<pond.ListGroupsResponse>>;
|
||||
listGroupDevices: (
|
||||
id: number,
|
||||
limit: number,
|
||||
|
|
@ -53,35 +53,75 @@ export default function GroupProvider(props: PropsWithChildren<Props>) {
|
|||
const [{ as }] = useGlobalState();
|
||||
|
||||
const addGroup = (group: pond.GroupSettings) => {
|
||||
if (as) return post(pondURL("/groups?as=" + as), group);
|
||||
return post(pondURL("/groups"), group);
|
||||
let url = pondURL("/groups")
|
||||
if (as) url = pondURL("/groups?as=" + as)
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(url, group).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const addDevice = (group: number, device: number) => {
|
||||
let url = "/groups/" + group + "/devices/" + device + "/add";
|
||||
if (as) return post(pondURL(url + as), group);
|
||||
return post(pondURL(url), group);
|
||||
if (as) url = pondURL(url + as)
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(pondURL(url), group).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const removeDevice = (group: number, device: number) => {
|
||||
let url = "/groups/" + group + "/devices/" + device + "/remove";
|
||||
if (as) return post(pondURL(url + as), group);
|
||||
return post(pondURL(url), group);
|
||||
if (as) url = pondURL(url + as)
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(pondURL(url), group).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateGroup = (id: number, group: pond.GroupSettings) => {
|
||||
if (as) return put(pondURL("/groups/" + id + "?as=" + as), group);
|
||||
return put(pondURL("/groups/" + id), group);
|
||||
let url = pondURL("/groups/" + id)
|
||||
if (as) url = pondURL("/groups/" + id + "?as=" + as)
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(url, group).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const removeGroup = (id: number) => {
|
||||
if (as) return del(pondURL("/groups/" + id + "?as=" + as));
|
||||
return del(pondURL("/groups/" + id));
|
||||
let url = pondURL("/groups/" + id)
|
||||
if (as) url = pondURL("/groups/" + id + "?as=" + as)
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
del(url).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getGroup = (id: number) => {
|
||||
let url = pondURL("/groups/" + id)
|
||||
if (as) return get(pondURL("/groups/" + id + "?as=" + as));
|
||||
return get(pondURL("/groups/" + id));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(url).then(resp => {
|
||||
resolve(resp)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getGroupAndPermissions = (
|
||||
|
|
@ -102,7 +142,14 @@ export default function GroupProvider(props: PropsWithChildren<Props>) {
|
|||
(keys ? "?keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
}
|
||||
return get<pond.GetGroupAndPermissionsResponse>(pondURL(url));
|
||||
return new Promise<AxiosResponse<pond.GetGroupAndPermissionsResponse>>((resolve, reject) => {
|
||||
get<pond.GetGroupAndPermissionsResponse>(pondURL(url)).then(resp => {
|
||||
resp.data = pond.GetGroupAndPermissionsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getGroupPermissions = (
|
||||
|
|
@ -148,12 +195,11 @@ export default function GroupProvider(props: PropsWithChildren<Props>) {
|
|||
types = types? types : getContextTypes();
|
||||
types.forEach((type, index) => {
|
||||
if (type === "group") {
|
||||
types.splice(index, 1)
|
||||
keys.splice(index, 1)
|
||||
types && types.splice(index, 1)
|
||||
keys && keys.splice(index, 1)
|
||||
}
|
||||
})
|
||||
return get(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/groups" +
|
||||
"?limit=" +
|
||||
limit +
|
||||
|
|
@ -167,7 +213,14 @@ export default function GroupProvider(props: PropsWithChildren<Props>) {
|
|||
(keys.length > 0 ? "&keys=" + keys : "") +
|
||||
(types.length > 0 ? "&types=" + types : "")
|
||||
)
|
||||
);
|
||||
return new Promise<AxiosResponse<pond.ListGroupsResponse>>((resolve, reject) => {
|
||||
get<pond.ListGroupsResponse>(url).then(resp => {
|
||||
resp.data = pond.ListGroupsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listGroupDevices = (
|
||||
|
|
@ -178,8 +231,7 @@ export default function GroupProvider(props: PropsWithChildren<Props>) {
|
|||
search?: string,
|
||||
comprehensive: boolean = false
|
||||
) => {
|
||||
return get<pond.GetMultiDeviceResponse>(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/groups/" +
|
||||
id +
|
||||
"/devices?limit=" +
|
||||
|
|
@ -192,7 +244,14 @@ export default function GroupProvider(props: PropsWithChildren<Props>) {
|
|||
(comprehensive ? "&comprehensive=" + comprehensive.toString() : "") +
|
||||
(as ? "&as=" + as.toString() : "")
|
||||
)
|
||||
);
|
||||
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 updateGroupPermissions = (id: number, users: User[]) => {
|
||||
|
|
|
|||
|
|
@ -10,19 +10,19 @@ import { has } from "utils/types";
|
|||
import { pondURL } from "./pond";
|
||||
|
||||
export interface IInteractionsAPIContext {
|
||||
addInteraction: (device: number, settings: pond.IInteractionSettings) => Promise<any>;
|
||||
addMultiInteractions: (device: number, settings: pond.MultiInteractionSettings) => Promise<any>;
|
||||
addInteraction: (device: number, settings: pond.IInteractionSettings) => Promise<AxiosResponse<pond.AddInteractionResponse>>;
|
||||
addMultiInteractions: (device: number, settings: pond.MultiInteractionSettings) => Promise<AxiosResponse<pond.AddMultiInteractionsResponse>>;
|
||||
addInteractionToComponents: (
|
||||
fullComponentLocations: string[],
|
||||
settings: pond.IInteractionSettings
|
||||
) => Promise<AxiosResponse<pond.AddInteractionToComponentsResponse>>;
|
||||
updateInteraction: (device: number, settings: pond.IInteractionSettings) => Promise<any>;
|
||||
updateInteraction: (device: number, settings: pond.IInteractionSettings) => Promise<AxiosResponse<pond.UpdateInteractionResponse>>;
|
||||
updateInteractionPondSettings: (
|
||||
device: number,
|
||||
interaction: string,
|
||||
settings: pond.IInteractionPondSettings
|
||||
) => Promise<any>;
|
||||
removeInteraction: (device: number, interaction: string) => Promise<any>;
|
||||
) => Promise<AxiosResponse<pond.UpdateInteractionPondSettingsResponse>>;
|
||||
removeInteraction: (device: number, interaction: string) => Promise<AxiosResponse<pond.RemoveInteractionResponse>>;
|
||||
listInteractionsByDevice: (device: number | string, demo?: boolean) => Promise<Interaction[]>;
|
||||
listInteractionsByComponent: (
|
||||
device: number,
|
||||
|
|
@ -59,10 +59,17 @@ export default function InteractionProvider(props: PropsWithChildren<Props>) {
|
|||
const [{ as }] = useGlobalState();
|
||||
|
||||
const addInteraction = (device: number, settings: pond.IInteractionSettings) => {
|
||||
return post(
|
||||
return new Promise<AxiosResponse<pond.AddInteractionResponse>>((resolve, reject) => {
|
||||
post<pond.AddInteractionResponse>(
|
||||
pondURL("/devices/" + device + "/interactions" + (as ? "?as=" + as : "")),
|
||||
sanitizeInteraction(settings)
|
||||
);
|
||||
).then(resp => {
|
||||
resp.data = pond.AddInteractionResponse.fromObject(resp)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -75,27 +82,36 @@ export default function InteractionProvider(props: PropsWithChildren<Props>) {
|
|||
fullComponentLocations: string[],
|
||||
settings: pond.IInteractionSettings
|
||||
) => {
|
||||
return post<pond.AddInteractionToComponentsResponse>(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/interactions/forComponents/" +
|
||||
"?componentIds=" +
|
||||
fullComponentLocations.toString() +
|
||||
(as ? "&as=" + as : "")
|
||||
),
|
||||
sanitizeInteraction(settings)
|
||||
);
|
||||
)
|
||||
return new Promise<AxiosResponse<pond.AddInteractionToComponentsResponse>>((resolve, reject) => {
|
||||
post<pond.AddInteractionToComponentsResponse>(url,sanitizeInteraction(settings)).then(resp => {
|
||||
resp.data = pond.AddInteractionToComponentsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const addMultiInteractions = (device: number, settings: pond.MultiInteractionSettings) => {
|
||||
return post(
|
||||
pondURL("/devices/" + device + "/interactions/multi" + (as ? "?as=" + as : "")),
|
||||
settings
|
||||
);
|
||||
let url = pondURL("/devices/" + device + "/interactions/multi" + (as ? "?as=" + as : ""))
|
||||
return new Promise<AxiosResponse<pond.AddMultiInteractionsResponse>>((resolve, reject) => {
|
||||
post<pond.AddMultiInteractionsResponse>(url,settings).then(resp => {
|
||||
resp.data = pond.AddMultiInteractionsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateInteraction = (device: number, settings: pond.IInteractionSettings) => {
|
||||
return put(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
device +
|
||||
"/interactions?keys=" +
|
||||
|
|
@ -103,9 +119,15 @@ export default function InteractionProvider(props: PropsWithChildren<Props>) {
|
|||
"&types=" +
|
||||
["device"] +
|
||||
(as ? "&as=" + as : "")
|
||||
),
|
||||
sanitizeInteraction(settings)
|
||||
);
|
||||
)
|
||||
return new Promise<AxiosResponse<pond.UpdateInteractionResponse>>((resolve, reject) => {
|
||||
put<pond.UpdateInteractionResponse>(url,sanitizeInteraction(settings)).then(resp => {
|
||||
resp.data = pond.UpdateInteractionResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateInteractionPondSettings = (
|
||||
|
|
@ -113,8 +135,7 @@ export default function InteractionProvider(props: PropsWithChildren<Props>) {
|
|||
interaction: string,
|
||||
settings: pond.IInteractionPondSettings
|
||||
) => {
|
||||
return put(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/devices/" +
|
||||
device +
|
||||
"/interactions/" +
|
||||
|
|
@ -124,15 +145,28 @@ export default function InteractionProvider(props: PropsWithChildren<Props>) {
|
|||
"&types=" +
|
||||
["device"] +
|
||||
(as ? "&as=" + as : "")
|
||||
),
|
||||
sanitizeInteraction(settings)
|
||||
);
|
||||
)
|
||||
return new Promise<AxiosResponse<pond.UpdateInteractionPondSettingsResponse>>((resolve, reject) => {
|
||||
put<pond.UpdateInteractionPondSettingsResponse>(url, sanitizeInteraction(settings)).then(resp => {
|
||||
resp.data = pond.UpdateInteractionPondSettingsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const removeInteraction = (device: number, interaction: string) => {
|
||||
return del(
|
||||
pondURL("/devices/" + device + "/interactions/" + interaction + (as ? "?as=" + as : ""))
|
||||
);
|
||||
let url = pondURL("/devices/" + device + "/interactions/" + interaction + (as ? "?as=" + as : ""))
|
||||
return new Promise<AxiosResponse<pond.RemoveInteractionResponse>>((resolve, reject) => {
|
||||
del<pond.RemoveInteractionResponse>(url).then(resp => {
|
||||
resp.data = pond.RemoveInteractionResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
|
||||
};
|
||||
|
||||
const listInteractionsByDevice = (
|
||||
|
|
@ -223,10 +257,15 @@ export default function InteractionProvider(props: PropsWithChildren<Props>) {
|
|||
const setAlertInteractions = (
|
||||
alerts: pond.AlertData[]
|
||||
): Promise<AxiosResponse<pond.SetAlertInteractionsResponse>> => {
|
||||
return post<pond.SetAlertInteractionsResponse>(
|
||||
pondURL("/interactions/setAlerts" + (as ? "?as=" + as : "")),
|
||||
{ data: alerts }
|
||||
);
|
||||
let url = pondURL("/interactions/setAlerts" + (as ? "?as=" + as : ""))
|
||||
return new Promise<AxiosResponse<pond.SetAlertInteractionsResponse>>((resolve, reject) => {
|
||||
post<pond.SetAlertInteractionsResponse>(url, { data: alerts }).then(resp => {
|
||||
resp.data = pond.SetAlertInteractionsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import { pondURL } from "./pond";
|
|||
|
||||
export interface INoteAPIContext {
|
||||
addNote: (note: pond.NoteSettings, attachments?: string[]) => Promise<any>;
|
||||
getNote: (noteID: string) => Promise<any>;
|
||||
getNote: (noteID: string) => Promise<AxiosResponse<pond.Note>>;
|
||||
updateNote: (note: pond.NoteSettings) => Promise<any>;
|
||||
listNotes: (
|
||||
limit: number,
|
||||
|
|
@ -38,22 +38,45 @@ export default function NoteProvider(props: PropsWithChildren<Props>) {
|
|||
const { get, del, post, put } = useHTTP();
|
||||
|
||||
const addNote = (note: pond.NoteSettings, attachments?: string[]) => {
|
||||
return post(
|
||||
pondURL("/notes" + (attachments ? "?attachments=" + attachments.toString() : "")),
|
||||
note
|
||||
);
|
||||
let url = pondURL("/notes" + (attachments ? "?attachments=" + attachments.toString() : ""))
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(url, note).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getNote = (noteID: string) => {
|
||||
return get(pondURL("/notes/" + noteID));
|
||||
return new Promise<AxiosResponse<pond.Note>>((resolve, reject) => {
|
||||
get<pond.Note>(pondURL("/notes/" + noteID)).then(resp => {
|
||||
resp.data = pond.Note.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateNote = (note: pond.NoteSettings) => {
|
||||
return put(pondURL("/notes/"), note);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(pondURL("/notes/"), note).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const removeNote = (key: string) => {
|
||||
return del<pond.RemoveNoteResponse>(pondURL("/notes/" + key));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
del<pond.RemoveNoteResponse>(pondURL("/notes/" + key)).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listNotes = (
|
||||
|
|
@ -65,8 +88,7 @@ export default function NoteProvider(props: PropsWithChildren<Props>) {
|
|||
asRoot?: boolean,
|
||||
as?: string
|
||||
) => {
|
||||
return get<pond.ListNotesResponse>(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/notes" +
|
||||
"?limit=" +
|
||||
limit +
|
||||
|
|
@ -78,7 +100,14 @@ export default function NoteProvider(props: PropsWithChildren<Props>) {
|
|||
(asRoot ? "&asRoot=" + asRoot.toString() : "") +
|
||||
(as ? "&as=" + as : "")
|
||||
)
|
||||
);
|
||||
return new Promise<AxiosResponse<pond.ListNotesResponse>>((resolve, reject) => {
|
||||
get<pond.ListNotesResponse>(url).then(resp => {
|
||||
resp.data = pond.ListNotesResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listChats = (
|
||||
|
|
@ -90,8 +119,7 @@ export default function NoteProvider(props: PropsWithChildren<Props>) {
|
|||
asRoot?: boolean,
|
||||
as?: string
|
||||
) => {
|
||||
return get<pond.ListChatsResponse>(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/chats" +
|
||||
"?limit=" +
|
||||
limit +
|
||||
|
|
@ -103,7 +131,14 @@ export default function NoteProvider(props: PropsWithChildren<Props>) {
|
|||
(asRoot ? "&asRoot=" + asRoot.toString() : "") +
|
||||
(as ? "&as=" + as : "")
|
||||
)
|
||||
);
|
||||
return new Promise<AxiosResponse<pond.ListChatsResponse>>((resolve, reject) => {
|
||||
get<pond.ListChatsResponse>(url).then(resp => {
|
||||
resp.data = pond.ListChatsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -47,8 +47,7 @@ export default function NotificationProvider(props: PropsWithChildren<Props>) {
|
|||
as?: string,
|
||||
asRoot?: boolean
|
||||
) => {
|
||||
return get<pond.ListNotificationsResponse>(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/notifications" +
|
||||
"?limit=" +
|
||||
limit +
|
||||
|
|
@ -60,7 +59,14 @@ export default function NotificationProvider(props: PropsWithChildren<Props>) {
|
|||
(asRoot ? "&asRoot=" + asRoot.toString() : "") +
|
||||
(search ? "&search=" + search : "")
|
||||
)
|
||||
);
|
||||
return new Promise<AxiosResponse<pond.ListNotificationsResponse>>((resolve, reject) => {
|
||||
get<pond.ListNotificationsResponse>(url).then(resp => {
|
||||
resp.data = pond.ListNotificationsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listObjectNotifications = (
|
||||
|
|
@ -73,8 +79,7 @@ export default function NotificationProvider(props: PropsWithChildren<Props>) {
|
|||
search?: string,
|
||||
as?: string
|
||||
) => {
|
||||
return get<pond.ListObjectNotificationsResponse>(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/object/notifications" +
|
||||
"?objectKey=" +
|
||||
key +
|
||||
|
|
@ -89,14 +94,26 @@ export default function NotificationProvider(props: PropsWithChildren<Props>) {
|
|||
(search ? "&search=" + search : "") +
|
||||
(as ? "&as=" + as : "")
|
||||
)
|
||||
);
|
||||
return new Promise<AxiosResponse<pond.ListObjectNotificationsResponse>>((resolve, reject) => {
|
||||
get<pond.ListObjectNotificationsResponse>(url).then(resp => {
|
||||
resp.data = pond.ListObjectNotificationsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const hideNotification = (keys: string[]) => {
|
||||
return put<pond.HideNotificationResponse>(
|
||||
pondURL("/notifications/hide"),
|
||||
pond.NotificationKeys.create({ keys: keys })
|
||||
);
|
||||
let url = pondURL("/notifications/hide")
|
||||
return new Promise<AxiosResponse<pond.HideNotificationResponse>>((resolve, reject) => {
|
||||
put<pond.HideNotificationResponse>(url,pond.NotificationKeys.create({ keys: keys })).then(resp => {
|
||||
resp.data = pond.HideNotificationResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -45,11 +45,23 @@ export default function PermissionProvider(props: PropsWithChildren<Props>) {
|
|||
const [{ as }] = useGlobalState();
|
||||
|
||||
const getPermissions = (user: string, scope: Scope) => {
|
||||
return get(pondURL("/users/" + user + "/permissions" + objectQueryParams(scope)));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(pondURL("/users/" + user + "/permissions" + objectQueryParams(scope))).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const removePermissions = (user: string, scope: Scope) => {
|
||||
return del(pondURL("/users/" + user + "/permissions" + objectQueryParams(scope)));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
del(pondURL("/users/" + user + "/permissions" + objectQueryParams(scope))).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updatePermissions = (scope: Scope, users: User[] | Team[]) => {
|
||||
|
|
@ -67,7 +79,13 @@ export default function PermissionProvider(props: PropsWithChildren<Props>) {
|
|||
permissions: user.permissions.map(permission => permissionToString(permission))
|
||||
});
|
||||
});
|
||||
return put(pondURL("/" + scope.kind + "s/" + scope.key + "/permissions"), body);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(pondURL("/" + scope.kind + "s/" + scope.key + "/permissions"), body).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const shareObject = (
|
||||
|
|
@ -78,10 +96,16 @@ export default function PermissionProvider(props: PropsWithChildren<Props>) {
|
|||
) => {
|
||||
let sql = "/" + scope.kind + "s/" + scope.key + "/share";
|
||||
if (as && useImitation) sql = sql + "?as=" + as;
|
||||
return post(pondURL(sql), {
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(pondURL(sql), {
|
||||
email: email,
|
||||
permissions: permissions.map(permission => permissionToString(permission))
|
||||
});
|
||||
}).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateRelativePermissions = (
|
||||
|
|
@ -91,44 +115,80 @@ export default function PermissionProvider(props: PropsWithChildren<Props>) {
|
|||
) => {
|
||||
let sql = "/updateRelativePermissions";
|
||||
if (as) sql = sql + "?as=" + as;
|
||||
return put(pondURL(sql), {
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
|
||||
put(pondURL(sql), {
|
||||
parent: parentScope.key,
|
||||
parentType: parentScope.kind,
|
||||
child: childScope.key,
|
||||
childType: childScope.kind,
|
||||
permissions: permissions.map(permission => permissionToString(permission))
|
||||
});
|
||||
}).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const shareObjectByKey = (scope: Scope, key: string, permissions: pond.Permission[]) => {
|
||||
if (as)
|
||||
return post(pondURL(`/${scope.kind}s/${scope.key}/shareByKey?as=${as}`), {
|
||||
let url = pondURL("/" + scope.kind + "s/" + scope.key + "/shareByKey")
|
||||
if (as) url = pondURL(`/${scope.kind}s/${scope.key}/shareByKey?as=${as}`)
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
|
||||
post(url, {
|
||||
key: key,
|
||||
permissions: permissions.map(permission => permissionToString(permission))
|
||||
});
|
||||
return post(pondURL("/" + scope.kind + "s/" + scope.key + "/shareByKey"), {
|
||||
key: key,
|
||||
permissions: permissions.map(permission => permissionToString(permission))
|
||||
});
|
||||
}).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const addShareableLink = (scope: Scope, expiration: string) => {
|
||||
let shareBody: pond.ShareableLinkSettings = pond.ShareableLinkSettings.create({
|
||||
expiration: expiration
|
||||
});
|
||||
return post(pondURL("/" + scope.kind + "s/" + scope.key + "/links"), shareBody);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
return post(pondURL("/" + scope.kind + "s/" + scope.key + "/links"), shareBody).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const removeShareableLink = (scope: Scope, code: string) => {
|
||||
return del(pondURL("/" + scope.kind + "s/" + scope.key + "/links/" + code));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
del(pondURL("/" + scope.kind + "s/" + scope.key + "/links/" + code)).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listShareableLinks = (scope: Scope) => {
|
||||
return get(pondURL("/" + scope.kind + "s/" + scope.key + "/links"));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(pondURL("/" + scope.kind + "s/" + scope.key + "/links")).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getShareableLink = (scope: Scope, code: string) => {
|
||||
return get(pondURL("/" + scope.kind + "s/" + scope.key + "/links/" + code));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(pondURL("/" + scope.kind + "s/" + scope.key + "/links/" + code)).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import { pond } from "protobuf-ts/pond";
|
|||
import { createContext, PropsWithChildren, useContext } from "react";
|
||||
import { pondURL } from "./pond";
|
||||
import { useGlobalState } from "providers/StateContainer";
|
||||
import { AxiosResponse } from "axios";
|
||||
|
||||
export interface ITagAPIContext {
|
||||
addTag: (tag: pond.TagSettings) => Promise<any>;
|
||||
|
|
@ -31,19 +32,43 @@ export default function TagProvider(props: PropsWithChildren<Props>) {
|
|||
const [{ as }] = useGlobalState()
|
||||
|
||||
const addTag = (tag: pond.TagSettings) => {
|
||||
return post(pondURL("/tags"), tag);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
post(pondURL("/tags"), tag).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateTag = (tagID: string, tag: pond.TagSettings) => {
|
||||
return put(pondURL("/tags/" + tagID), tag);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(pondURL("/tags/" + tagID), tag).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const removeTag = (tagID: string) => {
|
||||
return del(pondURL("/tags/" + tagID));
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
del(pondURL("/tags/" + tagID)).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getTag = (tagID: string) => {
|
||||
return get(pondURL("/tags/" + tagID));
|
||||
return new Promise<AxiosResponse>((resolve, reject)=>{
|
||||
get(pondURL("/tags/" + tagID)).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
// const listTags = () => {
|
||||
|
|
@ -76,7 +101,14 @@ export default function TagProvider(props: PropsWithChildren<Props>) {
|
|||
(keys ? "&keys=" + keys.toString() : "") +
|
||||
(types ? "&types=" + types.toString() : "")
|
||||
);
|
||||
return get<pond.ListDevicesResponse>(url);
|
||||
return new Promise<AxiosResponse<pond.ListTagsResponse>>((resolve, reject) => {
|
||||
get<pond.ListTagsResponse>(url).then(resp => {
|
||||
resp.data = pond.ListTagsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -44,7 +44,14 @@ export default function TeamProvider(props: PropsWithChildren<Props>) {
|
|||
//const [{ team }] = useGlobalState();
|
||||
|
||||
const addTeam = (team: pond.TeamSettings) => {
|
||||
return post<pond.AddTeamResponse>(pondURL("/team"), team);
|
||||
return new Promise<AxiosResponse<pond.AddTeamResponse>>((resolve, reject) => {
|
||||
post<pond.AddTeamResponse>(pondURL("/team"), team).then(resp => {
|
||||
resp.data = pond.AddTeamResponse.fromObject(resp.data)
|
||||
resolve(resp)
|
||||
}).catch(err => {
|
||||
reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const getTeam = (id: string, scope?: Scope): Promise<Team> => {
|
||||
|
|
@ -60,14 +67,28 @@ export default function TeamProvider(props: PropsWithChildren<Props>) {
|
|||
};
|
||||
|
||||
const removeTeam = (key: string) => {
|
||||
return del<pond.RemoveTeamResponse>(pondURL("/teams/" + key));
|
||||
return new Promise<AxiosResponse<pond.RemoveTeamResponse>>((resolve, reject) => {
|
||||
del<pond.RemoveTeamResponse>(pondURL("/teams/" + key)).then(resp => {
|
||||
resp.data = pond.RemoveTeamResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updateTeam = (key: string, team: pond.TeamSettings, asRoot?: boolean) => {
|
||||
return put<pond.UpdateBinYardResponse>(
|
||||
return new Promise<AxiosResponse<pond.UpdateTeamResponse>>((resolve, reject) => {
|
||||
put<pond.UpdateTeamResponse>(
|
||||
pondURL("/teams/" + key + (asRoot ? "?asRoot=" + asRoot.toString() : "")),
|
||||
team
|
||||
);
|
||||
).then(resp => {
|
||||
resp.data = pond.UpdateTeamResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const updatePreferences = (
|
||||
|
|
@ -76,7 +97,13 @@ export default function TeamProvider(props: PropsWithChildren<Props>) {
|
|||
// keys?: string[],
|
||||
// types?: string[]
|
||||
) => {
|
||||
return put(pondURL("/teams/" + key + "/preferences"), preferences);
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
put(pondURL("/teams/" + key + "/preferences"), preferences).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listTeams = (
|
||||
|
|
@ -89,8 +116,7 @@ export default function TeamProvider(props: PropsWithChildren<Props>) {
|
|||
as?: string
|
||||
) => {
|
||||
//let asText = team ? "&as=" + team.key() : "";
|
||||
return get<pond.ListTeamsResponse>(
|
||||
pondURL(
|
||||
let url = pondURL(
|
||||
"/teams" +
|
||||
"?limit=" +
|
||||
limit +
|
||||
|
|
@ -102,19 +128,37 @@ export default function TeamProvider(props: PropsWithChildren<Props>) {
|
|||
(asRoot ? "&asRoot=" + asRoot.toString() : "") +
|
||||
(as ? "&as=" + as : "")
|
||||
)
|
||||
);
|
||||
return new Promise<AxiosResponse<pond.ListTeamsResponse>>((resolve, reject)=>{
|
||||
get<pond.ListTeamsResponse>(url).then(resp => {
|
||||
resp.data = pond.ListTeamsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listAllTeams = () => {
|
||||
//let asText = team ? "&as=" + team.key() : "";
|
||||
return get<pond.ListTeamsResponse>(pondURL("/allTeams"));
|
||||
return new Promise<AxiosResponse<pond.ListTeamsResponse>>((resolve, reject) => {
|
||||
get<pond.ListTeamsResponse>(pondURL("/allTeams")).then(resp => {
|
||||
resp.data = pond.ListTeamsResponse.fromObject(resp.data)
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
const listObjectTeams = (scope: Scope, as?: string) => {
|
||||
if (as) {
|
||||
return get(pondURL(`/${scope.kind}s/${scope.key}/teams?as=${as}`));
|
||||
}
|
||||
return get(pondURL("/" + scope.kind + "s/" + scope.key + "/teams"));
|
||||
let url = "/" + scope.kind + "s/" + scope.key + "/teams"
|
||||
if (as) url = `/${scope.kind}s/${scope.key}/teams?as=${as}`
|
||||
return new Promise<AxiosResponse>((resolve, reject) => {
|
||||
get(pondURL(url)).then(resp => {
|
||||
return resolve(resp)
|
||||
}).catch(err => {
|
||||
return reject(err)
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
return (
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue