mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-13 17:05:43 +01:00
Move api usage to separate file
This commit is contained in:
@@ -7,8 +7,11 @@ import {
|
||||
SubmitButton
|
||||
} from "@scm-manager/ui-components";
|
||||
import { translate } from "react-i18next";
|
||||
import { setPermissions } from "./setPermissions";
|
||||
import { apiClient } from "@scm-manager/ui-components";
|
||||
import {
|
||||
loadAvailablePermissions,
|
||||
loadPermissionsForEntity,
|
||||
setPermissions
|
||||
} from "./handlePermissions";
|
||||
import PermissionCheckbox from "./PermissionCheckbox";
|
||||
import { connect } from "react-redux";
|
||||
import { getLink } from "../../modules/indexResource";
|
||||
@@ -67,28 +70,21 @@ class SetPermissions extends React.Component<Props, State> {
|
||||
};
|
||||
|
||||
componentDidMount(): void {
|
||||
apiClient
|
||||
.get(this.props.availablePermissionLink)
|
||||
.then(response => {
|
||||
return response.json();
|
||||
})
|
||||
.then(response => {
|
||||
loadAvailablePermissions(this.props.availablePermissionLink).then(
|
||||
response => {
|
||||
const availablePermissions = response.permissions;
|
||||
const permissions = {};
|
||||
availablePermissions.forEach(p => {
|
||||
permissions[p] = false;
|
||||
});
|
||||
this.setState({ permissions }, this.loadPermissionsForUser);
|
||||
});
|
||||
this.setState({ permissions }, this.loadPermissionsForEntity);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
loadPermissionsForUser = () => {
|
||||
apiClient
|
||||
.get(this.props.selectedPermissionsLink.href)
|
||||
.then(response => {
|
||||
return response.json();
|
||||
})
|
||||
.then(response => {
|
||||
loadPermissionsForEntity = () => {
|
||||
loadPermissionsForEntity(this.props.selectedPermissionsLink.href).then(
|
||||
response => {
|
||||
const checkedPermissions = response.permissions;
|
||||
this.setState(state => {
|
||||
const newPermissions = state.permissions;
|
||||
@@ -99,7 +95,8 @@ class SetPermissions extends React.Component<Props, State> {
|
||||
overwritePermissionsLink: response._links.overwrite
|
||||
};
|
||||
});
|
||||
});
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
submit = (event: Event) => {
|
||||
|
||||
@@ -11,3 +11,15 @@ export function setPermissions(url: string, permissions: string[]) {
|
||||
return response;
|
||||
});
|
||||
}
|
||||
|
||||
export function loadPermissionsForEntity(url: string) {
|
||||
return apiClient.get(url).then(response => {
|
||||
return response.json();
|
||||
});
|
||||
}
|
||||
|
||||
export function loadAvailablePermissions(url: string) {
|
||||
return apiClient.get(url).then(response => {
|
||||
return response.json();
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user