Files
SCM-Manager/scm-ui/ui-webapp/src/repos/permissions/components/permissionValidation.js

34 lines
764 B
JavaScript
Raw Normal View History

2018-10-02 15:27:51 +02:00
// @flow
2018-10-19 08:44:03 +02:00
import {validation} from "@scm-manager/ui-components";
import type {PermissionCollection} from "@scm-manager/ui-types";
2018-10-02 15:27:51 +02:00
const isNameValid = validation.isNameValid;
export { isNameValid };
2018-10-18 15:20:30 +02:00
export const isPermissionValid = (
name: string,
groupPermission: boolean,
permissions: PermissionCollection
) => {
return (
isNameValid(name) &&
!currentPermissionIncludeName(name, groupPermission, permissions)
);
2018-10-02 15:27:51 +02:00
};
2018-10-18 15:20:30 +02:00
const currentPermissionIncludeName = (
name: string,
groupPermission: boolean,
permissions: PermissionCollection
) => {
2018-10-02 15:27:51 +02:00
for (let i = 0; i < permissions.length; i++) {
if (
permissions[i].name === name &&
2018-10-18 15:20:30 +02:00
permissions[i].groupPermission === groupPermission
2018-10-02 15:27:51 +02:00
)
return true;
}
return false;
};