diff options
Diffstat (limited to 'catalog-ui/src/app/ng2/services/component-services/resource.service.ts')
-rw-r--r-- | catalog-ui/src/app/ng2/services/component-services/resource.service.ts | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/catalog-ui/src/app/ng2/services/component-services/resource.service.ts b/catalog-ui/src/app/ng2/services/component-services/resource.service.ts index d20f5415bc..2f84418e9e 100644 --- a/catalog-ui/src/app/ng2/services/component-services/resource.service.ts +++ b/catalog-ui/src/app/ng2/services/component-services/resource.service.ts @@ -18,21 +18,32 @@ * ============LICENSE_END========================================================= */ -import { Injectable } from '@angular/core'; -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/toPromise'; -import { HttpClient } from '@angular/common/http'; +import {Inject, Injectable} from '@angular/core'; +import {HttpClient} from '@angular/common/http'; +import {ISdcConfig, SdcConfigToken} from "../../config/sdc-config.config"; +import {Observable} from "rxjs/Observable"; +import {ComponentMetadata} from "../../../models/component-metadata"; +import {ComponentLifecycleState} from "../../../models/component-lifecycle-state.enum"; @Injectable() export class ResourceServiceNg2 { - protected baseUrl = ""; - - constructor(private http: HttpClient) { - - } + private readonly baseUrl: string; + constructor(protected http: HttpClient, @Inject(SdcConfigToken) sdcConfig: ISdcConfig) { + this.baseUrl = sdcConfig.api.root + sdcConfig.api.component_api_root; + } + public checkout(componentUniqueId: string): Observable<ComponentMetadata> { + return this.changeLifecycleState(componentUniqueId, ComponentLifecycleState.CHECKOUT); + } + private changeLifecycleState(componentUniqueId: string, state: ComponentLifecycleState): Observable<ComponentMetadata> { + const url: string = this.baseUrl + 'resources/' + componentUniqueId + '/lifecycleState/' + state; + return this.http.post<ComponentMetadata>(url, {}).map(value => { + return value; + } + ); + } } |