Notas: Anadir usuario

This commit is contained in:
Vicente Falco 2017-06-01 13:52:13 +02:00
parent fb8e62c840
commit f4ed484b90
4 changed files with 38 additions and 3 deletions

View File

@ -1,4 +1,7 @@
module.exports = function(ClientObservation) {
let loopBackContext = require('loopback-context');
ClientObservation.validate('text', isEnabled, {message: 'Se debe rellenar el campo de texto'});
function isEnabled(err) {
if (!this.text) err();
@ -6,7 +9,15 @@ module.exports = function(ClientObservation) {
ClientObservation.observe('before save', function(ctx, next) {
ctx.instance.created = Date();
ctx.instance.employeeFk = 20;
next();
let currentUser = loopBackContext.getCurrentContext();
let userId = currentUser.get('currentUser');
let app = require('../../server/server');
let employee = app.models.Employee;
employee.findOne({where: {userFk: userId}}, function (err, user){
if (user){
ctx.instance.employeeFk = user.id;
next();
}
});
});
};

View File

@ -16,6 +16,7 @@
"loopback-boot": "^2.6.5",
"loopback-component-explorer": "^2.7.0",
"loopback-connector-mysql": "^3.0.0",
"loopback-context": "^3.1.0",
"loopback-datasource-juggler": "^2.54.1",
"serve-favicon": "^2.0.1",
"strong-error-handler": "^1.2.1"

View File

@ -22,10 +22,20 @@
"helmet#noSniff": {},
"helmet#noCache": {
"enabled": false
},
"loopback-context#per-request": {
"params": {
"enableHttpContext": true
}
}
},
"session": {},
"auth": {},
"auth": {
"loopback#token": {}
},
"auth:after": {
"./middleware/currentUser": {}
},
"parse": {},
"routes": {
"loopback#rest": {

View File

@ -0,0 +1,13 @@
module.exports = function(options) {
return function storeCurrentUser(req, res, next) {
if (!req.accessToken) {
return next();
}
let LoopBackContext = require('loopback-context');
let loopbackContext = LoopBackContext.getCurrentContext();
if (loopbackContext) {
loopbackContext.set('currentUser', req.accessToken.userId);
}
next();
};
};