Move api usage to separate file

This commit is contained in:
René Pfeuffer
2019-01-19 20:05:19 +01:00
parent 4090965324
commit d790d2e7e1
2 changed files with 27 additions and 18 deletions

View File

@@ -7,8 +7,11 @@ import {
SubmitButton SubmitButton
} from "@scm-manager/ui-components"; } from "@scm-manager/ui-components";
import { translate } from "react-i18next"; import { translate } from "react-i18next";
import { setPermissions } from "./setPermissions"; import {
import { apiClient } from "@scm-manager/ui-components"; loadAvailablePermissions,
loadPermissionsForEntity,
setPermissions
} from "./handlePermissions";
import PermissionCheckbox from "./PermissionCheckbox"; import PermissionCheckbox from "./PermissionCheckbox";
import { connect } from "react-redux"; import { connect } from "react-redux";
import { getLink } from "../../modules/indexResource"; import { getLink } from "../../modules/indexResource";
@@ -67,28 +70,21 @@ class SetPermissions extends React.Component<Props, State> {
}; };
componentDidMount(): void { componentDidMount(): void {
apiClient loadAvailablePermissions(this.props.availablePermissionLink).then(
.get(this.props.availablePermissionLink) response => {
.then(response => {
return response.json();
})
.then(response => {
const availablePermissions = response.permissions; const availablePermissions = response.permissions;
const permissions = {}; const permissions = {};
availablePermissions.forEach(p => { availablePermissions.forEach(p => {
permissions[p] = false; permissions[p] = false;
}); });
this.setState({ permissions }, this.loadPermissionsForUser); this.setState({ permissions }, this.loadPermissionsForEntity);
}); }
);
} }
loadPermissionsForUser = () => { loadPermissionsForEntity = () => {
apiClient loadPermissionsForEntity(this.props.selectedPermissionsLink.href).then(
.get(this.props.selectedPermissionsLink.href) response => {
.then(response => {
return response.json();
})
.then(response => {
const checkedPermissions = response.permissions; const checkedPermissions = response.permissions;
this.setState(state => { this.setState(state => {
const newPermissions = state.permissions; const newPermissions = state.permissions;
@@ -99,7 +95,8 @@ class SetPermissions extends React.Component<Props, State> {
overwritePermissionsLink: response._links.overwrite overwritePermissionsLink: response._links.overwrite
}; };
}); });
}); }
);
}; };
submit = (event: Event) => { submit = (event: Event) => {

View File

@@ -11,3 +11,15 @@ export function setPermissions(url: string, permissions: string[]) {
return response; 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();
});
}