/* * Copyright © 2018 European Support Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http: //www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import configData from './config.json'; class Configuration { get(key) { return configData[key]; } set(key, value) { var prev = configData[key]; configData[key] = value; return prev; } setCatalogApiRoot(CatalogApiRoot) { let restCatalogPrefix = CatalogApiRoot, restPrefix = CatalogApiRoot.replace( /\/feProxy\b[^:]*$/, '/feProxy/onboarding-api' ); this.set('restPrefix', restPrefix); this.set('restCatalogPrefix', restCatalogPrefix); } setCatalogApiHeaders(CatalogApiHeaders) { this.set('CatalogApiHeaders', CatalogApiHeaders); let { userId: { value: UserID } = {} } = CatalogApiHeaders; this.set('UserID', UserID); } } const configuration = new Configuration(); (function setDefaultRestPrefixes(configuration) { configuration.set('restPrefix', configuration.get('defaultRestPrefix')); configuration.set( 'restCatalogPrefix', configuration.get('defaultRestCatalogPrefix') ); configuration.set('appContextPath', configuration.get('appContextPath')); })(configuration); (function setDefaultWebsocketConfig(configuration) { let websocketPort = configuration.get('defaultWebsocketPort'); if (DEBUG) { websocketPort = configuration.get('defaultDebugWebsocketPort'); } configuration.set( 'websocketProtocol', configuration.get('defaultWebsocketProtocol') ); configuration.set('websocketPort', websocketPort); configuration.set( 'websocketPath', configuration.get('defaultWebsocketPath') ); })(configuration); (function setDefaultNotificationsWorkerConfig(configuration) { configuration.set( 'notificationsWorkerUpdateMillisecond', configuration.get('defaultNotificationsWorkerUpdateMillisecond') ); })(configuration); export default configuration;