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

42 lines
1.0 KiB
TypeScript
Raw Normal View History

import { apiClient } from '@scm-manager/ui-components';
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-01-21 13:05:05 +01: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
});
}