]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/app/users/login/login.component.ts
8e369541d2912f0d0680b093cecfcb7693387cd4
[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 }