hasan3050
hasan3050

Reputation: 195

How to get session parameters in afterCreate of sails model

I want to get get current logged in user in a models afterCreate callback. In controller, current logged in user is found form the request header-req.user. But in model's life-cycle callback the session header is not passed. Is there any way to find the current user from model?

I want something like this:

afterCreate: function(record,next){
    var currentUser=this.req.user.id; //want to get the request header here with logged in user
    AnotherModel.create({something:record.something, createdBy:currentUser}).exec(function(err, anotherRecord){
        next()
    }); 
}

Upvotes: 3

Views: 803

Answers (1)

Meeker
Meeker

Reputation: 5979

The req object is not available within the model (for reasons I will not go into).

But your issue is a common one. What many people have done is create a policy that will set that param automatically on the params being passed to the model.

Here are a bunch of related questions and answers

sails.js Use session param in model

Is it possible to access a session variable directly in a Model in SailsJS

https://github.com/balderdashy/waterline/issues/556

https://github.com/balderdashy/waterline/pull/787

Sails Google Group Discussion on the topic

Upvotes: 3

Related Questions