1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-07-24 15:49:46 +02:00

Project managers, board members, auto-update after reconnection, refactoring

This commit is contained in:
Maksim Eltyshev 2021-06-24 01:05:22 +05:00
parent d6cb1f6683
commit b39119ace4
478 changed files with 21226 additions and 19495 deletions

View file

@ -54,7 +54,7 @@ module.exports = {
},
},
async fn(inputs, exits) {
async fn(inputs) {
const values = _.pick(inputs, [
'email',
'password',
@ -65,13 +65,13 @@ module.exports = {
'subscribeToOwnCards',
]);
const user = await sails.helpers
.createUser(values, this.req)
const user = await sails.helpers.users
.createOne(values, this.req)
.intercept('emailAlreadyInUse', () => Errors.EMAIL_ALREADY_IN_USE)
.intercept('usernameAlreadyInUse', () => Errors.USERNAME_ALREADY_IN_USE);
return exits.success({
return {
item: user,
});
};
},
};

View file

@ -19,21 +19,21 @@ module.exports = {
},
},
async fn(inputs, exits) {
let user = await sails.helpers.getUser(inputs.id);
async fn(inputs) {
let user = await sails.helpers.users.getOne(inputs.id);
if (!user) {
throw Errors.USER_NOT_FOUND;
}
user = await sails.helpers.deleteUser(user, this.req);
user = await sails.helpers.users.deleteOne(user, this.req);
if (!user) {
throw Errors.USER_NOT_FOUND;
}
return exits.success({
return {
item: user,
});
};
},
};

View file

