summaryrefslogtreecommitdiffstats
path: root/sdc-workflow-designer-ui/src/app/services/auth.service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'sdc-workflow-designer-ui/src/app/services/auth.service.ts')
-rw-r--r--sdc-workflow-designer-ui/src/app/services/auth.service.ts65
1 files changed, 65 insertions, 0 deletions
diff --git a/sdc-workflow-designer-ui/src/app/services/auth.service.ts b/sdc-workflow-designer-ui/src/app/services/auth.service.ts
new file mode 100644
index 00000000..a8e60753
--- /dev/null
+++ b/sdc-workflow-designer-ui/src/app/services/auth.service.ts
@@ -0,0 +1,65 @@
+/**
+ * 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 } from '@angular/http';
+import { BroadcastService } from './broadcast.service';
+
+@Injectable()
+export class AuthService {
+ private static AuthUrl = "/api/oauth2/v1/perms/user/operations";
+ private static AllOperations = ["operation.apds.create", "operation.apds.delete", "operation.apds.modify",
+ "operation.apds.view", "operation.apds.import", "operation.apds.export", "operation.apds.deploy",
+ "operation.apds.test"];
+ private static ModifyOperation = 'operation.apds.modify';
+
+ constructor(private http: Http, private broadcastService: BroadcastService) {
+ this.checkRights();
+ // keep alive
+ // setInterval(() => {
+ // console.log(`Keep session alive. Request per 3 minutes. ${new Date()}`);
+ // this.checkRights();
+ // }, 180000);
+ }
+ public checkRights() {
+ // let data = { operations: AuthService.AllOperations };
+ // this.http.post(AuthService.AuthUrl, data).subscribe(res => {
+ // let hasRightOP = res.json().operations;
+ // if (hasRightOP.length > 0) {
+ // this.broadcastService.broadcast(this.broadcastService.openRight, true);
+ // if (hasRightOP.indexOf(AuthService.ModifyOperation) > -1) {
+ // this.broadcastService.broadcast(this.broadcastService.saveRight, true);
+ // } else {
+ // this.broadcastService.broadcast(this.broadcastService.saveRight, false);
+ // }
+ // } else {
+ // this.broadcastService.broadcast(this.broadcastService.openRight, false);
+ // this.broadcastService.broadcast(this.broadcastService.saveRight, false);
+ // }
+ // }, error => {
+ // switch (error.status) {
+ // // Incase oauth service not exists or operation set not exists
+ // case 404:
+ // case 501:
+ // case 502:
+ // this.broadcastService.broadcast(this.broadcastService.openRight, true);
+ // this.broadcastService.broadcast(this.broadcastService.saveRight, true);
+ // break;
+ // default:
+ // this.broadcastService.broadcast(this.broadcastService.openRight, false);
+ // this.broadcastService.broadcast(this.broadcastService.saveRight, false);
+ // break;
+ // }
+ // });
+ this.broadcastService.broadcast(this.broadcastService.openRight, true);
+ this.broadcastService.broadcast(this.broadcastService.saveRight, true);
+ }
+}