0

I am performing after save method on User model in loopback.io

Code:
server/boot/user.js

module.exports = function(app) {
  var User = app.models.user;
  var Role = app.models.Role;
  var RoleMapping = app.models.RoleMapping;
  User.observe('after save', function setDefaultUserRole(ctx, next) {
    if (ctx.instance) {
      if (ctx.isNewInstance) {
        var userRole = ctx.instance.city != '' ? 'admin' : 'user';
        Role.find({name: userRole}, function(err, role) {
          if (err) {
            return console.log(err);
          }
          console.log(role);
          console.log(role.id);
          RoleMapping.create({
            principalType: RoleMapping.USER,
            principalId: ctx.instance.id,
            roleId: role.id
          }, function(err, roleMapping) {
            if (err) {
              return console.log(err);
            }
          });
        });
      }
    }
    next();
  });
};

In console it prints,

 [{ name: 'admin',
    created: Tue Feb 16 2016 10:57:27 GMT+0530 (India Standard Time),
    modified: Tue Feb 16 2016 10:57:27 GMT+0530 (India Standard Time),
    id: 56c2b33f624c3b680b86398b },
  { name: 'user',
    created: Tue Feb 16 2016 10:57:27 GMT+0530 (India Standard Time),
    modified: Tue Feb 16 2016 10:57:27 GMT+0530 (India Standard Time),
    id: 56c2b33f624c3b680b86398c }]
undefined

Can anyone please guide me how to retrieve role.id from above code snippet?

Daniel Higueras
  • 2,404
  • 22
  • 34
Vicky Gonsalves
  • 11,593
  • 2
  • 37
  • 58

0 Answers0