Change way remainingrequests component is notified

This commit is contained in:
Kenton Royal 2018-08-27 16:52:09 +01:00
commit e6f24eabb4
5 changed files with 8 additions and 22 deletions

View file

@ -23,7 +23,7 @@ export class RemainingRequestsComponent implements OnInit {
this.update(); this.update();
this.requestService.onRequested().subscribe(m => { this.requestService.requestEvents.subscribe(() => {
this.update(); this.update();
}); });

View file

@ -88,6 +88,7 @@ export class MovieSearchComponent implements OnInit {
try { try {
this.requestService.requestMovie({ theMovieDbId: searchResult.id }) this.requestService.requestMovie({ theMovieDbId: searchResult.id })
.subscribe(x => { .subscribe(x => {
this.requestService.requestEvents.next();
this.result = x; this.result = x;
if (this.result.result) { if (this.result.result) {
this.translate.get("Search.RequestAdded", { title: searchResult.title }).subscribe(x => { this.translate.get("Search.RequestAdded", { title: searchResult.title }).subscribe(x => {

View file

@ -62,6 +62,7 @@ export class SeriesInformationComponent implements OnInit {
this.requestService.requestTv(viewModel) this.requestService.requestTv(viewModel)
.subscribe(x => { .subscribe(x => {
this.requestService.requestEvents.next();
this.result = x as IRequestEngineResult; this.result = x as IRequestEngineResult;
if (this.result.result) { if (this.result.result) {
this.notificationService.success( this.notificationService.success(

View file

@ -161,6 +161,7 @@ export class TvSearchComponent implements OnInit {
this.requestService.requestTv(viewModel) this.requestService.requestTv(viewModel)
.subscribe(x => { .subscribe(x => {
this.requestService.requestEvents.next();
this.result = x; this.result = x;
if (this.result.result) { if (this.result.result) {
this.notificationService.success( this.notificationService.success(

View file

@ -13,15 +13,12 @@ import { IRemainingRequests } from "../interfaces/IRemainingRequests";
@Injectable() @Injectable()
export class RequestService extends ServiceHelpers { export class RequestService extends ServiceHelpers {
private requestEvents = new ReplaySubject<IRequestEngineResult>(); public readonly requestEvents = new ReplaySubject();
constructor(http: HttpClient, public platformLocation: PlatformLocation) { constructor(http: HttpClient, public platformLocation: PlatformLocation) {
super(http, "/api/v1/Request/", platformLocation); super(http, "/api/v1/Request/", platformLocation);
} }
public onRequested(): Observable<IRequestEngineResult> {
return this.requestEvents.asObservable();
}
public getRemainingMovieRequests(): Observable<IRemainingRequests> { public getRemainingMovieRequests(): Observable<IRemainingRequests> {
return this.http.get<IRemainingRequests>(`${this.url}movie/remaining`, {headers: this.headers}); return this.http.get<IRemainingRequests>(`${this.url}movie/remaining`, {headers: this.headers});
} }
@ -31,14 +28,7 @@ export class RequestService extends ServiceHelpers {
} }
public requestMovie(movie: IMovieRequestModel): Observable<IRequestEngineResult> { public requestMovie(movie: IMovieRequestModel): Observable<IRequestEngineResult> {
const observer = Observable.create(observer => { return this.http.post<IRequestEngineResult>(`${this.url}Movie/`, JSON.stringify(movie), {headers: this.headers});
this.http.post<IRequestEngineResult>(`${this.url}Movie/`, JSON.stringify(movie), {headers: this.headers}).subscribe(m => {
observer.next(m);
this.requestEvents.next(m);
});
});
return observer;
} }
public getTotalMovies(): Observable<number> { public getTotalMovies(): Observable<number> {
@ -50,14 +40,7 @@ export class RequestService extends ServiceHelpers {
} }
public requestTv(tv: ITvRequestViewModel): Observable<IRequestEngineResult> { public requestTv(tv: ITvRequestViewModel): Observable<IRequestEngineResult> {
const observer = Observable.create(observer => { return this.http.post<IRequestEngineResult>(`${this.url}TV/`, JSON.stringify(tv), { headers: this.headers });
return this.http.post<IRequestEngineResult>(`${this.url}TV/`, JSON.stringify(tv), { headers: this.headers }).subscribe(m => {
observer.next(m);
this.requestEvents.next(m);
});
});
return observer;
} }
public approveMovie(movie: IMovieUpdateModel): Observable<IRequestEngineResult> { public approveMovie(movie: IMovieUpdateModel): Observable<IRequestEngineResult> {