aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandre.schmid <andre.schmid@est.tech>2020-02-17 10:11:54 +0000
committerOfir Sonsino <ofir.sonsino@intl.att.com>2020-02-26 13:16:42 +0000
commitc5d39edc6a5c3f980e9341f3ef0a09b7d28f98a1 (patch)
treefcc4db1a296c4592d16f2efcde16848f995b5e16
parent99f16df848dd16806e948327b73ef0dbaaaa0cce (diff)
Fix dev config designer user in catalog-ui
The userId for the mocked user used in the catalog-ui development environment was incorrect. Small adjustments in the webpack.server.js file. Improves the README.md for better understanding of some configuration options. Change-Id: I231f4349a868a2544a6b1ab9e9deb68873850e2b Issue-ID: SDC-2779 Signed-off-by: andre.schmid <andre.schmid@est.tech>
-rw-r--r--catalog-ui/README.md25
-rw-r--r--catalog-ui/configurations/mock.json2
-rw-r--r--catalog-ui/webpack.server.js154
3 files changed, 98 insertions, 83 deletions
diff --git a/catalog-ui/README.md b/catalog-ui/README.md
index c1f590a946..39d5fca1e8 100644
--- a/catalog-ui/README.md
+++ b/catalog-ui/README.md
@@ -5,8 +5,9 @@ Run "npm start" for a dev server.
Navigate to "http://localhost:9000/".
The app will automatically reload if you change any of the source files.
---- Specify role ---
-npm start -- --env.role designer
+To Specify the user role:
+
+npm start --env.role designer
npm run <role>
@@ -20,8 +21,24 @@ Run "npm run build:prod" to build the project.
The build artifacts will be stored in the `dist/` directory.
## Configuration
-Dev server is configured in webpack.server.js file.
-App configuration dev.js or prod.js and menu.js are located in configuration folder and required by app.ts according to __ENV__ parameter from webpack.
+
+###webpack.server.js
+Development server is configured in `/webpack.server.js` file. Configure the constants accordingly:
+- const __devPort__: the webpack server port;
+- const __feHost__: the catalog front-end container host;
+- const __fePort__: the catalog front-end container port.
+
+The server will create a proxy to the front end calls based on the __feHost__ and __fePort__.
+It will also create authorization cookies to those requests. The cookies and user information comes from the
+`/configurations/mock.json` file under the nodes `sdcConfig.cookie` and `sdcConfig.userTypes` respectively.
+The default user role is the node `sdcConfig.userTypes.designer` (configurable with the npm parameter --env.role).
+
+###
+
+###Application Configuration
+Application configuration `dev.js` or `prod.js` and `menu.js` are located in `/configuration` folder and required by `app.ts` according to __ENV__ parameter from webpack.
+
+
## Running unit tests
## Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
diff --git a/catalog-ui/configurations/mock.json b/catalog-ui/configurations/mock.json
index 89454c7d80..17cbbb76ed 100644
--- a/catalog-ui/configurations/mock.json
+++ b/catalog-ui/configurations/mock.json
@@ -51,7 +51,7 @@
"xEcompRequestId": "ccccc"
},
"designer": {
- "userId": "m08740",
+ "userId": "cs0008",
"email": "designer@sdc.com",
"firstName": "Carlos",
"lastName": "Santana",
diff --git a/catalog-ui/webpack.server.js b/catalog-ui/webpack.server.js
index 1993617197..b3675773bf 100644
--- a/catalog-ui/webpack.server.js
+++ b/catalog-ui/webpack.server.js
@@ -1,91 +1,89 @@
-let path = require('path');
-
const mockApis = require('./configurations/mock.json').sdcConfig;
const proxy = require('http-proxy-middleware');
const devPort = 9000;
-const fePort = 8287;
-const loclahost = "localhost"; // "localhost"
-const portalCookieValue = "randomValue"; //for dev solely, in production - the webseal would add the cookie byitself.
+const fePort = 8181;
+const feHost = "localhost";
+const portalCookieValue = "randomValue"; //for dev solely, in production - the webseal would add the cookie by itself.
-module.exports = function(env) {
+module.exports = function (env) {
- // Set default role
- if (!env) {
- env = {
- role: "designer"
- };
- }
- console.log("Starting dev server with role: " + env.role);
+ // Set default user role
+ if (!env) {
+ env = {
+ role: "designer"
+ };
+ }
+ console.log("Starting dev server with role: " + env.role);
- const ServerConfig = {
- port: devPort,
- historyApiFallback: true,
- inline: true,
- stats: {
- colors: true,
- exclude: ['node_modules']
- },
- setup: server => {
- let userType = mockApis.userTypes[env.role];
+ const serverConfig = {
+ port: devPort,
+ historyApiFallback: true,
+ inline: true,
+ stats: {
+ colors: true,
+ exclude: ['node_modules']
+ },
+ setup: server => {
+ let userType = mockApis.userTypes[env.role];
- let middlewares = [
- (req, res, next) => {
- res.cookie(mockApis.cookie.userIdSuffix, req.headers[mockApis.cookie.userIdSuffix] || userType.userId);
- res.cookie(mockApis.cookie.userEmail, req.headers[mockApis.cookie.userEmail] || userType.email);
- res.cookie(mockApis.cookie.userFirstName, req.headers[mockApis.cookie.userFirstName] || userType.firstName);
- res.cookie(mockApis.cookie.userLastName, req.headers[mockApis.cookie.userLastName] || userType.lastName);
- res.cookie(mockApis.cookie.portalCookie, portalCookieValue);
- next();
-}
-];
+ let middlewares = [
+ (req, res, next) => {
+ res.cookie(mockApis.cookie.userIdSuffix, req.headers[mockApis.cookie.userIdSuffix] || userType.userId);
+ res.cookie(mockApis.cookie.userEmail, req.headers[mockApis.cookie.userEmail] || userType.email);
+ res.cookie(mockApis.cookie.userFirstName, req.headers[mockApis.cookie.userFirstName] || userType.firstName);
+ res.cookie(mockApis.cookie.userLastName, req.headers[mockApis.cookie.userLastName] || userType.lastName);
+ res.cookie(mockApis.cookie.portalCookie, portalCookieValue);
+ next();
+ }
+ ];
- // Redirect all '/sdc1/feProxy/rest' to feHost
- middlewares.push(
- proxy(['/sdc1/feProxy/rest', '/sdc1/feProxy/uicache'],{
- target: 'http://' + loclahost + ':' + fePort,
- changeOrigin: true,
- secure: false
- }));
+ // Redirect all '/sdc1/feProxy/rest' to feHost
+ middlewares.push(
+ proxy(['/sdc1/feProxy/rest', '/sdc1/feProxy/uicache'], {
+ target: 'http://' + feHost + ':' + fePort,
+ changeOrigin: true,
+ secure: false
+ }));
- // Redirect all '/sdc1/rest' to feHost
- middlewares.push(
- proxy(['/sdc1/rest'],{
- target: 'http://' + loclahost + ':' + fePort,
- changeOrigin: true,
- secure: false
- }));
+ // Redirect all '/sdc1/rest' to feHost
+ middlewares.push(
+ proxy(['/sdc1/rest'], {
+ target: 'http://' + feHost + ':' + fePort,
+ changeOrigin: true,
+ secure: false
+ }));
- // Redirect dcae urls to feHost
- middlewares.push(
- proxy(['/dcae','/sdc1/feProxy/dcae-api'],{
- target: 'http://' + loclahost + ':' + fePort,
- changeOrigin: true,
- secure: false,
- onProxyRes: (proxyRes, req, res) => {
- let setCookie = proxyRes.headers['set-cookie'];
- if (setCookie) {
- setCookie[0] = setCookie[0].replace(/\bSecure\b(; )?/, '');
- }
-}
-}));
+ // Redirect dcae urls to feHost
+ middlewares.push(
+ proxy(['/dcae', '/sdc1/feProxy/dcae-api'], {
+ target: 'http://' + feHost + ':' + fePort,
+ changeOrigin: true,
+ secure: false,
+ onProxyRes: (proxyRes, req, res) => {
+ let setCookie = proxyRes.headers['set-cookie'];
+ if (setCookie) {
+ setCookie[0] = setCookie[0].replace(/\bSecure\b(; )?/, '');
+ }
+ }
+ }));
- // Redirect onboarding urls to feHost
- middlewares.push(
- proxy(['/onboarding','/sdc1/feProxy/onboarding-api'],{
- target: 'http://' + loclahost + ':' + fePort,
- changeOrigin: true,
- secure: false,
- onProxyRes: (proxyRes, req, res) => {
- let setCookie = proxyRes.headers['set-cookie'];
- if (setCookie) {
- setCookie[0] = setCookie[0].replace(/\bSecure\b(; )?/, '');
- }
-}
-}));
+ // Redirect onboarding urls to feHost
+ middlewares.push(
+ proxy(['/onboarding', '/sdc1/feProxy/onboarding-api'], {
+ target: 'http://' + feHost + ':' + fePort,
+ changeOrigin: true,
+ secure: false,
+ onProxyRes: (proxyRes, req, res) => {
+ let setCookie = proxyRes.headers['set-cookie'];
+ if (setCookie) {
+ setCookie[0] = setCookie[0].replace(/\bSecure\b(; )?/, '');
+ }
+ }
+ }));
- server.use(middlewares);
-}
-};
+ server.use(middlewares);
+ }
+ };
- return ServerConfig;
-}
+ return serverConfig;
+};