salix/modules/worker/back/methods/department/createChild.js

41 lines
994 B
JavaScript

const UserError = require('vn-loopback/util/user-error');
module.exports = Self => {
Self.remoteMethod('createChild', {
description: 'Creates a new child department',
accessType: 'WRITE',
accepts: [{
arg: 'parentId',
type: 'Number'
},
{
arg: 'name',
type: 'String',
required: true,
}],
returns: {
type: 'object',
root: true
},
http: {
path: `/createChild`,
verb: 'POST'
}
});
Self.createChild = async(parentId = null, name) => {
const models = Self.app.models;
const nameExists = await models.Department.count({name});
if (nameExists)
throw new UserError(`The department name can't be repeated`);
const newDep = await models.Department.create({
parentFk: parentId,
name: name
});
return newDep;
};
};