1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-07-19 13:19:44 +02:00
planka/server/api/helpers/create-project.js

52 lines
989 B
JavaScript
Raw Normal View History

2019-08-31 04:07:25 +05:00
module.exports = {
inputs: {
values: {
type: 'json',
required: true,
2019-08-31 04:07:25 +05:00
},
user: {
type: 'ref',
required: true,
2019-08-31 04:07:25 +05:00
},
request: {
type: 'ref',
2019-08-31 04:07:25 +05:00
},
withProjectMembership: {
type: 'boolean',
defaultsTo: false,
},
2019-08-31 04:07:25 +05:00
},
async fn(inputs, exits) {
2019-08-31 04:07:25 +05:00
const project = await Project.create(inputs.values).fetch();
const projectMembership = await ProjectMembership.create({
projectId: project.id,
userId: inputs.user.id,
2019-08-31 04:07:25 +05:00
}).fetch();
sails.sockets.broadcast(
`user:${projectMembership.userId}`,
'projectCreate',
{
item: project,
included: {
users: [inputs.user],
projectMemberships: [projectMembership],
boards: [],
},
2019-08-31 04:07:25 +05:00
},
inputs.request,
2019-08-31 04:07:25 +05:00
);
return exits.success(
inputs.withProjectMembership
? {
project,
projectMembership,
}
: project,
2019-08-31 04:07:25 +05:00
);
},
2019-08-31 04:07:25 +05:00
};