+/*
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+import {encrypt } from './Crypto.js';
+import { decrypt } from '../utils/Crypto.js';
+
export function changeUrlAddress(pathObj, historyObj) {
- let toGo = '/' +
- pathObj.route +
- '/' +
- pathObj.hashId;
+ let toGo = '/' + pathObj.route;
+ // left global search to act the same as before for our 2 static views for now
+ // until we decide to change those 2 views too to act like extensible views.
+ if (pathObj.route === 'schema' || pathObj.route === 'vnfSearch') {
+ if (pathObj.filterValues && pathObj.filterValues.length > 0) {
+ let filterList = [];
+ for (let index in pathObj.filterValues) {
+ if (pathObj.filterValues[index].filterValue !== undefined) {
+ filterList.push(pathObj.filterValues[index].filterId +
+ '=' +
+ pathObj.filterValues[index].filterValue);
+ } else {
+ filterList.push(pathObj.filterValues[index].filterId + '=');
+ }
+ }
+ toGo = toGo + '/' + filterList.toString();
+ } else {
+ toGo = toGo + '/' + pathObj.hashId;
+ }
+ } else {
+ toGo += '/' + encrypt(JSON.stringify(pathObj));
+ }
historyObj.push(toGo, {lastRoute: pathObj.route});
}
-export function buildRouteObj(routePath, routeHash) {
+export function buildRouteObjWithHash(routePath, routeHash) {
return {
route: routePath,
hashId: routeHash
};
}
+
+
+export function decryptParamsForView(params) {
+ let jsonParam = {};
+
+ function isJson(str) {
+ try {
+ JSON.parse(str);
+ } catch (e) {
+ return false;
+ }
+ return true;
+ };
+
+ let stringParams;
+
+ try {
+ stringParams = decrypt(params);
+ } catch(e) {
+ //add inline message in next story
+ //happens when user changes the url.
+ }
+
+ if(!isJson(stringParams)) {
+ return jsonParam;
+ }
+
+ jsonParam = JSON.parse(stringParams);
+ return jsonParam;
+}
+
+export function buildRouteObjWithFilters(routePath, routeFiltersObj) {
+ let filterValues = [];
+ if (routeFiltersObj !== undefined) {
+ for (let id in routeFiltersObj) {
+ if (routeFiltersObj[id] !== undefined) {
+ filterValues.push(
+ {
+ 'filterId': id,
+ 'filterValue': routeFiltersObj[id]
+ }
+ );
+ } else {
+ filterValues.push(
+ {
+ 'filterId': id,
+ 'filterValue': ''
+ }
+ );
+ }
+ }
+ }
+
+ return {
+ route: routePath,
+ filterValues: filterValues
+ };
+}