@zengenti/contensis-react-base 2.4.1-beta.6 → 2.5.0

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.
Files changed (221) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +77 -0
  3. package/cjs/{App-2334f3e0.js → App-79703372.js} +213 -8
  4. package/cjs/App-79703372.js.map +1 -0
  5. package/cjs/{RouteLoader-5c44f039.js → RouteLoader-f67bbf9e.js} +8 -39
  6. package/cjs/RouteLoader-f67bbf9e.js.map +1 -0
  7. package/cjs/{ToJs-ca9bea03.js → ToJs-d72e5b10.js} +58 -2
  8. package/cjs/ToJs-d72e5b10.js.map +1 -0
  9. package/cjs/{actions-e22726ed.js → actions-e9f69947.js} +1 -1
  10. package/cjs/actions-e9f69947.js.map +1 -0
  11. package/cjs/client.js +13 -15
  12. package/cjs/client.js.map +1 -1
  13. package/cjs/contensis-react-base.js +38 -38
  14. package/cjs/contensis-react-base.js.map +1 -1
  15. package/cjs/forms.js +1 -2
  16. package/cjs/forms.js.map +1 -1
  17. package/cjs/{login-6eb5e46d.js → login-4f274c6a.js} +8 -5
  18. package/cjs/login-4f274c6a.js.map +1 -0
  19. package/cjs/reducers-cb531715.js +207 -0
  20. package/cjs/reducers-cb531715.js.map +1 -0
  21. package/cjs/redux.js +4 -4
  22. package/cjs/redux.js.map +1 -1
  23. package/cjs/routing.js +4 -5
  24. package/cjs/routing.js.map +1 -1
  25. package/cjs/search.js +6 -4
  26. package/cjs/search.js.map +1 -1
  27. package/cjs/{selectors-69c3d37c.js → selectors-1295124a.js} +9 -1
  28. package/cjs/selectors-1295124a.js.map +1 -0
  29. package/cjs/user.js +82 -27
  30. package/cjs/user.js.map +1 -1
  31. package/cjs/util.js +21 -91
  32. package/cjs/util.js.map +1 -1
  33. package/cjs/{version-d8f5b436.js → version-3a808c12.js} +4 -4
  34. package/cjs/version-3a808c12.js.map +1 -0
  35. package/esm/{App-b2b80182.js → App-452c2ab3.js} +213 -8
  36. package/esm/App-452c2ab3.js.map +1 -0
  37. package/esm/{RouteLoader-2cfdfc5c.js → RouteLoader-dedcc835.js} +8 -38
  38. package/esm/RouteLoader-dedcc835.js.map +1 -0
  39. package/esm/{ToJs-19a3244a.js → ToJs-6e7b247c.js} +47 -3
  40. package/esm/ToJs-6e7b247c.js.map +1 -0
  41. package/esm/{actions-fda5e103.js → actions-ddd9c623.js} +1 -1
  42. package/esm/actions-ddd9c623.js.map +1 -0
  43. package/esm/client.js +15 -16
  44. package/esm/client.js.map +1 -1
  45. package/esm/contensis-react-base.js +37 -37
  46. package/esm/contensis-react-base.js.map +1 -1
  47. package/esm/forms.js +1 -2
  48. package/esm/forms.js.map +1 -1
  49. package/esm/{login-866fe64c.js → login-1f9ad133.js} +8 -6
  50. package/esm/login-1f9ad133.js.map +1 -0
  51. package/esm/reducers-feab84fc.js +183 -0
  52. package/esm/reducers-feab84fc.js.map +1 -0
  53. package/esm/redux.js +5 -5
  54. package/esm/redux.js.map +1 -1
  55. package/esm/routing.js +4 -5
  56. package/esm/routing.js.map +1 -1
  57. package/esm/search.js +6 -4
  58. package/esm/search.js.map +1 -1
  59. package/esm/{selectors-170581d2.js → selectors-68799788.js} +9 -1
  60. package/esm/selectors-68799788.js.map +1 -0
  61. package/esm/user.js +80 -29
  62. package/esm/user.js.map +1 -1
  63. package/esm/util.js +20 -90
  64. package/esm/util.js.map +1 -1
  65. package/esm/{version-8d757fb4.js → version-64906b26.js} +5 -4
  66. package/esm/version-64906b26.js.map +1 -0
  67. package/models/app/App.d.ts +4 -0
  68. package/models/app/pages/VersionInfo/components/VersionInfo.d.ts +40 -0
  69. package/models/app/pages/VersionInfo/components/VersionInfo.styled.d.ts +1 -0
  70. package/models/app/pages/VersionInfo/index.d.ts +2 -0
  71. package/models/app/pages/VersionInfo/transformations/state-to-versioninfoprops.mapper.d.ts +3 -0
  72. package/models/client/client.d.ts +11 -0
  73. package/models/client/index.d.ts +3 -0
  74. package/models/config.d.ts +33 -0
  75. package/models/forms/index.d.ts +1 -0
  76. package/models/index.d.ts +5 -0
  77. package/models/redux/actions/index.d.ts +9 -0
  78. package/models/redux/actions/navigation.d.ts +1 -0
  79. package/models/redux/actions/version.d.ts +2 -0
  80. package/models/redux/index.d.ts +17 -0
  81. package/models/redux/reducers/navigation.d.ts +3 -0
  82. package/models/redux/reducers/version.d.ts +3 -0
  83. package/models/redux/sagas/index.d.ts +1 -0
  84. package/models/redux/sagas/navigation.d.ts +4 -0
  85. package/models/redux/selectors/index.d.ts +9 -0
  86. package/models/redux/selectors/navigation.d.ts +3 -0
  87. package/models/redux/selectors/version.d.ts +3 -0
  88. package/models/redux/store/history.d.ts +2 -0
  89. package/models/redux/store/injectors.d.ts +19 -0
  90. package/models/redux/store/routerMiddleware.d.ts +7 -0
  91. package/models/redux/store/store.d.ts +3 -0
  92. package/models/redux/types/index.d.ts +9 -0
  93. package/models/redux/types/navigation.d.ts +3 -0
  94. package/models/redux/types/version.d.ts +2 -0
  95. package/models/redux/util.d.ts +1 -0
  96. package/models/routing/components/Loading.d.ts +5 -0
  97. package/models/routing/components/NotFound.d.ts +6 -0
  98. package/models/routing/components/RouteLoader.d.ts +3 -0
  99. package/models/routing/components/Status.d.ts +4 -0
  100. package/models/routing/index.d.ts +4 -0
  101. package/models/routing/redux/actions.d.ts +6 -0
  102. package/models/routing/redux/reducers.d.ts +4 -0
  103. package/models/routing/redux/sagas.d.ts +1 -0
  104. package/models/routing/redux/selectors.d.ts +25 -0
  105. package/models/routing/redux/types.d.ts +12 -0
  106. package/models/routing/routes.d.ts +99 -0
  107. package/models/routing/util/expressions.d.ts +2 -0
  108. package/models/routing/util/find-contenttype-mapping.d.ts +2 -0
  109. package/models/routing/util/queries.d.ts +2 -0
  110. package/models/search/containers/withListing.d.ts +4 -0
  111. package/models/search/containers/withSearch.d.ts +4 -0
  112. package/models/search/hooks/useMinilist.hook.d.ts +23 -0
  113. package/models/search/index.d.ts +16 -0
  114. package/models/search/models/Enums.d.ts +5 -0
  115. package/models/search/models/Queries.d.ts +43 -0
  116. package/models/search/models/Search.d.ts +180 -0
  117. package/models/search/models/SearchActions.d.ts +127 -0
  118. package/models/search/models/SearchProps.d.ts +45 -0
  119. package/models/search/models/SearchState.d.ts +83 -0
  120. package/models/search/models/SearchUtil.d.ts +6 -0
  121. package/models/search/models/index.d.ts +3 -0
  122. package/models/search/redux/actions.d.ts +39 -0
  123. package/models/search/redux/queries.d.ts +3 -0
  124. package/models/search/redux/reducers.d.ts +4 -0
  125. package/models/search/redux/sagas.d.ts +20 -0
  126. package/models/search/redux/schema.d.ts +9 -0
  127. package/models/search/redux/selectors.d.ts +112 -0
  128. package/models/search/redux/types.d.ts +20 -0
  129. package/models/search/redux/util.d.ts +25 -0
  130. package/models/search/search/ContensisDeliveryApi.d.ts +32 -0
  131. package/models/search/search/ToJs.d.ts +4 -0
  132. package/models/search/search/expressions.d.ts +29 -0
  133. package/models/search/search/performance.d.ts +1 -0
  134. package/models/search/search/schema.d.ts +28 -0
  135. package/models/search/search/util.d.ts +21 -0
  136. package/models/search/transformations/entry-to-filteritem.mapper.d.ts +2 -0
  137. package/models/search/transformations/filters-to-filterexpression.d.ts +1 -0
  138. package/models/search/transformations/filters-to-filterexpression.mapper.d.ts +2 -0
  139. package/models/search/transformations/searchresult-to-state.mapper.d.ts +6 -0
  140. package/models/search/transformations/state-to-queryparams.mapper.d.ts +12 -0
  141. package/models/search/transformations/state-to-searchuri.d.ts +14 -0
  142. package/models/server/features/caching/cacheDuration.schema.d.ts +7 -0
  143. package/models/server/features/caching/cacheHashing.d.ts +1 -0
  144. package/models/server/features/caching/setCachingHeaders.d.ts +6 -0
  145. package/models/server/features/response-handler/index.d.ts +12 -0
  146. package/models/server/features/response-handler/types.d.ts +5 -0
  147. package/models/server/features/reverse-proxy/index.d.ts +4 -0
  148. package/models/server/features/static-assets/index.d.ts +14 -0
  149. package/models/server/internalServer.d.ts +10 -0
  150. package/models/server/middleware/bundleManipulation.d.ts +6 -0
  151. package/models/server/middleware/resolveStartup.d.ts +13 -0
  152. package/models/server/util/displayStartupConfiguration.d.ts +2 -0
  153. package/models/server/util/staticPaths.d.ts +1 -0
  154. package/models/server/util/stringifyAttributes.d.ts +2 -0
  155. package/models/server/webApp.d.ts +9 -0
  156. package/models/testImmer/redux/reducer.d.ts +8 -0
  157. package/models/testImmer/redux/selectors.d.ts +3 -0
  158. package/models/user/components/Login.d.ts +2 -0
  159. package/models/user/components/LoginForm.d.ts +16 -0
  160. package/models/user/components/LogoutForm.d.ts +12 -0
  161. package/models/user/components.styled/Login.styled.d.ts +2 -0
  162. package/models/user/components.styled/LoginForm.styled.d.ts +2 -0
  163. package/models/user/containers/ChangePassword.container.d.ts +2 -0
  164. package/models/user/containers/ForgotPassword.container.d.ts +2 -0
  165. package/models/user/containers/Login.container.d.ts +2 -0
  166. package/models/user/containers/Registration.container.d.ts +2 -0
  167. package/models/user/hocs/withLogin.d.ts +2 -0
  168. package/models/user/hocs/withRegistration.d.ts +2 -0
  169. package/models/user/hooks/useChangePassword.d.ts +9 -0
  170. package/models/user/hooks/useForgotPassword.d.ts +14 -0
  171. package/models/user/hooks/useLogin.d.ts +12 -0
  172. package/models/user/hooks/useRegistration.d.ts +8 -0
  173. package/models/user/index.d.ts +16 -0
  174. package/models/user/redux/actions.d.ts +6 -0
  175. package/models/user/redux/reducers.d.ts +4 -0
  176. package/models/user/redux/sagas/index.d.ts +1 -0
  177. package/models/user/redux/sagas/login.d.ts +36 -0
  178. package/models/user/redux/sagas/register.d.ts +1 -0
  179. package/models/user/redux/sagas/resetPassword.d.ts +1 -0
  180. package/models/user/redux/selectors.d.ts +27 -0
  181. package/models/user/redux/types.d.ts +21 -0
  182. package/models/user/transformations/mapClientCredentials.d.ts +2 -0
  183. package/models/user/util/ContensisManagementApi.d.ts +9 -0
  184. package/models/user/util/CookieHelper.class.d.ts +5 -0
  185. package/models/user/util/LoginHelper.class.d.ts +52 -0
  186. package/models/user/util/OidcUserManager.d.ts +18 -0
  187. package/models/user/util/matchGroups.d.ts +3 -0
  188. package/models/user/util/userHelper.d.ts +12 -0
  189. package/models/util/ContensisDeliveryApi.d.ts +40 -0
  190. package/models/util/ToJs.d.ts +1 -0
  191. package/models/util/fromJSLeaveImmer.d.ts +2 -0
  192. package/models/util/fromJSOrdered.d.ts +2 -0
  193. package/models/util/index.d.ts +5 -0
  194. package/models/util/json-mapper.d.ts +81 -0
  195. package/models/util/navHelper.d.ts +7 -0
  196. package/models/util/navigation.d.ts +4 -0
  197. package/models/util/performance.d.ts +1 -0
  198. package/models/util/pickProject.d.ts +2 -0
  199. package/models/util/schema.d.ts +25 -0
  200. package/models/util/stringifyStrings.d.ts +2 -0
  201. package/models/util/urls.d.ts +9 -0
  202. package/package-lock.json +7920 -7722
  203. package/package.json +17 -11
  204. package/cjs/App-2334f3e0.js.map +0 -1
  205. package/cjs/RouteLoader-5c44f039.js.map +0 -1
  206. package/cjs/ToJs-ca9bea03.js.map +0 -1
  207. package/cjs/actions-e22726ed.js.map +0 -1
  208. package/cjs/login-6eb5e46d.js.map +0 -1
  209. package/cjs/reducers-c42035ab.js +0 -120
  210. package/cjs/reducers-c42035ab.js.map +0 -1
  211. package/cjs/selectors-69c3d37c.js.map +0 -1
  212. package/cjs/version-d8f5b436.js.map +0 -1
  213. package/esm/App-b2b80182.js.map +0 -1
  214. package/esm/RouteLoader-2cfdfc5c.js.map +0 -1
  215. package/esm/ToJs-19a3244a.js.map +0 -1
  216. package/esm/actions-fda5e103.js.map +0 -1
  217. package/esm/login-866fe64c.js.map +0 -1
  218. package/esm/reducers-b426d14a.js +0 -108
  219. package/esm/reducers-b426d14a.js.map +0 -1
  220. package/esm/selectors-170581d2.js.map +0 -1
  221. package/esm/version-8d757fb4.js.map +0 -1
