summaryrefslogtreecommitdiffstats
path: root/sdc-workflow-designer-ui/src/app/services/data-access/sdc.service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'sdc-workflow-designer-ui/src/app/services/data-access/sdc.service.ts')
-rw-r--r--sdc-workflow-designer-ui/src/app/services/data-access/sdc.service.ts49
1 files changed, 49 insertions, 0 deletions
diff --git a/sdc-workflow-designer-ui/src/app/services/data-access/sdc.service.ts b/sdc-workflow-designer-ui/src/app/services/data-access/sdc.service.ts
new file mode 100644
index 00000000..cec6ae25
--- /dev/null
+++ b/sdc-workflow-designer-ui/src/app/services/data-access/sdc.service.ts
@@ -0,0 +1,49 @@
+/**
+ * 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 { CatalogService } from "./catalog.service";
+import { Observable } from "rxjs/Observable";
+import { WorkflowNode } from "../../model/workflow-node";
+import { HttpService } from "../../util/http.service";
+import { Workflow } from "../../model/workflow";
+
+/**
+ * SdcService
+ * provides data access from sdc
+ */
+@Injectable()
+export class SdcService extends CatalogService {
+
+ constructor(protected httpService: HttpService) {
+ super(httpService);
+ }
+
+ public loadWorkflows(): Observable<WorkflowNode[]> {
+ // TODO load data from sdc
+ const url = 'api/workflows';
+ return this.httpService.get(url);
+ }
+
+ public loadWorkflow(workflowId: string): Observable<Workflow> {
+ // TODO load data from sdc
+ const url = `api/workflows/${workflowId}`;
+ return this.httpService.get(url).map(response => response.data);
+ }
+
+ public saveWorkflow(workflow: Workflow): Observable<boolean> {
+ // TODO save workflow design to sdc
+ const url = `api/workflows/${workflow.id}`;
+ return this.httpService.put(url, JSON.stringify(workflow)).map(() => true);
+ }
+
+}