mirror of
https://github.com/plankanban/planka.git
synced 2025-07-19 13:19:44 +02:00
52 lines
981 B
JavaScript
52 lines
981 B
JavaScript
|
module.exports = {
|
||
|
inputs: {
|
||
|
values: {
|
||
|
type: 'json',
|
||
|
required: true
|
||
|
},
|
||
|
user: {
|
||
|
type: 'ref',
|
||
|
required: true
|
||
|
},
|
||
|
request: {
|
||
|
type: 'ref'
|
||
|
},
|
||
|
withProjectMembership: {
|
||
|
type: 'boolean',
|
||
|
defaultsTo: false
|
||
|
}
|
||
|
},
|
||
|
|
||
|
fn: async function(inputs, exits) {
|
||
|
const project = await Project.create(inputs.values).fetch();
|
||
|
|
||
|
const projectMembership = await ProjectMembership.create({
|
||
|
projectId: project.id,
|
||
|
userId: inputs.user.id
|
||
|
}).fetch();
|
||
|
|
||
|
sails.sockets.broadcast(
|
||
|
`user:${projectMembership.userId}`,
|
||
|
'projectCreate',
|
||
|
{
|
||
|
item: project,
|
||
|
included: {
|
||
|
users: [inputs.user],
|
||
|
projectMemberships: [projectMembership],
|
||
|
boards: []
|
||
|
}
|
||
|
},
|
||
|
inputs.request
|
||
|
);
|
||
|
|
||
|
return exits.success(
|
||
|
inputs.withProjectMembership
|
||
|
? {
|
||
|
project,
|
||
|
projectMembership
|
||
|
}
|
||
|
: project
|
||
|
);
|
||
|
}
|
||
|
};
|