import { Injectable } from \'@angular/core\';
import { Http } from \'@angular/http\';
import { Storage, LocalStorage } from \'ionic-angular\';
import \'rxjs/add/operator/map\';
import \'rxjs/add/operator/timeout\';
import * as config from \'../../config/config\';
import * as TokenManager from \'../../utils/token-manager\';
import { UserManagementService } from \'../user-management-service/user-management-service\';
@Injectable()
export class AuthService {
private authToken: string = null;
constructor(private http: Http,
private userMgt: UserManagementService) { }
login(data) {
return new Promise(resolve => {
this.http.post(config.apiUrl + \'/rest/user/login?method=normal\', data)
.map(res => res.json())
.subscribe(data => {
if (data.success) {
this.authToken = data.data.token;
TokenManager.saveToken(this.authToken).then(() => {
this.userMgt.fetchProfile().then(() => {
resolve(data);
});
});
} else {
this.authToken = null;
resolve(data);
}
});
});
}
}