(function () { 'use strict'; var permission = { "exceptAnonymous": { permissions: { except: ['anonymous'], redirectTo: 'login' } } }; var $app = angular.module('app'); $app.config([ '$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { $urlRouterProvider.otherwise(function() { return window.localStorage.token ? '/main/users/:0' : '/login'; }); $stateProvider. state('main', { url: '/main', templateUrl: 'views/main/main.html', data: permission.exceptAnonymous }) .state('main.users', { url: '/users/:{status}', templateUrl: 'views/users/main.html', data: permission.exceptAnonymous }) .state('main.admins', { url: '/admins/:{status}', templateUrl: 'views/admins/main.html', data: permission.exceptAnonymous }) .state('main.careProviders', { url: '/care-providers/:{status}', templateUrl: 'views/care-providers/main.html', data: permission.exceptAnonymous }) .state('main.profile', { url: '/profile', templateUrl: 'views/profile/profile.html', data: permission.exceptAnonymous }) .state('main.approval', { url: '/approval', data: permission.exceptAnonymous }) .state('main.reports', { url: '/reports', templateUrl: 'views/reports/main.html', data: permission.exceptAnonymous }) // Account routes .state('login', { url: '/login', templateUrl: 'views/login/login.html', data: { permissions: { only: ['anonymous'], redirectTo: 'main.users' } } }) .state('forgot', { url: '/forgot', templateUrl: 'views/forgot/forgot.html', data: { permissions: { only: ['anonymous'], redirectTo: 'login' } } }) .state('registration', { url: '/registration', templateUrl: 'views/registration/registration.html', controller: 'registration', data: { permissions: { only: ['anonymous'], redirectTo: 'main.users' } } }) // Care Provider routes .state('careProviders', { url: '/care-providers/:{status}', templateUrl: 'views/main/main.html', data: permission.exceptAnonymous }) .state('careProviders.create', { url: '/create', templateUrl: 'views/care-providers/create.html', data: permission.exceptAnonymous }) .state('careProviders.profile', { url: '/profile/:{id}', templateUrl: 'views/care-providers/profile.html', data: permission.exceptAnonymous }) // User routes .state('users', { url: '/users/:{status}', templateUrl: 'views/main/main.html', data: permission.exceptAnonymous }) .state('users.profile', { url: '/profile/:{id}', templateUrl: 'views/users/profile.html', data: permission.exceptAnonymous }) .state('users.create', { url: '/create', templateUrl: 'views/users/create.html', data: permission.exceptAnonymous }) // Admin routes .state('admins', { url: '/admins/:{status}', templateUrl: 'views/main/main.html', data: permission.exceptAnonymous }) .state('admins.profile', { url: '/profile/:{id}', templateUrl: 'views/admins/profile.html', data: permission.exceptAnonymous }) .state('admins.create', { url: '/create', templateUrl: 'views/admins/create.html', data: permission.exceptAnonymous }) // Approval routes .state('approval', { url: '/approval', templateUrl: 'views/main/main.html', data: permission.exceptAnonymous }) .state('approval.services', { url: '/services', templateUrl: 'views/approval/services.html', data: permission.exceptAnonymous }) .state('approval.moments', { url: '/moments', templateUrl: 'views/approval/moments.html', data: permission.exceptAnonymous }) } ]); })();