updated existing api calls

This commit is contained in:
csawatzky 2025-02-24 15:40:24 -06:00
parent ade15fdfdc
commit c74a7490d9
12 changed files with 1509 additions and 698 deletions

View file

@ -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), {
email: email,
permissions: permissions.map(permission => permissionToString(permission))
});
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), {
parent: parentScope.key,
parentType: parentScope.kind,
child: childScope.key,
childType: childScope.kind,
permissions: permissions.map(permission => permissionToString(permission))
});
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 (