46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
const md5 = require('md5');
|
|
|
|
module.exports = function(Self) {
|
|
// Validations
|
|
|
|
Self.validatesUniquenessOf('name', {
|
|
message: 'A user with that name already exists'
|
|
});
|
|
|
|
Self.observe('before save', (ctx, next) => {
|
|
if (ctx.currentInstance && ctx.currentInstance.id && ctx.data && ctx.data.password) {
|
|
ctx.data.password = md5(ctx.data.password);
|
|
}
|
|
next();
|
|
});
|
|
|
|
Self.remoteMethod('getCurrentUserName', {
|
|
description: 'Gets the current user name',
|
|
accepts: [
|
|
{
|
|
arg: 'context',
|
|
type: 'object',
|
|
http: function(ctx) {
|
|
return ctx;
|
|
}
|
|
}
|
|
],
|
|
returns: {
|
|
type: 'string',
|
|
root: true
|
|
},
|
|
http: {
|
|
verb: 'GET',
|
|
path: '/getCurrentUserName'
|
|
}
|
|
});
|
|
|
|
Self.getCurrentUserName = async function(ctx) {
|
|
let filter = {fields: ['name']};
|
|
let userId = ctx.req.accessToken.userId;
|
|
let account = await Self.findById(userId, filter);
|
|
|
|
return account.name;
|
|
};
|
|
};
|