summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/configurationApp/src/models
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/odlux/apps/configurationApp/src/models')
-rw-r--r--sdnr/wt/odlux/apps/configurationApp/src/models/coreModel.ts56
-rw-r--r--sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts73
2 files changed, 129 insertions, 0 deletions
diff --git a/sdnr/wt/odlux/apps/configurationApp/src/models/coreModel.ts b/sdnr/wt/odlux/apps/configurationApp/src/models/coreModel.ts
new file mode 100644
index 000000000..ade7c2c9c
--- /dev/null
+++ b/sdnr/wt/odlux/apps/configurationApp/src/models/coreModel.ts
@@ -0,0 +1,56 @@
+export interface NameValue {
+ "value-name": string;
+ value: string;
+}
+
+export interface LpResponse {
+ uuid: string;
+ "administrative-state": AdministrativeState;
+ "is-protection-lock-out": boolean;
+ "termination-state": string;
+ "local-id": NameValue[];
+ "configured-client-capacity": string;
+ "extension": NameValue[];
+ "operational-state": string;
+ "administrative-control": string;
+ "name": NameValue[];
+ "lp-direction": string;
+ "fc-blocks-signal-to-lp": string;
+ "layer-protocol-name": string;
+ "lifecycle-state": string;
+ "label": NameValue[];
+}
+
+export interface LtpResponse {
+ uuid: string;
+ "administrative-state": AdministrativeState;
+ "local-id": NameValue[];
+ extension: NameValue[];
+ "operational-state": string;
+ lp: LpResponse[];
+ "administrative-control": string;
+ name: NameValue[];
+ "ltp-in-other-view": string[];
+ "ltp-direction": string;
+ "lifecycle-state": string;
+ "client-ltp": string[];
+ "label": NameValue[];
+ "server-ltp": string[];
+}
+
+export interface CoreModelNetworkElement {
+ "administrative-state": AdministrativeState;
+ ltp: LtpResponse[];
+ "local-id": NameValue[];
+ "lifecycle-state": string;
+ uuid: string;
+ label: NameValue[];
+ extension: NameValue[];
+ "operational-state": string;
+ "administrative-control": string;
+ name: NameValue[];
+}
+
+
+export type AdministrativeState = "unlocked" | "locked";
+
diff --git a/sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts b/sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts
new file mode 100644
index 000000000..99307c648
--- /dev/null
+++ b/sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts
@@ -0,0 +1,73 @@
+export interface AccessFlags {
+ "read": boolean,
+ "write": boolean,
+ "create": boolean
+}
+
+export interface ViewElementBase {
+ "id": string;
+ "label": string;
+ "viewId": string;
+ "leafrefPath": string;
+ "accessFlags": AccessFlags;
+ "description": string;
+}
+
+export interface ViewElementString extends ViewElementBase {
+ "uiType": "string";
+}
+
+export interface ViewElementNumber extends ViewElementBase {
+ "uiType": "number";
+ "min"?: number;
+ "max"?: number;
+ "unit"?: string;
+ "format"?: string;
+}
+
+export interface ViewElementBoolean extends ViewElementBase {
+ "uiType": "boolean";
+ "trueValue"?: string;
+ "falseValue"?: string;
+}
+
+export interface ViewElementObject extends ViewElementBase {
+ "uiType": "object";
+ "viewId": string;
+}
+
+export interface ViewElementSelection extends ViewElementBase {
+ "uiType": "selection";
+ "multiSelect"?: boolean
+ "options": {
+ "key": string,
+ "value": string,
+ "description": string
+ }[],
+}
+
+export interface ViewElementList extends ViewElementBase {
+ "uiType": "list",
+ "listType": "object" | "string" | "number",
+ "viewId": string,
+}
+
+export type ViewElement =
+ | ViewElementString
+ | ViewElementNumber
+ | ViewElementBoolean
+ | ViewElementObject
+ | ViewElementSelection
+ | ViewElementList;
+
+export interface ViewSpecification {
+ "id": string;
+ "parentView": string;
+ "name": string;
+ "language": string;
+ "title"?: string;
+ "url": string;
+ "dataPath": string;
+ "elements": ViewElement[];
+}
+