From 41a2aee38cf812510010da09de9bae53590ec119 Mon Sep 17 00:00:00 2001 From: Chocobozzz <florian.bigard@gmail.com> Date: Fri, 27 May 2016 16:23:10 +0200 Subject: Follow the angular styleguide for the directories structure --- .../users/components/login/login.component.html | 14 --- .../users/components/login/login.component.scss | 0 .../users/components/login/login.component.ts | 36 ------- client/angular/users/models/authStatus.ts | 4 - client/angular/users/models/token.ts | 31 ------ client/angular/users/models/user.ts | 20 ---- client/angular/users/services/auth.service.ts | 107 --------------------- 7 files changed, 212 deletions(-) delete mode 100644 client/angular/users/components/login/login.component.html delete mode 100644 client/angular/users/components/login/login.component.scss delete mode 100644 client/angular/users/components/login/login.component.ts delete mode 100644 client/angular/users/models/authStatus.ts delete mode 100644 client/angular/users/models/token.ts delete mode 100644 client/angular/users/models/user.ts delete mode 100644 client/angular/users/services/auth.service.ts (limited to 'client/angular/users') diff --git a/client/angular/users/components/login/login.component.html b/client/angular/users/components/login/login.component.html deleted file mode 100644 index 940694515..000000000 --- a/client/angular/users/components/login/login.component.html +++ /dev/null @@ -1,14 +0,0 @@ -<h3>Login</h3> -<form role="form" (submit)="login(username.value, password.value)"> - <div class="form-group"> - <label for="username">Username</label> - <input type="text" #username class="form-control" id="username" placeholder="Username"> - </div> - - <div class="form-group"> - <label for="password">Password</label> - <input type="password" #password class="form-control" id="password" placeholder="Password"> - </div> - - <input type="submit" value="Login" class="btn btn-default"> -</form> diff --git a/client/angular/users/components/login/login.component.scss b/client/angular/users/components/login/login.component.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/client/angular/users/components/login/login.component.ts b/client/angular/users/components/login/login.component.ts deleted file mode 100644 index d339353ef..000000000 --- a/client/angular/users/components/login/login.component.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { Component } from '@angular/core'; -import { Router } from '@angular/router-deprecated'; - -import { AuthService } from '../../services/auth.service'; -import { AuthStatus } from '../../models/authStatus'; -import { User } from '../../models/user'; - -@Component({ - selector: 'my-user-login', - styleUrls: [ 'app/angular/users/components/login/login.component.css' ], - templateUrl: 'app/angular/users/components/login/login.component.html' -}) - -export class UserLoginComponent { - constructor(private _authService: AuthService, private _router: Router) {} - - login(username: string, password: string) { - this._authService.login(username, password).subscribe( - result => { - const user = new User(username, result); - user.save(); - - this._authService.setStatus(AuthStatus.LoggedIn); - - this._router.navigate(['VideosList']); - }, - error => { - if (error.error === 'invalid_grant') { - alert('Credentials are invalid.'); - } else { - alert(`${error.error}: ${error.error_description}`); - } - } - ); - } -} diff --git a/client/angular/users/models/authStatus.ts b/client/angular/users/models/authStatus.ts deleted file mode 100644 index f646bd4cf..000000000 --- a/client/angular/users/models/authStatus.ts +++ /dev/null @@ -1,4 +0,0 @@ -export enum AuthStatus { - LoggedIn, - LoggedOut -} diff --git a/client/angular/users/models/token.ts b/client/angular/users/models/token.ts deleted file mode 100644 index b7872e74a..000000000 --- a/client/angular/users/models/token.ts +++ /dev/null @@ -1,31 +0,0 @@ -export class Token { - access_token: string; - refresh_token: string; - token_type: string; - - static load(): Token { - return new Token({ - access_token: localStorage.getItem('access_token'), - refresh_token: localStorage.getItem('refresh_token'), - token_type: localStorage.getItem('token_type') - }); - } - - constructor (hash?: any) { - if (hash) { - this.access_token = hash.access_token; - this.refresh_token = hash.refresh_token; - if (hash.token_type === 'bearer') { - this.token_type = 'Bearer'; - } else { - this.token_type = hash.token_type; - } - } - } - - save():void { - localStorage.setItem('access_token', this.access_token); - localStorage.setItem('refresh_token', this.refresh_token); - localStorage.setItem('token_type', this.token_type); - } -} diff --git a/client/angular/users/models/user.ts b/client/angular/users/models/user.ts deleted file mode 100644 index 3367e3bb5..000000000 --- a/client/angular/users/models/user.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Token } from './token'; - -export class User { - username: string; - token: Token; - - static load(): User { - return new User(localStorage.getItem('username'), Token.load()); - } - - constructor (username: string, hash_token: any) { - this.username = username; - this.token = new Token(hash_token); - } - - save(): void { - localStorage.setItem('username', this.username); - this.token.save(); - } -} diff --git a/client/angular/users/services/auth.service.ts b/client/angular/users/services/auth.service.ts deleted file mode 100644 index 099563d43..000000000 --- a/client/angular/users/services/auth.service.ts +++ /dev/null @@ -1,107 +0,0 @@ -import { Injectable } from '@angular/core'; -import { Http, Response, Headers, URLSearchParams, RequestOptions } from '@angular/http'; -import { Observable, Subject } from 'rxjs/Rx'; - -import { AuthStatus } from '../models/authStatus'; -import { User } from '../models/user'; - -@Injectable() -export class AuthService { - loginChanged$; - - private _loginChanged; - private _baseLoginUrl = '/api/v1/users/token'; - private _baseClientUrl = '/api/v1/users/client'; - private _clientId = ''; - private _clientSecret = ''; - - constructor (private http: Http) { - this._loginChanged = new Subject<AuthStatus>(); - this.loginChanged$ = this._loginChanged.asObservable(); - - // Fetch the client_id/client_secret - // FIXME: save in local storage? - this.http.get(this._baseClientUrl) - .map(res => res.json()) - .catch(this.handleError) - .subscribe( - result => { - this._clientId = result.client_id; - this._clientSecret = result.client_secret; - console.log('Client credentials loaded.'); - }, - error => { - alert(error); - } - ); - } - - login(username: string, password: string) { - let body = new URLSearchParams(); - body.set('client_id', this._clientId); - body.set('client_secret', this._clientSecret); - body.set('response_type', 'code'); - body.set('grant_type', 'password'); - body.set('scope', 'upload'); - body.set('username', username); - body.set('password', password); - - let headers = new Headers(); - headers.append('Content-Type', 'application/x-www-form-urlencoded'); - - let options = { - headers: headers - }; - - return this.http.post(this._baseLoginUrl, body.toString(), options) - .map(res => res.json()) - .catch(this.handleError); - } - - logout() { - // TODO make HTTP request - } - - getRequestHeader(): Headers { - return new Headers({ 'Authorization': `${this.getTokenType()} ${this.getToken()}` }); - } - - getAuthRequestOptions(): RequestOptions { - return new RequestOptions({ headers: this.getRequestHeader() }); - } - - getToken(): string { - return localStorage.getItem('access_token'); - } - - getTokenType(): string { - return localStorage.getItem('token_type'); - } - - getUser(): User { - if (this.isLoggedIn() === false) { - return null; - } - - const user = User.load(); - - return user; - } - - isLoggedIn(): boolean { - if (this.getToken()) { - return true; - } else { - return false; - } - } - - setStatus(status: AuthStatus) { - this._loginChanged.next(status); - } - - private handleError (error: Response) { - console.error(error); - return Observable.throw(error.json() || { error: 'Server error' }); - } -} -- cgit v1.2.3