1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2024-11-03 21:04:03 +08:00
pigallery2/frontend/app/model/authentication.service.ts

39 lines
1.1 KiB
TypeScript
Raw Normal View History

2016-03-14 20:20:29 +08:00
///<reference path="../../browser.d.ts"/>
2016-03-13 18:28:29 +08:00
import {Injectable} from 'angular2/core';
import {User} from "../../../common/entities/User";
import {Event} from "../../../common/event/Event";
import {UserService} from "./user.service";
import {LoginCredential} from "../../../common/entities/LoginCredential";
import {Message} from "../../../common/entities/Message";
2016-03-13 18:28:29 +08:00
@Injectable()
export class AuthenticationService{
private _user:User = null;
2016-03-13 18:28:29 +08:00
public OnAuthenticated:Event<User>;
constructor(private _userService: UserService){
2016-03-13 18:28:29 +08:00
this.OnAuthenticated = new Event();
}
public login(credential:LoginCredential){
this._userService.login(credential).then( (message:Message<User>) =>{
console.log(message);
if(message.errors && message.errors.length > 0){
console.log(message.errors);
}else{
this._user = message.result;
this.OnAuthenticated.trigger(this._user);
}
});
}
2016-03-13 18:28:29 +08:00
public isAuthenticated():boolean{
return this._user && this._user != null;
2016-03-13 18:28:29 +08:00
}
2016-03-13 18:28:29 +08:00
}