package/cjs/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../src/util/json-mapper.ts","../src/server/features/caching/setCachingHeaders.js","../src/util/stringifyStrings.js","../src/util/urls.ts","../src/app/pages/VersionInfo/transformations/state-to-versioninfoprops.mapper.js","../src/app/pages/VersionInfo/components/VersionInfo.styled.js","../src/app/features/link/components/Link.js","../src/app/pages/VersionInfo/components/VersionInfo.js"],"sourcesContent":["import mapJson, { jpath } from 'jsonpath-mapper';\nimport MappingTemplate from 'jsonpath-mapper/dist/models/Template';\n\nexport { default as mapJson, jpath } from 'jsonpath-mapper';\n\ntype Mappers<S> = { [contentTypeId: string]: MappingTemplate<S> };\n\n/**\n *\n * @param {object} json The source object we wish to transform\n * @param {object} template The mapping template we wish to apply to the source\n * object to generate the intended target object\n */\nexport const useMapper = <T, S>(json: S, template: MappingTemplate<S>) => {\n return template ? (mapJson((json || {}) as S, template) as T) : json;\n};\n\nconst chooseMapperByFieldValue = <S, T extends Mappers<S>>(\n entry: S,\n mappers: T,\n field = 'sys.contentTypeId'\n) => {\n const fieldValue = jpath(field, entry || {}) as string;\n return (mappers[fieldValue] || mappers.default || {}) as T[keyof T];\n};\n\n/**\n * useEntriesMapper hook to take a list of entries from Delivery API along\n * with mappers for each contentTypeId and return an array of mapped objects\n * @param {any} entry The source entry we wish to transform\n * @param {object} mappers Object with keys containing mapper templates,\n * the key name matching sys.contentTypeId\n * @param {string} field Only include if we need to match content based on\n * a field other than sys.contentTypeId in the source data\n * @returns {object} Object transformed using a matched content type or\n * a default mapper template, returns an empty object if no mapper template\n * couild be applied.\n */\nexport const useEntriesMapper = <S, T extends Mappers<S>>(\n entry: S,\n mappers: T,\n field = 'sys.contentTypeId'\n) => {\n const mapper = chooseMapperByFieldValue(entry, mappers, field);\n return useMapper(entry, mapper);\n};\n\n/**\n * Deprecated: due to misleading name, use the hook useEntriesMapper instead\n */\nexport const useEntryMapper = useEntriesMapper;\n\n/**\n * mapEntries mapping function to take a list of entries from Delivery API along\n * with mappers for each contentTypeId and return an array of mapped objects\n * @param {any} entry The source entry we wish to transform\n * @param {object} mappers Object with keys containing mapper templates,\n * the key name matching sys.contentTypeId\n * @param {string} field Only include if we need to match content based on\n * a field other than sys.contentTypeId in the source data\n * @returns {object} Object transformed using a matched content type or\n * a default mapper template, returns an empty object if no mapper template\n * couild be applied.\n */\nexport const mapEntries = <\n S,\n Mappers extends { [contentTypeId: string]: MappingTemplate<S> }\n>(\n entries: S[],\n mappers: Mappers,\n field = 'sys.contentTypeId'\n) =>\n entries.map(entry => {\n const mapper = chooseMapperByFieldValue(entry, mappers, field);\n return mapper ? mapJson((entry || {}) as S, mapper) : entry;\n });\n\n/**\n * mapComposer mapping function to take a composer field from Delivery API along\n * with mappers for each Composer Item \"type\" and return an array of mapped components\n * @param {array} composer Composer field array of Composer Items\n * @param {object} mappers A keyed object with each key matching the Composer Item \"type\"\n * @returns {array} Array of mapped objects transformed using a matched Composer Item \"type\" mapping\n * or null. Injects a \"_type\" property into each transformed object in the array to indicate\n * where the mapping originated and for what component the mapped object is representing\n */\nexport const mapComposer = <\n S extends { type: string; value: any },\n T extends Mappers<S>\n>(\n composer: S[],\n mappers: T\n) =>\n Array.isArray(composer)\n ? composer.map(composerItem => {\n const fieldValue = composerItem.type;\n const mapper = mappers[fieldValue] || mappers.default;\n return mapper\n ? {\n _type: fieldValue,\n ...(mapJson(composerItem.value || {}, mapper) as any),\n }\n : composerItem;\n })\n : composer || [];\n\n/**\n * useComposerMapper hook to take a composer field from Delivery API along\n * with mappers for each Composer Item \"type\" and return an array of mapped components\n * @param {array} composer Composer field array of Composer Items\n * @param {object} mappers A keyed object with each key matching the Composer Item \"type\"\n * @returns {array} Array of mapped objects transformed using a matched Composer Item \"type\" mapping\n * or null. Injects a \"_type\" property into each transformed object in the array to indicate\n * where the mapping originated and for what component the mapped object is representing\n */\nexport const useComposerMapper = <\n S extends { type: string; value: any },\n T extends Mappers<S>\n>(\n composer: S[] = [],\n mappers: T\n) => mapComposer(composer, mappers);\n\nexport default mapJson;\n","const setCachingHeaders = (\n response,\n { cacheControl = 'private', surrogateControl = '3600' },\n method = 'header'\n) => {\n if (cacheControl) response[method]('Cache-Control', cacheControl);\n if (surrogateControl)\n response[method](\n 'Surrogate-Control',\n `max-age=${surrogateControl.toString()}`\n );\n};\n\nmodule.exports = setCachingHeaders;\n","const stringifyStrings = obj => {\n const returnObj = Array.isArray(obj) ? [] : {};\n Object.entries(obj).forEach(([key, value]) => {\n switch (typeof value) {\n case 'string':\n returnObj[key] = JSON.stringify(value);\n break;\n case 'object':\n returnObj[key] = stringifyStrings(value);\n break;\n default:\n returnObj[key] = value;\n break;\n }\n });\n return returnObj;\n};\n\nmodule.exports = stringifyStrings;\n","const url = (alias: string, project: string) => {\n const projectAndAlias =\n project && project.toLowerCase() != 'website'\n ? `${project.toLowerCase()}-${alias}`\n : alias;\n return {\n api: `https://api-${alias}.cloud.contensis.com`,\n cms: `https://cms-${alias}.cloud.contensis.com`,\n liveWeb: `https://live-${projectAndAlias}.cloud.contensis.com`,\n previewWeb: `https://preview-${projectAndAlias}.cloud.contensis.com`,\n iisWeb: `https://iis-live-${projectAndAlias}.cloud.contensis.com`,\n iisPreviewWeb: `https://iis-preview-${projectAndAlias}.cloud.contensis.com`,\n };\n};\n\nexport default url;\n","import { default as mapJson } from '~/util/json-mapper';\nimport { selectCurrentProject } from '~/routing/redux/selectors';\nimport {\n selectBuildNumber,\n selectCommitRef,\n selectVersionStatus,\n} from '~/redux/selectors/version';\n\nconst context = typeof window != 'undefined' ? window : global;\n\nconst isDev = process.env.NODE_ENV === 'development';\n\nconst pj = () =>\n isDev\n ? PACKAGE_JSON /* global PACKAGE_JSON */\n : context.PACKAGE_JSON || { name: 'packagejson not found', repository: '' };\n\nconst versionInfoProps = {\n packageDetail: () => {\n const pkg = pj();\n return { name: pkg.name, version: pkg.version, repository: pkg.repository };\n },\n uris: {\n gitRepo: () => pj().repository,\n commit: state => {\n const commitRef = selectCommitRef(state);\n return `${pj().repository}/commit/${commitRef ? commitRef : ''}`;\n },\n pipeline: state => {\n const buildNumber = selectBuildNumber(state);\n return `${pj().repository}/${\n pj().repository.includes('github.com') ? 'actions/runs' : 'pipelines'\n }/${buildNumber ? buildNumber : ''}`;\n },\n },\n zenPackageVersions: () => [\n ...(Object.entries(pj().devDependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ...(Object.entries(pj().dependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ],\n deliveryApi: () =>\n JSON.parse(\n JSON.stringify(DELIVERY_API_CONFIG /* global DELIVERY_API_CONFIG */)\n ),\n devEnv: () =>\n typeof DEV_ENV !== 'undefined' /* global DEV_ENV */ ? DEV_ENV : null,\n disableSsrRedux: () =>\n isDev\n ? DISABLE_SSR_REDUX /* global DISABLE_SSR_REDUX*/\n : context.DISABLE_SSR_REDUX || false,\n nodeEnv: () => process.env.NODE_ENV || 'production',\n packagejson: () => pj() || {},\n projects: () => (isDev ? PROJECTS /* global PROJECTS */ : context.PROJECTS),\n proxyDeliveryApi: () =>\n isDev\n ? PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */\n : context.PROXY_DELIVERY_API || false,\n publicUri: () =>\n isDev ? PUBLIC_URI /* global PUBLIC_URI */ : context.PUBLIC_URI || null,\n project: state => selectCurrentProject(state),\n reverseProxyPaths: () =>\n isDev\n ? REVERSE_PROXY_PATHS /* global REVERSE_PROXY_PATHS */\n : context.REVERSE_PROXY_PATHS || {},\n servers: () => (isDev ? SERVERS /* global SERVERS */ : context.SERVERS),\n version: {\n buildNumber: state => selectBuildNumber(state),\n commitRef: state => selectCommitRef(state),\n contensisVersionStatus: state => selectVersionStatus(state),\n },\n};\n\nconst mapStateToVersionInfo = state => {\n const mappedProps = mapJson(state, versionInfoProps);\n return mappedProps;\n};\n\nexport default mapStateToVersionInfo;\n","import styled from 'styled-components';\n\nexport const VersionInfoStyledTable = styled.table`\n font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;\n font-size: 1.6rem;\n line-height: 1.5rem;\n border-bottom: 4px solid #8892bf;\n border-collapse: separate;\n margin: 0 auto;\n width: 80%;\n th {\n text-align: left;\n background-color: #c4c9df;\n border-bottom: #8892bf 2px solid;\n border-bottom-color: #8892bf;\n border-top: 20px solid #fff;\n }\n td {\n border-bottom: 1px solid #eee;\n }\n td,\n th {\n padding: 0.5rem 0.75rem;\n vertical-align: top;\n }\n .left {\n width: 25%;\n }\n tr th {\n border-right: hidden;\n border-spacing: 0 15px;\n }\n .green {\n background-color: #9c9;\n border-bottom: 1px solid #696;\n }\n .red {\n background-color: #c99;\n border-bottom: 1px solid #966;\n }\n .small {\n font-size: 100%;\n line-height: 2.4rem;\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Link as PageLink } from 'react-router-dom';\nimport { HashLink } from 'react-router-hash-link';\n\nconst Link = ({\n className = '',\n children,\n download,\n onClick,\n openInNewWindow,\n title,\n uri,\n}) => {\n className += ' Link';\n if (!uri) {\n return <span className={className}>{children}</span>;\n }\n\n let newWindow = openInNewWindow ? '_blank' : '_self';\n uri = encodeURI(uri);\n\n if (newWindow != '_blank' && uri && uri.startsWith('/')) {\n if (uri.indexOf('#') > -1) {\n return (\n <HashLink\n className={className}\n download={download}\n onClick={onClick}\n title={title}\n to={uri}\n >\n {children}\n </HashLink>\n );\n }\n return (\n <PageLink\n className={className}\n download={download}\n onClick={onClick}\n title={title}\n to={uri}\n >\n {children}\n </PageLink>\n );\n } else {\n return (\n <a\n className={className}\n download={download}\n href={uri}\n onClick={onClick}\n target={newWindow}\n title={title}\n rel=\"noopener noreferrer\"\n >\n {children}\n </a>\n );\n }\n};\n\nLink.propTypes = {\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.node]),\n download: PropTypes.string,\n onClick: PropTypes.func,\n openInNewWindow: PropTypes.bool,\n title: PropTypes.string,\n uri: PropTypes.string,\n};\n\nexport default Link;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\n\nimport mapStateToVersionInfo from '../transformations/state-to-versioninfoprops.mapper.js';\n\nimport { VersionInfoStyledTable } from './VersionInfo.styled.js';\nimport Link from '~/app/features/link';\n\nconst VersionInfo = ({\n deliveryApi,\n devEnv,\n disableSsrRedux,\n nodeEnv,\n packageDetail,\n project,\n projects,\n proxyDeliveryApi,\n publicUri,\n reverseProxyPaths,\n servers,\n uris,\n version,\n zenPackageVersions,\n}) => {\n return (\n <VersionInfoStyledTable>\n <thead>\n <tr>\n <td colSpan={2}>\n <h1>\n <Link path=\"/\">Version Information</Link>\n </h1>\n </td>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th colSpan={2}>Package detail</th>\n </tr>\n <tr>\n <td className=\"left\">Name</td>\n <td>{packageDetail.name}</td>\n </tr>\n <tr>\n <td className=\"left\">Version</td>\n <td>{packageDetail.version}</td>\n </tr>\n <tr>\n <th colSpan={2}>Version info (state)</th>\n </tr>\n <tr>\n <td>Git repo url: </td>\n <td>\n <a\n href={packageDetail.repository}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {packageDetail.repository}\n </a>\n </td>\n </tr>\n <tr>\n <td>Pipeline: </td>\n <td>\n <a href={uris.pipeline} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.buildNumber}\n </a>\n </td>\n </tr>\n <tr>\n <td>Commit: </td>\n <td>\n <a href={uris.commit} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.commitRef}\n </a>\n </td>\n </tr>\n {/* <tr>\n <td>Last release ref: </td>\n <td></td>\n </tr>\n <tr>\n <td>Number of commits since last release: </td>\n <td></td>\n </tr> */}\n <tr>\n <td>Project</td>\n <td className={project == 'unknown' ? 'red' : ''}>{project}</td>\n </tr>\n <tr>\n <td>Contensis version status: </td>\n <td\n className={\n version.contensisVersionStatus == 'published' ? 'green' : 'red'\n }\n >\n {version.contensisVersionStatus}\n </td>\n </tr>\n <tr>\n <th colSpan={2}>Build configuration</th>\n </tr>\n <tr>\n <td>Environment</td>\n <td>{servers.alias}</td>\n </tr>\n <tr>\n <td>Public uri</td>\n <td>{publicUri}</td>\n </tr>\n <tr>\n <td>Zengenti packages</td>\n <td>\n {zenPackageVersions.map(([pkg, ver], idx) => (\n <div key={idx}>\n {pkg}: {ver}\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Servers</td>\n <td className=\"small\">\n <div>web: {servers.web}</div>\n <div>preview: {servers.previewWeb}</div>\n <div>api: {servers.api}</div>\n <div>cms: {servers.cms}</div>\n <div>iis: {servers.iis}</div>\n <div>iis preview: {servers.previewIis}</div>\n </td>\n </tr>\n <tr>\n <td>Reverse proxy paths</td>\n <td>\n {Object.entries(reverseProxyPaths).map(([, path], key) => (\n <span key={key}>[ {path} ] </span>\n ))}\n </td>\n </tr>\n <tr>\n <td>Projects</td>\n <td>\n {Object.entries(projects).map(([, project], key) => (\n <div key={key}>\n [ {project.id}: {project.publicUri} ]\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Delivery API</td>\n <td className=\"small\">\n <ul style={{ margin: 0, padding: 0 }}>\n {Object.entries(deliveryApi).map(([key, value], idx) => {\n if (typeof value === 'object') return null;\n return (\n <li key={idx} style={{ listStyleType: 'none' }}>\n {key}: <span>{value}</span>\n </li>\n );\n })}\n </ul>\n </td>\n </tr>\n <tr>\n <td>Proxy Delivery API requests</td>\n <td className={proxyDeliveryApi ? 'green' : 'red'}>\n {proxyDeliveryApi.toString()}\n </td>\n </tr>\n <tr>\n <td>Disable SSR inline-redux</td>\n <td>{disableSsrRedux.toString()}</td>\n </tr>\n <tr>\n <td>NODE_ENV</td>\n <td className={nodeEnv === 'production' ? 'green' : 'red'}>\n {nodeEnv.toString()}\n </td>\n </tr>\n {devEnv && (\n <tr>\n <td>process.env</td>\n <td>\n {Object.entries(devEnv).map(([k, v], key) => (\n <div key={key}>\n [ {k}: {v} ]\n </div>\n ))}\n </td>\n </tr>\n )}\n </tbody>\n </VersionInfoStyledTable>\n );\n};\n\nVersionInfo.propTypes = {\n deliveryApi: PropTypes.object,\n devEnv: PropTypes.object,\n disableSsrRedux: PropTypes.bool,\n nodeEnv: PropTypes.string,\n packageDetail: PropTypes.object,\n project: PropTypes.string,\n projects: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n proxyDeliveryApi: PropTypes.bool,\n publicUri: PropTypes.string,\n reverseProxyPaths: PropTypes.array,\n servers: PropTypes.object,\n uris: PropTypes.object,\n version: PropTypes.object,\n zenPackageVersions: PropTypes.array,\n};\n\nexport default connect(mapStateToVersionInfo)(VersionInfo);\n"],"names":["useMapper","json","template","mapJson","chooseMapperByFieldValue","entry","mappers","field","fieldValue","jpath","default","useEntriesMapper","mapper","useEntryMapper","mapEntries","entries","map","mapComposer","composer","Array","isArray","composerItem","type","_type","value","useComposerMapper","setCachingHeaders","response","cacheControl","surrogateControl","method","toString","stringifyStrings","obj","returnObj","Object","forEach","key","JSON","stringify","url","alias","project","projectAndAlias","toLowerCase","api","cms","liveWeb","previewWeb","iisWeb","iisPreviewWeb","context","window","global","isDev","process","env","NODE_ENV","pj","PACKAGE_JSON","name","repository","versionInfoProps","packageDetail","pkg","version","uris","gitRepo","commit","state","commitRef","selectCommitRef","pipeline","buildNumber","selectBuildNumber","includes","zenPackageVersions","devDependencies","filter","dependencies","deliveryApi","parse","DELIVERY_API_CONFIG","devEnv","DEV_ENV","disableSsrRedux","DISABLE_SSR_REDUX","nodeEnv","packagejson","projects","PROJECTS","proxyDeliveryApi","PROXY_DELIVERY_API","publicUri","PUBLIC_URI","selectCurrentProject","reverseProxyPaths","REVERSE_PROXY_PATHS","servers","SERVERS","contensisVersionStatus","selectVersionStatus","mapStateToVersionInfo","mappedProps","VersionInfoStyledTable","styled","table","Link","className","children","download","onClick","openInNewWindow","title","uri","React","newWindow","encodeURI","startsWith","indexOf","HashLink","PageLink","propTypes","PropTypes","string","oneOfType","element","node","func","bool","VersionInfo","ver","idx","web","iis","previewIis","path","id","margin","padding","listStyleType","k","v","object","array","connect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAOA;AACA;AACA;AACA;AACA;AACA;MACaA,SAAS,GAAG,CAAOC,IAAP,EAAgBC,QAAhB,KAAiD;AACxE,SAAOA,QAAQ,GAAIC,2BAAO,CAAEF,IAAI,IAAI,EAAV,EAAoBC,QAApB,CAAX,GAAiDD,IAAhE;AACD;;AAED,MAAMG,wBAAwB,GAAG,CAC/BC,KAD+B,EAE/BC,OAF+B,EAG/BC,KAAK,GAAG,mBAHuB,KAI5B;AACH,QAAMC,UAAU,GAAGC,aAAK,CAACF,KAAD,EAAQF,KAAK,IAAI,EAAjB,CAAxB;AACA,SAAQC,OAAO,CAACE,UAAD,CAAP,IAAuBF,OAAO,CAACI,OAA/B,IAA0C,EAAlD;AACD,CAPD;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;MACaC,gBAAgB,GAAG,CAC9BN,KAD8B,EAE9BC,OAF8B,EAG9BC,KAAK,GAAG,mBAHsB,KAI3B;AACH,QAAMK,MAAM,GAAGR,wBAAwB,CAACC,KAAD,EAAQC,OAAR,EAAiBC,KAAjB,CAAvC;AACA,SAAOP,SAAS,CAACK,KAAD,EAAQO,MAAR,CAAhB;AACD;AAED;AACA;AACA;;MACaC,cAAc,GAAGF;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;MACaG,UAAU,GAAG,CAIxBC,OAJwB,EAKxBT,OALwB,EAMxBC,KAAK,GAAG,mBANgB,KAQxBQ,OAAO,CAACC,GAAR,CAAYX,KAAK,IAAI;AACnB,QAAMO,MAAM,GAAGR,wBAAwB,CAACC,KAAD,EAAQC,OAAR,EAAiBC,KAAjB,CAAvC;AACA,SAAOK,MAAM,GAAGT,2BAAO,CAAEE,KAAK,IAAI,EAAX,EAAqBO,MAArB,CAAV,GAAyCP,KAAtD;AACD,CAHD;AAKF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;MACaY,WAAW,GAAG,CAIzBC,QAJyB,EAKzBZ,OALyB,KAOzBa,KAAK,CAACC,OAAN,CAAcF,QAAd,IACIA,QAAQ,CAACF,GAAT,CAAaK,YAAY,IAAI;AAC3B,QAAMb,UAAU,GAAGa,YAAY,CAACC,IAAhC;AACA,QAAMV,MAAM,GAAGN,OAAO,CAACE,UAAD,CAAP,IAAuBF,OAAO,CAACI,OAA9C;AACA,SAAOE,MAAM,GACT;AACEW,IAAAA,KAAK,EAAEf,UADT;AAEE,OAAIL,2BAAO,CAACkB,YAAY,CAACG,KAAb,IAAsB,EAAvB,EAA2BZ,MAA3B;AAFb,GADS,GAKTS,YALJ;AAMD,CATD,CADJ,GAWIH,QAAQ,IAAI;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;MACaO,iBAAiB,GAAG,CAI/BP,QAAa,GAAG,EAJe,EAK/BZ,OAL+B,KAM5BW,WAAW,CAACC,QAAD,EAAWZ,OAAX;;ACzHhB,MAAMoB,iBAAiB,GAAG,CACxBC,QADwB,EAExB;AAAEC,EAAAA,YAAY,GAAG,SAAjB;AAA4BC,EAAAA,gBAAgB,GAAG;AAA/C,CAFwB,EAGxBC,MAAM,GAAG,QAHe,KAIrB;AACH,MAAIF,YAAJ,EAAkBD,QAAQ,CAACG,MAAD,CAAR,CAAiB,eAAjB,EAAkCF,YAAlC;AAClB,MAAIC,gBAAJ,EACEF,QAAQ,CAACG,MAAD,CAAR,CACE,mBADF,EAEG,WAAUD,gBAAgB,CAACE,QAAjB,EAA4B,EAFzC;AAIH,CAXD;;uBAaA,GAAiBL;;ACbjB,MAAMM,gBAAgB,GAAGC,GAAG,IAAI;AAC9B,QAAMC,SAAS,GAAGf,KAAK,CAACC,OAAN,CAAca,GAAd,IAAqB,EAArB,GAA0B,EAA5C;AACAE,EAAAA,MAAM,CAACpB,OAAP,CAAekB,GAAf,EAAoBG,OAApB,CAA4B,CAAC,CAACC,GAAD,EAAMb,KAAN,CAAD,KAAkB;AAC5C,YAAQ,OAAOA,KAAf;AACE,WAAK,QAAL;AACEU,QAAAA,SAAS,CAACG,GAAD,CAAT,GAAiBC,IAAI,CAACC,SAAL,CAAef,KAAf,CAAjB;AACA;;AACF,WAAK,QAAL;AACEU,QAAAA,SAAS,CAACG,GAAD,CAAT,GAAiBL,gBAAgB,CAACR,KAAD,CAAjC;AACA;;AACF;AACEU,QAAAA,SAAS,CAACG,GAAD,CAAT,GAAiBb,KAAjB;AACA;AATJ;AAWD,GAZD;AAaA,SAAOU,SAAP;AACD,CAhBD;;sBAkBA,GAAiBF;;MClBXQ,GAAG,GAAG,CAACC,KAAD,EAAgBC,OAAhB,KAAoC;AAC9C,QAAMC,eAAe,GACnBD,OAAO,IAAIA,OAAO,CAACE,WAAR,MAAyB,SAApC,GACK,GAAEF,OAAO,CAACE,WAAR,EAAsB,IAAGH,KAAM,EADtC,GAEIA,KAHN;AAIA,SAAO;AACLI,IAAAA,GAAG,EAAG,eAAcJ,KAAM,sBADrB;AAELK,IAAAA,GAAG,EAAG,eAAcL,KAAM,sBAFrB;AAGLM,IAAAA,OAAO,EAAG,gBAAeJ,eAAgB,sBAHpC;AAILK,IAAAA,UAAU,EAAG,mBAAkBL,eAAgB,sBAJ1C;AAKLM,IAAAA,MAAM,EAAG,oBAAmBN,eAAgB,sBALvC;AAMLO,IAAAA,aAAa,EAAG,uBAAsBP,eAAgB;AANjD,GAAP;AAQD;;ACLD,MAAMQ,OAAO,GAAG,OAAOC,MAAP,IAAiB,WAAjB,GAA+BA,MAA/B,GAAwCC,MAAxD;AAEA,MAAMC,KAAK,GAAGC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAvC;;AAEA,MAAMC,EAAE,GAAG,MACTJ,KAAK,GACDK;AAAa;AADZ,EAEDR,OAAO,CAACQ,YAAR,IAAwB;AAAEC,EAAAA,IAAI,EAAE,uBAAR;AAAiCC,EAAAA,UAAU,EAAE;AAA7C,CAH9B;;AAKA,MAAMC,gBAAgB,GAAG;AACvBC,EAAAA,aAAa,EAAE,MAAM;AACnB,UAAMC,GAAG,GAAGN,EAAE,EAAd;AACA,WAAO;AAAEE,MAAAA,IAAI,EAAEI,GAAG,CAACJ,IAAZ;AAAkBK,MAAAA,OAAO,EAAED,GAAG,CAACC,OAA/B;AAAwCJ,MAAAA,UAAU,EAAEG,GAAG,CAACH;AAAxD,KAAP;AACD,GAJsB;AAKvBK,EAAAA,IAAI,EAAE;AACJC,IAAAA,OAAO,EAAE,MAAMT,EAAE,GAAGG,UADhB;AAEJO,IAAAA,MAAM,EAAEC,KAAK,IAAI;AACf,YAAMC,SAAS,GAAGC,uBAAe,CAACF,KAAD,CAAjC;AACA,aAAQ,GAAEX,EAAE,GAAGG,UAAW,WAAUS,SAAS,GAAGA,SAAH,GAAe,EAAG,EAA/D;AACD,KALG;AAMJE,IAAAA,QAAQ,EAAEH,KAAK,IAAI;AACjB,YAAMI,WAAW,GAAGC,yBAAiB,CAACL,KAAD,CAArC;AACA,aAAQ,GAAEX,EAAE,GAAGG,UAAW,IACxBH,EAAE,GAAGG,UAAL,CAAgBc,QAAhB,CAAyB,YAAzB,IAAyC,cAAzC,GAA0D,WAC3D,IAAGF,WAAW,GAAGA,WAAH,GAAiB,EAAG,EAFnC;AAGD;AAXG,GALiB;AAkBvBG,EAAAA,kBAAkB,EAAE,MAAM,CACxB,IAAIzC,MAAM,CAACpB,OAAP,CAAe2C,EAAE,GAAGmB,eAAL,IAAwB,EAAvC,EAA2CC,MAA3C,CACF,CAAC,CAACd,GAAD,CAAD,KAAWA,GAAG,CAACW,QAAJ,CAAa,UAAb,KAA4BX,GAAG,CAACW,QAAJ,CAAa,WAAb,CADrC,KAEC,EAFL,CADwB,EAIxB,IAAIxC,MAAM,CAACpB,OAAP,CAAe2C,EAAE,GAAGqB,YAAL,IAAqB,EAApC,EAAwCD,MAAxC,CACF,CAAC,CAACd,GAAD,CAAD,KAAWA,GAAG,CAACW,QAAJ,CAAa,UAAb,KAA4BX,GAAG,CAACW,QAAJ,CAAa,WAAb,CADrC,KAEC,EAFL,CAJwB,CAlBH;AA0BvBK,EAAAA,WAAW,EAAE,MACX1C,IAAI,CAAC2C,KAAL,CACE3C,IAAI,CAACC,SAAL,CAAe2C;AAAoB;AAAnC,GADF,CA3BqB;AA8BvBC,EAAAA,MAAM,EAAE,MACN,OAAOC,OAAP,KAAmB;AAAY;AAA/B,IAAsDA,OAAtD,GAAgE,IA/B3C;AAgCvBC,EAAAA,eAAe,EAAE,MACf/B,KAAK,GACDgC;AAAkB;AADjB,IAEDnC,OAAO,CAACmC,iBAAR,IAA6B,KAnCZ;AAoCvBC,EAAAA,OAAO,EAAE,MAAMhC,OAAO,CAACC,GAAR,CAAYC,QAAZ,IAAwB,YApChB;AAqCvB+B,EAAAA,WAAW,EAAE,MAAM9B,EAAE,MAAM,EArCJ;AAsCvB+B,EAAAA,QAAQ,EAAE,MAAOnC,KAAK,GAAGoC;AAAS;AAAZ,IAAoCvC,OAAO,CAACuC,QAtC3C;AAuCvBC,EAAAA,gBAAgB,EAAE,MAChBrC,KAAK,GACDsC;AAAmB;AADlB,IAEDzC,OAAO,CAACyC,kBAAR,IAA8B,KA1Cb;AA2CvBC,EAAAA,SAAS,EAAE,MACTvC,KAAK,GAAGwC;AAAW;AAAd,IAAwC3C,OAAO,CAAC2C,UAAR,IAAsB,IA5C9C;AA6CvBpD,EAAAA,OAAO,EAAE2B,KAAK,IAAI0B,8BAAoB,CAAC1B,KAAD,CA7Cf;AA8CvB2B,EAAAA,iBAAiB,EAAE,MACjB1C,KAAK,GACD2C;AAAoB;AADnB,IAED9C,OAAO,CAAC8C,mBAAR,IAA+B,EAjDd;AAkDvBC,EAAAA,OAAO,EAAE,MAAO5C,KAAK,GAAG6C;AAAQ;AAAX,IAAkChD,OAAO,CAACgD,OAlDxC;AAmDvBlC,EAAAA,OAAO,EAAE;AACPQ,IAAAA,WAAW,EAAEJ,KAAK,IAAIK,yBAAiB,CAACL,KAAD,CADhC;AAEPC,IAAAA,SAAS,EAAED,KAAK,IAAIE,uBAAe,CAACF,KAAD,CAF5B;AAGP+B,IAAAA,sBAAsB,EAAE/B,KAAK,IAAIgC,2BAAmB,CAAChC,KAAD;AAH7C;AAnDc,CAAzB;;AA0DA,MAAMiC,qBAAqB,GAAGjC,KAAK,IAAI;AACrC,QAAMkC,WAAW,GAAGpG,2BAAO,CAACkE,KAAD,EAAQP,gBAAR,CAA3B;AACA,SAAOyC,WAAP;AACD,CAHD;;ACzEO,MAAMC,sBAAsB,GAAGC,0BAAM,CAACC,KAAV;AAAA;AAAA;AAAA,4mBAA5B;;ACGP,MAAMC,IAAI,GAAG,CAAC;AACZC,EAAAA,SAAS,GAAG,EADA;AAEZC,EAAAA,QAFY;AAGZC,EAAAA,QAHY;AAIZC,EAAAA,OAJY;AAKZC,EAAAA,eALY;AAMZC,EAAAA,KANY;AAOZC,EAAAA;AAPY,CAAD,KAQP;AACJN,EAAAA,SAAS,IAAI,OAAb;;AACA,MAAI,CAACM,GAAL,EAAU;AACR,wBAAOC;AAAM,MAAA,SAAS,EAAEP;AAAjB,OAA6BC,QAA7B,CAAP;AACD;;AAED,MAAIO,SAAS,GAAGJ,eAAe,GAAG,QAAH,GAAc,OAA7C;AACAE,EAAAA,GAAG,GAAGG,SAAS,CAACH,GAAD,CAAf;;AAEA,MAAIE,SAAS,IAAI,QAAb,IAAyBF,GAAzB,IAAgCA,GAAG,CAACI,UAAJ,CAAe,GAAf,CAApC,EAAyD;AACvD,QAAIJ,GAAG,CAACK,OAAJ,CAAY,GAAZ,IAAmB,CAAC,CAAxB,EAA2B;AACzB,0BACEJ,wCAACK,4BAAD;AACE,QAAA,SAAS,EAAEZ,SADb;AAEE,QAAA,QAAQ,EAAEE,QAFZ;AAGE,QAAA,OAAO,EAAEC,OAHX;AAIE,QAAA,KAAK,EAAEE,KAJT;AAKE,QAAA,EAAE,EAAEC;AALN,SAOGL,QAPH,CADF;AAWD;;AACD,wBACEM,wCAACM,mBAAD;AACE,MAAA,SAAS,EAAEb,SADb;AAEE,MAAA,QAAQ,EAAEE,QAFZ;AAGE,MAAA,OAAO,EAAEC,OAHX;AAIE,MAAA,KAAK,EAAEE,KAJT;AAKE,MAAA,EAAE,EAAEC;AALN,OAOGL,QAPH,CADF;AAWD,GAzBD,MAyBO;AACL,wBACEM;AACE,MAAA,SAAS,EAAEP,SADb;AAEE,MAAA,QAAQ,EAAEE,QAFZ;AAGE,MAAA,IAAI,EAAEI,GAHR;AAIE,MAAA,OAAO,EAAEH,OAJX;AAKE,MAAA,MAAM,EAAEK,SALV;AAME,MAAA,KAAK,EAAEH,KANT;AAOE,MAAA,GAAG,EAAC;AAPN,OASGJ,QATH,CADF;AAaD;AACF,CAzDD;;AA2DAF,IAAI,CAACe,SAAL,GAAiB;AACfd,EAAAA,SAAS,EAAEe,6BAAS,CAACC,MADN;AAEff,EAAAA,QAAQ,EAAEc,6BAAS,CAACE,SAAV,CAAoB,CAACF,6BAAS,CAACG,OAAX,EAAoBH,6BAAS,CAACI,IAA9B,CAApB,CAFK;AAGfjB,EAAAA,QAAQ,EAAEa,6BAAS,CAACC,MAHL;AAIfb,EAAAA,OAAO,EAAEY,6BAAS,CAACK,IAJJ;AAKfhB,EAAAA,eAAe,EAAEW,6BAAS,CAACM,IALZ;AAMfhB,EAAAA,KAAK,EAAEU,6BAAS,CAACC,MANF;AAOfV,EAAAA,GAAG,EAAES,6BAAS,CAACC;AAPA,CAAjB;;ACvDA,MAAMM,WAAW,GAAG,CAAC;AACnBlD,EAAAA,WADmB;AAEnBG,EAAAA,MAFmB;AAGnBE,EAAAA,eAHmB;AAInBE,EAAAA,OAJmB;AAKnBxB,EAAAA,aALmB;AAMnBrB,EAAAA,OANmB;AAOnB+C,EAAAA,QAPmB;AAQnBE,EAAAA,gBARmB;AASnBE,EAAAA,SATmB;AAUnBG,EAAAA,iBAVmB;AAWnBE,EAAAA,OAXmB;AAYnBhC,EAAAA,IAZmB;AAanBD,EAAAA,OAbmB;AAcnBW,EAAAA;AAdmB,CAAD,KAed;AACJ,sBACEuC,wCAAC,sBAAD,qBACEA,oEACEA,iEACEA;AAAI,IAAA,OAAO,EAAE;AAAb,kBACEA,iEACEA,wCAAC,IAAD;AAAM,IAAA,IAAI,EAAC;AAAX,2BADF,CADF,CADF,CADF,CADF,eAUEA,oEACEA,iEACEA;AAAI,IAAA,OAAO,EAAE;AAAb,sBADF,CADF,eAIEA,iEACEA;AAAI,IAAA,SAAS,EAAC;AAAd,YADF,eAEEA,oDAAKpD,aAAa,CAACH,IAAnB,CAFF,CAJF,eAQEuD,iEACEA;AAAI,IAAA,SAAS,EAAC;AAAd,eADF,eAEEA,oDAAKpD,aAAa,CAACE,OAAnB,CAFF,CARF,eAYEkD,iEACEA;AAAI,IAAA,OAAO,EAAE;AAAb,4BADF,CAZF,eAeEA,iEACEA,qEADF,eAEEA,iEACEA;AACE,IAAA,IAAI,EAAEpD,aAAa,CAACF,UADtB;AAEE,IAAA,MAAM,EAAC,QAFT;AAGE,IAAA,GAAG,EAAC;AAHN,KAKGE,aAAa,CAACF,UALjB,CADF,CAFF,CAfF,eA2BEsD,iEACEA,iEADF,eAEEA,iEACEA;AAAG,IAAA,IAAI,EAAEjD,IAAI,CAACM,QAAd;AAAwB,IAAA,MAAM,EAAC,QAA/B;AAAwC,IAAA,GAAG,EAAC;AAA5C,KACGP,OAAO,CAACQ,WADX,CADF,CAFF,CA3BF,eAmCE0C,iEACEA,+DADF,eAEEA,iEACEA;AAAG,IAAA,IAAI,EAAEjD,IAAI,CAACE,MAAd;AAAsB,IAAA,MAAM,EAAC,QAA7B;AAAsC,IAAA,GAAG,EAAC;AAA1C,KACGH,OAAO,CAACK,SADX,CADF,CAFF,CAnCF,eAmDE6C,iEACEA,8DADF,eAEEA;AAAI,IAAA,SAAS,EAAEzE,OAAO,IAAI,SAAX,GAAuB,KAAvB,GAA+B;AAA9C,KAAmDA,OAAnD,CAFF,CAnDF,eAuDEyE,iEACEA,iFADF,eAEEA;AACE,IAAA,SAAS,EACPlD,OAAO,CAACmC,sBAAR,IAAkC,WAAlC,GAAgD,OAAhD,GAA0D;AAF9D,KAKGnC,OAAO,CAACmC,sBALX,CAFF,CAvDF,eAiEEe,iEACEA;AAAI,IAAA,OAAO,EAAE;AAAb,2BADF,CAjEF,eAoEEA,iEACEA,kEADF,eAEEA,oDAAKjB,OAAO,CAACzD,KAAb,CAFF,CApEF,eAwEE0E,iEACEA,iEADF,eAEEA,oDAAKtB,SAAL,CAFF,CAxEF,eA4EEsB,iEACEA,wEADF,eAEEA,oDACGvC,kBAAkB,CAAC5D,GAAnB,CAAuB,CAAC,CAACgD,GAAD,EAAMmE,GAAN,CAAD,EAAaC,GAAb,kBACtBjB;AAAK,IAAA,GAAG,EAAEiB;AAAV,KACGpE,GADH,QACUmE,GADV,CADD,CADH,CAFF,CA5EF,eAsFEhB,iEACEA,8DADF,eAEEA;AAAI,IAAA,SAAS,EAAC;AAAd,kBACEA,8DAAWjB,OAAO,CAACmC,GAAnB,CADF,eAEElB,kEAAejB,OAAO,CAAClD,UAAvB,CAFF,eAGEmE,8DAAWjB,OAAO,CAACrD,GAAnB,CAHF,eAIEsE,8DAAWjB,OAAO,CAACpD,GAAnB,CAJF,eAKEqE,8DAAWjB,OAAO,CAACoC,GAAnB,CALF,eAMEnB,sEAAmBjB,OAAO,CAACqC,UAA3B,CANF,CAFF,CAtFF,eAiGEpB,iEACEA,0EADF,eAEEA,oDACGhF,MAAM,CAACpB,OAAP,CAAeiF,iBAAf,EAAkChF,GAAlC,CAAsC,CAAC,GAAGwH,IAAH,CAAD,EAAWnG,GAAX,kBACrC8E;AAAM,IAAA,GAAG,EAAE9E;AAAX,WAAmBmG,IAAnB,QADD,CADH,CAFF,CAjGF,eAyGErB,iEACEA,+DADF,eAEEA,oDACGhF,MAAM,CAACpB,OAAP,CAAe0E,QAAf,EAAyBzE,GAAzB,CAA6B,CAAC,GAAG0B,OAAH,CAAD,EAAcL,GAAd,kBAC5B8E;AAAK,IAAA,GAAG,EAAE9E;AAAV,WACKK,OAAO,CAAC+F,EADb,QACmB/F,OAAO,CAACmD,SAD3B,OADD,CADH,CAFF,CAzGF,eAmHEsB,iEACEA,mEADF,eAEEA;AAAI,IAAA,SAAS,EAAC;AAAd,kBACEA;AAAI,IAAA,KAAK,EAAE;AAAEuB,MAAAA,MAAM,EAAE,CAAV;AAAaC,MAAAA,OAAO,EAAE;AAAtB;AAAX,KACGxG,MAAM,CAACpB,OAAP,CAAeiE,WAAf,EAA4BhE,GAA5B,CAAgC,CAAC,CAACqB,GAAD,EAAMb,KAAN,CAAD,EAAe4G,GAAf,KAAuB;AACtD,QAAI,OAAO5G,KAAP,KAAiB,QAArB,EAA+B,OAAO,IAAP;AAC/B,wBACE2F;AAAI,MAAA,GAAG,EAAEiB,GAAT;AAAc,MAAA,KAAK,EAAE;AAAEQ,QAAAA,aAAa,EAAE;AAAjB;AAArB,OACGvG,GADH,qBACS8E,sDAAO3F,KAAP,CADT,CADF;AAKD,GAPA,CADH,CADF,CAFF,CAnHF,eAkIE2F,iEACEA,kFADF,eAEEA;AAAI,IAAA,SAAS,EAAExB,gBAAgB,GAAG,OAAH,GAAa;AAA5C,KACGA,gBAAgB,CAAC5D,QAAjB,EADH,CAFF,CAlIF,eAwIEoF,iEACEA,+EADF,eAEEA,oDAAK9B,eAAe,CAACtD,QAAhB,EAAL,CAFF,CAxIF,eA4IEoF,iEACEA,+DADF,eAEEA;AAAI,IAAA,SAAS,EAAE5B,OAAO,KAAK,YAAZ,GAA2B,OAA3B,GAAqC;AAApD,KACGA,OAAO,CAACxD,QAAR,EADH,CAFF,CA5IF,EAkJGoD,MAAM,iBACLgC,iEACEA,kEADF,eAEEA,oDACGhF,MAAM,CAACpB,OAAP,CAAeoE,MAAf,EAAuBnE,GAAvB,CAA2B,CAAC,CAAC6H,CAAD,EAAIC,CAAJ,CAAD,EAASzG,GAAT,kBAC1B8E;AAAK,IAAA,GAAG,EAAE9E;AAAV,WACKwG,CADL,QACUC,CADV,OADD,CADH,CAFF,CAnJJ,CAVF,CADF;AA4KD,CA5LD;;AA8LAZ,WAAW,CAACR,SAAZ,GAAwB;AACtB1C,EAAAA,WAAW,EAAE2C,6BAAS,CAACoB,MADD;AAEtB5D,EAAAA,MAAM,EAAEwC,6BAAS,CAACoB,MAFI;AAGtB1D,EAAAA,eAAe,EAAEsC,6BAAS,CAACM,IAHL;AAItB1C,EAAAA,OAAO,EAAEoC,6BAAS,CAACC,MAJG;AAKtB7D,EAAAA,aAAa,EAAE4D,6BAAS,CAACoB,MALH;AAMtBrG,EAAAA,OAAO,EAAEiF,6BAAS,CAACC,MANG;AAOtBnC,EAAAA,QAAQ,EAAEkC,6BAAS,CAACE,SAAV,CAAoB,CAACF,6BAAS,CAACoB,MAAX,EAAmBpB,6BAAS,CAACqB,KAA7B,CAApB,CAPY;AAQtBrD,EAAAA,gBAAgB,EAAEgC,6BAAS,CAACM,IARN;AAStBpC,EAAAA,SAAS,EAAE8B,6BAAS,CAACC,MATC;AAUtB5B,EAAAA,iBAAiB,EAAE2B,6BAAS,CAACqB,KAVP;AAWtB9C,EAAAA,OAAO,EAAEyB,6BAAS,CAACoB,MAXG;AAYtB7E,EAAAA,IAAI,EAAEyD,6BAAS,CAACoB,MAZM;AAatB9E,EAAAA,OAAO,EAAE0D,6BAAS,CAACoB,MAbG;AActBnE,EAAAA,kBAAkB,EAAE+C,6BAAS,CAACqB;AAdR,CAAxB;AAiBA,oBAAeC,kBAAO,CAAC3C,qBAAD,CAAP,CAA+B4B,WAA/B,CAAf;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"util.js","sources":["../src/util/json-mapper.ts","../src/server/features/caching/setCachingHeaders.ts","../src/util/stringifyStrings.js","../src/util/urls.ts","../src/app/pages/VersionInfo/transformations/state-to-versioninfoprops.mapper.ts","../src/app/pages/VersionInfo/components/VersionInfo.styled.tsx","../src/app/pages/VersionInfo/components/VersionInfo.tsx"],"sourcesContent":["import mapJson, { jpath } from 'jsonpath-mapper';\nimport MappingTemplate from 'jsonpath-mapper/dist/models/Template';\nimport { EntryMapper } from '~/routing/routes';\n\nexport { default as mapJson, jpath } from 'jsonpath-mapper';\n\ntype Mappers<S> = { [contentTypeId: string]: MappingTemplate<S> };\n\n/**\n *\n * @param {object} json The source object we wish to transform\n * @param {object} template The mapping template we wish to apply to the source\n * object to generate the intended target object\n */\nexport const useMapper = <T, S>(json: S, template: MappingTemplate<S>) => {\n return template ? (mapJson((json || {}) as S, template) as T) : json;\n};\n\nconst chooseMapperByFieldValue = <S, T extends Mappers<S>>(\n entry: S,\n mappers: T,\n field = 'sys.contentTypeId'\n) => {\n const fieldValue = jpath(field, entry || {}) as string;\n return (mappers[fieldValue] || mappers.default || {}) as T[keyof T];\n};\n\n/**\n * useEntriesMapper hook to take a list of entries from Delivery API along\n * with mappers for each contentTypeId and return an array of mapped objects\n * @param {any} entry The source entry we wish to transform\n * @param {object} mappers Object with keys containing mapper templates,\n * the key name matching sys.contentTypeId\n * @param {string} field Only include if we need to match content based on\n * a field other than sys.contentTypeId in the source data\n * @returns {object} Object transformed using a matched content type or\n * a default mapper template, returns an empty object if no mapper template\n * couild be applied.\n */\nexport const useEntriesMapper = <S, T extends Mappers<S>>(\n entry: S,\n mappers: T,\n field = 'sys.contentTypeId'\n) => {\n const mapper = chooseMapperByFieldValue(entry, mappers, field);\n return useMapper(entry, mapper);\n};\n\n/**\n * Deprecated: due to misleading name, use the hook useEntriesMapper instead\n */\nexport const useEntryMapper = useEntriesMapper;\n\n/**\n * mapEntries mapping function to take a list of entries from Delivery API along\n * with mappers for each contentTypeId and return an array of mapped objects\n * @param {any} entry The source entry we wish to transform\n * @param {object} mappers Object with keys containing mapper templates,\n * the key name matching sys.contentTypeId\n * @param {string} field Only include if we need to match content based on\n * a field other than sys.contentTypeId in the source data\n * @returns {object} Object transformed using a matched content type or\n * a default mapper template, returns an empty object if no mapper template\n * couild be applied.\n */\nexport const mapEntries = <\n S,\n Mappers extends { [contentTypeId: string]: MappingTemplate<S> }\n>(\n entries: S[],\n mappers: Mappers,\n field = 'sys.contentTypeId'\n) =>\n entries.map(entry => {\n const mapper = chooseMapperByFieldValue(entry, mappers, field);\n return mapper ? mapJson((entry || {}) as S, mapper) : entry;\n });\n\n/**\n * mapComposer mapping function to take a composer field from Delivery API along\n * with mappers for each Composer Item \"type\" and return an array of mapped components\n * @param {array} composer Composer field array of Composer Items\n * @param {object} mappers A keyed object with each key matching the Composer Item \"type\"\n * @returns {array} Array of mapped objects transformed using a matched Composer Item \"type\" mapping\n * or null. Injects a \"_type\" property into each transformed object in the array to indicate\n * where the mapping originated and for what component the mapped object is representing\n */\nexport const mapComposer = <\n S extends { type: string; value: any },\n T extends Mappers<S>\n>(\n composer: S[],\n mappers: T\n) =>\n Array.isArray(composer)\n ? composer.map(composerItem => {\n const fieldValue = composerItem.type;\n const mapper = mappers[fieldValue] || mappers.default;\n return mapper\n ? {\n _type: fieldValue,\n ...(mapJson(composerItem.value || {}, mapper) as any),\n }\n : composerItem;\n })\n : composer || [];\n\n/**\n * useComposerMapper hook to take a composer field from Delivery API along\n * with mappers for each Composer Item \"type\" and return an array of mapped components\n * @param {array} composer Composer field array of Composer Items\n * @param {object} mappers A keyed object with each key matching the Composer Item \"type\"\n * @returns {array} Array of mapped objects transformed using a matched Composer Item \"type\" mapping\n * or null. Injects a \"_type\" property into each transformed object in the array to indicate\n * where the mapping originated and for what component the mapped object is representing\n */\nexport const useComposerMapper = <\n S extends { type: string; value: any },\n T extends Mappers<S>\n>(\n composer: S[] = [],\n mappers: T\n) => mapComposer(composer, mappers);\n\n/**\n * entryMapper will return a function to satisfy an entryMapper when defining app route\n * this is essentially a shorthand function to prevent boilerplate repetition inside your routes file\n * you do not need to use this function should you wish to map your entry via raw JS functions\n * @param mapping the jsonpath-mapper mapping template to apply when the route is resolved\n * @returns {mappedEntry}\n */\nexport const entryMapper =\n (mapping: any): EntryMapper =>\n (node, state) =>\n mapJson({ ...node, ...node.entry, state }, mapping);\n\nexport default mapJson;\n","import { Response } from 'express';\n\nconst setCachingHeaders = (\n response: Response,\n { cacheControl = 'private', surrogateControl = '3600' },\n method = 'header'\n) => {\n if (cacheControl) response[method]('Cache-Control', cacheControl);\n if (surrogateControl)\n response[method](\n 'Surrogate-Control',\n `max-age=${surrogateControl.toString()}`\n );\n};\n\nexport default setCachingHeaders;\n","const stringifyStrings = obj => {\n const returnObj = Array.isArray(obj) ? [] : {};\n Object.entries(obj).forEach(([key, value]) => {\n switch (typeof value) {\n case 'string':\n returnObj[key] = JSON.stringify(value);\n break;\n case 'object':\n returnObj[key] = stringifyStrings(value);\n break;\n default:\n returnObj[key] = value;\n break;\n }\n });\n return returnObj;\n};\n\nmodule.exports = stringifyStrings;\n","const url = (alias: string, project: string) => {\n const projectAndAlias =\n project && project.toLowerCase() !== 'website'\n ? `${project.toLowerCase()}-${alias}`\n : alias;\n return {\n api: `https://api-${alias}.cloud.contensis.com`,\n cms: `https://cms-${alias}.cloud.contensis.com`,\n liveWeb: `https://live-${projectAndAlias}.cloud.contensis.com`,\n previewWeb: `https://preview-${projectAndAlias}.cloud.contensis.com`,\n iisWeb: `https://iis-live-${projectAndAlias}.cloud.contensis.com`,\n iisPreviewWeb: `https://iis-preview-${projectAndAlias}.cloud.contensis.com`,\n };\n};\n\nexport default url;\n","import { default as mapJson } from '~/util/json-mapper';\nimport { selectCurrentProject } from '~/routing/redux/selectors';\nimport {\n selectBuildNumber,\n selectCommitRef,\n selectVersionStatus,\n} from '~/redux/selectors/version';\nimport { IVersionInfoProps } from '../components/VersionInfo';\n\nconst context = (\n typeof window != 'undefined' ? window : global\n) as typeof globalThis & {\n DISABLE_SSR_REDUX: any;\n PACKAGE_JSON: any;\n PROJECTS: any;\n PROXY_DELIVERY_API: any;\n PUBLIC_URI: any;\n REVERSE_PROXY_PATHS: string[];\n SERVERS: any;\n};\n\nconst isDev = process.env.NODE_ENV === 'development';\n\nconst pj = () =>\n isDev\n ? PACKAGE_JSON /* global PACKAGE_JSON */\n : context.PACKAGE_JSON || { name: 'packagejson not found', repository: '' };\n\nconst versionInfoProps = {\n packageDetail: () => {\n const pkg = pj();\n return { name: pkg.name, version: pkg.version, repository: pkg.repository };\n },\n uris: {\n gitRepo: () => pj().repository,\n commit: state => {\n const commitRef = selectCommitRef(state);\n return `${pj().repository}/commit/${commitRef ? commitRef : ''}`;\n },\n pipeline: state => {\n const buildNumber = selectBuildNumber(state);\n return `${pj().repository}/${\n pj().repository.includes('github.com') ? 'actions/runs' : 'pipelines'\n }/${buildNumber ? buildNumber : ''}`;\n },\n },\n zenPackageVersions: () => [\n ...(Object.entries(pj().devDependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ...(Object.entries(pj().dependencies || {}).filter(\n ([pkg]) => pkg.includes('zengenti') || pkg.includes('contensis')\n ) || []),\n ],\n deliveryApi: () =>\n JSON.parse(\n JSON.stringify(DELIVERY_API_CONFIG /* global DELIVERY_API_CONFIG */)\n ),\n devEnv: () =>\n typeof DEV_ENV !== 'undefined' /* global DEV_ENV */ ? DEV_ENV : null,\n disableSsrRedux: () =>\n isDev\n ? DISABLE_SSR_REDUX /* global DISABLE_SSR_REDUX*/\n : context.DISABLE_SSR_REDUX || false,\n nodeEnv: () => process.env.NODE_ENV || 'production',\n packagejson: () => pj() || {},\n projects: () => (isDev ? PROJECTS /* global PROJECTS */ : context.PROJECTS),\n proxyDeliveryApi: () =>\n isDev\n ? PROXY_DELIVERY_API /* global PROXY_DELIVERY_API */\n : context.PROXY_DELIVERY_API || false,\n publicUri: () =>\n isDev ? PUBLIC_URI /* global PUBLIC_URI */ : context.PUBLIC_URI || null,\n project: state => selectCurrentProject(state),\n reverseProxyPaths: () =>\n isDev\n ? REVERSE_PROXY_PATHS /* global REVERSE_PROXY_PATHS */\n : context.REVERSE_PROXY_PATHS || {},\n servers: () => (isDev ? SERVERS /* global SERVERS */ : context.SERVERS),\n version: {\n buildNumber: state => selectBuildNumber(state),\n commitRef: state => selectCommitRef(state),\n contensisVersionStatus: state => selectVersionStatus(state),\n },\n};\n\nconst mapStateToVersionInfo = state => {\n const mappedProps = mapJson(state, versionInfoProps);\n return mappedProps as IVersionInfoProps;\n};\n\nexport default mapStateToVersionInfo;\n","import styled from 'styled-components';\n\nexport const VersionInfoStyledTable = styled.table`\n font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;\n font-size: 1.6rem;\n line-height: 1.5rem;\n border-bottom: 4px solid #8892bf;\n border-collapse: separate;\n margin: 0 auto;\n width: 80%;\n th {\n text-align: left;\n background-color: #c4c9df;\n border-bottom: #8892bf 2px solid;\n border-bottom-color: #8892bf;\n border-top: 20px solid #fff;\n }\n td {\n border-bottom: 1px solid #eee;\n }\n td,\n th {\n padding: 0.5rem 0.75rem;\n vertical-align: top;\n }\n .left {\n width: 25%;\n }\n tr th {\n border-right: hidden;\n border-spacing: 0 15px;\n }\n .green {\n background-color: #9c9;\n border-bottom: 1px solid #696;\n }\n .red {\n background-color: #c99;\n border-bottom: 1px solid #966;\n }\n .small {\n font-size: 100%;\n line-height: 2.4rem;\n }\n`;\n","import React from 'react';\nimport { connect } from 'react-redux';\n\nimport mapStateToVersionInfo from '../transformations/state-to-versioninfoprops.mapper';\n\nimport { VersionInfoStyledTable } from './VersionInfo.styled';\n\nexport interface IVersionInfoProps {\n deliveryApi: {\n rootUrl: string;\n accessToken: string;\n projectId: string;\n livePublishingRootUrl: string;\n };\n devEnv: any;\n disableSsrRedux: boolean;\n nodeEnv: string;\n packageDetail: any;\n project: string;\n projects;\n proxyDeliveryApi;\n publicUri: string;\n reverseProxyPaths: string[];\n servers: {\n alias: string;\n api: string;\n cms: string;\n web: string;\n iis: string;\n previewIis: string;\n previewWeb: string;\n };\n uris: {\n gitRepo: string;\n commit: string;\n pipeline: string;\n };\n version: {\n buildNumber: string;\n commitRef: string;\n contensisVersionStatus: string;\n };\n zenPackageVersions: string[];\n}\n\nconst VersionInfo = ({\n deliveryApi,\n devEnv,\n disableSsrRedux,\n nodeEnv,\n packageDetail,\n project,\n projects,\n proxyDeliveryApi,\n publicUri,\n reverseProxyPaths,\n servers,\n uris,\n version,\n zenPackageVersions,\n}: IVersionInfoProps) => {\n return (\n <VersionInfoStyledTable>\n <thead>\n <tr>\n <td colSpan={2}>\n <h1>\n <a href=\"/\">Version Information</a>\n </h1>\n </td>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th colSpan={2}>Package detail</th>\n </tr>\n <tr>\n <td className=\"left\">Name</td>\n <td>{packageDetail.name}</td>\n </tr>\n <tr>\n <td className=\"left\">Version</td>\n <td>{packageDetail.version}</td>\n </tr>\n <tr>\n <th colSpan={2}>Version info (state)</th>\n </tr>\n <tr>\n <td>Git repo url: </td>\n <td>\n <a\n href={packageDetail.repository}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {packageDetail.repository}\n </a>\n </td>\n </tr>\n <tr>\n <td>Pipeline: </td>\n <td>\n <a href={uris.pipeline} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.buildNumber}\n </a>\n </td>\n </tr>\n <tr>\n <td>Commit: </td>\n <td>\n <a href={uris.commit} target=\"_blank\" rel=\"noopener noreferrer\">\n {version.commitRef}\n </a>\n </td>\n </tr>\n {/* <tr>\n <td>Last release ref: </td>\n <td></td>\n </tr>\n <tr>\n <td>Number of commits since last release: </td>\n <td></td>\n </tr> */}\n <tr>\n <td>Project</td>\n <td className={project === 'unknown' ? 'red' : ''}>{project}</td>\n </tr>\n <tr>\n <td>Contensis version status: </td>\n <td\n className={\n version.contensisVersionStatus === 'published' ? 'green' : 'red'\n }\n >\n {version.contensisVersionStatus}\n </td>\n </tr>\n <tr>\n <th colSpan={2}>Build configuration</th>\n </tr>\n <tr>\n <td>Environment</td>\n <td>{servers.alias}</td>\n </tr>\n <tr>\n <td>Public uri</td>\n <td>{publicUri}</td>\n </tr>\n <tr>\n <td>Zengenti packages</td>\n <td>\n {zenPackageVersions.map(([pkg, ver], idx) => (\n <div key={idx}>\n {pkg}: {ver}\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Servers</td>\n <td className=\"small\">\n <div>web: {servers.web}</div>\n <div>preview: {servers.previewWeb}</div>\n <div>api: {servers.api}</div>\n <div>cms: {servers.cms}</div>\n <div>iis: {servers.iis}</div>\n <div>iis preview: {servers.previewIis}</div>\n </td>\n </tr>\n <tr>\n <td>Reverse proxy paths</td>\n <td>\n {Object.entries(reverseProxyPaths).map(([, path], key) => (\n <span key={key}>[ {path} ] </span>\n ))}\n </td>\n </tr>\n <tr>\n <td>Projects</td>\n <td>\n {Object.entries(\n projects as {\n id: string;\n publicUri: string;\n }[]\n ).map(([, project], key) => (\n <div key={key}>\n [ {project.id}: {project.publicUri} ]\n </div>\n ))}\n </td>\n </tr>\n <tr>\n <td>Delivery API</td>\n <td className=\"small\">\n <ul style={{ margin: 0, padding: 0 }}>\n {Object.entries(deliveryApi).map(\n ([key, value]: [string, any], idx) => {\n if (typeof value === 'object') return null;\n return (\n <li key={idx} style={{ listStyleType: 'none' }}>\n {key}: <span>{value}</span>\n </li>\n );\n }\n )}\n </ul>\n </td>\n </tr>\n <tr>\n <td>Proxy Delivery API requests</td>\n <td className={proxyDeliveryApi ? 'green' : 'red'}>\n {proxyDeliveryApi.toString()}\n </td>\n </tr>\n <tr>\n <td>Disable SSR inline-redux</td>\n <td>{disableSsrRedux.toString()}</td>\n </tr>\n <tr>\n <td>NODE_ENV</td>\n <td className={nodeEnv === 'production' ? 'green' : 'red'}>\n {nodeEnv.toString()}\n </td>\n </tr>\n {devEnv && (\n <tr>\n <td>process.env</td>\n <td>\n {Object.entries(devEnv).map(([k, v], key) => (\n <div key={key}>\n [ {k}: {v} ]\n </div>\n ))}\n </td>\n </tr>\n )}\n </tbody>\n </VersionInfoStyledTable>\n );\n};\n\nexport default connect(mapStateToVersionInfo)(VersionInfo);\n"],"names":["useMapper","json","template","mapJson","chooseMapperByFieldValue","entry","mappers","field","fieldValue","jpath","default","useEntriesMapper","mapper","useEntryMapper","mapEntries","entries","map","mapComposer","composer","Array","isArray","composerItem","type","_type","value","useComposerMapper","entryMapper","mapping","node","state","setCachingHeaders","response","cacheControl","surrogateControl","method","toString","stringifyStrings","obj","returnObj","Object","forEach","key","JSON","stringify","url","alias","project","projectAndAlias","toLowerCase","api","cms","liveWeb","previewWeb","iisWeb","iisPreviewWeb","context","window","global","isDev","process","env","NODE_ENV","pj","PACKAGE_JSON","name","repository","versionInfoProps","packageDetail","pkg","version","uris","gitRepo","commit","commitRef","selectCommitRef","pipeline","buildNumber","selectBuildNumber","includes","zenPackageVersions","devDependencies","filter","dependencies","deliveryApi","parse","DELIVERY_API_CONFIG","devEnv","DEV_ENV","disableSsrRedux","DISABLE_SSR_REDUX","nodeEnv","packagejson","projects","PROJECTS","proxyDeliveryApi","PROXY_DELIVERY_API","publicUri","PUBLIC_URI","selectCurrentProject","reverseProxyPaths","REVERSE_PROXY_PATHS","servers","SERVERS","contensisVersionStatus","selectVersionStatus","mapStateToVersionInfo","mappedProps","VersionInfoStyledTable","styled","table","VersionInfo","React","ver","idx","web","iis","previewIis","path","id","margin","padding","listStyleType","k","v","connect"],"mappings":"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"}
@@ -6,8 +6,8 @@ var reduxImmutable = require('redux-immutable');
6
6
  var thunkMiddleware = require('redux-thunk');
7
7
  var createSagaMiddleware = require('redux-saga');
8
8
  var reduxInjectors = require('redux-injectors');
9
- var actions = require('./actions-e22726ed.js');
10
- var reducers = require('./reducers-c42035ab.js');
9
+ var actions = require('./actions-e9f69947.js');
10
+ var reducers = require('./reducers-cb531715.js');
11
11
  var effects = require('@redux-saga/core/effects');
12
12
 
13
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -243,7 +243,7 @@ const routerMiddleware = history => store => next => action => {
243
243
  history[method](...args);
244
244
  };
245
245
 
246
- exports.reduxStore = null;
246
+ /* eslint-disable no-underscore-dangle */
247
247
  var createStore = ((featureReducers, initialState, history) => {
248
248
  let reduxDevToolsMiddleware = f => f;
249
249
 
@@ -390,4 +390,4 @@ exports.setVersionStatus = setVersionStatus;
390
390
  exports.useInjectRedux = useInjectRedux;
391
391
  exports.version = version;
392
392
  exports.version$1 = version$1;
393
- //# sourceMappingURL=version-d8f5b436.js.map
393
+ //# sourceMappingURL=version-3a808c12.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-3a808c12.js","sources":["../src/redux/types/navigation.js","../src/redux/reducers/navigation.js","../src/routing/redux/reducers.js","../src/redux/types/version.js","../src/redux/reducers/version.js","../src/redux/store/routerMiddleware.js","../src/redux/store/store.ts","../src/redux/selectors/navigation.js","../src/redux/store/injectors.js","../src/redux/actions/version.js"],"sourcesContent":["const ACTION_PREFIX = '@NAVIGATION/';\nexport const GET_NODE_TREE = `${ACTION_PREFIX}_GET_NODE_TREE`;\nexport const SET_NODE_TREE = `${ACTION_PREFIX}_SET_NODE_TREE`;\nexport const GET_NODE_TREE_ERROR = `${ACTION_PREFIX}_GET_NODE_TREE_ERROR`;\n","import { Map, fromJS, List } from 'immutable';\n\nimport { SET_NODE_TREE, GET_NODE_TREE_ERROR } from '~/redux/types/navigation';\n\nconst initialState = Map({\n root: null,\n treeDepends: new List([]),\n isError: false,\n isReady: false,\n});\n\nexport default (state = initialState, action) => {\n switch (action.type) {\n case SET_NODE_TREE: {\n return state.set('root', fromJS(action.nodes)).set('isReady', true);\n }\n case GET_NODE_TREE_ERROR: {\n return state.set('isError', true);\n }\n default:\n return state;\n }\n};\n","import { OrderedMap, fromJS, List, Set } from 'immutable';\nimport {\n SET_ENTRY,\n SET_NAVIGATION_PATH,\n SET_ANCESTORS,\n SET_TARGET_PROJECT,\n SET_ROUTE,\n SET_SIBLINGS,\n SET_SURROGATE_KEYS,\n UPDATE_LOADING_STATE,\n} from './types';\n\nlet initialState = OrderedMap({\n currentHostname: null,\n contentTypeId: null,\n currentPath: '/',\n currentNode: OrderedMap(),\n currentNodeAncestors: List(),\n currentProject: 'unknown',\n entryID: null,\n entry: null,\n currentTreeId: null,\n entryDepends: List(),\n error: undefined,\n isError: false,\n isLoading: false,\n location: OrderedMap(),\n mappedEntry: null,\n nodeDepends: List(),\n notFound: false,\n staticRoute: null,\n statusCode: 200,\n});\n\nexport default (state = initialState, action) => {\n switch (action.type) {\n case SET_ANCESTORS: {\n if (action.ancestors) {\n return state.set('currentNodeAncestors', fromJS(action.ancestors));\n }\n return state.set('currentNodeAncestors', fromJS(action.ancestors));\n }\n case SET_ENTRY: {\n const {\n entry,\n error,\n mappedEntry,\n node = {},\n isError = false,\n isLoading = false,\n notFound = false,\n statusCode,\n } = action;\n\n let defaultStatus = 200;\n if (notFound === true && isError === false) defaultStatus = 404;\n else if (isError === true) defaultStatus = statusCode || 500;\n\n let nextState;\n\n if (!entry) {\n nextState = state\n .set('entryID', null)\n .set('entry', null)\n .set('error', fromJS(error))\n .set('mappedEntry', null)\n .set('isError', isError)\n .set('isLoading', isLoading)\n .set('notFound', notFound)\n .set('statusCode', statusCode || defaultStatus);\n } else {\n nextState = state\n .set('entryID', action.id)\n .set('entry', fromJS(entry))\n .set('error', fromJS(error))\n .set('isError', isError)\n .set('isLoading', isLoading)\n .set('notFound', notFound)\n .set('statusCode', statusCode || defaultStatus);\n\n if (mappedEntry && Object.keys(mappedEntry).length > 0)\n nextState = nextState\n .set('mappedEntry', fromJS(mappedEntry))\n .set('entry', fromJS({ sys: entry.sys }));\n }\n\n if (!node) {\n return nextState.set('nodeDepends', null).set('currentNode', null);\n } else {\n // On Set Node, we reset all dependants.\n return nextState\n .set('currentNode', fromJS(node))\n .removeIn(['currentNode', 'entry']); // We have the entry stored elsewhere, so lets not keep it twice.\n }\n }\n case UPDATE_LOADING_STATE: {\n return state.set('isLoading', action.isLoading);\n }\n case SET_NAVIGATION_PATH: {\n let staticRoute = false;\n if (action.staticRoute) {\n staticRoute = { ...action.staticRoute };\n }\n if (action.path) {\n // Don't run a path update on initial load as we allready should have it in redux\n const entryUri = state.getIn(['entry', 'sys', 'uri']);\n if (entryUri != action.path) {\n return state\n .set('currentPath', fromJS(action.path))\n .set('location', fromJS(action.location))\n .set(\n 'staticRoute',\n fromJS({\n ...staticRoute,\n route: { ...staticRoute.route, component: null },\n })\n )\n .set('isLoading', typeof window !== 'undefined');\n } else {\n return state.set('location', fromJS(action.location)).set(\n 'staticRoute',\n fromJS({\n ...staticRoute,\n route: { ...staticRoute.route, component: null },\n })\n );\n }\n }\n return state;\n }\n case SET_ROUTE: {\n return state.set('nextPath', action.path);\n }\n case SET_SIBLINGS: {\n // Can be null in some cases like the homepage.\n let currentNodeSiblingParent = null;\n let siblingIDs = [];\n if (action.siblings && action.siblings.length > 0) {\n currentNodeSiblingParent = action.siblings[0].parentId;\n siblingIDs = action.siblings.map(node => {\n return node.id;\n });\n }\n let currentNodeDepends = state.get('nodeDepends');\n const allNodeDepends = Set.union([Set(siblingIDs), currentNodeDepends]);\n return state\n .set('nodeDepends', allNodeDepends)\n .set('currentNodeSiblings', fromJS(action.siblings))\n .set('currentNodeSiblingsParent', currentNodeSiblingParent);\n }\n case SET_SURROGATE_KEYS: {\n return state.set('surrogateKeys', action.keys);\n }\n case SET_TARGET_PROJECT: {\n return state\n .set('currentProject', action.project)\n .set('currentTreeId', '') //getTreeID(action.project))\n .set('allowedGroups', fromJS(action.allowedGroups))\n .set('currentHostname', action.hostname);\n }\n default:\n return state;\n }\n};\n","const VERSION_PREFIX = '@VERSION/';\nexport const SET_VERSION = `${VERSION_PREFIX}SET_VERSION`;\nexport const SET_VERSION_STATUS = `${VERSION_PREFIX}SET_VERSION_STATUS`;\n","import { Map } from 'immutable';\nimport { SET_VERSION, SET_VERSION_STATUS } from '~/redux/types/version';\n\nlet initialState = Map({\n commitRef: null,\n buildNo: null,\n contensisVersionStatus: 'published',\n});\n\nexport default (state = initialState, action) => {\n switch (action.type) {\n case SET_VERSION_STATUS: {\n return state.set('contensisVersionStatus', action.status);\n }\n case SET_VERSION: {\n return state\n .set('commitRef', action.commitRef)\n .set('buildNo', action.buildNo);\n }\n default:\n return state;\n }\n};\n","/**\n * This middleware captures 'CALL_HISTORY_METHOD' actions to redirect to the\n * provided history object. This will prevent these actions from reaching your\n * reducer or any middleware that comes after this one.\n */\n/* eslint-disable no-unused-vars */\nconst routerMiddleware = history => store => next => action => {\n if (action.type !== 'CALL_HISTORY_METHOD') {\n return next(action);\n }\n\n const {\n payload: { method, args },\n } = action;\n history[method](...args);\n};\n\nexport default routerMiddleware;\n","/* eslint-disable no-underscore-dangle */\nimport {\n Action,\n applyMiddleware,\n compose,\n createStore,\n Store,\n StoreEnhancer,\n} from 'redux';\nimport { combineReducers } from 'redux-immutable';\nimport thunkMiddleware from 'redux-thunk';\nimport createSagaMiddleware, { END } from 'redux-saga';\nimport { createInjectorsEnhancer } from 'redux-injectors';\n\n// Core reducers\nimport NavigationReducer from '../reducers/navigation';\nimport RoutingReducer from '~/routing/redux/reducers';\nimport UserReducer from '~/user/redux/reducers';\nimport VersionReducer from '../reducers/version';\nimport routerMiddleware from './routerMiddleware';\n\nexport let reduxStore;\n\ndeclare let window: Window &\n typeof globalThis & {\n __REDUX_DEVTOOLS_EXTENSION__: any;\n };\n\nexport default (featureReducers, initialState, history) => {\n let reduxDevToolsMiddleware = f => f;\n\n if (typeof window != 'undefined') {\n reduxDevToolsMiddleware = window.__REDUX_DEVTOOLS_EXTENSION__\n ? window.__REDUX_DEVTOOLS_EXTENSION__()\n : f => f;\n }\n\n const sagaMiddleware = createSagaMiddleware();\n\n const reducers = {\n navigation: NavigationReducer,\n routing: RoutingReducer,\n user: UserReducer,\n version: VersionReducer,\n ...featureReducers,\n };\n\n const createReducer = (injectedReducers = {}) => {\n const rootReducer = combineReducers({\n ...injectedReducers,\n // other non-injected reducers go here\n ...reducers,\n });\n\n return rootReducer;\n };\n\n const store = initialState => {\n const runSaga = sagaMiddleware.run;\n\n const middleware: StoreEnhancer<\n {\n dispatch: unknown;\n },\n unknown\n > = compose(\n applyMiddleware(\n thunkMiddleware,\n sagaMiddleware,\n routerMiddleware(history)\n ),\n createInjectorsEnhancer({\n createReducer,\n runSaga,\n }),\n reduxDevToolsMiddleware\n );\n\n const store: Store<any, Action<any>> & {\n runSaga?: typeof runSaga;\n close?: () => void;\n } = createStore(createReducer(), initialState, middleware);\n\n store.runSaga = runSaga;\n store.close = () => store.dispatch(END);\n\n return store;\n };\n\n reduxStore = store(initialState);\n return reduxStore;\n};\n","export const hasNavigationTree = state => {\n return state.getIn(['navigation', 'isReady']);\n};\n\nexport const selectNavigationRoot = state => {\n return state.getIn(['navigation', 'root']);\n};\n\nexport const selectNavigationDepends = state => {\n return state.getIn(['navigation', 'treeDepends']);\n};\n","import { all } from 'redux-saga/effects';\nimport { reduxStore as DefaultStore } from './store';\n\nexport const convertSagaArray = sagas => {\n if (Array.isArray(sagas))\n return function* rootSaga() {\n yield all(sagas);\n };\n return sagas;\n};\n\nexport const injectReducer = ({ key, reducer }, store = DefaultStore) => {\n if (\n Reflect.has(store.injectedReducers, key) &&\n store.injectedReducers[key] === reducer\n )\n return;\n store.injectedReducers[key] = reducer;\n\n store.replaceReducer(store.createReducer(store.injectedReducers));\n};\n\nexport const injectSaga = ({ key, saga }, store = DefaultStore) => {\n const rootSaga = convertSagaArray(saga);\n let hasSaga = Reflect.has(store.injectedSagas, key);\n\n if (process.env.NODE_ENV !== 'production') {\n const oldDescriptor = store.injectedSagas[key]; // enable hot reloading of daemon and once-till-unmount sagas\n\n if (hasSaga && oldDescriptor.saga !== rootSaga) {\n oldDescriptor.task.cancel();\n hasSaga = false;\n }\n }\n console.info('injectSaga, key: ', key, 'hasSaga: ', hasSaga);\n\n if (!hasSaga) {\n store.injectedSagas[key] = {\n key,\n saga: rootSaga,\n task: store.runSaga(rootSaga),\n };\n }\n};\n\nexport const injectRedux = ({ key, reducer, saga }, store = DefaultStore) => {\n console.info('injectRedux, key: ', key);\n if (reducer) injectReducer({ key, reducer }, store);\n if (saga) injectSaga({ key, saga }, store);\n};\n\nexport const useInjectRedux = injectRedux;\n","import { action } from '../util';\nimport { SET_VERSION, SET_VERSION_STATUS } from '../types/version';\n\nexport const setVersion = (commitRef, buildNo) =>\n action(SET_VERSION, { commitRef, buildNo });\n\nexport const setVersionStatus = status =>\n action(SET_VERSION_STATUS, { status });\n"],"names":["ACTION_PREFIX","GET_NODE_TREE","SET_NODE_TREE","GET_NODE_TREE_ERROR","initialState","Map","root","treeDepends","List","isError","isReady","state","action","type","set","fromJS","nodes","OrderedMap","currentHostname","contentTypeId","currentPath","currentNode","currentNodeAncestors","currentProject","entryID","entry","currentTreeId","entryDepends","error","undefined","isLoading","location","mappedEntry","nodeDepends","notFound","staticRoute","statusCode","SET_ANCESTORS","ancestors","SET_ENTRY","node","defaultStatus","nextState","id","Object","keys","length","sys","removeIn","UPDATE_LOADING_STATE","SET_NAVIGATION_PATH","path","entryUri","getIn","route","component","window","SET_ROUTE","SET_SIBLINGS","currentNodeSiblingParent","siblingIDs","siblings","parentId","map","currentNodeDepends","get","allNodeDepends","Set","union","SET_SURROGATE_KEYS","SET_TARGET_PROJECT","project","allowedGroups","hostname","VERSION_PREFIX","SET_VERSION","SET_VERSION_STATUS","commitRef","buildNo","contensisVersionStatus","status","routerMiddleware","history","store","next","payload","method","args","featureReducers","reduxDevToolsMiddleware","f","__REDUX_DEVTOOLS_EXTENSION__","sagaMiddleware","createSagaMiddleware","reducers","navigation","NavigationReducer","routing","RoutingReducer","user","UserReducer","version","VersionReducer","createReducer","injectedReducers","rootReducer","combineReducers","runSaga","run","middleware","compose","applyMiddleware","thunkMiddleware","createInjectorsEnhancer","createStore","close","dispatch","END","reduxStore","hasNavigationTree","selectNavigationRoot","selectNavigationDepends","convertSagaArray","sagas","Array","isArray","rootSaga","all","injectReducer","key","reducer","DefaultStore","Reflect","has","replaceReducer","injectSaga","saga","hasSaga","injectedSagas","process","env","NODE_ENV","oldDescriptor","task","cancel","console","info","injectRedux","useInjectRedux","setVersion","setVersionStatus"],"mappings":"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"}
@@ -5,20 +5,21 @@ import 'redux-immutable';
5
5
  import 'redux-thunk';
6
6
  import 'redux-saga';
7
7
  import 'redux-injectors';
8
- import { r as reduxStore, G as GET_NODE_TREE, h as hasNavigationTree, S as SET_NODE_TREE, b as GET_NODE_TREE_ERROR, i as injectRedux } from './version-8d757fb4.js';
9
- import { a as setSurrogateKeys, S as SET_NAVIGATION_PATH, b as SET_ROUTE, U as UPDATE_LOADING_STATE, c as SET_ENTRY, d as SET_ANCESTORS, e as SET_SIBLINGS, f as setRoute } from './actions-fda5e103.js';
10
- import { R as REGISTER_USER, a as REGISTER_USER_SUCCESS, b as REGISTER_USER_FAILED } from './reducers-b426d14a.js';
8
+ import { r as reduxStore, G as GET_NODE_TREE, h as hasNavigationTree, S as SET_NODE_TREE, b as GET_NODE_TREE_ERROR, i as injectRedux } from './version-64906b26.js';
9
+ import { a as setSurrogateKeys, S as SET_NAVIGATION_PATH, b as SET_ROUTE, U as UPDATE_LOADING_STATE, c as SET_ENTRY, d as SET_ANCESTORS, e as SET_SIBLINGS, f as setRoute } from './actions-ddd9c623.js';
10
+ import { R as REGISTER_USER, a as REGISTER_USER_SUCCESS, b as REGISTER_USER_FAILED, c as REQUEST_USER_PASSWORD_RESET, d as RESET_USER_PASSWORD, C as CHANGE_USER_PASSWORD, e as REQUEST_USER_PASSWORD_RESET_SENDING, f as REQUEST_USER_PASSWORD_RESET_SUCCESS, g as REQUEST_USER_PASSWORD_RESET_ERROR, h as RESET_USER_PASSWORD_SENDING, i as RESET_USER_PASSWORD_SUCCESS, j as RESET_USER_PASSWORD_ERROR, k as CHANGE_USER_PASSWORD_ERROR, l as CHANGE_USER_PASSWORD_SENDING, m as CHANGE_USER_PASSWORD_SUCCESS } from './reducers-feab84fc.js';
11
11
  import { createBrowserHistory, createMemoryHistory } from 'history';
12
12
  import { takeEvery, select, put, call, all } from '@redux-saga/core/effects';
13
13
  import { Client, Op, Query } from 'contensis-delivery-api';
14
14
  import { s as selectVersionStatus } from './version-7fdbd2d5.js';
15
15
  import 'query-string';
16
- import { a as selectCurrentProject, s as selectRouteEntry, b as selectCurrentNode, c as selectCurrentAncestors, d as selectRouteEntryEntryId, e as selectRouteEntryLanguage, f as selectMappedEntry, q as queryParams, g as selectCurrentSearch } from './selectors-170581d2.js';
16
+ import { a as selectCurrentProject, s as selectRouteEntry, b as selectCurrentNode, c as selectCurrentAncestors, d as selectRouteEntryEntryId, e as selectRouteEntryLanguage, f as selectMappedEntry, q as queryParams, g as selectCurrentSearch } from './selectors-68799788.js';
17
17
  import { info, error } from 'loglevel';
18
- import { f as findContentTypeMapping, h as handleRequiresLoginSaga, l as loginSagas } from './login-866fe64c.js';
18
+ import { s as selectClientCredentials } from './ToJs-6e7b247c.js';
19
+ import { f as findContentTypeMapping, h as handleRequiresLoginSaga, g as getManagementApiClient, l as loginSagas } from './login-1f9ad133.js';
19
20
  import { to } from 'await-to-js';
20
21
  import 'react-hot-loader';
21
- import { R as RouteLoader } from './RouteLoader-2cfdfc5c.js';
22
+ import { R as RouteLoader } from './RouteLoader-dedcc835.js';
22
23
 
23
24
  const selectedHistory = typeof window !== 'undefined' ? createBrowserHistory : createMemoryHistory;
24
25
  const history = (options = {}) => selectedHistory(options);
@@ -780,7 +781,211 @@ function* redirectSaga() {
780
781
  if (redirectUri) yield put(setRoute(redirectUri));
781
782
  }
782
783
 
783
- const userSagas = [...loginSagas, ...registerSagas];
784
+ const PAP_URL = 'https://pap.zengenti.com';
785
+ const USER_ENVS_URI = 'my-environments';
786
+ const USER_RESEND_VERIFICATION_URI = 'account/verify/resend';
787
+ const USER_REQUEST_PASSWORD_RESET_URI = 'account/reset';
788
+ const USER_RESET_PASSWORD_URI = 'account/reset/password';
789
+ const USER_ENVS_URL = `${PAP_URL}/${USER_ENVS_URI}`;
790
+ const BASE_OPTIONS = {
791
+ method: 'GET',
792
+ headers: {
793
+ 'Content-Type': 'application/json'
794
+ }
795
+ };
796
+ class UserHelper {
797
+ static async GetUsersEnvironments(securityToken) {
798
+ const options = { ...BASE_OPTIONS,
799
+ headers: {
800
+ 'x-security-token': securityToken
801
+ }
802
+ };
803
+ return await UserHelper.get(USER_ENVS_URL, options);
804
+ }
805
+
806
+ static async ResendUserVerification(userEmail) {
807
+ const options = { ...BASE_OPTIONS
808
+ };
809
+ return await UserHelper.get(`/${USER_RESEND_VERIFICATION_URI}?user=${userEmail}`, options);
810
+ }
811
+
812
+ static async RequestPasswordReset(userEmailObject) {
813
+ const options = { ...BASE_OPTIONS,
814
+ body: JSON.stringify(userEmailObject)
815
+ };
816
+ options.method = 'POST';
817
+ return await UserHelper.get(`/${USER_REQUEST_PASSWORD_RESET_URI}`, options);
818
+ }
819
+
820
+ static async ResetPassword(resetPasswordObject) {
821
+ const options = { ...BASE_OPTIONS,
822
+ body: JSON.stringify(resetPasswordObject)
823
+ };
824
+ options.method = 'POST';
825
+ return await UserHelper.get(`/${USER_RESET_PASSWORD_URI}`, options);
826
+ }
827
+
828
+ static async get(url, options = BASE_OPTIONS) {
829
+ try {
830
+ const responseBody = await api(url, options);
831
+ return responseBody;
832
+ } catch (err) {
833
+ return {
834
+ error: {
835
+ message: err.message
836
+ }
837
+ };
838
+ }
839
+ }
840
+
841
+ }
842
+
843
+ async function api(url, options) {
844
+ return fetch(url, options).then(async response => {
845
+ return response.json().then(data => data);
846
+ }).catch(error => {
847
+ throw error;
848
+ });
849
+ }
850
+
851
+ const resetPasswordSagas = [takeEvery(REQUEST_USER_PASSWORD_RESET, requestPasswordResetSaga), takeEvery(RESET_USER_PASSWORD, resetPasswordSaga), takeEvery(CHANGE_USER_PASSWORD, changePasswordSaga)];
852
+
853
+ function* requestPasswordResetSaga(action) {
854
+ const userEmailObject = action.userEmailObject;
855
+ yield put({
856
+ type: REQUEST_USER_PASSWORD_RESET_SENDING
857
+ });
858
+
859
+ if (userEmailObject && userEmailObject.userEmail) {
860
+ try {
861
+ const passwordResetRequestResponse = yield UserHelper.RequestPasswordReset(userEmailObject);
862
+
863
+ if (passwordResetRequestResponse) {
864
+ if (!passwordResetRequestResponse.error) {
865
+ yield put({
866
+ type: REQUEST_USER_PASSWORD_RESET_SUCCESS
867
+ });
868
+ } else {
869
+ yield put({
870
+ type: REQUEST_USER_PASSWORD_RESET_ERROR,
871
+ error: passwordResetRequestResponse.error.message
872
+ });
873
+ }
874
+ } else {
875
+ yield put({
876
+ type: REQUEST_USER_PASSWORD_RESET_ERROR,
877
+ error: 'No response from server'
878
+ });
879
+ }
880
+ } catch (error) {
881
+ yield put({
882
+ type: REQUEST_USER_PASSWORD_RESET_ERROR,
883
+ error: error && error.toString()
884
+ });
885
+ }
886
+ } else {
887
+ yield put({
888
+ type: REQUEST_USER_PASSWORD_RESET_ERROR,
889
+ error: 'Invalid object'
890
+ });
891
+ }
892
+ }
893
+
894
+ function* resetPasswordSaga(action) {
895
+ const resetPasswordObject = action.resetPasswordObject;
896
+ yield put({
897
+ type: RESET_USER_PASSWORD_SENDING
898
+ });
899
+
900
+ if (resetPasswordObject.token && resetPasswordObject.password) {
901
+ try {
902
+ const resetPasswordResponse = yield UserHelper.ResetPassword(resetPasswordObject);
903
+
904
+ if (resetPasswordResponse) {
905
+ if (!resetPasswordResponse.error) {
906
+ yield put({
907
+ type: RESET_USER_PASSWORD_SUCCESS
908
+ });
909
+ } else {
910
+ const error = resetPasswordResponse.error.data && resetPasswordResponse.error.data.length > 0 && resetPasswordResponse.error.data[0].message || resetPasswordResponse.error.message;
911
+ yield put({
912
+ type: RESET_USER_PASSWORD_ERROR,
913
+ error
914
+ });
915
+ }
916
+ } else {
917
+ yield put({
918
+ type: RESET_USER_PASSWORD_ERROR,
919
+ error: 'No response from server'
920
+ });
921
+ }
922
+ } catch (error) {
923
+ yield put({
924
+ type: RESET_USER_PASSWORD_ERROR,
925
+ error: error && error.toString()
926
+ });
927
+ }
928
+ } else {
929
+ yield put({
930
+ type: RESET_USER_PASSWORD_ERROR,
931
+ error: 'Invalid object'
932
+ });
933
+ }
934
+ } // userId
935
+ // existingPassword
936
+ // newPassword
937
+
938
+
939
+ function* changePasswordSaga(action) {
940
+ if (!action || !action.userId || !action.currentPassword || !action.newPassword) {
941
+ yield put({
942
+ type: CHANGE_USER_PASSWORD_ERROR,
943
+ error: 'Invalid action object sent to changePassword saga'
944
+ });
945
+ return;
946
+ }
947
+
948
+ try {
949
+ const changePasswordObject = {
950
+ userId: action.userId,
951
+ existing: action.currentPassword,
952
+ new: action.newPassword
953
+ };
954
+ yield put({
955
+ type: CHANGE_USER_PASSWORD_SENDING
956
+ });
957
+ const clientCredentials = (yield select(selectClientCredentials)).toJS();
958
+ const client = yield getManagementApiClient({ ...clientCredentials
959
+ });
960
+ const [err, res] = yield to(client.security.users.updatePassword(changePasswordObject));
961
+
962
+ if (err) {
963
+ var _err$data, _err$data$data, _err$data2;
964
+
965
+ const error = (err === null || err === void 0 ? void 0 : (_err$data = err.data) === null || _err$data === void 0 ? void 0 : (_err$data$data = _err$data.data) === null || _err$data$data === void 0 ? void 0 : _err$data$data.length) > 0 && err.data.data[0].message || (err === null || err === void 0 ? void 0 : (_err$data2 = err.data) === null || _err$data2 === void 0 ? void 0 : _err$data2.message);
966
+ yield put({
967
+ type: CHANGE_USER_PASSWORD_ERROR,
968
+ error
969
+ });
970
+ return;
971
+ } // // eslint-disable-next-line no-console
972
+ // console.log(changePasswordObject);
973
+ // // eslint-disable-next-line no-console
974
+ // console.log(userCredentialsObject);
975
+
976
+
977
+ yield put({
978
+ type: CHANGE_USER_PASSWORD_SUCCESS
979
+ });
980
+ } catch (error) {
981
+ yield put({
982
+ type: CHANGE_USER_PASSWORD_ERROR,
983
+ error: error && error.toString()
984
+ });
985
+ }
986
+ }
987
+
988
+ const userSagas = [...loginSagas, ...registerSagas, ...resetPasswordSagas];
784
989
 
785
990
  // index.js
786
991
  function rootSaga (featureSagas = []) {
@@ -838,4 +1043,4 @@ const AppRoot = props => {
838
1043
  };
839
1044
 
840
1045
  export { AppRoot as A, browserHistory as b, deliveryApi as d, history as h, pickProject as p, rootSaga as r };
841
- //# sourceMappingURL=App-b2b80182.js.map
1046
+ //# sourceMappingURL=App-452c2ab3.js.map