]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/app/users/login/login.component.ts
33590ad4c570ab6ecdf6ae60c602ad99fc4d9ce1
[github/Chocobozzz/PeerTube.git] / client / app / users / login / login.component.ts
1 import { Component } from '@angular/core';
2 import { Router } from '@angular/router-deprecated';
3
4 import { AuthService, AuthStatus, User } from '../shared/index';
5
6 @Component({
7 selector: 'my-user-login',
8 styleUrls: [ 'client/app/users/login/login.component.css' ],
9 templateUrl: 'client/app/users/login/login.component.html'
10 })
11
12 export class UserLoginComponent {
13 constructor(private _authService: AuthService, private _router: Router) {}
14
15 login(username: string, password: string) {
16 this._authService.login(username, password).subscribe(
17 result => {
18 const user = new User(username, result);
19 user.save();
20
21 this._authService.setStatus(AuthStatus.LoggedIn);
22
23 this._router.navigate(['VideosList']);
24 },
25 error => {
26 if (error.error === 'invalid_grant') {
27 alert('Credentials are invalid.');
28 } else {
29 alert(`${error.error}: ${error.error_description}`);
30 }
31 }
32 );
33 }
34 }