@@ -6,7 +6,7 @@ import { Http } from '@angular/http';
66import { Observable } from 'rxjs/Observable' ;
77import 'rxjs/add/operator/toPromise' ;
88import { safeCb , extractData } from '../util' ;
9- import { userRoles } from '../../app/app.constants' ;
9+ import constants from '../../app/app.constants' ;
1010
1111// @flow
1212class User {
@@ -19,19 +19,19 @@ class User {
1919
2020@Injectable ( )
2121export class AuthService {
22- _currentUser : User = { } ;
22+ _currentUser : User = new User ( ) ;
2323 @Output ( ) currentUserChanged = new EventEmitter ( true ) ;
24- userRoles = userRoles || [ ] ;
24+ userRoles = constants . userRoles || [ ] ;
2525
2626 static parameters = [ Http , AuthHttp , UserService ] ;
27- constructor ( _Http_ : Http , _AuthHttp_ : AuthHttp , _UserService_ : UserService ) {
28- this . Http = _Http_ ;
29- this . AuthHttp = _AuthHttp_ ;
30- this . UserService = _UserService_ ;
27+ constructor ( < %= private ( ) % > http : Http , < %= private ( ) % > authHttp : AuthHttp , < %= private ( ) % > userService : UserService ) {
28+ this . Http = http ;
29+ this . AuthHttp = authHttp ;
30+ this . UserService = userService ;
3131
3232 if ( localStorage . getItem ( 'id_token' ) ) {
3333 this . UserService . get ( ) . toPromise ( )
34- . then ( user => {
34+ . then ( ( user : User ) => {
3535 this . currentUser = user ;
3636 } )
3737 . catch ( err => {
@@ -48,7 +48,7 @@ export class AuthService {
4848 * @param {String } role - role to check against
4949 */
5050 static hasRole ( userRole , role ) {
51- return userRoles . indexOf ( userRole ) >= userRoles . indexOf ( role ) ;
51+ return constants . userRoles . indexOf ( userRole ) >= constants . userRoles . indexOf ( role ) ;
5252 }
5353
5454 get currentUser ( ) {
@@ -78,7 +78,7 @@ export class AuthService {
7878 localStorage . setItem ( 'id_token' , res . token ) ;
7979 return this . UserService . get ( ) . toPromise ( ) ;
8080 } )
81- . then ( user => {
81+ . then ( ( user : User ) => {
8282 this . currentUser = user ;
8383 localStorage . setItem ( 'user' , JSON . stringify ( user ) ) ;
8484 safeCb ( callback ) ( null , user ) ;
@@ -98,7 +98,7 @@ export class AuthService {
9898 logout ( ) {
9999 localStorage . removeItem ( 'user' ) ;
100100 localStorage . removeItem ( 'id_token' ) ;
101- this . currentUser = { } ;
101+ this . currentUser = new User ( ) ;
102102 return Promise . resolve ( ) ;
103103 }
104104
@@ -115,7 +115,7 @@ export class AuthService {
115115 localStorage . setItem ( 'id_token' , data . token ) ;
116116 return this . UserService . get ( ) . toPromise ( ) ;
117117 } )
118- . then ( _user => {
118+ . then ( ( _user : User ) => {
119119 this . currentUser = _user ;
120120 return safeCb ( callback ) ( null , _user ) ;
121121 } )
@@ -135,6 +135,7 @@ export class AuthService {
135135 */
136136 changePassword ( oldPassword , newPassword , callback ) {
137137 return this . UserService . changePassword ( { id : this . currentUser . _id } , oldPassword , newPassword )
138+ . toPromise ( )
138139 . then ( ( ) => safeCb ( callback ) ( null ) )
139140 . catch ( err => safeCb ( callback ) ( err ) ) ;
140141 }
@@ -145,7 +146,7 @@ export class AuthService {
145146 * @param {Function } [callback] - function(user)
146147 * @return {Promise }
147148 */
148- getCurrentUser ( callback ) {
149+ getCurrentUser ( callback ? ) {
149150 safeCb ( callback ) ( this . currentUser ) ;
150151 return Promise . resolve ( this . currentUser ) ;
151152 }
@@ -161,9 +162,10 @@ export class AuthService {
161162
162163 /**
163164 * Checks if user is logged in
165+ * @param {function } [callback]
164166 * @returns {Promise }
165167 */
166- isLoggedIn ( callback ) {
168+ isLoggedIn ( callback < % if ( filters . ts ) { % > ? < % } % > ) {
167169 let is = ! ! this . currentUser . _id ;
168170 safeCb ( callback ) ( is ) ;
169171 return Promise . resolve ( is ) ;
@@ -180,10 +182,10 @@ export class AuthService {
180182 /**
181183 * Check if a user is an admin
182184 *
183- * @param {Function|* } callback - optional, function(is)
185+ * @param {Function|* } [ callback] - optional, function(is)
184186 * @return {Promise }
185187 */
186- isAdmin ( callback ) {
188+ isAdmin ( callback ? ) {
187189 return this . getCurrentUser ( ) . then ( user => {
188190 var is = user . role === 'admin' ;
189191 safeCb ( callback ) ( is ) ;
0 commit comments