mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-14 17:26:22 +01:00
scm-ui: new repository layout
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
//@flow
|
||||
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;
|
||||
});
|
||||
}
|
||||
|
||||
export function loadPermissionsForEntity(
|
||||
availableUrl: string,
|
||||
userUrl: string
|
||||
) {
|
||||
return Promise.all([
|
||||
apiClient.get(availableUrl).then(response => {
|
||||
return response.json();
|
||||
}),
|
||||
apiClient.get(userUrl).then(response => {
|
||||
return response.json();
|
||||
})
|
||||
]).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 };
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user