Files
SCM-Manager/scm-ui/ui-webapp/src/permissions/components/handlePermissions.ts

38 lines
1.0 KiB
TypeScript
Raw Normal View History

import { apiClient } from "@scm-manager/ui-components";
2019-10-21 10:57:56 +02:00
export const CONTENT_TYPE_PERMISSIONS = "application/vnd.scmm-permissionCollection+json;v=2";
export function setPermissions(url: string, permissions: string[]) {
return apiClient
.put(
url,
{
permissions: permissions
},
CONTENT_TYPE_PERMISSIONS
)
.then(response => {
return response;
});
}
2019-01-19 20:05:19 +01:00
2019-10-21 10:57:56 +02:00
export function loadPermissionsForEntity(availableUrl: string, userUrl: string) {
2019-01-21 13:05:05 +01:00
return Promise.all([
apiClient.get(availableUrl).then(response => {
return response.json();
}),
apiClient.get(userUrl).then(response => {
return response.json();
})
2019-01-21 13:05:05 +01:00
]).then(values => {
const [availablePermissions, checkedPermissions] = values;
const permissions = {};
availablePermissions.permissions.forEach(p => (permissions[p] = false));
checkedPermissions.permissions.forEach(p => (permissions[p] = true));
return {
permissions,
overwriteLink: checkedPermissions._links.overwrite
};
2019-01-19 20:05:19 +01:00
});
}