@ -1,9 +1,9 @@
module.exports = {
async fn(inputs, exits) {
const users = await sails.helpers.getUsers();
async fn() {
const users = await sails.helpers.users.getMany();
return exits.success({
return {
items: users,
});
};
},
};

View file

@ -1,16 +1,44 @@
module.exports = {
async fn(inputs, exits) {
// TODO: allow over HTTP without subscription
if (!this.req.isSocket) {
return this.res.badRequest();
}
const { currentUser } = this.req;
sails.sockets.join(this.req, `user:${currentUser.id}`); // TODO: only when subscription needed
return exits.success({
item: currentUser,
});
const Errors = {
USER_NOT_FOUND: {
userNotFound: 'User not found',
},
};
const CURRENT_USER_ID = 'me';
module.exports = {
inputs: {
id: {
type: 'string',
regex: /^[0-9]+|me$/,
required: true,
},
},
exits: {
boardNotFound: {
responseType: 'notFound',
},
},
async fn(inputs) {
let user;
if (inputs.id === CURRENT_USER_ID) {
({ currentUser: user } = this.req);
if (this.req.isSocket) {
sails.sockets.join(this.req, `user:${user.id}`); // TODO: only when subscription needed
}
} else {
user = await sails.helpers.users.getOne(inputs.id);
if (!user) {
throw Errors.USER_NOT_FOUND;
}
}
return {
item: user,
};
},
};

View file

@ -27,7 +27,7 @@ module.exports = {
let user;
if (currentUser.isAdmin) {
user = await sails.helpers.getUser(inputs.id);
user = await sails.helpers.users.getOne(inputs.id);
if (!user) {
throw Errors.USER_NOT_FOUND;
@ -38,30 +38,32 @@ module.exports = {
user = currentUser;
}
this.req.file('file').upload(sails.helpers.createUserAvatarReceiver(), async (error, files) => {
if (error) {
return exits.uploadError(error.message);
}
this.req
.file('file')
.upload(sails.helpers.utils.createUserAvatarReceiver(), async (error, files) => {
if (error) {
return exits.uploadError(error.message);
}
if (files.length === 0) {
return exits.uploadError('No file was uploaded');
}
if (files.length === 0) {
return exits.uploadError('No file was uploaded');
}
user = await sails.helpers.updateUser(
user,
{
avatarDirname: files[0].extra.dirname,
},
this.req,
);
user = await sails.helpers.users.updateOne(
user,
{
avatarDirname: files[0].extra.dirname,
},
this.req,
);
if (!user) {
throw Errors.USER_NOT_FOUND;
}
if (!user) {
throw Errors.USER_NOT_FOUND;
}
return exits.success({
item: user.toJSON(),
return exits.success({
item: user.toJSON(),
});
});
});
},
};

View file

@ -42,7 +42,7 @@ module.exports = {
},
},
async fn(inputs, exits) {
async fn(inputs) {
const { currentUser } = this.req;
if (inputs.id === currentUser.id) {
@ -53,7 +53,7 @@ module.exports = {
throw Errors.USER_NOT_FOUND; // Forbidden
}
let user = await sails.helpers.getUser(inputs.id);
let user = await sails.helpers.users.getOne(inputs.id);
if (!user) {
throw Errors.USER_NOT_FOUND;
@ -68,16 +68,16 @@ module.exports = {
const values = _.pick(inputs, ['email']);
user = await sails.helpers
.updateUser(user, values, this.req)
user = await sails.helpers.users
.update(user, values, this.req)
.intercept('emailAlreadyInUse', () => Errors.EMAIL_ALREADY_IN_USE);
if (!user) {
throw Errors.USER_NOT_FOUND;
}
return exits.success({
return {
item: user,
});
};
},
};

View file

@ -35,7 +35,7 @@ module.exports = {
},
},
async fn(inputs, exits) {
async fn(inputs) {
const { currentUser } = this.req;
if (inputs.id === currentUser.id) {
@ -46,7 +46,7 @@ module.exports = {
throw Errors.USER_NOT_FOUND; // Forbidden
}
let user = await sails.helpers.getUser(inputs.id);
let user = await sails.helpers.users.getOne(inputs.id);
if (!user) {
throw Errors.USER_NOT_FOUND;
@ -60,14 +60,14 @@ module.exports = {
}
const values = _.pick(inputs, ['password']);
user = await sails.helpers.updateUser(user, values, this.req);
user = await sails.helpers.users.updateOne(user, values, this.req);
if (!user) {
throw Errors.USER_NOT_FOUND;
}
return exits.success({
return {
item: user,
});
};
},
};

View file

@ -44,7 +44,7 @@ module.exports = {
},
},
async fn(inputs, exits) {
async fn(inputs) {
const { currentUser } = this.req;
if (inputs.id === currentUser.id) {
@ -55,7 +55,7 @@ module.exports = {
throw Errors.USER_NOT_FOUND; // Forbidden
}
let user = await sails.helpers.getUser(inputs.id);
let user = await sails.helpers.users.getOne(inputs.id);
if (!user) {
throw Errors.USER_NOT_FOUND;
@ -70,16 +70,16 @@ module.exports = {
const values = _.pick(inputs, ['username']);
user = await sails.helpers
.updateUser(user, values, this.req)
user = await sails.helpers.users
.update(user, values, this.req)
.intercept('usernameAlreadyInUse', () => Errors.USERNAME_ALREADY_IN_USE);
if (!user) {
throw Errors.USER_NOT_FOUND;
}
return exits.success({
return {
item: user,
});
};
},
};

View file

@ -43,7 +43,7 @@ module.exports = {
},
},
async fn(inputs, exits) {
async fn(inputs) {
const { currentUser } = this.req;
if (!currentUser.isAdmin) {
@ -54,7 +54,7 @@ module.exports = {
delete inputs.isAdmin; // eslint-disable-line no-param-reassign
}
let user = await sails.helpers.getUser(inputs.id);
let user = await sails.helpers.users.getOne(inputs.id);
if (!user) {
throw Errors.USER_NOT_FOUND;
@ -69,14 +69,14 @@ module.exports = {
'subscribeToOwnCards',
]);
user = await sails.helpers.updateUser(user, values, this.req);
user = await sails.helpers.users.updateOne(user, values, this.req);
if (!user) {
throw Errors.USER_NOT_FOUND;
}
return exits.success({
return {
item: user,
});
};
},
};