]>
Commit | Line | Data |
---|---|---|
2539932e C |
1 | import { of } from 'rxjs' |
2 | import { catchError, map } from 'rxjs/operators' | |
3 | import { HttpClient } from '@angular/common/http' | |
4 | import { Injectable } from '@angular/core' | |
5 | import { RestExtractor } from '@app/core' | |
6 | import { CustomPage } from '@shared/models' | |
7 | import { environment } from '../../../../environments/environment' | |
8 | ||
9 | @Injectable() | |
10 | export class CustomPageService { | |
11 | static BASE_INSTANCE_HOMEPAGE_URL = environment.apiUrl + '/api/v1/custom-pages/homepage/instance' | |
12 | ||
13 | constructor ( | |
14 | private authHttp: HttpClient, | |
15 | private restExtractor: RestExtractor | |
16 | ) { } | |
17 | ||
18 | getInstanceHomepage () { | |
19 | return this.authHttp.get<CustomPage>(CustomPageService.BASE_INSTANCE_HOMEPAGE_URL) | |
20 | .pipe( | |
21 | catchError(err => { | |
22 | if (err.status === 404) { | |
23 | return of({ content: '' }) | |
24 | } | |
25 | ||
26 | this.restExtractor.handleError(err) | |
27 | }) | |
28 | ) | |
29 | } | |
30 | ||
31 | updateInstanceHomepage (content: string) { | |
32 | return this.authHttp.put(CustomPageService.BASE_INSTANCE_HOMEPAGE_URL, { content }) | |
33 | .pipe( | |
34 | map(this.restExtractor.extractDataBool), | |
35 | catchError(err => this.restExtractor.handleError(err)) | |
36 | ) | |
37 | } | |
38 | } |