UNPKG

identity

Version:

Identity client

66 lines (52 loc) 1.7 kB
exports.definition = { mixinCallback: function(){ this.scope('withAccessToken', function(token){ if(token){ var tmp = this.temporaryDefinition(); tmp.beforeFind(function(options){ options.params.access_token = token; }); tmp.beforeSave(function(record, options){ options.params.access_token = token; }); tmp.beforeDestroy(function(record, options){ options.params.access_token = token; }); } }); this.scope('asApplication', function(on_application, force){ if(!this.definition.temporary || force === true){ this.temporaryDefinition().asApplication(on_application); } }); this.defaultScope('asApplication'); }, asApplication: function(on_application){ var api = this.store.config.actionhero; var application = api.identity.application(on_application || 'identity'); this.beforeFind(function(options, next){ application.getAccessToken(function(app){ if(app){ options.params.access_token = app.access_token; } next(); }); }); this.beforeSave(function(record, options, next){ application.getAccessToken(function(app){ if(app){ options.params.access_token = app.access_token; } next(); }); }); this.beforeDestroy(function(record, options, next){ application.getAccessToken(function(app){ if(app){ options.params.access_token = app.access_token; } next(); }); }); } }