use permissions url provided by repo

This commit is contained in:
Maren Süwer
2018-10-11 10:42:49 +02:00
parent 758b6e3467
commit 0275bbc5f4
5 changed files with 72 additions and 20 deletions

View File

@@ -26,6 +26,7 @@ import type {
import SinglePermission from "./SinglePermission";
import CreatePermissionForm from "../components/CreatePermissionForm";
import type { History } from "history";
import { getPermissionsLink } from "../../modules/repos";
type Props = {
namespace: string,
@@ -35,10 +36,12 @@ type Props = {
permissions: PermissionCollection,
hasPermissionToCreate: boolean,
loadingCreatePermission: boolean,
permissionsLink: string,
//dispatch functions
fetchPermissions: (namespace: string, repoName: string) => void,
fetchPermissions: (link: string, namespace: string, repoName: string) => void,
createPermission: (
link: string,
permission: PermissionEntry,
namespace: string,
repoName: string,
@@ -61,17 +64,19 @@ class Permissions extends React.Component<Props> {
repoName,
modifyPermissionReset,
createPermissionReset,
deletePermissionReset
deletePermissionReset,
permissionsLink
} = this.props;
createPermissionReset(namespace, repoName);
modifyPermissionReset(namespace, repoName);
deletePermissionReset(namespace, repoName);
fetchPermissions(namespace, repoName);
fetchPermissions(permissionsLink, namespace, repoName);
}
createPermission = (permission: Permission) => {
this.props.createPermission(
this.props.permissionsLink,
permission,
this.props.namespace,
this.props.repoName
@@ -158,6 +163,7 @@ const mapStateToProps = (state, ownProps) => {
repoName
);
const hasPermissionToCreate = hasCreatePermission(state, namespace, repoName);
const permissionsLink = getPermissionsLink(state, namespace, repoName);
return {
namespace,
repoName,
@@ -165,22 +171,24 @@ const mapStateToProps = (state, ownProps) => {
loading,
permissions,
hasPermissionToCreate,
loadingCreatePermission
loadingCreatePermission,
permissionsLink
};
};
const mapDispatchToProps = dispatch => {
return {
fetchPermissions: (namespace: string, repoName: string) => {
dispatch(fetchPermissions(namespace, repoName));
fetchPermissions: (link: string, namespace: string, repoName: string) => {
dispatch(fetchPermissions(link, namespace, repoName));
},
createPermission: (
link: string,
permission: PermissionEntry,
namespace: string,
repoName: string,
callback?: () => void
) => {
dispatch(createPermission(permission, namespace, repoName, callback));
dispatch(createPermission(link, permission, namespace, repoName, callback));
},
createPermissionReset: (namespace: string, repoName: string) => {
dispatch(createPermissionReset(namespace, repoName));