@openmfp/portal-server-lib 0.163.2 → 0.163.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -10
- package/dist/env/env-variables.service.js +2 -1
- package/dist/env/env-variables.service.js.map +1 -1
- package/dist/env/env.service.d.ts +1 -0
- package/dist/env/env.service.js +1 -0
- package/dist/env/env.service.js.map +1 -1
- package/dist/local-nodes/local-nodes.controller.js +7 -4
- package/dist/local-nodes/local-nodes.controller.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -35,19 +35,20 @@ The portal can run without any authentication infrastructure. Authentication con
|
|
|
35
35
|
| TOKEN*URL*${idp} | The URL for the authentication token service provider specific to the idp name. This URL is used for retrieveing an auth tokens. |
|
|
36
36
|
| OIDC*CLIENT_ID*${idp} | Client ID for the OpenID Connect (OIDC) configuration. The Client ID is used to identify the application to the OIDC provider (e.g., an authorization server). |
|
|
37
37
|
| OIDC*CLIENT_SECRET*${idp} | Client Secret for the OIDC configuration. The Client Secret is a confidential value known only to the application and the OIDC provider, used to authenticate the application to the provider. |
|
|
38
|
-
| CONTENT_CONFIGURATION_VALIDATOR_API_URL | Endpoint URL for custom content configuration validation. Endpoint returns useful error message when configuration is invalid. |
|
|
39
38
|
|
|
40
39
|
- **Optional**
|
|
41
40
|
|
|
42
|
-
| Property name
|
|
43
|
-
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
|
|
|
50
|
-
|
|
|
41
|
+
| Property name | Description |
|
|
42
|
+
|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
43
|
+
| CONTENT_CONFIGURATION_VALIDATOR_API_URL | Endpoint URL for custom content configuration validation. Endpoint returns useful error message when configuration is invalid. |
|
|
44
|
+
| HEALTH_CHECK_INTERVAL | The interval in _milliseconds_ at which the application performs health checks to ensure its components are functioning correctly. Default 2000 ms. |
|
|
45
|
+
| LOGOUT_REDIRECT_URL | The url to redirect user after logout action, by default _/logout_. |
|
|
46
|
+
| ENVIRONMENT | This property indicates the environment in which the application is running, _local_ indicates development environment. |
|
|
47
|
+
| DEVELOPMENT_INSTANCE | This property indicates if the portal runs in development mode. |
|
|
48
|
+
| FRONTEND_PORT | Set the port number on which the frontend of the application will run. |
|
|
49
|
+
| VALID_WEBCOMPONENT_URLS | To enable CORS Web component Loading: basically you need to add external domains where the Web Components are hosted; `".?"` in this examle, we are sepcify that we can load Web Components from everywhere. |
|
|
50
|
+
| FEATURE_TOGGLES | Comma separated values of features following the convention `featureName=boolean`. Boolean value indicates is the feature is on/off (true/false) |
|
|
51
|
+
| USER_AVATAR_URL | Url that indicates where to find a user avatar to be displayed in the application along with the user information. Should contain a user id placeholder ${userId} which will be automatically replaced with the value. |
|
|
51
52
|
|
|
52
53
|
#### Full configuration (with authentication)
|
|
53
54
|
|
|
@@ -71,6 +72,7 @@ DEVELOPMENT_INSTANCE=true
|
|
|
71
72
|
ENVIRONMENT='local'
|
|
72
73
|
VALID_WEBCOMPONENT_URLS=".?"
|
|
73
74
|
FEATURE_TOGGLES="foo=true,boo=false"
|
|
75
|
+
USER_AVATAR_URL=https://example.com/avatar/${userId}
|
|
74
76
|
```
|
|
75
77
|
|
|
76
78
|
## Consuming the library
|
|
@@ -22,7 +22,7 @@ let EnvVariablesServiceImpl = class EnvVariablesServiceImpl {
|
|
|
22
22
|
}
|
|
23
23
|
async getEnv(request, _response) {
|
|
24
24
|
const { oauthServerUrl, oauthTokenUrl, oidcIssuerUrl, clientId, idpName, baseDomain, } = await this.authConfigService.getAuthConfig(request);
|
|
25
|
-
const { validWebcomponentUrls, logoutRedirectUrl, isLocal, developmentInstance, uiOptions, } = this.envService.getEnv();
|
|
25
|
+
const { validWebcomponentUrls, logoutRedirectUrl, isLocal, developmentInstance, uiOptions, userAvatarUrl, } = this.envService.getEnv();
|
|
26
26
|
return {
|
|
27
27
|
idpName,
|
|
28
28
|
baseDomain,
|
|
@@ -35,6 +35,7 @@ let EnvVariablesServiceImpl = class EnvVariablesServiceImpl {
|
|
|
35
35
|
isLocal,
|
|
36
36
|
developmentInstance,
|
|
37
37
|
uiOptions,
|
|
38
|
+
userAvatarUrl,
|
|
38
39
|
};
|
|
39
40
|
}
|
|
40
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-variables.service.js","sourceRoot":"","sources":["../../src/env/env-variables.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAiB7C,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAExB;IAEA;IAHV,YACU,UAAsB,EAEtB,iBAAoC;QAFpC,eAAU,GAAV,UAAU,CAAY;QAEtB,sBAAiB,GAAjB,iBAAiB,CAAmB;IAC3C,CAAC;IAEJ,KAAK,CAAC,MAAM,CACV,OAAgB,EAChB,SAAmB;QAEnB,MAAM,EACJ,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,EACR,OAAO,EACP,UAAU,GACX,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,EACJ,qBAAqB,EACrB,iBAAiB,EACjB,OAAO,EACP,mBAAmB,EACnB,SAAS,
|
|
1
|
+
{"version":3,"file":"env-variables.service.js","sourceRoot":"","sources":["../../src/env/env-variables.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAiB7C,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAExB;IAEA;IAHV,YACU,UAAsB,EAEtB,iBAAoC;QAFpC,eAAU,GAAV,UAAU,CAAY;QAEtB,sBAAiB,GAAjB,iBAAiB,CAAmB;IAC3C,CAAC;IAEJ,KAAK,CAAC,MAAM,CACV,OAAgB,EAChB,SAAmB;QAEnB,MAAM,EACJ,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,EACR,OAAO,EACP,UAAU,GACX,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,EACJ,qBAAqB,EACrB,iBAAiB,EACjB,OAAO,EACP,mBAAmB,EACnB,SAAS,EACT,aAAa,GACd,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO;YACL,OAAO;YACP,UAAU;YACV,cAAc;YACd,aAAa;YACb,aAAa;YACb,QAAQ;YACR,qBAAqB;YACrB,iBAAiB;YACjB,OAAO;YACP,mBAAmB;YACnB,SAAS;YACT,aAAa;SACd,CAAC;IACJ,CAAC;CACF,CAAA;AA1CY,uBAAuB;IADnC,UAAU,EAAE;IAIR,WAAA,MAAM,CAAC,2BAA2B,CAAC,CAAA;qCADhB,UAAU;GAFrB,uBAAuB,CA0CnC"}
|
package/dist/env/env.service.js
CHANGED
|
@@ -14,6 +14,7 @@ let EnvService = class EnvService {
|
|
|
14
14
|
return {
|
|
15
15
|
idpNames: this.getIdpNames(),
|
|
16
16
|
healthCheckInterval: parseInt(process.env.HEALTH_CHECK_INTERVAL, 10),
|
|
17
|
+
userAvatarUrl: process.env.USER_AVATAR_URL || '',
|
|
17
18
|
logoutRedirectUrl: process.env.LOGOUT_REDIRECT_URL || '/logout',
|
|
18
19
|
isLocal: process.env.ENVIRONMENT === 'local',
|
|
19
20
|
developmentInstance: process.env.DEVELOPMENT_INSTANCE === 'true',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.service.js","sourceRoot":"","sources":["../../src/env/env.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"env.service.js","sourceRoot":"","sources":["../../src/env/env.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAiBrC,IAAM,UAAU,GAAhB,MAAM,UAAU;IACrB,gBAAe,CAAC;IAET,MAAM;QACX,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,mBAAmB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACpE,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE;YAChD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,SAAS;YAC/D,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,OAAO;YAC5C,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM;YAChE,qBAAqB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,KAAK,CACtE,GAAG,CACJ;YACD,SAAS,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;SACrD,CAAC;IACJ,CAAC;IAEM,iBAAiB;QACtB,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC;QACjE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,WAAW;QAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;QAC7C,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;CACF,CAAA;AApCY,UAAU;IADtB,UAAU,EAAE;;GACA,UAAU,CAoCtB"}
|
|
@@ -38,10 +38,13 @@ let LocalNodesController = class LocalNodesController {
|
|
|
38
38
|
this.contentConfigurationLuigiDataService = contentConfigurationLuigiDataService;
|
|
39
39
|
}
|
|
40
40
|
async getLocalNodes(config, response) {
|
|
41
|
-
const
|
|
42
|
-
if (
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
const ccValidatorApiUrl = process.env.CONTENT_CONFIGURATION_VALIDATOR_API_URL;
|
|
42
|
+
if (ccValidatorApiUrl) {
|
|
43
|
+
const validationResults = await this.contentConfigurationValidatorService.validateContentConfigurations(config.contentConfigurations);
|
|
44
|
+
if (validationResults.some((validationResult) => validationResult.validationErrors &&
|
|
45
|
+
validationResult.validationErrors.length)) {
|
|
46
|
+
return { errors: validationResults };
|
|
47
|
+
}
|
|
45
48
|
}
|
|
46
49
|
try {
|
|
47
50
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-nodes.controller.js","sourceRoot":"","sources":["../../src/local-nodes/local-nodes.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAEL,oCAAoC,EACpC,oCAAoC,GAGrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,IAAI,EACJ,UAAU,EACV,aAAa,EACb,UAAU,EACV,MAAM,EACN,IAAI,EACJ,GAAG,GACJ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG9E,MAAM,OAAO,SAAS;IAGpB,QAAQ,CAAS;IAKjB,qBAAqB,CAAyB;CAC/C;AANC;IAFC,QAAQ,EAAE;IACV,UAAU,EAAE;;2CACI;AAKjB;IAHC,OAAO,EAAE;IACT,YAAY,CAAC,CAAC,CAAC;IACf,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;wDACmB;AASzC,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAErB;IACA;IACA;IAHV,YACU,MAAc,EACd,oCAA0E,EAC1E,oCAA0E;QAF1E,WAAM,GAAN,MAAM,CAAQ;QACd,yCAAoC,GAApC,oCAAoC,CAAsC;QAC1E,yCAAoC,GAApC,oCAAoC,CAAsC;IACjF,CAAC;IAGE,AAAN,KAAK,CAAC,aAAa,CACT,MAAiB,EACG,QAAyB;QAErD,MAAM,iBAAiB,GACrB,MAAM,IAAI,CAAC,oCAAoC,CAAC,6BAA6B,CAC3E,MAAM,CAAC,qBAAqB,CAC7B,CAAC;
|
|
1
|
+
{"version":3,"file":"local-nodes.controller.js","sourceRoot":"","sources":["../../src/local-nodes/local-nodes.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAEL,oCAAoC,EACpC,oCAAoC,GAGrC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,IAAI,EACJ,UAAU,EACV,aAAa,EACb,UAAU,EACV,MAAM,EACN,IAAI,EACJ,GAAG,GACJ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG9E,MAAM,OAAO,SAAS;IAGpB,QAAQ,CAAS;IAKjB,qBAAqB,CAAyB;CAC/C;AANC;IAFC,QAAQ,EAAE;IACV,UAAU,EAAE;;2CACI;AAKjB;IAHC,OAAO,EAAE;IACT,YAAY,CAAC,CAAC,CAAC;IACf,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;wDACmB;AASzC,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAErB;IACA;IACA;IAHV,YACU,MAAc,EACd,oCAA0E,EAC1E,oCAA0E;QAF1E,WAAM,GAAN,MAAM,CAAQ;QACd,yCAAoC,GAApC,oCAAoC,CAAsC;QAC1E,yCAAoC,GAApC,oCAAoC,CAAsC;IACjF,CAAC;IAGE,AAAN,KAAK,CAAC,aAAa,CACT,MAAiB,EACG,QAAyB;QAErD,MAAM,iBAAiB,GACrB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC;QACtD,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,iBAAiB,GACrB,MAAM,IAAI,CAAC,oCAAoC,CAAC,6BAA6B,CAC3E,MAAM,CAAC,qBAAqB,CAC7B,CAAC;YAEJ,IACE,iBAAiB,CAAC,IAAI,CACpB,CAAC,gBAAgB,EAAE,EAAE,CACnB,gBAAgB,CAAC,gBAAgB;gBACjC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,CAC3C,EACD,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;YACvC,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,OAAO;gBACL,KAAK,EAAE,MAAM,IAAI,CAAC,oCAAoC,CAAC,YAAY,CACjE;oBACE,IAAI,EAAE,2BAA2B;oBACjC,WAAW,EAAE,2BAA2B;oBACxC,oBAAoB,EAAE,MAAM,CAAC,qBAAqB;oBAClD,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;iBACzC,EACD,MAAM,CAAC,QAAQ,CAChB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,EAAE,CAAC,CAAC;YACzE,MAAM,IAAI,aAAa,CACrB,+CAA+C,EAC/C,UAAU,CAAC,qBAAqB,CACjC,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AA3CO;IADL,IAAI,EAAE;IAEJ,WAAA,IAAI,EAAE,CAAA;IACN,WAAA,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;;qCADX,SAAS;;yDAyC1B;AAlDU,oBAAoB;IADhC,UAAU,CAAC,kBAAkB,CAAC;qCAGX,MAAM;QACwB,oCAAoC;QACpC,oCAAoC;GAJzE,oBAAoB,CAmDhC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openmfp/portal-server-lib",
|
|
3
|
-
"version": "0.163.
|
|
3
|
+
"version": "0.163.3",
|
|
4
4
|
"description": "This library helps you to set up an openmfp based micro frontend portal server with ease.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "git+https://github.com/openmfp/portal-server-lib.git"
|