diff options
author | vempo <vitaliy.emporopulo@amdocs.com> | 2018-07-24 17:34:04 +0300 |
---|---|---|
committer | vempo <vitaliy.emporopulo@amdocs.com> | 2018-07-25 11:39:10 +0300 |
commit | a52d50e788792a63e97a9176ab319d53db7a2853 (patch) | |
tree | b1c2222cacf4b8192aea16d1e0315b1f005c5347 /workflow-designer-ui/src/main/frontend/tools | |
parent | 3c2665debb400aef7f0ed9e235698d2ff9f859db (diff) |
Replaced old implementation at root
Old project files and directories has been moved
under 'deprecated-workflow-designer'. The old project
is not built by the CI anymore, but can be still built manually.
New modules/directories have been moved up and integrated with
the CI system.
Change-Id: I1528c792bcbcce9e50bfc294a1328a20e72c91cf
Issue-ID: SDC-1559
Signed-off-by: vempo <vitaliy.emporopulo@amdocs.com>
Diffstat (limited to 'workflow-designer-ui/src/main/frontend/tools')
5 files changed, 349 insertions, 0 deletions
diff --git a/workflow-designer-ui/src/main/frontend/tools/ModuleRedirectPlugin.js b/workflow-designer-ui/src/main/frontend/tools/ModuleRedirectPlugin.js new file mode 100644 index 00000000..37eb5c3b --- /dev/null +++ b/workflow-designer-ui/src/main/frontend/tools/ModuleRedirectPlugin.js @@ -0,0 +1,44 @@ +/* +* 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. +*/ + +function ModuleRedirectPlugin (options) { + options = options || {}; + this.intercept = options.intercept; + this.redirect = options.redirect; + this.ignore = options.ignore; +} + +ModuleRedirectPlugin.prototype.apply = function (resolver) { + resolver.plugin('described-resolve', (request, callback) => { + if (!request.request.match(this.intercept) || + request.request.match(this.ignore) + ) { + return callback(); + } + var newRequest = { + ...request, + request: request.request.replace(this.intercept, this.redirect) + }; + resolver.doResolve( + 'resolve', + newRequest, + `Resolved request '${request.request}' to '${newRequest.request}'.`, + callback + ); + }); +} + +module.exports = ModuleRedirectPlugin; diff --git a/workflow-designer-ui/src/main/frontend/tools/devConfig.defaults.json b/workflow-designer-ui/src/main/frontend/tools/devConfig.defaults.json new file mode 100644 index 00000000..9fa77d49 --- /dev/null +++ b/workflow-designer-ui/src/main/frontend/tools/devConfig.defaults.json @@ -0,0 +1,27 @@ +{ + "port": 9000, + "proxyTarget": null, + "proxyConfig": { + "cookies": null, + "cookiesReplaceRules": [], + "urlReplaceRules": [], + "jsReplaceRules": [], + "appContextPath": null, + "login": null, + "redirectionPath": null, + "onboardingProxy": { + "rewrite": null, + "proxy": [] + }, + "catalogProxy": { + "rewrite": null, + "proxy": [] + }, + "websocketProxy": { + "proxy": [] + }, + "bundles": { + "bundle": ["src/index.js"] + } + } +} diff --git a/workflow-designer-ui/src/main/frontend/tools/getDevConfig.js b/workflow-designer-ui/src/main/frontend/tools/getDevConfig.js new file mode 100644 index 00000000..49aa9158 --- /dev/null +++ b/workflow-designer-ui/src/main/frontend/tools/getDevConfig.js @@ -0,0 +1,25 @@ +/* +* 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. +*/ +module.exports = function () { + let localDevConfig = {}; + try { + localDevConfig = require('./devConfig'); + } catch (e) {} + const devConfig = Object.assign({}, require('./devConfig.defaults'), localDevConfig); + let devPort = process.env.PORT || devConfig.port; + devConfig.port = devPort; + return devConfig; +}();
\ No newline at end of file diff --git a/workflow-designer-ui/src/main/frontend/tools/mocks/mock.js b/workflow-designer-ui/src/main/frontend/tools/mocks/mock.js new file mode 100644 index 00000000..8366f400 --- /dev/null +++ b/workflow-designer-ui/src/main/frontend/tools/mocks/mock.js @@ -0,0 +1,209 @@ +/* +* 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. +*/ + +const proxy = { + 'POST /workflows': { + id: '755eab7752374a2380544065b59b082d', + name: 'Workflow one', + description: 'description description 1' + }, + 'POST /workflows/:id/versions': { + baseId: null, + creationTime: '2018-07-11T14:30:42.954Z', + description: 'description', + id: '7b5f6b086613470985082df2c0f6c713', + modificationTime: '2018-07-11T14:30:42.954Z', + name: 'version 1', + status: 'Certified' + }, + 'GET /wf/workflows': { + total: 2, + limit: 100, + offset: 0, + results: [ + { + id: '755eab7752374a2380544065b59b082d', + name: 'Workflow one', + description: 'description description 1', + category: null + }, + { + id: 'ef8159204dac4c10a85b29ec30b4bd56', + name: 'Workflow two', + description: 'description description 2', + category: null + } + ] + }, + 'GET /wf/workflow/category': [ + { + name: 'Network Connectivity', + normalizedName: 'network connectivity', + uniqueId: 'resourceNewCategory.network connectivity', + icons: null, + subcategories: [ + { + name: 'Virtual Links', + normalizedName: 'virtual links', + uniqueId: + 'resourceNewCategory.network connectivity.virtual links', + icons: ['vl'], + groupings: null, + version: null, + ownerId: null, + empty: false, + type: null + }, + { + name: 'Connection Points', + normalizedName: 'connection points', + uniqueId: + 'resourceNewCategory.network connectivity.connection points', + icons: ['cp'], + groupings: null, + version: null, + ownerId: null, + empty: false, + type: null + } + ], + version: null, + ownerId: null, + empty: false, + type: null + }, + { + name: 'Generic', + normalizedName: 'generic', + uniqueId: 'resourceNewCategory.generic', + icons: null, + subcategories: [ + { + name: 'Infrastructure', + normalizedName: 'infrastructure', + uniqueId: 'resourceNewCategory.generic.infrastructure', + icons: ['connector'], + groupings: null, + version: null, + ownerId: null, + empty: false, + type: null + }, + { + name: 'Network Elements', + normalizedName: 'network elements', + uniqueId: 'resourceNewCategory.generic.network elements', + icons: ['network', 'connector'], + groupings: null, + version: null, + ownerId: null, + empty: false, + type: null + }, + { + name: 'Database', + normalizedName: 'database', + uniqueId: 'resourceNewCategory.generic.database', + icons: ['database'], + groupings: null, + version: null, + ownerId: null, + empty: false, + type: null + }, + { + name: 'Abstract', + normalizedName: 'abstract', + uniqueId: 'resourceNewCategory.generic.abstract', + icons: ['objectStorage', 'compute'], + groupings: null, + version: null, + ownerId: null, + empty: false, + type: null + }, + { + name: 'Rules', + normalizedName: 'rules', + uniqueId: 'resourceNewCategory.generic.rules', + icons: ['networkrules', 'securityrules'], + groupings: null, + version: null, + ownerId: null, + empty: false, + type: null + } + ], + version: null, + ownerId: null, + empty: false, + type: null + } + ], + 'GET /wf/workflows/:id/versions/:versionId': { + id: '7b5f6b086613470985082df2c0f6c713', + major: 0, + minor: 0, + name: '1.0', + description: + 'Initial version, bug fix for previous version that fixed an exception when the port was occupied', + baseId: null, + creationTime: '2018-07-04T08:24:50.777+0000', + modificationTime: '2018-07-04T11:06:29.559+0000', + status: 'Draft', + state: { + synchronizationState: 'UpToDate', + dirty: false + }, + additionalInfo: null, + final: false + }, + 'GET /wf/workflows/:id': { + id: '755eab7752374a2380544065b59b082d', + name: 'Workflow1', + description: 'workflow description', + creationTime: '2018-07-04T08:24:50.777+0000' + }, + 'GET /wf/workflow/:id/getVersions': { + listCount: 2, + versionList: [ + { + id: '7b5f6b086613470985082df2c0f6c713', + baseId: null, + name: '1.0', + description: + 'Initial version, bug fix for previous version that fixed an exception when the port was occupied', + status: 'Certified', + creationTime: '2018-07-11T09:08:46.892Z', + modificationTime: '2018-07-11T09:08:46.892Z', + archivedStatus: 'ACTIVE' + }, + { + id: '7b5f6b086613470985082df2c0f6c666', + baseId: '7b5f6b086613470985082df2c0f6c713', + name: '2.0', + description: + 'Test version, bug fix for previous version that fixed an exception when the port was occupied', + status: 'Certified', + creationTime: '2018-07-09T09:08:46.892Z', + modificationTime: '2018-07-09T09:08:46.892Z', + archivedStatus: 'ACTIVE' + } + ] + } +}; + +module.exports = proxy; diff --git a/workflow-designer-ui/src/main/frontend/tools/proxy-server.js b/workflow-designer-ui/src/main/frontend/tools/proxy-server.js new file mode 100644 index 00000000..3193fb16 --- /dev/null +++ b/workflow-designer-ui/src/main/frontend/tools/proxy-server.js @@ -0,0 +1,44 @@ +/* +* 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. +*/ +'use strict'; + +const proxy = require('http-proxy-middleware'); +const devConfig = require('./getDevConfig'); + +module.exports = function(server) { + let proxyConfigDefaults = { + changeOrigin: true, + secure: false, + onProxyRes: (proxyRes, req, res) => { + let setCookie = proxyRes.headers['set-cookie']; + if (setCookie) { + setCookie[0] = setCookie[0].replace('USER_ID', 'cs0008'); + } + }, + }; + + let middlewares = []; + + middlewares.push( + proxy( + ['/wf'], + Object.assign({}, proxyConfigDefaults, { + target: devConfig.proxyTarget, + }), + ), + ); + server.use(middlewares); +}; |