blob: e3d44e23125ed1a4dc4ddf232b3fb139c2c1586f [file] [log] [blame]
kumaran.m3b4814a2020-05-01 19:48:54 +05301/*
2 Copyright 2020 TATA ELXSI
3
4 Licensed under the Apache License, Version 2.0 (the 'License');
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 Author: KUMARAN M (kumaran.m@tataelxsi.co.in), RAJESH S (rajesh.s@tataelxsi.co.in), BARATH KUMAR R (barath.r@tataelxsi.co.in)
17 */
18import { HttpHeaders } from '@angular/common/http';
19
20/**
21 * @file Model for Commonly used information.
22 */
23/**
24 * handle count @enum
25 */
26export enum CONSTANTNUMBER {
27 randomNumber = 4,
28 osmapviewlong = 77.673,
29 osmapviewlat = 19.166,
30 chennailong = 80.2809,
31 chennailat = 13.0781,
32 bangalorelong = 77.5868,
33 bangalorelat = 12.9718,
34 mumbailong = 72.8342,
35 mumbailat = 18.9394,
36 tirvandrumlong = 76.9544,
37 tirvandrumlat = 8.5009,
38 oneMB = 1048576,
39 paginationDefaultValue = 10,
40 splitLongitude = 1,
41 splitLatitude = 2
42}
43/**
44 * handle count @enum
45 */
46export enum CONFIGCONSTANT {
47 operationalStateFirstStep = 'init',
48 operationalStateSecondStep = 'running',
49 operationalStateThirdStep = 'failed',
50 configStateFirstStep = 'init',
51 configStateSecondStep = 'configured',
52 configStateThirdStep = 'failed',
53 historyStateFirstStep = 'PROCESSING',
54 historyStateSecondStep = 'COMPLETED',
55 historyStateThirdStep = 'FAILED',
56 wimOperationalStateFirstStep = 'PROCESSING',
57 wimOperationalStateStateSecondStep = 'ENABLED',
58 wimOperationalStateThirdStep = 'ERROR',
59 vimOperationalStateFirstStep = 'PROCESSING',
60 vimOperationalStateStateSecondStep = 'ENABLED',
61 vimOperationalStateThirdStep = 'ERROR',
62 sdnOperationalStateFirstStep = 'PROCESSING',
63 sdnOperationalStateStateSecondStep = 'ENABLED',
64 sdnOperationalStateThirdStep = 'ERROR',
65 k8OperationalStateFirstStep = 'PROCESSING',
66 k8OperationalStateStateSecondStep = 'ENABLED',
67 k8OperationalStateThirdStep = 'ERROR'
68}
69/** Interface for Post options */
70export interface POSTAPIRESOURCE {
71 apiURLHeader: APIURLHEADER;
72 payload?: object;
73}
74/** Interface for ApiURL Header */
75export interface APIURLHEADER {
76 url: string;
77 httpOptions?: APIHEADERS;
78}
79/** Interface for the Get Method with response type */
80export interface GETAPIURLHEADER {
81 headers: HttpHeaders;
82 responseType: string;
83}
84/** Interface for Httpoptions Header */
85interface APIHEADERS {
86 headers: HttpHeaders;
87}
88/** Interface for the Error */
89export interface ERRORDATA {
90 error: ERRORDETAILSDATA;
91}
92/** Interface for the Error Details */
93interface ERRORDETAILSDATA {
94 detail: string;
95 code?: string;
96 status?: number;
97 text?: Function;
98}
99/** Handle the URL params */
100export interface URLPARAMS {
101 page: string;
102 id: string;
103 titleName?: string;
104 forceDeleteType?: boolean;
105 name?: string;
106 memberIndex?: object;
107 nsConfig?: object;
108 projectID?: string;
109 username?: string;
110}
111/** Handle the Delete params */
112export interface DELETEPARAMS {
113 identifier: string;
114 name?: string;
115 shortName: string;
116 projectName?: string;
117 userName?: string;
118 username?: string;
119 page?: string;
120 id?: string;
121}
122
123/** Interface for the Delete Details */
124export interface MODALCLOSERESPONSEDATA {
125 message: string;
126}
127
128/** Interface for the modal closer */
129export interface MODALCLOSERESPONSEWITHCP {
130 message: string;
131 connection_point?: string;
132}
133
134/** Interface for local storage settings */
135export interface LOCALSTORAGE {
136 id_token?: string;
137 project_id?: string;
138 expires?: string;
139 username?: string;
140 project?: string;
141 project_name?: string;
142 id?: string;
143 admin?: boolean;
144 isAdmin?: string;
145 token_state?: string;
146}
147/** Interface for Tar settings */
148export interface TARSETTINGS {
149 name?: string;
150 'type'?: string;
151 readAsString?: Function;
152 buffer: ArrayBuffer;
153}
154/** Interface for Package information */
155export interface PACKAGEINFO {
156 id?: string;
157 packageType?: string;
158 descriptor: string;
159}
160
161/** Interface For the Pagination pager in ng-smarttable */
162export interface PAGERSMARTTABLE {
163 display: boolean;
164 perPage: number;
165}
166/** Interface for breadcrumb item */
167export interface BREADCRUMBITEM {
168 title: string;
169 url: string;
170}
171/** Interface For the Pagination pager in ng-smarttable */
172export interface SMARTTABLECLASS {
173 // tslint:disable-next-line: no-reserved-keywords
174 class: string;
175}
176/** Constants of the VIM Types */
177export const VIM_TYPES: TYPESECTION[] = [
178 { value: 'openstack', title: 'Openstack' },
179 { value: 'aws', title: 'AWS' },
180 { value: 'vmware', title: 'VMware vCD' },
181 { value: 'openvim', title: 'OpenVIM' },
182 { value: 'opennebula', title: 'OpenNebula' },
183 { value: 'azure', title: 'Azure' }
184];
185/** Constants of the SDN Types */
186export const SDN_TYPES: TYPESECTION[] = [
187 { value: 'arista', title: 'Arista' },
188 { value: 'floodlightof', title: 'Floodlight openflow' },
189 { value: 'odlof', title: 'OpenDaylight openflow' },
190 { value: 'onosof', title: 'ONOS openflow' },
191 { value: 'onos_vpls', title: 'ONOS vpls' }
192];
193/** Constants of the WIM Types */
194export const WIM_TYPES: TYPESECTION[] = [
195 { value: 'arista', title: 'Arista' },
196 { value: 'dynpac', title: 'DynPac' },
197 { value: 'floodlightof', title: 'Floodlight openflow' },
198 { value: 'odlof', title: 'OpenDaylight openflow' },
199 { value: 'onosof', title: 'ONOS openflow' },
200 { value: 'onos_vpls', title: 'ONOS vpls' },
201 { value: 'tapi', title: 'TAPI' }
202];
203/** Interface for List, Add WIM & SDN Types */
204export interface TYPESECTION {
205 value: string;
206 title: string;
207}