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

33 lines
767 B
JavaScript
Raw Normal View History

2018-10-02 15:27:51 +02:00
// @flow
import { validation } from "@scm-manager/ui-components";
2018-10-18 15:20:30 +02:00
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;
};