i'm building a provider for the authentication part of the app. I'm having trouble on passing values to a function when using dependency injector.
angular.module('security.authorization', ['security.service'])
.provider('securityAuthorization', {
requireRole: ['securityAuthorization', 'rolesAllowed', function(securityAuthorization, rolesAllowed) {
return securityAuthorization.requireRole(rolesAllowed);
}],
$get: ['security', '$q', function(security, $q) {
return {
requireRole: function(rolesAllowed) {
console.log(rolesAllowed);
}
};
}]
});
I'm trying to call "requireRole" from app.config $routeProvider.
.when('/map', { controller: 'MapCtrl', templateUrl: 'partials/user/map.html',
resolve: {
authenticatedUser: securityAuthorizationProvider.requireRole('user')
}
})
But it gives me
Uncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to: TypeError: object is not a function
UPDATE
app.config(function($routeProvider, $httpProvider, securityAuthorization) {
$routeProvider
.when('/map', { controller: 'MapCtrl', templateUrl: 'partials/user/map.html',
resolve: {
authenticatedUser: ['securityAuthorization', function(){
return securityAuthorization.requireRole('user');
}]
}
});
});
Error:
Error: [$injector:unpr] Unknown provider: securityAuthorization
securityAuthorizationfrom your DI in yourconfig, it is no longer needed there.authenticatedUser: ['securityAuthorization', function(securityAuthorization){ return securityAuthorization.requireRole('user'); }]