Create wt-odlux directory
[ccsdk/features.git] / sdnr / wt-odlux / odlux / apps / connectApp / src / models / networkElementConnection.ts
1 /**
2  * ============LICENSE_START========================================================================
3  * ONAP : ccsdk feature sdnr wt odlux
4  * =================================================================================================
5  * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
6  * =================================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
8  * in compliance with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software distributed under the License
13  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
14  * or implied. See the License for the specific language governing permissions and limitations under
15  * the License.
16  * ============LICENSE_END==========================================================================
17  */
18
19 export type NetworkElementConnection = {
20   id?: string;
21   nodeId: string;
22   isRequired: boolean;
23   host: string;
24   port: number;
25   username?: string;
26   password?: string;
27   tlsKey?: string;
28   weburi?: string;
29   isWebUriUnreachable?: boolean;
30   status?: 'Connected' | 'mounted' | 'unmounted' | 'Connecting' | 'Disconnected' | 'idle';
31   coreModelCapability?: string;
32   deviceType?: string;
33   deviceFunction?: string;
34   nodeDetails?: {
35     availableCapabilites: {
36       capabilityOrigin: string;
37       capability: string;
38     }[];
39     unavailableCapabilities: {
40       failureReason: string;
41       capability: string;
42     }[];
43   };
44 };
45
46
47 export type UpdateNetworkElement = {
48   id: string;
49   isRequired?: boolean;
50   username?: string;
51   password?: string;
52   tlsKey?: string;
53 };
54
55 export type ConnectionStatus = {
56   status: string;
57 };
58
59 export type TlsKeys = {
60   key: string;
61 };
62
63
64 /**
65  * Checks if a object has a given propertyname, if yes, the name is returned as string.
66  * @throws at compile time if property is not available
67  * @param name propertyname
68  */
69 export const propertyOf = <TObj>(name: keyof TObj) => name;