diff options
Diffstat (limited to 'sdnr/wt/odlux/apps/configurationApp/src/models')
-rw-r--r-- | sdnr/wt/odlux/apps/configurationApp/src/models/coreModel.ts | 56 | ||||
-rw-r--r-- | sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts | 73 |
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[]; +} + |