fixed some group permission issues

This commit is contained in:
Carter 2025-02-18 13:36:22 -06:00
parent 6ee7aa95a9
commit 25de677106
7 changed files with 90 additions and 15 deletions

View file

@ -16,6 +16,11 @@ export interface IGroupAPIContext {
removeGroup: (id: number) => Promise<any>;
getGroup: (id: number) => Promise<any>;
getGroupAndPermissions: (id: number) => Promise<AxiosResponse<pond.GetGroupAndPermissionsResponse>>;
getGroupPermissions: (
id: number,
keys?: string[],
types?: string[],
) => Promise<AxiosResponse<pond.GetPermissionsResponse>>;
listGroups: (
limit: number,
offset: number,
@ -100,6 +105,36 @@ export default function GroupProvider(props: PropsWithChildren<Props>) {
return get<pond.GetGroupAndPermissionsResponse>(pondURL(url));
};
const getGroupPermissions = (
id: number,
keys?: string[],
types?: string[],
) => {
keys = keys ? keys : getContextKeys();
types = types? types : getContextTypes();
let url = "/groupPermissions/" + id
if (as) {
url = url + "?as=" + as +
+
(keys ? "?keys=" + keys.toString() : "") +
(types ? "&types=" + types.toString() : "")
} else {
url = url +
(keys ? "?keys=" + keys.toString() : "") +
(types ? "&types=" + types.toString() : "")
}
return new Promise<AxiosResponse<pond.GetPermissionsResponse>>((resolve, reject) => {
get<pond.GetPermissionsResponse>(pondURL(url)).then(resp => {
console.log(resp.data)
resp.data = pond.GetPermissionsResponse.fromObject(resp.data)
return resolve(resp);
}).catch(err => {
return reject(err)
})
})
// return get<pond.GetPermissionsResponse>(pondURL(url));
};
const listGroups = (
limit: number,
offset: number,
@ -174,6 +209,7 @@ export default function GroupProvider(props: PropsWithChildren<Props>) {
updateGroup,
removeGroup,
getGroup,
getGroupPermissions,
getGroupAndPermissions,
listGroups,
listGroupDevices,