how to call default blueprint actions in a custom overridden one?

后端 未结 3 1172
情歌与酒
情歌与酒 2021-02-08 04:21

SailsJS provides default blueprint actions, such as find, update, create, etc.

I need to override some of them to suit particular business purposes. However, I would lik

3条回答
  •  夕颜
    夕颜 (楼主)
    2021-02-08 05:02

    I just came across the same issue and found a different way to fix it. It may help in the future if someone has the same problem. What I finally did was to re-write the action in the controller, in my case it was add and then, after doing some stuff inside, called the default blueprint's action. So, my code looks like below:

    add: function (req, res) {
        if (xxx) {
            // I need to do something only when the condition above is met
            Section.count({xxx: xxx)}).exec(function (error, count) {
                if (error) {
                    return res.json(500, {error: 'There was an error while trying to run query'});
                }
                //I do what I have to do
                return sails.hooks.blueprints.middleware.add(req, res);
            });
        } else {
            //I just return the default blueprint's action
            return sails.hooks.blueprints.middleware.add(req, res);
        }
    }
    

    So, basically, default blueprint functions are stored in: sails.hooks.blueprints.middleware

提交回复
热议问题