Files
automatisch/packages/backend/src/graphql/mutations/create-role.ee.js
2024-01-04 18:04:54 +01:00

30 lines
632 B
JavaScript

import kebabCase from 'lodash/kebabCase';
import Role from '../../models/role';
const createRole = async (_parent, params, context) => {
context.currentUser.can('create', 'Role');
const { name, description, permissions } = params.input;
const key = kebabCase(name);
const existingRole = await Role.query().findOne({ key });
if (existingRole) {
throw new Error('Role already exists!');
}
return await Role.query()
.insertGraph(
{
key,
name,
description,
permissions,
},
{ relate: ['permissions'] }
)
.returning('*');
};
export default createRole;