aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/login/login.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/app/login/login.component.ts')
-rw-r--r--client/src/app/login/login.component.ts36
1 files changed, 36 insertions, 0 deletions
diff --git a/client/src/app/login/login.component.ts b/client/src/app/login/login.component.ts
new file mode 100644
index 000000000..9d88536ca
--- /dev/null
+++ b/client/src/app/login/login.component.ts
@@ -0,0 +1,36 @@
1import { Component } from '@angular/core';
2import { Router } from '@angular/router-deprecated';
3
4import { AuthService, AuthStatus, User } from '../shared';
5
6@Component({
7 selector: 'my-login',
8 template: require('./login.component.html')
9})
10
11export class LoginComponent {
12 constructor(
13 private authService: AuthService,
14 private router: Router
15 ) {}
16
17 login(username: string, password: string) {
18 this.authService.login(username, password).subscribe(
19 result => {
20 const user = new User(username, result);
21 user.save();
22
23 this.authService.setStatus(AuthStatus.LoggedIn);
24
25 this.router.navigate(['VideosList']);
26 },
27 error => {
28 if (error.error === 'invalid_grant') {
29 alert('Credentials are invalid.');
30 } else {
31 alert(`${error.error}: ${error.error_description}`);
32 }
33 }
34 );
35 }
36}