diff options
author | Lvbo163 <lv.bo163@zte.com.cn> | 2017-08-30 09:21:09 +0800 |
---|---|---|
committer | Lvbo163 <lv.bo163@zte.com.cn> | 2017-08-30 09:29:32 +0800 |
commit | a53dbd4f12ddd206c2ce9dc0a8ff14a08aadc1fe (patch) | |
tree | a5565b63067331dc9cde0a1285bcef640868abf6 /sdc-workflow-designer-ui/src/app/util | |
parent | ce786628733cb20ff806fa5bb8e061400c7213ef (diff) |
save and query workflow definition
add in memory web api to mock backend rest api to save and load workflow definition.
Issue-ID: SDC-257
Change-Id: Ibedcbe5db5706773de9f6d1093babbcbd7b73297
Signed-off-by: Lvbo163 <lv.bo163@zte.com.cn>
Diffstat (limited to 'sdc-workflow-designer-ui/src/app/util')
-rw-r--r-- | sdc-workflow-designer-ui/src/app/util/http.service.ts | 58 | ||||
-rw-r--r-- | sdc-workflow-designer-ui/src/app/util/rxjs-operators.ts | 18 |
2 files changed, 76 insertions, 0 deletions
diff --git a/sdc-workflow-designer-ui/src/app/util/http.service.ts b/sdc-workflow-designer-ui/src/app/util/http.service.ts new file mode 100644 index 00000000..32669555 --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/util/http.service.ts @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ +import { Injectable } from '@angular/core'; +import { Http, RequestOptionsArgs } from '@angular/http'; +import { Observable } from 'rxjs/Rx'; +import './rxjs-operators'; + +@Injectable() +export class HttpService { + constructor(private http: Http) {} + + public get(uri: string): Observable<any> { + return this.getHttp('get', uri); + } + + public post(uri: string, data: any): Observable<any> { + return this.getHttp('post', uri, data); + } + + public put(uri: string, data: any, options?: RequestOptionsArgs): Observable<any> { + return this.getHttp('put', uri, data, options); + } + + public delete(uri: string): Observable<any> { + return this.getHttp('delete', uri); + } + + public getHttp(type: string, uri: string, data?: any, options?: RequestOptionsArgs): Observable<any> { + if (data) { + return this.http[type](uri, data, options) + .map(response => + response.json() + ) + .catch(this.handleError); + } else { + return this.http[type](uri, options) + .map(response => + response.json() + ) + .catch(this.handleError); + } + } + + private handleError(error: any) { + const errMsg = (error.message) ? error.message : + error.status ? `${error.status}-${error.statusText}` : 'Server error'; + return Observable.throw(errMsg); + } +} diff --git a/sdc-workflow-designer-ui/src/app/util/rxjs-operators.ts b/sdc-workflow-designer-ui/src/app/util/rxjs-operators.ts new file mode 100644 index 00000000..00fa50b8 --- /dev/null +++ b/sdc-workflow-designer-ui/src/app/util/rxjs-operators.ts @@ -0,0 +1,18 @@ +/** + * Copyright (c) 2017 ZTE Corporation. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * and the Apache License 2.0 which both accompany this distribution, + * and are available at http://www.eclipse.org/legal/epl-v10.html + * and http://www.apache.org/licenses/LICENSE-2.0 + * + * Contributors: + * ZTE - initial API and implementation and/or initial documentation + */ +import 'rxjs/add/observable/throw'; +import 'rxjs/add/operator/catch'; +import 'rxjs/add/operator/debounceTime'; +import 'rxjs/add/operator/distinctUntilChanged'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/switchMap'; +import 'rxjs/add/operator/toPromise'; |