src/services/user.service.ts
Properties |
|
Methods |
|
constructor(router: Router)
|
||||||||
Defined in src/services/user.service.ts:11
|
||||||||
Parameters :
|
Public getCurrent |
getCurrent()
|
Defined in src/services/user.service.ts:21
|
Returns :
any
|
Public logout |
logout()
|
Defined in src/services/user.service.ts:25
|
Returns :
void
|
Public setCurrent | ||||||||
setCurrent(user: User)
|
||||||||
Defined in src/services/user.service.ts:17
|
||||||||
Parameters :
Returns :
void
|
Private current |
current:
|
Type : ReplaySubject<User>
|
Defined in src/services/user.service.ts:8
|
Public logoutAction |
logoutAction:
|
Type : Function
|
Defined in src/services/user.service.ts:11
|
import { User } from '../models/user';
import { Injectable } from '@angular/core';
import { Observable, ReplaySubject } from 'rxjs/Rx';
import { Router } from '@angular/router';
@Injectable()
export class UserService {
private current: ReplaySubject<User> = new ReplaySubject<User>( 1 );
// Called when logout
public logoutAction: Function;
constructor(
private router: Router
) {}
public setCurrent( user: User ) {
this.current.next( user );
}
public getCurrent() {
return this.current;
}
public logout() {
if ( this.logoutAction ) {
this.logoutAction();
} else {
const user = new User();
user.connected = false;
this.setCurrent( user );
this.router.navigate(['login']);
}
}
}