aboutsummaryrefslogtreecommitdiff
path: root/src/client/northstar/manager
diff options
context:
space:
mode:
authorBob Zeleznik <zzzman@gmail.com>2019-04-14 22:59:58 -0400
committerBob Zeleznik <zzzman@gmail.com>2019-04-14 22:59:58 -0400
commitc6360fb4aed348f6f6a3c7412b6acc0d1990c239 (patch)
tree3018ea887b40bacac92a137206d5e5f5c34a12bd /src/client/northstar/manager
parent5fbee077873c3dd0a9b5939babbaa1fd4dfe1393 (diff)
parentc787b0eac374b4dabf6ede7ee40e77a28815d5c8 (diff)
merged with master
Diffstat (limited to 'src/client/northstar/manager')
-rw-r--r--src/client/northstar/manager/Gateway.ts72
1 files changed, 45 insertions, 27 deletions
diff --git a/src/client/northstar/manager/Gateway.ts b/src/client/northstar/manager/Gateway.ts
index 5ae5e4f47..d26f2724f 100644
--- a/src/client/northstar/manager/Gateway.ts
+++ b/src/client/northstar/manager/Gateway.ts
@@ -1,4 +1,4 @@
-import { Catalog, OperationReference, Result, CompileResults } from "../model/idea/idea"
+import { Catalog, OperationReference, Result, CompileResults } from "../model/idea/idea";
import { computed, observable, action } from "mobx";
export class Gateway {
@@ -23,9 +23,20 @@ export class Gateway {
}
}
+ public async GetSchema(pathname: string, schemaname: string): Promise<Catalog> {
+ try {
+ const json = await this.MakeGetRequest("schema", undefined, { path: pathname, schema: schemaname });
+ const cat = Catalog.fromJS(json);
+ return cat;
+ }
+ catch (error) {
+ throw new Error("can not reach northstar's backend");
+ }
+ }
+
public async ClearCatalog(): Promise<void> {
try {
- const json = await this.MakePostJsonRequest("Datamart/ClearAllAugmentations", {});
+ await this.MakePostJsonRequest("Datamart/ClearAllAugmentations", {});
}
catch (error) {
throw new Error("can not reach northstar's backend");
@@ -49,7 +60,7 @@ export class Gateway {
public async Compile(data: any): Promise<CompileResults | undefined> {
const json = await this.MakePostJsonRequest("compile", data);
- if (json != null) {
+ if (json !== null) {
const cr = CompileResults.fromJS(json);
return cr;
}
@@ -108,7 +119,7 @@ export class Gateway {
public async StartOperation(data: any): Promise<OperationReference | undefined> {
const json = await this.MakePostJsonRequest("operation", data);
- if (json != null) {
+ if (json !== null) {
const or = OperationReference.fromJS(json);
return or;
}
@@ -116,7 +127,7 @@ export class Gateway {
public async GetResult(data: any): Promise<Result | undefined> {
const json = await this.MakePostJsonRequest("result", data);
- if (json != null) {
+ if (json !== null) {
const res = Result.fromJS(json);
return res;
}
@@ -133,8 +144,15 @@ export class Gateway {
});
}
- public async MakeGetRequest(endpoint: string, signal?: AbortSignal): Promise<any> {
- const url = Gateway.ConstructUrl(endpoint);
+ public async MakeGetRequest(endpoint: string, signal?: AbortSignal, params?: any): Promise<any> {
+ let url = !params ? Gateway.ConstructUrl(endpoint) :
+ (() => {
+ let newUrl = new URL(Gateway.ConstructUrl(endpoint));
+ Object.getOwnPropertyNames(params).map(prop =>
+ newUrl.searchParams.append(prop, params[prop]));
+ return Gateway.ConstructUrl(endpoint) + newUrl.search;
+ })();
+
const response = await fetch(url,
{
redirect: "follow",
@@ -162,18 +180,18 @@ export class Gateway {
public static ConstructUrl(appendix: string): string {
- let base = Settings.Instance.ServerUrl;
- if (base.slice(-1) == "/") {
+ let base = NorthstarSettings.Instance.ServerUrl;
+ if (base.slice(-1) === "/") {
base = base.slice(0, -1);
}
- let url = base + "/" + Settings.Instance.ServerApiPath + "/" + appendix;
+ let url = base + "/" + NorthstarSettings.Instance.ServerApiPath + "/" + appendix;
return url;
}
}
declare var ENV: any;
-export class Settings {
+export class NorthstarSettings {
private _environment: any;
@observable
@@ -230,10 +248,10 @@ export class Settings {
return window.location.origin + "/";
}
- private static _instance: Settings;
+ private static _instance: NorthstarSettings;
@action
- public Update(environment: any): void {
+ public UpdateEnvironment(environment: any): void {
/*let serverParam = new URL(document.URL).searchParams.get("serverUrl");
if (serverParam) {
if (serverParam === "debug") {
@@ -246,23 +264,23 @@ export class Settings {
else {
this.ServerUrl = environment["SERVER_URL"] ? environment["SERVER_URL"] : document.URL;
}*/
- this.ServerUrl = environment["SERVER_URL"] ? environment["SERVER_URL"] : document.URL;
- this.ServerApiPath = environment["SERVER_API_PATH"];
- this.SampleSize = environment["SAMPLE_SIZE"];
- this.XBins = environment["X_BINS"];
- this.YBins = environment["Y_BINS"];
- this.SplashTimeInMS = environment["SPLASH_TIME_IN_MS"];
- this.ShowFpsCounter = environment["SHOW_FPS_COUNTER"];
- this.ShowShutdownButton = environment["SHOW_SHUTDOWN_BUTTON"];
- this.IsMenuFixed = environment["IS_MENU_FIXED"];
- this.IsDarpa = environment["IS_DARPA"];
- this.IsIGT = environment["IS_IGT"];
- this.DegreeOfParallelism = environment["DEGREE_OF_PARALLISM"];
+ this.ServerUrl = environment.SERVER_URL ? environment.SERVER_URL : document.URL;
+ this.ServerApiPath = environment.SERVER_API_PATH;
+ this.SampleSize = environment.SAMPLE_SIZE;
+ this.XBins = environment.X_BINS;
+ this.YBins = environment.Y_BINS;
+ this.SplashTimeInMS = environment.SPLASH_TIME_IN_MS;
+ this.ShowFpsCounter = environment.SHOW_FPS_COUNTER;
+ this.ShowShutdownButton = environment.SHOW_SHUTDOWN_BUTTON;
+ this.IsMenuFixed = environment.IS_MENU_FIXED;
+ this.IsDarpa = environment.IS_DARPA;
+ this.IsIGT = environment.IS_IGT;
+ this.DegreeOfParallelism = environment.DEGREE_OF_PARALLISM;
}
- public static get Instance(): Settings {
+ public static get Instance(): NorthstarSettings {
if (!this._instance) {
- this._instance = new Settings();
+ this._instance = new NorthstarSettings();
}
return this._instance;
}