From 1553e15d82b8a1ec4967a90d43b33274f8215c44 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 14 Apr 2016 22:07:46 +0200 Subject: Implement user requests autorizations in the client side --- .../angular/videos/components/add/videos-add.component.ts | 11 ++++++++++- .../videos/components/list/videos-list.component.html | 2 +- .../videos/components/list/videos-list.component.ts | 10 +++++++++- .../videos/components/watch/videos-watch.component.ts | 2 -- client/angular/videos/services/videos.service.ts | 14 ++++++++------ 5 files changed, 28 insertions(+), 11 deletions(-) (limited to 'client/angular/videos') diff --git a/client/angular/videos/components/add/videos-add.component.ts b/client/angular/videos/components/add/videos-add.component.ts index 7ae11db22..bc7b4057c 100644 --- a/client/angular/videos/components/add/videos-add.component.ts +++ b/client/angular/videos/components/add/videos-add.component.ts @@ -1,6 +1,9 @@ import { Component, ElementRef, OnInit } from 'angular2/core'; import { Router } from 'angular2/router'; +import { AuthService } from '../../../users/services/auth.service'; +import { User } from '../../../users/models/user'; + // TODO: import it with systemjs declare var jQuery:any; @@ -11,14 +14,19 @@ declare var jQuery:any; }) export class VideosAddComponent implements OnInit { + user: User; fileToUpload: any; progressBar: { value: number; max: number; } = { value: 0, max: 0 }; private _form: any; - constructor(private _router: Router, private _elementRef: ElementRef) {} + constructor( + private _router: Router, private _elementRef: ElementRef, + private _authService: AuthService + ) {} ngOnInit() { + this.user = User.load(); jQuery(this._elementRef.nativeElement).find('#videofile').fileupload({ url: '/api/v1/videos', dataType: 'json', @@ -49,6 +57,7 @@ export class VideosAddComponent implements OnInit { } uploadFile() { + this._form.headers = this._authService.getRequestHeader().toJSON(); this._form.formData = jQuery(this._elementRef.nativeElement).find('form').serializeArray(); this._form.submit(); } diff --git a/client/angular/videos/components/list/videos-list.component.html b/client/angular/videos/components/list/videos-list.component.html index 38708aff6..75b860f38 100644 --- a/client/angular/videos/components/list/videos-list.component.html +++ b/client/angular/videos/components/list/videos-list.component.html @@ -2,7 +2,7 @@
{{ video.name }} {{ video.podUrl }} - +
diff --git a/client/angular/videos/components/list/videos-list.component.ts b/client/angular/videos/components/list/videos-list.component.ts index ae58f4d7e..b9b440d40 100644 --- a/client/angular/videos/components/list/videos-list.component.ts +++ b/client/angular/videos/components/list/videos-list.component.ts @@ -1,6 +1,8 @@ import { Component, OnInit } from 'angular2/core'; import { ROUTER_DIRECTIVES, RouteParams } from 'angular2/router'; +import { AuthService } from '../../../users/services/auth.service'; +import { User } from '../../../users/models/user'; import { VideosService } from '../../services/videos.service'; import { Video } from '../../models/video'; @@ -12,11 +14,13 @@ import { Video } from '../../models/video'; }) export class VideosListComponent implements OnInit { + user: User = null; videos: Video[]; private search: string; constructor( + private _authService: AuthService, private _videosService: VideosService, routeParams: RouteParams ) { @@ -24,13 +28,17 @@ export class VideosListComponent implements OnInit { } ngOnInit() { + if (this._authService.isLoggedIn()) { + this.user = User.load(); + } + this.getVideos(); } getVideos() { let observable = null; - if (this.search !== null) { + if (this.search !== null) {"" observable = this._videosService.searchVideos(this.search); } else { observable = this._videosService.getVideos(); diff --git a/client/angular/videos/components/watch/videos-watch.component.ts b/client/angular/videos/components/watch/videos-watch.component.ts index 28786ebb9..d1b90c190 100644 --- a/client/angular/videos/components/watch/videos-watch.component.ts +++ b/client/angular/videos/components/watch/videos-watch.component.ts @@ -1,5 +1,3 @@ -/// - import { Component, OnInit, ElementRef } from 'angular2/core'; import { RouteParams, CanDeactivate, ComponentInstruction } from 'angular2/router'; diff --git a/client/angular/videos/services/videos.service.ts b/client/angular/videos/services/videos.service.ts index 17ae89c8b..74b6a1ddc 100644 --- a/client/angular/videos/services/videos.service.ts +++ b/client/angular/videos/services/videos.service.ts @@ -1,14 +1,15 @@ -import {Injectable} from 'angular2/core'; -import {Http, Response} from 'angular2/http'; -import {Observable} from 'rxjs/Rx'; +import { Injectable } from 'angular2/core'; +import { Http, Response } from 'angular2/http'; +import { Observable } from 'rxjs/Rx'; -import {Video} from '../models/video'; +import { Video } from '../models/video'; +import { AuthService } from '../../users/services/auth.service'; @Injectable() export class VideosService { private _baseVideoUrl = '/api/v1/videos/'; - constructor (private http: Http) {} + constructor (private http: Http, private _authService: AuthService) {} getVideos() { return this.http.get(this._baseVideoUrl) @@ -24,7 +25,8 @@ export class VideosService { removeVideo(id: string) { if (confirm('Are you sure?')) { - return this.http.delete(this._baseVideoUrl + id) + const options = this._authService.getAuthRequestOptions(); + return this.http.delete(this._baseVideoUrl + id, options) .map(res => res.status) .catch(this.handleError); } -- cgit v1.2.3