如何从模型挂钩中访问提出请求的用户的详细信息
Comment.beforeSave = function(next,com) { //Want to add 2 more properties before saving com.added_at = new Date(); com.added_by = //How can i set the user id here ?? //In case of a Remote hook i have ctx in param and i can get user id like this ctx.req.accessToken.userId; But in Model Hook how can i do the same? next(); };
有没有办法做到这一点?我尝试使用远程钩子作为主要项目
MainItem.beforeRemote('**', function(ctx, user, next) { if(ctx.methodString == 'leave_request.prototype.__create__comments'){ ctx.req.body.added_by = ctx.req.accessToken.userId; ctx.req.body.added_at = new Date(); console.log("Added headers as .."+ctx.req.body.added_by); } else{ ctx.req.body.requested_at = new Date(); ctx.req.body.requested_by = ctx.req.accessToken.userId; console.log("Added header @ else as .."+ctx.req.body.requested_by); } next();
});
一旦我从资源管理器发出请求,我就可以正确获取控制台日志,但是资源管理器总是会向我返回错误
"error": { "name": "ValidationError", "status": 422, "message": "The `comment` instance is not valid. Details: `added_by` can't be blank; `added_at` can't be blank.", "statusCode": 422, "details": { "context": "comment", "codes": { "added_by": [ "presence" ], "added_at": [ "presence" ] }, "messages": { "added_by": [ "can't be blank" ], "added_at": [ "can't be blank" ] } }, "stack": "ValidationError: The `comment` instance is not valid. Details: `added_by` can't be blank; `added_at` can't be blank.\n " } }
我的模型就像
"properties": { "body": { "type": "string", "required": true }, "added_by": { "type": "number", "required": true }, "added_at": { "type": "date", "required": true }, "leave_request_id":{ "type": "number", "required": true }
}