mirror of
https://github.com/plankanban/planka.git
synced 2025-07-25 08:09:44 +02:00
Initial commit
This commit is contained in:
commit
5ffef61fe7
613 changed files with 91659 additions and 0 deletions
30
server/api/controllers/projects/create.js
Executable file
30
server/api/controllers/projects/create.js
Executable file
|
@ -0,0 +1,30 @@
|
|||
module.exports = {
|
||||
inputs: {
|
||||
name: {
|
||||
type: 'string',
|
||||
required: true
|
||||
}
|
||||
},
|
||||
|
||||
fn: async function(inputs, exits) {
|
||||
const { currentUser } = this.req;
|
||||
|
||||
const values = _.pick(inputs, ['name']);
|
||||
|
||||
const { project, projectMembership } = await sails.helpers.createProject(
|
||||
values,
|
||||
currentUser,
|
||||
this.req,
|
||||
true
|
||||
);
|
||||
|
||||
return exits.success({
|
||||
item: project,
|
||||
included: {
|
||||
users: [currentUser],
|
||||
projectMemberships: [projectMembership],
|
||||
boards: []
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
38
server/api/controllers/projects/delete.js
Executable file
38
server/api/controllers/projects/delete.js
Executable file
|
@ -0,0 +1,38 @@
|
|||
const Errors = {
|
||||
PROJECT_NOT_FOUND: {
|
||||
notFound: 'Project is not found'
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
inputs: {
|
||||
id: {
|
||||
type: 'number',
|
||||
required: true
|
||||
}
|
||||
},
|
||||
|
||||
exits: {
|
||||
notFound: {
|
||||
responseType: 'notFound'
|
||||
}
|
||||
},
|
||||
|
||||
fn: async function(inputs, exits) {
|
||||
let project = await Project.findOne(inputs.id);
|
||||
|
||||
if (!project) {
|
||||
throw Errors.PROJECT_NOT_FOUND;
|
||||
}
|
||||
|
||||
project = await sails.helpers.deleteProject(project, this.req);
|
||||
|
||||
if (!project) {
|
||||
throw Errors.PROJECT_NOT_FOUND;
|
||||
}
|
||||
|
||||
return exits.success({
|
||||
item: project
|
||||
});
|
||||
}
|
||||
};
|
29
server/api/controllers/projects/index.js
Executable file
29
server/api/controllers/projects/index.js
Executable file
|
@ -0,0 +1,29 @@
|
|||
module.exports = {
|
||||
fn: async function(inputs, exits) {
|
||||
const { currentUser } = this.req;
|
||||
|
||||
const projectIds = await sails.helpers.getMembershipProjectIdsForUser(
|
||||
currentUser.id
|
||||
);
|
||||
|
||||
const projects = await sails.helpers.getProjects(projectIds);
|
||||
|
||||
const {
|
||||
userIds,
|
||||
projectMemberships
|
||||
} = await sails.helpers.getMembershipUserIdsForProject(projectIds, true);
|
||||
|
||||
const users = await sails.helpers.getUsers(userIds);
|
||||
|
||||
const boards = await sails.helpers.getBoardsForProject(projectIds);
|
||||
|
||||
return exits.success({
|
||||
items: projects,
|
||||
included: {
|
||||
users,
|
||||
projectMemberships,
|
||||
boards
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
44
server/api/controllers/projects/update.js
Executable file
44
server/api/controllers/projects/update.js
Executable file
|
@ -0,0 +1,44 @@
|
|||
const Errors = {
|
||||
PROJECT_NOT_FOUND: {
|
||||
notFound: 'Project is not found'
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
inputs: {
|
||||
id: {
|
||||
type: 'number',
|
||||
required: true
|
||||
},
|
||||
name: {
|
||||
type: 'string',
|
||||
isNotEmptyString: true
|
||||
}
|
||||
},
|
||||
|
||||
exits: {
|
||||
notFound: {
|
||||
responseType: 'notFound'
|
||||
}
|
||||
},
|
||||
|
||||
fn: async function(inputs, exits) {
|
||||
let project = await Project.findOne(inputs.id);
|
||||
|
||||
if (!project) {
|
||||
throw Errors.PROJECT_NOT_FOUND;
|
||||
}
|
||||
|
||||
const values = _.pick(inputs, ['name']);
|
||||
|
||||
project = await sails.helpers.updateProject(project, values, this.req);
|
||||
|
||||
if (!project) {
|
||||
throw Errors.PROJECT_NOT_FOUND;
|
||||
}
|
||||
|
||||
return exits.success({
|
||||
item: project
|
||||
});
|
||||
}
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue