1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-07-19 05:09:43 +02:00

Add project backgrounds

This commit is contained in:
Maksim Eltyshev 2020-05-26 00:46:04 +05:00
parent af4297ac62
commit 3bb68b0d4f
67 changed files with 774 additions and 210 deletions

View file

@ -0,0 +1,60 @@
const Errors = {
PROJECT_NOT_FOUND: {
projectNotFound: 'Project not found',
},
};
module.exports = {
inputs: {
id: {
type: 'string',
regex: /^[0-9]+$/,
required: true,
},
},
exits: {
projectNotFound: {
responseType: 'notFound',
},
uploadError: {
responseType: 'unprocessableEntity',
},
},
async fn(inputs, exits) {
let project = await Project.findOne(inputs.id);
if (!project) {
throw Errors.PROJECT_NOT_FOUND;
}
this.req
.file('file')
.upload(sails.helpers.createProjectBackgroundImageReceiver(), async (error, files) => {
if (error) {
return exits.uploadError(error.message);
}
if (files.length === 0) {
return exits.uploadError('No file was uploaded');
}
project = await sails.helpers.updateProject(
project,
{
backgroundImageDirname: files[0].extra.dirname,
},
this.req,
);
if (!project) {
throw Errors.PROJECT_NOT_FOUND;
}
return exits.success({
item: project.toJSON(),
});
});
},
};

View file

@ -15,6 +15,14 @@ module.exports = {
type: 'string',
isNotEmptyString: true,
},
background: {
type: 'json',
custom: (value) => _.isNull(value),
},
backgroundImage: {
type: 'json',
custom: (value) => _.isNull(value),
},
},
exits: {
@ -30,7 +38,7 @@ module.exports = {
throw Errors.PROJECT_NOT_FOUND;
}
const values = _.pick(inputs, ['name']);
const values = _.pick(inputs, ['name', 'background', 'backgroundImage']);
project = await sails.helpers.updateProject(project, values, this.req);

View file

@ -38,7 +38,7 @@ module.exports = {
user = currentUser;
}
this.req.file('file').upload(sails.helpers.createAvatarReceiver(), async (error, files) => {
this.req.file('file').upload(sails.helpers.createUserAvatarReceiver(), async (error, files) => {
if (error) {
return exits.uploadError(error.message);
}
@ -60,7 +60,7 @@ module.exports = {
}
return exits.success({
item: user.toJSON().avatarUrl,
item: user.toJSON(),
});
});
},

View file

@ -77,7 +77,7 @@ module.exports = {
}
return exits.success({
item: user.email,
item: user,
});
},
};

View file

@ -68,7 +68,7 @@ module.exports = {
}
return exits.success({
item: null,
item: user,
});
},
};

View file

@ -79,7 +79,7 @@ module.exports = {
}
return exits.success({
item: user.username,
item: user,
});
},
};