diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/http.service.ts b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/http.service.ts index 6481fb92e0..95bce8c14c 100644 --- a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/http.service.ts +++ b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/http.service.ts @@ -2,6 +2,7 @@ import {Injectable} from "@angular/core"; import {Observable} from "rxjs"; import {Response, Http, Headers, RequestOptions} from "@angular/http"; import {Book} from "./book"; +import {Rating} from "./rating"; @Injectable() export class HttpService { @@ -9,18 +10,12 @@ export class HttpService { constructor(private http: Http) { } login(user: any): Observable { - let headers = new Headers({'Content-Type': 'application/json'}); - headers.append('Authorization','Basic ' + btoa(user.username + ':' + user.password)); - headers.append('X-Requested-With','XMLHttpRequest'); - let options = new RequestOptions({headers: headers}); + let options = this.makeAuthOptions(user); return this.http.get("/me", options) } logout(user: any): Observable { - let headers = new Headers({'Content-Type': 'application/json'}); - headers.append('Authorization','Basic ' + btoa(user.username + ':' + user.password)); - headers.append('X-Requested-With','XMLHttpRequest'); - let options = new RequestOptions({headers: headers}); + let options = this.makeAuthOptions(user); return this.http.post("/logout", '', options) } @@ -31,26 +26,39 @@ export class HttpService { } updateBook(newBook: Book, user: any): Observable { - let headers = new Headers({'Content-Type': 'application/json'}); - headers.append('Authorization','Basic ' + btoa(user.username + ':' + user.password)); - headers.append('X-Requested-With','XMLHttpRequest'); - let options = new RequestOptions({headers: headers}); + let options = this.makeAuthOptions(user); return this.http.put("/book-service/books/" + newBook.id, newBook, options) } - deleteBook(book: Book, user: any) { - let headers = new Headers({'Content-Type': 'application/json'}); - headers.append('Authorization','Basic ' + btoa(user.username + ':' + user.password)); - headers.append('X-Requested-With','XMLHttpRequest'); - let options = new RequestOptions({headers: headers}); + deleteBook(book: Book, user: any): Observable { + let options = this.makeAuthOptions(user); return this.http.delete("/book-service/books/" + book.id, options) } - createBook(newBook: Book, user: any) { + createBook(newBook: Book, user: any): Observable { + let options = this.makeAuthOptions(user); + return this.http.post("/book-service/books", newBook, options) + } + + getRatings(bookId: number, user: any): Observable { + let options = this.makeAuthOptions(user); + return this.http.get("/rating-service/ratings?bookId=" + bookId, options) + } + + createRating(rating: Rating, user: any): Observable { + let options = this.makeAuthOptions(user); + return this.http.post("/rating-service/ratings", rating, options) + } + + deleteRating(ratingId: number, user: any) { + let options = this.makeAuthOptions(user); + return this.http.delete("/rating-service/ratings/" + ratingId, options) + } + + private makeAuthOptions(user: any): RequestOptions { let headers = new Headers({'Content-Type': 'application/json'}); headers.append('Authorization','Basic ' + btoa(user.username + ':' + user.password)); headers.append('X-Requested-With','XMLHttpRequest'); - let options = new RequestOptions({headers: headers}); - return this.http.post("/book-service/books", newBook, options) + return new RequestOptions({headers: headers});; } } diff --git a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.html b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.html index 42e5d40700..e6d42ef22c 100644 --- a/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.html +++ b/spring-cloud/spring-cloud-bootstrap/gateway/src/main/angular/ui/src/app/rating/rating.component.html @@ -12,7 +12,7 @@ Ratings: -
+