@paroicms/server 1.84.0 → 1.85.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.
- package/dist/bo-backend/backup/backup.resolver.js +2 -2
- package/dist/bo-backend/labeling/labeling.queries.d.ts +15 -0
- package/dist/bo-backend/labeling/labeling.queries.js +47 -0
- package/dist/bo-backend/labeling/labeling.queries.js.map +1 -0
- package/dist/bo-backend/labeling/labeling.resolver.d.ts +3 -0
- package/dist/bo-backend/labeling/labeling.resolver.js +21 -0
- package/dist/bo-backend/labeling/labeling.resolver.js.map +1 -0
- package/dist/bo-backend/login/login.controller.d.ts +1 -1
- package/dist/bo-backend/site-constants/site-constants.resolver.js +2 -2
- package/dist/common/api-error-handler.d.ts +10 -0
- package/dist/common/api-error-handler.js +28 -0
- package/dist/common/api-error-handler.js.map +1 -0
- package/dist/common/data-format.js +2 -2
- package/dist/context.d.ts +3 -1
- package/dist/context.js +5 -1
- package/dist/context.js.map +1 -1
- package/dist/express/create-redirect-url.d.ts +4 -0
- package/dist/express/create-redirect-url.js +25 -0
- package/dist/express/create-redirect-url.js.map +1 -0
- package/dist/express/small-middlewares.d.ts +4 -0
- package/dist/express/small-middlewares.js +25 -0
- package/dist/express/small-middlewares.js.map +1 -0
- package/dist/graphql/complexity-plugin.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/app.controller.d.ts +3 -0
- package/dist/modules/app.controller.js +52 -0
- package/dist/modules/app.controller.js.map +1 -0
- package/dist/modules/bo-backend/account/account.formatters.d.ts +2 -0
- package/dist/modules/bo-backend/account/account.formatters.js +7 -0
- package/dist/modules/bo-backend/account/account.formatters.js.map +1 -0
- package/dist/modules/bo-backend/account/account.queries.d.ts +41 -0
- package/dist/modules/bo-backend/account/account.queries.js +231 -0
- package/dist/modules/bo-backend/account/account.queries.js.map +1 -0
- package/dist/modules/bo-backend/account/account.resolver.d.ts +3 -0
- package/dist/modules/bo-backend/account/account.resolver.js +65 -0
- package/dist/modules/bo-backend/account/account.resolver.js.map +1 -0
- package/dist/modules/bo-backend/auth/auth.helper.d.ts +15 -0
- package/dist/modules/bo-backend/auth/auth.helper.js +69 -0
- package/dist/modules/bo-backend/auth/auth.helper.js.map +1 -0
- package/dist/modules/bo-backend/auth/auth.service.d.ts +5 -0
- package/dist/modules/bo-backend/auth/auth.service.js +144 -0
- package/dist/modules/bo-backend/auth/auth.service.js.map +1 -0
- package/dist/modules/bo-backend/auth/auth.types.d.ts +27 -0
- package/dist/modules/bo-backend/auth/auth.types.js +2 -0
- package/dist/modules/bo-backend/auth/auth.types.js.map +1 -0
- package/dist/modules/bo-backend/backup/backup.controller.d.ts +2 -0
- package/dist/modules/bo-backend/backup/backup.controller.js +26 -0
- package/dist/modules/bo-backend/backup/backup.controller.js.map +1 -0
- package/dist/modules/bo-backend/backup/backup.helper.d.ts +6 -0
- package/dist/modules/bo-backend/backup/backup.helper.js +15 -0
- package/dist/modules/bo-backend/backup/backup.helper.js.map +1 -0
- package/dist/modules/bo-backend/backup/backup.resolver.d.ts +7 -0
- package/dist/modules/bo-backend/backup/backup.resolver.js +24 -0
- package/dist/modules/bo-backend/backup/backup.resolver.js.map +1 -0
- package/dist/modules/bo-backend/document/document.helper.d.ts +2 -0
- package/dist/modules/bo-backend/document/document.helper.js +6 -0
- package/dist/modules/bo-backend/document/document.helper.js.map +1 -0
- package/dist/modules/bo-backend/document/document.resolver.d.ts +3 -0
- package/dist/modules/bo-backend/document/document.resolver.extend.d.ts +3 -0
- package/dist/modules/bo-backend/document/document.resolver.extend.js +25 -0
- package/dist/modules/bo-backend/document/document.resolver.extend.js.map +1 -0
- package/dist/modules/bo-backend/document/document.resolver.js +83 -0
- package/dist/modules/bo-backend/document/document.resolver.js.map +1 -0
- package/dist/modules/bo-backend/document/load-documents.queries.d.ts +17 -0
- package/dist/modules/bo-backend/document/load-documents.queries.js +90 -0
- package/dist/modules/bo-backend/document/load-documents.queries.js.map +1 -0
- package/dist/modules/bo-backend/document/save-documents.queries.d.ts +36 -0
- package/dist/modules/bo-backend/document/save-documents.queries.js +206 -0
- package/dist/modules/bo-backend/document/save-documents.queries.js.map +1 -0
- package/dist/modules/bo-backend/fields/_fields.helpers.d.ts +2 -0
- package/dist/modules/bo-backend/fields/_fields.helpers.js +8 -0
- package/dist/modules/bo-backend/fields/_fields.helpers.js.map +1 -0
- package/dist/modules/bo-backend/fields/fields.resolver.d.ts +5 -0
- package/dist/modules/bo-backend/fields/fields.resolver.js +119 -0
- package/dist/modules/bo-backend/fields/fields.resolver.js.map +1 -0
- package/dist/modules/bo-backend/fields/load-fields-of.queries.d.ts +14 -0
- package/dist/modules/bo-backend/fields/load-fields-of.queries.js +93 -0
- package/dist/modules/bo-backend/fields/load-fields-of.queries.js.map +1 -0
- package/dist/modules/bo-backend/fields/load-fields.queries.d.ts +16 -0
- package/dist/modules/bo-backend/fields/load-fields.queries.js +206 -0
- package/dist/modules/bo-backend/fields/load-fields.queries.js.map +1 -0
- package/dist/modules/bo-backend/fields/preprocess-fields.d.ts +6 -0
- package/dist/modules/bo-backend/fields/preprocess-fields.js +28 -0
- package/dist/modules/bo-backend/fields/preprocess-fields.js.map +1 -0
- package/dist/modules/bo-backend/fields/save-fields.queries.d.ts +10 -0
- package/dist/modules/bo-backend/fields/save-fields.queries.js +173 -0
- package/dist/modules/bo-backend/fields/save-fields.queries.js.map +1 -0
- package/dist/modules/bo-backend/labeling/labeling.queries.d.ts +15 -0
- package/dist/modules/bo-backend/labeling/labeling.queries.js +47 -0
- package/dist/modules/bo-backend/labeling/labeling.queries.js.map +1 -0
- package/dist/modules/bo-backend/labeling/labeling.resolver.d.ts +3 -0
- package/dist/modules/bo-backend/labeling/labeling.resolver.js +21 -0
- package/dist/modules/bo-backend/labeling/labeling.resolver.js.map +1 -0
- package/dist/modules/bo-backend/login/login.controller.d.ts +2 -0
- package/dist/modules/bo-backend/login/login.controller.js +17 -0
- package/dist/modules/bo-backend/login/login.controller.js.map +1 -0
- package/dist/modules/bo-backend/media/add-media-to-node.d.ts +14 -0
- package/dist/modules/bo-backend/media/add-media-to-node.js +116 -0
- package/dist/modules/bo-backend/media/add-media-to-node.js.map +1 -0
- package/dist/modules/bo-backend/media/media-upload.controller.d.ts +2 -0
- package/dist/modules/bo-backend/media/media-upload.controller.js +36 -0
- package/dist/modules/bo-backend/media/media-upload.controller.js.map +1 -0
- package/dist/modules/bo-backend/media/media.d.ts +21 -0
- package/dist/modules/bo-backend/media/media.js +63 -0
- package/dist/modules/bo-backend/media/media.js.map +1 -0
- package/dist/modules/bo-backend/media/media.resolver.d.ts +3 -0
- package/dist/modules/bo-backend/media/media.resolver.extend.d.ts +3 -0
- package/dist/modules/bo-backend/media/media.resolver.extend.js +10 -0
- package/dist/modules/bo-backend/media/media.resolver.extend.js.map +1 -0
- package/dist/modules/bo-backend/media/media.resolver.js +145 -0
- package/dist/modules/bo-backend/media/media.resolver.js.map +1 -0
- package/dist/modules/bo-backend/node/node.queries.d.ts +26 -0
- package/dist/modules/bo-backend/node/node.queries.js +137 -0
- package/dist/modules/bo-backend/node/node.queries.js.map +1 -0
- package/dist/modules/bo-backend/node/node.resolver.d.ts +3 -0
- package/dist/modules/bo-backend/node/node.resolver.extend.d.ts +3 -0
- package/dist/modules/bo-backend/node/node.resolver.extend.js +11 -0
- package/dist/modules/bo-backend/node/node.resolver.extend.js.map +1 -0
- package/dist/modules/bo-backend/node/node.resolver.js +39 -0
- package/dist/modules/bo-backend/node/node.resolver.js.map +1 -0
- package/dist/modules/bo-backend/node/ordered-node.queries.d.ts +6 -0
- package/dist/modules/bo-backend/node/ordered-node.queries.js +49 -0
- package/dist/modules/bo-backend/node/ordered-node.queries.js.map +1 -0
- package/dist/modules/bo-backend/nodel/nodel-wrap.formatters.d.ts +3 -0
- package/dist/modules/bo-backend/nodel/nodel-wrap.formatters.js +14 -0
- package/dist/modules/bo-backend/nodel/nodel-wrap.formatters.js.map +1 -0
- package/dist/modules/bo-backend/nodel/nodel-wrap.resolver.d.ts +3 -0
- package/dist/modules/bo-backend/nodel/nodel-wrap.resolver.js +100 -0
- package/dist/modules/bo-backend/nodel/nodel-wrap.resolver.js.map +1 -0
- package/dist/modules/bo-backend/nodel/nodel.queries.d.ts +58 -0
- package/dist/modules/bo-backend/nodel/nodel.queries.js +266 -0
- package/dist/modules/bo-backend/nodel/nodel.queries.js.map +1 -0
- package/dist/modules/bo-backend/part/part-node.queries.d.ts +9 -0
- package/dist/modules/bo-backend/part/part-node.queries.js +38 -0
- package/dist/modules/bo-backend/part/part-node.queries.js.map +1 -0
- package/dist/modules/bo-backend/part/part.queries.d.ts +37 -0
- package/dist/modules/bo-backend/part/part.queries.js +235 -0
- package/dist/modules/bo-backend/part/part.queries.js.map +1 -0
- package/dist/modules/bo-backend/part/part.resolver.d.ts +3 -0
- package/dist/modules/bo-backend/part/part.resolver.extend.d.ts +3 -0
- package/dist/modules/bo-backend/part/part.resolver.extend.js +37 -0
- package/dist/modules/bo-backend/part/part.resolver.extend.js.map +1 -0
- package/dist/modules/bo-backend/part/part.resolver.js +50 -0
- package/dist/modules/bo-backend/part/part.resolver.js.map +1 -0
- package/dist/modules/bo-backend/site-constants/site-constants.resolver.d.ts +3 -0
- package/dist/modules/bo-backend/site-constants/site-constants.resolver.js +45 -0
- package/dist/modules/bo-backend/site-constants/site-constants.resolver.js.map +1 -0
- package/dist/modules/bo-backend/unprotected/unprotected.resolver.d.ts +9 -0
- package/dist/modules/bo-backend/unprotected/unprotected.resolver.js +59 -0
- package/dist/modules/bo-backend/unprotected/unprotected.resolver.js.map +1 -0
- package/dist/modules/core/account/account.formatters.d.ts +2 -0
- package/dist/modules/core/account/account.formatters.js +7 -0
- package/dist/modules/core/account/account.formatters.js.map +1 -0
- package/dist/modules/core/account/account.queries.d.ts +41 -0
- package/dist/modules/core/account/account.queries.js +231 -0
- package/dist/modules/core/account/account.queries.js.map +1 -0
- package/dist/modules/core/account/account.resolver.d.ts +3 -0
- package/dist/modules/core/account/account.resolver.js +65 -0
- package/dist/modules/core/account/account.resolver.js.map +1 -0
- package/dist/modules/core/account-auth/account-auth.service.d.ts +3 -0
- package/dist/modules/core/account-auth/account-auth.service.js +25 -0
- package/dist/modules/core/account-auth/account-auth.service.js.map +1 -0
- package/dist/modules/core/account-auth/account-auth.strategy.d.ts +3 -0
- package/dist/modules/core/account-auth/account-auth.strategy.js +26 -0
- package/dist/modules/core/account-auth/account-auth.strategy.js.map +1 -0
- package/dist/modules/core/auth/auth.helper.d.ts +15 -0
- package/dist/modules/core/auth/auth.helper.js +69 -0
- package/dist/modules/core/auth/auth.helper.js.map +1 -0
- package/dist/modules/core/auth/auth.service.d.ts +5 -0
- package/dist/modules/core/auth/auth.service.js +144 -0
- package/dist/modules/core/auth/auth.service.js.map +1 -0
- package/dist/modules/core/auth/auth.types.d.ts +27 -0
- package/dist/modules/core/auth/auth.types.js +2 -0
- package/dist/modules/core/auth/auth.types.js.map +1 -0
- package/dist/modules/core/backup/backup.controller.d.ts +2 -0
- package/dist/modules/core/backup/backup.controller.js +26 -0
- package/dist/modules/core/backup/backup.controller.js.map +1 -0
- package/dist/modules/core/backup/backup.helper.d.ts +6 -0
- package/dist/modules/core/backup/backup.helper.js +15 -0
- package/dist/modules/core/backup/backup.helper.js.map +1 -0
- package/dist/modules/core/backup/backup.resolver.d.ts +7 -0
- package/dist/modules/core/backup/backup.resolver.js +24 -0
- package/dist/modules/core/backup/backup.resolver.js.map +1 -0
- package/dist/modules/core/document/document.helper.d.ts +2 -0
- package/dist/modules/core/document/document.helper.js +6 -0
- package/dist/modules/core/document/document.helper.js.map +1 -0
- package/dist/modules/core/document/document.resolver.d.ts +3 -0
- package/dist/modules/core/document/document.resolver.extend.d.ts +3 -0
- package/dist/modules/core/document/document.resolver.extend.js +25 -0
- package/dist/modules/core/document/document.resolver.extend.js.map +1 -0
- package/dist/modules/core/document/document.resolver.js +83 -0
- package/dist/modules/core/document/document.resolver.js.map +1 -0
- package/dist/modules/core/document/load-documents.queries.d.ts +17 -0
- package/dist/modules/core/document/load-documents.queries.js +90 -0
- package/dist/modules/core/document/load-documents.queries.js.map +1 -0
- package/dist/modules/core/document/save-documents.queries.d.ts +36 -0
- package/dist/modules/core/document/save-documents.queries.js +206 -0
- package/dist/modules/core/document/save-documents.queries.js.map +1 -0
- package/dist/modules/core/fields/_fields.helpers.d.ts +2 -0
- package/dist/modules/core/fields/_fields.helpers.js +8 -0
- package/dist/modules/core/fields/_fields.helpers.js.map +1 -0
- package/dist/modules/core/fields/fields.resolver.d.ts +5 -0
- package/dist/modules/core/fields/fields.resolver.js +119 -0
- package/dist/modules/core/fields/fields.resolver.js.map +1 -0
- package/dist/modules/core/fields/load-fields-of.queries.d.ts +14 -0
- package/dist/modules/core/fields/load-fields-of.queries.js +93 -0
- package/dist/modules/core/fields/load-fields-of.queries.js.map +1 -0
- package/dist/modules/core/fields/load-fields.queries.d.ts +16 -0
- package/dist/modules/core/fields/load-fields.queries.js +206 -0
- package/dist/modules/core/fields/load-fields.queries.js.map +1 -0
- package/dist/modules/core/fields/preprocess-fields.d.ts +6 -0
- package/dist/modules/core/fields/preprocess-fields.js +28 -0
- package/dist/modules/core/fields/preprocess-fields.js.map +1 -0
- package/dist/modules/core/fields/save-fields.queries.d.ts +10 -0
- package/dist/modules/core/fields/save-fields.queries.js +173 -0
- package/dist/modules/core/fields/save-fields.queries.js.map +1 -0
- package/dist/modules/core/labeling/labeling.queries.d.ts +15 -0
- package/dist/modules/core/labeling/labeling.queries.js +47 -0
- package/dist/modules/core/labeling/labeling.queries.js.map +1 -0
- package/dist/modules/core/labeling/labeling.resolver.d.ts +3 -0
- package/dist/modules/core/labeling/labeling.resolver.js +21 -0
- package/dist/modules/core/labeling/labeling.resolver.js.map +1 -0
- package/dist/modules/core/login/login.controller.d.ts +2 -0
- package/dist/modules/core/login/login.controller.js +17 -0
- package/dist/modules/core/login/login.controller.js.map +1 -0
- package/dist/modules/core/media/add-media-to-node.d.ts +14 -0
- package/dist/modules/core/media/add-media-to-node.js +116 -0
- package/dist/modules/core/media/add-media-to-node.js.map +1 -0
- package/dist/modules/core/media/media-upload.controller.d.ts +2 -0
- package/dist/modules/core/media/media-upload.controller.js +36 -0
- package/dist/modules/core/media/media-upload.controller.js.map +1 -0
- package/dist/modules/core/media/media.d.ts +21 -0
- package/dist/modules/core/media/media.js +63 -0
- package/dist/modules/core/media/media.js.map +1 -0
- package/dist/modules/core/media/media.resolver.d.ts +3 -0
- package/dist/modules/core/media/media.resolver.extend.d.ts +3 -0
- package/dist/modules/core/media/media.resolver.extend.js +10 -0
- package/dist/modules/core/media/media.resolver.extend.js.map +1 -0
- package/dist/modules/core/media/media.resolver.js +145 -0
- package/dist/modules/core/media/media.resolver.js.map +1 -0
- package/dist/modules/core/node/node.queries.d.ts +26 -0
- package/dist/modules/core/node/node.queries.js +137 -0
- package/dist/modules/core/node/node.queries.js.map +1 -0
- package/dist/modules/core/node/node.resolver.d.ts +3 -0
- package/dist/modules/core/node/node.resolver.extend.d.ts +3 -0
- package/dist/modules/core/node/node.resolver.extend.js +11 -0
- package/dist/modules/core/node/node.resolver.extend.js.map +1 -0
- package/dist/modules/core/node/node.resolver.js +39 -0
- package/dist/modules/core/node/node.resolver.js.map +1 -0
- package/dist/modules/core/node/ordered-node.queries.d.ts +6 -0
- package/dist/modules/core/node/ordered-node.queries.js +49 -0
- package/dist/modules/core/node/ordered-node.queries.js.map +1 -0
- package/dist/modules/core/nodel/nodel-wrap.formatters.d.ts +3 -0
- package/dist/modules/core/nodel/nodel-wrap.formatters.js +14 -0
- package/dist/modules/core/nodel/nodel-wrap.formatters.js.map +1 -0
- package/dist/modules/core/nodel/nodel-wrap.resolver.d.ts +3 -0
- package/dist/modules/core/nodel/nodel-wrap.resolver.js +100 -0
- package/dist/modules/core/nodel/nodel-wrap.resolver.js.map +1 -0
- package/dist/modules/core/nodel/nodel.queries.d.ts +58 -0
- package/dist/modules/core/nodel/nodel.queries.js +266 -0
- package/dist/modules/core/nodel/nodel.queries.js.map +1 -0
- package/dist/modules/core/part/part-node.queries.d.ts +9 -0
- package/dist/modules/core/part/part-node.queries.js +38 -0
- package/dist/modules/core/part/part-node.queries.js.map +1 -0
- package/dist/modules/core/part/part.queries.d.ts +37 -0
- package/dist/modules/core/part/part.queries.js +235 -0
- package/dist/modules/core/part/part.queries.js.map +1 -0
- package/dist/modules/core/part/part.resolver.d.ts +3 -0
- package/dist/modules/core/part/part.resolver.extend.d.ts +3 -0
- package/dist/modules/core/part/part.resolver.extend.js +37 -0
- package/dist/modules/core/part/part.resolver.extend.js.map +1 -0
- package/dist/modules/core/part/part.resolver.js +50 -0
- package/dist/modules/core/part/part.resolver.js.map +1 -0
- package/dist/modules/core/site-constants/site-constants.resolver.d.ts +3 -0
- package/dist/modules/core/site-constants/site-constants.resolver.js +45 -0
- package/dist/modules/core/site-constants/site-constants.resolver.js.map +1 -0
- package/dist/modules/core/unprotected/unprotected.resolver.d.ts +9 -0
- package/dist/modules/core/unprotected/unprotected.resolver.js +59 -0
- package/dist/modules/core/unprotected/unprotected.resolver.js.map +1 -0
- package/dist/modules/graphql.types.d.ts +7 -0
- package/dist/modules/graphql.types.js +2 -0
- package/dist/modules/graphql.types.js.map +1 -0
- package/dist/modules/public-api/mail/validate-recaptcha-response.d.ts +5 -0
- package/dist/modules/public-api/mail/validate-recaptcha-response.js +21 -0
- package/dist/modules/public-api/mail/validate-recaptcha-response.js.map +1 -0
- package/dist/modules/public-api/partials/partials-params.dto.d.ts +6 -0
- package/dist/modules/public-api/partials/partials-params.dto.js +41 -0
- package/dist/modules/public-api/partials/partials-params.dto.js.map +1 -0
- package/dist/modules/public-api/password-reset/password-reset.controller.d.ts +5 -0
- package/dist/modules/public-api/password-reset/password-reset.controller.js +22 -0
- package/dist/modules/public-api/password-reset/password-reset.controller.js.map +1 -0
- package/dist/modules/public-api/password-reset/password-reset.dto.d.ts +3 -0
- package/dist/modules/public-api/password-reset/password-reset.dto.js +29 -0
- package/dist/modules/public-api/password-reset/password-reset.dto.js.map +1 -0
- package/dist/modules/public-api/password-reset/password-reset.service.d.ts +19 -0
- package/dist/modules/public-api/password-reset/password-reset.service.js +57 -0
- package/dist/modules/public-api/password-reset/password-reset.service.js.map +1 -0
- package/dist/modules/public-api/public-api-controller.d.ts +8 -0
- package/dist/modules/public-api/public-api-controller.js +6 -0
- package/dist/modules/public-api/public-api-controller.js.map +1 -0
- package/dist/modules/public-api/public-api-rendering.d.ts +20 -0
- package/dist/modules/public-api/public-api-rendering.js +115 -0
- package/dist/modules/public-api/public-api-rendering.js.map +1 -0
- package/dist/modules/public-api/search-text/search-text.dto.d.ts +7 -0
- package/dist/modules/public-api/search-text/search-text.dto.js +46 -0
- package/dist/modules/public-api/search-text/search-text.dto.js.map +1 -0
- package/dist/modules/public-api/search-text/search-text.queries.d.ts +15 -0
- package/dist/modules/public-api/search-text/search-text.queries.js +82 -0
- package/dist/modules/public-api/search-text/search-text.queries.js.map +1 -0
- package/dist/modules/public-site/feed/feed-generator.d.ts +20 -0
- package/dist/modules/public-site/feed/feed-generator.js +199 -0
- package/dist/modules/public-site/feed/feed-generator.js.map +1 -0
- package/dist/modules/public-site/feed/feed-helpers.d.ts +3 -0
- package/dist/modules/public-site/feed/feed-helpers.js +7 -0
- package/dist/modules/public-site/feed/feed-helpers.js.map +1 -0
- package/dist/modules/public-site/feed/feed.middleware.d.ts +2 -0
- package/dist/modules/public-site/feed/feed.middleware.js +59 -0
- package/dist/modules/public-site/feed/feed.middleware.js.map +1 -0
- package/dist/modules/public-site/helpers/format-date.helper.d.ts +4 -0
- package/dist/modules/public-site/helpers/format-date.helper.js +28 -0
- package/dist/modules/public-site/helpers/format-date.helper.js.map +1 -0
- package/dist/modules/public-site/helpers/medias.helpers.d.ts +7 -0
- package/dist/modules/public-site/helpers/medias.helpers.js +14 -0
- package/dist/modules/public-site/helpers/medias.helpers.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/format-date.d.ts +7 -0
- package/dist/modules/public-site/liquidjs-filters/format-date.js +11 -0
- package/dist/modules/public-site/liquidjs-filters/format-date.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/format-number.d.ts +6 -0
- package/dist/modules/public-site/liquidjs-filters/format-number.js +13 -0
- package/dist/modules/public-site/liquidjs-filters/format-number.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/head-tags-filter.d.ts +6 -0
- package/dist/modules/public-site/liquidjs-filters/head-tags-filter.js +55 -0
- package/dist/modules/public-site/liquidjs-filters/head-tags-filter.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/image-zoom-url.d.ts +6 -0
- package/dist/modules/public-site/liquidjs-filters/image-zoom-url.js +22 -0
- package/dist/modules/public-site/liquidjs-filters/image-zoom-url.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/info-filter.d.ts +1 -0
- package/dist/modules/public-site/liquidjs-filters/info-filter.js +183 -0
- package/dist/modules/public-site/liquidjs-filters/info-filter.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/inject-menu-items-data.d.ts +6 -0
- package/dist/modules/public-site/liquidjs-filters/inject-menu-items-data.js +21 -0
- package/dist/modules/public-site/liquidjs-filters/inject-menu-items-data.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/make-excerpt.d.ts +3 -0
- package/dist/modules/public-site/liquidjs-filters/make-excerpt.js +6 -0
- package/dist/modules/public-site/liquidjs-filters/make-excerpt.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/obfuscate.d.ts +8 -0
- package/dist/modules/public-site/liquidjs-filters/obfuscate.js +21 -0
- package/dist/modules/public-site/liquidjs-filters/obfuscate.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/open-graph-filter.d.ts +9 -0
- package/dist/modules/public-site/liquidjs-filters/open-graph-filter.js +37 -0
- package/dist/modules/public-site/liquidjs-filters/open-graph-filter.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/plugin-asset-url-filter.d.ts +7 -0
- package/dist/modules/public-site/liquidjs-filters/plugin-asset-url-filter.js +22 -0
- package/dist/modules/public-site/liquidjs-filters/plugin-asset-url-filter.js.map +1 -0
- package/dist/modules/public-site/liquidjs-filters/translate-filter.d.ts +7 -0
- package/dist/modules/public-site/liquidjs-filters/translate-filter.js +19 -0
- package/dist/modules/public-site/liquidjs-filters/translate-filter.js.map +1 -0
- package/dist/modules/public-site/liquidjs-tags/get-doc-tag.d.ts +15 -0
- package/dist/modules/public-site/liquidjs-tags/get-doc-tag.js +70 -0
- package/dist/modules/public-site/liquidjs-tags/get-doc-tag.js.map +1 -0
- package/dist/modules/public-site/liquidjs-tags/get-docs-tag.d.ts +15 -0
- package/dist/modules/public-site/liquidjs-tags/get-docs-tag.js +108 -0
- package/dist/modules/public-site/liquidjs-tags/get-docs-tag.js.map +1 -0
- package/dist/modules/public-site/liquidjs-tags/get-paginated-docs-tag.d.ts +28 -0
- package/dist/modules/public-site/liquidjs-tags/get-paginated-docs-tag.js +80 -0
- package/dist/modules/public-site/liquidjs-tags/get-paginated-docs-tag.js.map +1 -0
- package/dist/modules/public-site/liquidjs-tags/use-image-tag.d.ts +13 -0
- package/dist/modules/public-site/liquidjs-tags/use-image-tag.js +73 -0
- package/dist/modules/public-site/liquidjs-tags/use-image-tag.js.map +1 -0
- package/dist/modules/public-site/media-serve/_media-serve-helpers.d.ts +5 -0
- package/dist/modules/public-site/media-serve/_media-serve-helpers.js +15 -0
- package/dist/modules/public-site/media-serve/_media-serve-helpers.js.map +1 -0
- package/dist/modules/public-site/media-serve/media-serve.controller.d.ts +4 -0
- package/dist/modules/public-site/media-serve/media-serve.controller.js +173 -0
- package/dist/modules/public-site/media-serve/media-serve.controller.js.map +1 -0
- package/dist/modules/public-site/public-route/make-url.d.ts +11 -0
- package/dist/modules/public-site/public-route/make-url.js +160 -0
- package/dist/modules/public-site/public-route/make-url.js.map +1 -0
- package/dist/modules/public-site/public-route/public-route-parser.d.ts +17 -0
- package/dist/modules/public-site/public-route/public-route-parser.js +176 -0
- package/dist/modules/public-site/public-route/public-route-parser.js.map +1 -0
- package/dist/modules/public-site/public-route/raw-document-payload.d.ts +4 -0
- package/dist/modules/public-site/public-route/raw-document-payload.js +77 -0
- package/dist/modules/public-site/public-route/raw-document-payload.js.map +1 -0
- package/dist/modules/public-site/public-site.controller.d.ts +2 -0
- package/dist/modules/public-site/public-site.controller.js +27 -0
- package/dist/modules/public-site/public-site.controller.js.map +1 -0
- package/dist/modules/public-site/public-site.middleware.d.ts +2 -0
- package/dist/modules/public-site/public-site.middleware.js +47 -0
- package/dist/modules/public-site/public-site.middleware.js.map +1 -0
- package/dist/modules/public-site/serve-document/serve-document.d.ts +20 -0
- package/dist/modules/public-site/serve-document/serve-document.js +50 -0
- package/dist/modules/public-site/serve-document/serve-document.js.map +1 -0
- package/dist/public-api/partials/partials-params.dto.d.ts +6 -0
- package/dist/public-api/partials/partials-params.dto.js +41 -0
- package/dist/public-api/partials/partials-params.dto.js.map +1 -0
- package/dist/public-api/password-reset/password-reset.dto.d.ts +3 -0
- package/dist/public-api/password-reset/password-reset.dto.js +29 -0
- package/dist/public-api/password-reset/password-reset.dto.js.map +1 -0
- package/dist/public-api/search-text/search-text.dto.d.ts +7 -0
- package/dist/public-api/search-text/search-text.dto.js +46 -0
- package/dist/public-api/search-text/search-text.dto.js.map +1 -0
- package/dist/public-api/search-text/search-text.queries.js +3 -4
- package/dist/public-api/search-text/search-text.queries.js.map +1 -1
- package/dist/public-payload/parts.queries.js +6 -6
- package/dist/public-payload/parts.queries.js.map +1 -1
- package/dist/public-payload/site-payload.js +1 -1
- package/dist/public-payload/site-payload.js.map +1 -1
- package/dist/public-payload/taxonomies.queries.d.ts +14 -0
- package/dist/public-payload/taxonomies.queries.js +42 -0
- package/dist/public-payload/taxonomies.queries.js.map +1 -0
- package/dist/public-site/feed/feed-generator.js +2 -2
- package/dist/public-site/liquidjs-filters/head-tags-filter.d.ts +1 -1
- package/dist/public-site/liquidjs-filters/open-graph-filter.d.ts +1 -1
- package/dist/public-site/public-site.controller.d.ts +2 -0
- package/dist/public-site/public-site.controller.js +27 -0
- package/dist/public-site/public-site.controller.js.map +1 -0
- package/dist/site-context/create-site-context.js +2 -2
- package/dist/site-context/create-site-context.js.map +1 -1
- package/dist/start.js +1 -1
- package/dist/start.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/schema.graphql +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ScRegularDocumentType, ScRoutingDocumentType } from "@paroicms/public-anywhere-lib";
|
|
2
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
3
|
+
export interface ParsedPublicRoute {
|
|
4
|
+
language: string;
|
|
5
|
+
routingDocuments: ScRoutingDocumentType[];
|
|
6
|
+
regularRelativeIds: RegularRelativeId[];
|
|
7
|
+
redirectTo: "parent" | undefined;
|
|
8
|
+
depth: number;
|
|
9
|
+
urlCacheKey: string;
|
|
10
|
+
urlParameters?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface RegularRelativeId {
|
|
13
|
+
relativeId: string;
|
|
14
|
+
candidateTypes: ScRegularDocumentType[];
|
|
15
|
+
}
|
|
16
|
+
export declare function parsePublicRoute(siteContext: Pick<SiteContext, "siteSchema">, path: string): ParsedPublicRoute | undefined;
|
|
17
|
+
export declare function findParentParsedRouteWithDocument(parsedRoute: ParsedPublicRoute): ParsedPublicRoute | undefined;
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { getRegularDocumentTypeByName, getRoutingDocumentTypeByName, } from "@paroicms/internal-anywhere-lib";
|
|
2
|
+
export function parsePublicRoute(siteContext, path) {
|
|
3
|
+
const { siteSchema } = siteContext;
|
|
4
|
+
const { cleanedPath, urlParameters } = parseUrlParameters(path);
|
|
5
|
+
const tokens = cleanedPath
|
|
6
|
+
.split("/")
|
|
7
|
+
.slice(1)
|
|
8
|
+
.filter((token) => token.length > 0);
|
|
9
|
+
const language = siteSchema.isMultilingual ? tokens[0] : siteSchema.defaultLanguage;
|
|
10
|
+
const parts = siteSchema.isMultilingual ? tokens.slice(1) : tokens;
|
|
11
|
+
if (!language || !siteSchema.languages.includes(language))
|
|
12
|
+
return;
|
|
13
|
+
const urlCacheKey = [];
|
|
14
|
+
if (siteSchema.isMultilingual)
|
|
15
|
+
urlCacheKey.push(language);
|
|
16
|
+
let prev = siteSchema.nodeTypes.home;
|
|
17
|
+
const routingDocuments = [prev];
|
|
18
|
+
let depth = 0;
|
|
19
|
+
let i = 0;
|
|
20
|
+
for (; i < parts.length; ++i) {
|
|
21
|
+
const urlPath = parts[i];
|
|
22
|
+
const routingDocument = findRoutingDocumentByUrlPath({
|
|
23
|
+
siteSchema,
|
|
24
|
+
parent: prev,
|
|
25
|
+
urlPath,
|
|
26
|
+
language,
|
|
27
|
+
});
|
|
28
|
+
if (!routingDocument)
|
|
29
|
+
break;
|
|
30
|
+
routingDocuments.push(routingDocument);
|
|
31
|
+
urlCacheKey.push(urlPath);
|
|
32
|
+
++depth;
|
|
33
|
+
prev = routingDocument;
|
|
34
|
+
}
|
|
35
|
+
let lastRedirectTo = prev.redirectTo;
|
|
36
|
+
let parentCandidates = [prev];
|
|
37
|
+
const regularRelativeIds = [];
|
|
38
|
+
while (i < parts.length) {
|
|
39
|
+
const found = findRegularRelativeIdByUrlPath({
|
|
40
|
+
siteSchema,
|
|
41
|
+
parentCandidates,
|
|
42
|
+
parts,
|
|
43
|
+
partsIndex: i,
|
|
44
|
+
});
|
|
45
|
+
if (!found)
|
|
46
|
+
return;
|
|
47
|
+
regularRelativeIds.push(found.regularRelativeId);
|
|
48
|
+
urlCacheKey.push(`regular:${found.regularRelativeId.relativeId}`);
|
|
49
|
+
++depth;
|
|
50
|
+
parentCandidates = found.regularRelativeId.candidateTypes;
|
|
51
|
+
i += found.skipUrlParts;
|
|
52
|
+
lastRedirectTo = undefined;
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
language,
|
|
56
|
+
routingDocuments,
|
|
57
|
+
regularRelativeIds,
|
|
58
|
+
redirectTo: lastRedirectTo,
|
|
59
|
+
depth,
|
|
60
|
+
urlCacheKey: urlCacheKey.join("/"),
|
|
61
|
+
urlParameters,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function parseUrlParameters(path) {
|
|
65
|
+
const result = path.match(/(^.+)(\?.*)$/);
|
|
66
|
+
if (result) {
|
|
67
|
+
return {
|
|
68
|
+
cleanedPath: result[1],
|
|
69
|
+
urlParameters: result[2],
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
cleanedPath: path,
|
|
74
|
+
urlParameters: undefined,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function findRoutingDocumentByUrlPath({ siteSchema, parent, urlPath, language, }) {
|
|
78
|
+
for (const typeName of parent.routingChildren ?? []) {
|
|
79
|
+
const documentType = getRoutingDocumentTypeByName(siteSchema, typeName);
|
|
80
|
+
if (!documentType.route)
|
|
81
|
+
continue;
|
|
82
|
+
if (urlPath === documentType.route[language])
|
|
83
|
+
return documentType;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function findRegularRelativeIdByUrlPath({ siteSchema, parentCandidates, parts, partsIndex, }) {
|
|
87
|
+
const candidateTypes = parentCandidates
|
|
88
|
+
.reduce((childTypeNames, parent) => {
|
|
89
|
+
if (parent.regularChildren)
|
|
90
|
+
childTypeNames.push(...parent.regularChildren);
|
|
91
|
+
return childTypeNames;
|
|
92
|
+
}, [])
|
|
93
|
+
?.map((typeName) => getRegularDocumentTypeByName(siteSchema, typeName));
|
|
94
|
+
if (!candidateTypes || candidateTypes.length === 0)
|
|
95
|
+
return;
|
|
96
|
+
const route = candidateTypes[0].route;
|
|
97
|
+
if (route === ":relativeId-:slug") {
|
|
98
|
+
const urlPath = parts[partsIndex];
|
|
99
|
+
const relativeId = parseRegularRelativeIdSlug(urlPath);
|
|
100
|
+
return {
|
|
101
|
+
regularRelativeId: { relativeId, candidateTypes },
|
|
102
|
+
skipUrlParts: 1,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
if (route === ":yyyy/:mm/:dd/:relativeId-:slug") {
|
|
106
|
+
if (parts.length < partsIndex + 3 ||
|
|
107
|
+
!isYear(parts[partsIndex]) ||
|
|
108
|
+
!isMonth(parts[partsIndex + 1]) ||
|
|
109
|
+
!isDay(parts[partsIndex + 2])) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const urlPath = parts[partsIndex + 3];
|
|
113
|
+
const relativeId = parseRegularRelativeIdSlug(urlPath);
|
|
114
|
+
return {
|
|
115
|
+
regularRelativeId: { relativeId, candidateTypes },
|
|
116
|
+
skipUrlParts: 4,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function parseRegularRelativeIdSlug(urlPath) {
|
|
121
|
+
const index = urlPath.indexOf("-");
|
|
122
|
+
return index === -1 ? urlPath : urlPath.substring(0, index);
|
|
123
|
+
}
|
|
124
|
+
function isYear(s) {
|
|
125
|
+
return /[0-9]{4}/.test(s);
|
|
126
|
+
}
|
|
127
|
+
function isMonth(s) {
|
|
128
|
+
if (!/[0-9]{2}/.test(s))
|
|
129
|
+
return false;
|
|
130
|
+
const val = Number(s);
|
|
131
|
+
return val >= 1 && val <= 12;
|
|
132
|
+
}
|
|
133
|
+
function isDay(s) {
|
|
134
|
+
if (!/[0-9]{2}/.test(s))
|
|
135
|
+
return false;
|
|
136
|
+
const val = Number(s);
|
|
137
|
+
return val >= 1 && val <= 31;
|
|
138
|
+
}
|
|
139
|
+
export function findParentParsedRouteWithDocument(parsedRoute) {
|
|
140
|
+
let curRoute = parsedRoute;
|
|
141
|
+
while (true) {
|
|
142
|
+
curRoute = findParentParsedRoute(curRoute);
|
|
143
|
+
if (!curRoute)
|
|
144
|
+
break;
|
|
145
|
+
if (!curRoute.redirectTo)
|
|
146
|
+
return curRoute;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function findParentParsedRoute(parsedRoute) {
|
|
150
|
+
const routingDocuments = [...parsedRoute.routingDocuments];
|
|
151
|
+
const regularRelativeIds = [...parsedRoute.regularRelativeIds];
|
|
152
|
+
const urlCacheKey = parsedRoute.urlCacheKey.split("/");
|
|
153
|
+
if (regularRelativeIds.length > 0) {
|
|
154
|
+
regularRelativeIds.pop();
|
|
155
|
+
urlCacheKey.pop();
|
|
156
|
+
}
|
|
157
|
+
else if (routingDocuments.length > 0) {
|
|
158
|
+
routingDocuments.pop();
|
|
159
|
+
urlCacheKey.pop();
|
|
160
|
+
}
|
|
161
|
+
if (regularRelativeIds.length === 0 && routingDocuments.length === 0)
|
|
162
|
+
return;
|
|
163
|
+
const lastRegular = regularRelativeIds.length > 0 ? regularRelativeIds[regularRelativeIds.length - 1] : undefined;
|
|
164
|
+
const redirectTo = lastRegular
|
|
165
|
+
? undefined
|
|
166
|
+
: routingDocuments[routingDocuments.length - 1]?.redirectTo;
|
|
167
|
+
return {
|
|
168
|
+
language: parsedRoute.language,
|
|
169
|
+
routingDocuments,
|
|
170
|
+
regularRelativeIds,
|
|
171
|
+
redirectTo,
|
|
172
|
+
depth: parsedRoute.depth - 1,
|
|
173
|
+
urlCacheKey: urlCacheKey.join("/"),
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=public-route-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-route-parser.js","sourceRoot":"","sources":["../../../../src/modules/public-site/public-route/public-route-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DocValues } from "../../../public-payload/public-payload.types.js";
|
|
2
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
3
|
+
import type { ParsedPublicRoute } from "./public-route-parser.js";
|
|
4
|
+
export declare function fetchRawDocPayload(siteContext: SiteContext, parsedRoute: ParsedPublicRoute): Promise<DocValues | undefined>;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { formatDocValues } from "../../../public-payload/doc-values.queries.js";
|
|
2
|
+
export async function fetchRawDocPayload(siteContext, parsedRoute) {
|
|
3
|
+
const query = buildRawDocPayloadQuery(siteContext, parsedRoute);
|
|
4
|
+
const rows = await query;
|
|
5
|
+
if (!rows || rows.length === 0)
|
|
6
|
+
return;
|
|
7
|
+
return formatDocValues(rows[0], {
|
|
8
|
+
language: parsedRoute.language,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
function buildRawDocPayloadQuery(siteContext, parsedRoute) {
|
|
12
|
+
const { cn } = siteContext;
|
|
13
|
+
let query = cn("PaNode as l0")
|
|
14
|
+
.innerJoin("PaNodel as s0", {
|
|
15
|
+
"l0.id": "s0.nodeId",
|
|
16
|
+
"s0.language": cn.raw("?", [parsedRoute.language]),
|
|
17
|
+
})
|
|
18
|
+
.where("l0.depth", 0)
|
|
19
|
+
.where("l0.typeName", "home")
|
|
20
|
+
.whereRaw("l0.publishDate <= current_timestamp")
|
|
21
|
+
.where("s0.ready", 1);
|
|
22
|
+
let prev = 0;
|
|
23
|
+
for (const routingDocument of parsedRoute.routingDocuments.slice(1)) {
|
|
24
|
+
const cur = prev + 1;
|
|
25
|
+
const typeNameParam = routingDocument.typeName;
|
|
26
|
+
query = query
|
|
27
|
+
.innerJoin(`PaNode as l${cur}`, {
|
|
28
|
+
[`l${prev}.id`]: `l${cur}.parentId`,
|
|
29
|
+
[`l${cur}.typeName`]: cn.raw("?", [typeNameParam]),
|
|
30
|
+
})
|
|
31
|
+
.innerJoin(`PaNodel as s${cur}`, {
|
|
32
|
+
[`l${cur}.id`]: `s${cur}.nodeId`,
|
|
33
|
+
[`s${cur}.language`]: cn.raw("?", [parsedRoute.language]),
|
|
34
|
+
})
|
|
35
|
+
.whereRaw(`l${cur}.publishDate <= current_timestamp`)
|
|
36
|
+
.where(`s${cur}.ready`, 1);
|
|
37
|
+
prev = cur;
|
|
38
|
+
}
|
|
39
|
+
for (const { candidateTypes, relativeId } of parsedRoute.regularRelativeIds) {
|
|
40
|
+
const cur = prev + 1;
|
|
41
|
+
const typeNames = candidateTypes.map((t) => t.typeName);
|
|
42
|
+
query = query
|
|
43
|
+
.innerJoin(`PaNode as l${cur}`, {
|
|
44
|
+
[`l${prev}.id`]: `l${cur}.parentId`,
|
|
45
|
+
[`l${cur}.relativeId`]: cn.raw("?", [relativeId]),
|
|
46
|
+
})
|
|
47
|
+
.innerJoin(`PaNodel as s${cur}`, {
|
|
48
|
+
[`l${cur}.id`]: `s${cur}.nodeId`,
|
|
49
|
+
[`s${cur}.language`]: cn.raw("?", [parsedRoute.language]),
|
|
50
|
+
})
|
|
51
|
+
.whereIn(`l${cur}.typeName`, typeNames)
|
|
52
|
+
.whereRaw(`l${cur}.publishDate <= current_timestamp`)
|
|
53
|
+
.where(`s${cur}.ready`, 1);
|
|
54
|
+
prev = cur;
|
|
55
|
+
}
|
|
56
|
+
query = query.select([
|
|
57
|
+
`l${prev}.typeName as typeName`,
|
|
58
|
+
`l${prev}.id as nodeId`,
|
|
59
|
+
`l${prev}.relativeId as relativeId`,
|
|
60
|
+
`l${prev}.publishDate as publishDate`,
|
|
61
|
+
]);
|
|
62
|
+
if (!parsedRoute.redirectTo) {
|
|
63
|
+
query = query
|
|
64
|
+
.select([
|
|
65
|
+
"d.title as title",
|
|
66
|
+
"d.slug as slug",
|
|
67
|
+
"d.metaDescription as metaDescription",
|
|
68
|
+
"d.metaKeywords as metaKeywords",
|
|
69
|
+
])
|
|
70
|
+
.innerJoin("PaDocument as d", {
|
|
71
|
+
[`l${prev}.id`]: "d.nodeId",
|
|
72
|
+
[`s${prev}.language`]: "d.language",
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return query;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=raw-document-payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-document-payload.js","sourceRoot":"","sources":["../../../../src/modules/public-site/public-route/raw-document-payload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createTracker } from "@paroicms/internal-server-lib";
|
|
2
|
+
import { serveTextFromCacheOr } from "../../common/serve-text-or.js";
|
|
3
|
+
import { makeCacheKey } from "../../common/text-cache.js";
|
|
4
|
+
import { trackerReportToMessage } from "../../common/tracker-report.js";
|
|
5
|
+
import { getReqSiteContext } from "../../express/http-helpers.js";
|
|
6
|
+
import { renderLiquidTemplate } from "../../liquidjs-tools/liquidjs-rendering/render-liquidjs.js";
|
|
7
|
+
import { createRenderingContext } from "../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
8
|
+
import { makeDetachedPublicPayload } from "../../public-payload/make-public-payload.js";
|
|
9
|
+
export async function indexController(req, res) {
|
|
10
|
+
const siteContext = getReqSiteContext(req);
|
|
11
|
+
const tracker = createTracker();
|
|
12
|
+
await serveIndexPage(siteContext, req, res, tracker);
|
|
13
|
+
siteContext.logger.stats(trackerReportToMessage(tracker.toReport(), `serve ${req.url}`));
|
|
14
|
+
}
|
|
15
|
+
async function serveIndexPage(siteContext, req, res, tracker) {
|
|
16
|
+
const cacheKey = makeCacheKey(siteContext.logger, { kind: "html", url: req.url });
|
|
17
|
+
const serveOr = serveTextFromCacheOr(siteContext, tracker, { cacheKey, req, res });
|
|
18
|
+
if (await serveOr.serveFromCache())
|
|
19
|
+
return;
|
|
20
|
+
const renderingContext = await createRenderingContext(siteContext, { cacheKey, tracker });
|
|
21
|
+
const html = await renderLiquidTemplate(siteContext, renderingContext, {
|
|
22
|
+
templateNames: ["index", "default"],
|
|
23
|
+
payload: makeDetachedPublicPayload(siteContext, renderingContext),
|
|
24
|
+
});
|
|
25
|
+
await serveOr.putInCacheAndServe(html, renderingContext.getDependencyKeys());
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=public-site.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-site.controller.js","sourceRoot":"","sources":["../../../src/modules/public-site/public-site.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4DAA4D,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,8DAA8D,CAAC;AACtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAGxF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAY,EAAE,GAAa;IAC/D,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,MAAM,cAAc,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACrD,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,WAAwB,EACxB,GAAY,EACZ,GAAa,EACb,OAAgB;IAEhB,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnF,IAAI,MAAM,OAAO,CAAC,cAAc,EAAE;QAAE,OAAO;IAE3C,MAAM,gBAAgB,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAE1F,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,EAAE;QACrE,aAAa,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;QACnC,OAAO,EAAE,yBAAyB,CAAC,WAAW,EAAE,gBAAgB,CAAC;KAClE,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { createTracker } from "@paroicms/internal-server-lib";
|
|
2
|
+
import { render404Html, serveTextFromCacheOr } from "../../common/serve-text-or.js";
|
|
3
|
+
import { makeCacheKey } from "../../common/text-cache.js";
|
|
4
|
+
import { trackerReportToMessage } from "../../common/tracker-report.js";
|
|
5
|
+
import { getReqSiteContext, serve301Redirect } from "../../express/http-helpers.js";
|
|
6
|
+
import { parsePublicRoute } from "./public-route/public-route-parser.js";
|
|
7
|
+
import { generateDocumentHtml } from "./serve-document/serve-document.js";
|
|
8
|
+
export async function publicSiteMiddleware(req, res, next) {
|
|
9
|
+
const siteContext = getReqSiteContext(req);
|
|
10
|
+
const parsedRoute = parsePublicRoute(siteContext, req.url);
|
|
11
|
+
if (!parsedRoute) {
|
|
12
|
+
next();
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const tracker = createTracker();
|
|
16
|
+
await serveDocument(siteContext, req, res, parsedRoute, tracker);
|
|
17
|
+
siteContext.logger.stats(trackerReportToMessage(tracker.toReport(), `serve ${req.url}`));
|
|
18
|
+
}
|
|
19
|
+
async function serveDocument(siteContext, req, res, parsedRoute, tracker) {
|
|
20
|
+
const cacheKey = makeCacheKey(siteContext.logger, { kind: "html", url: req.url });
|
|
21
|
+
const serveOr = serveTextFromCacheOr(siteContext, tracker, { cacheKey, req, res });
|
|
22
|
+
if (await serveOr.serveFromCache())
|
|
23
|
+
return;
|
|
24
|
+
const redirectCacheKey = makeCacheKey(siteContext.logger, {
|
|
25
|
+
kind: "redirect",
|
|
26
|
+
urlKey: parsedRoute.urlCacheKey,
|
|
27
|
+
});
|
|
28
|
+
const cacheRedirect = await siteContext.textCache.getCacheValue(redirectCacheKey, tracker);
|
|
29
|
+
if (cacheRedirect && cacheRedirect.value !== req.url) {
|
|
30
|
+
return serve301Redirect(res, cacheRedirect.value);
|
|
31
|
+
}
|
|
32
|
+
const generated = await generateDocumentHtml(siteContext, { req, parsedRoute, cacheKey }, tracker);
|
|
33
|
+
if (generated.status === 301) {
|
|
34
|
+
await siteContext.textCache.setCacheValue({
|
|
35
|
+
cacheKey: redirectCacheKey,
|
|
36
|
+
dependencyKeys: generated.dependencyKeys,
|
|
37
|
+
value: generated.url,
|
|
38
|
+
}, tracker);
|
|
39
|
+
return serve301Redirect(res, generated.url);
|
|
40
|
+
}
|
|
41
|
+
if (generated.status === 404) {
|
|
42
|
+
await render404Html(siteContext, res, { language: parsedRoute.language });
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
await serveOr.putInCacheAndServe(generated.html, generated.dependencyKeys);
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=public-site.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-site.middleware.js","sourceRoot":"","sources":["../../../src/modules/public-site/public-site.middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Tracker } from "@paroicms/internal-server-lib";
|
|
2
|
+
import type { Request } from "express";
|
|
3
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
4
|
+
import { type ParsedPublicRoute } from "../public-route/public-route-parser.js";
|
|
5
|
+
export type GeneratedDocumentHtml = {
|
|
6
|
+
status: 200;
|
|
7
|
+
html: string;
|
|
8
|
+
dependencyKeys: string[];
|
|
9
|
+
} | {
|
|
10
|
+
status: 404;
|
|
11
|
+
} | {
|
|
12
|
+
status: 301;
|
|
13
|
+
url: string;
|
|
14
|
+
dependencyKeys: string[];
|
|
15
|
+
};
|
|
16
|
+
export declare function generateDocumentHtml(siteContext: SiteContext, options: {
|
|
17
|
+
req: Request;
|
|
18
|
+
parsedRoute: ParsedPublicRoute;
|
|
19
|
+
cacheKey: string;
|
|
20
|
+
}, tracker: Tracker): Promise<GeneratedDocumentHtml>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { getDocumentTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
2
|
+
import { makeCacheDependencyKey } from "../../../common/text-cache.js";
|
|
3
|
+
import { renderLiquidTemplate } from "../../../liquidjs-tools/liquidjs-rendering/render-liquidjs.js";
|
|
4
|
+
import { createRenderingContext } from "../../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
5
|
+
import { makeRegularPublicPayload } from "../../../public-payload/make-public-payload.js";
|
|
6
|
+
import { getUrlOfDocument } from "../public-route/make-url.js";
|
|
7
|
+
import { findParentParsedRouteWithDocument, } from "../public-route/public-route-parser.js";
|
|
8
|
+
import { fetchRawDocPayload } from "../public-route/raw-document-payload.js";
|
|
9
|
+
export async function generateDocumentHtml(siteContext, options, tracker) {
|
|
10
|
+
const { req, parsedRoute, cacheKey } = options;
|
|
11
|
+
if (parsedRoute.redirectTo === "parent") {
|
|
12
|
+
const parentRoute = findParentParsedRouteWithDocument(parsedRoute);
|
|
13
|
+
const docValues = parentRoute ? await fetchRawDocPayload(siteContext, parentRoute) : undefined;
|
|
14
|
+
if (docValues && parentRoute) {
|
|
15
|
+
const { url, dependencyKeys } = await getUrlOfDocument(siteContext, tracker, {
|
|
16
|
+
language: parentRoute.language,
|
|
17
|
+
nodeId: docValues.nodeId,
|
|
18
|
+
}, { returnUrlDependencyKeys: true });
|
|
19
|
+
return { status: 301, url, dependencyKeys };
|
|
20
|
+
}
|
|
21
|
+
return { status: 404 };
|
|
22
|
+
}
|
|
23
|
+
const docValues = await fetchRawDocPayload(siteContext, parsedRoute);
|
|
24
|
+
if (!docValues)
|
|
25
|
+
return { status: 404 };
|
|
26
|
+
const { url: docUrl, dependencyKeys: urlDependencyKeys } = await getUrlOfDocument(siteContext, tracker, {
|
|
27
|
+
language: parsedRoute.language,
|
|
28
|
+
nodeId: docValues.nodeId,
|
|
29
|
+
}, { returnUrlDependencyKeys: true });
|
|
30
|
+
const completeDocUrl = `${docUrl}${parsedRoute.urlParameters ?? ""}`;
|
|
31
|
+
if (completeDocUrl !== req.url) {
|
|
32
|
+
return { status: 301, url: completeDocUrl, dependencyKeys: urlDependencyKeys };
|
|
33
|
+
}
|
|
34
|
+
const documentType = getDocumentTypeByName(siteContext.siteSchema, docValues.type);
|
|
35
|
+
const renderingContext = await createRenderingContext(siteContext, {
|
|
36
|
+
cacheKey,
|
|
37
|
+
tracker,
|
|
38
|
+
dependencyKey: makeCacheDependencyKey({ documentId: docValues }),
|
|
39
|
+
});
|
|
40
|
+
const html = await renderLiquidTemplate(siteContext, renderingContext, {
|
|
41
|
+
templateNames: [...documentType.templateNames, "default"],
|
|
42
|
+
payload: makeRegularPublicPayload(siteContext, renderingContext, docValues, docUrl),
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
status: 200,
|
|
46
|
+
html,
|
|
47
|
+
dependencyKeys: renderingContext.getDependencyKeys(),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=serve-document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve-document.js","sourceRoot":"","sources":["../../../../src/modules/public-site/serve-document/serve-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { IsDefined, IsNotEmpty, IsNumberString, IsString } from "class-validator";
|
|
11
|
+
export class PartialsParamsInput {
|
|
12
|
+
templateName;
|
|
13
|
+
documentId;
|
|
14
|
+
offset;
|
|
15
|
+
limit;
|
|
16
|
+
}
|
|
17
|
+
__decorate([
|
|
18
|
+
IsString(),
|
|
19
|
+
IsNotEmpty(),
|
|
20
|
+
IsDefined(),
|
|
21
|
+
__metadata("design:type", String)
|
|
22
|
+
], PartialsParamsInput.prototype, "templateName", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
IsString(),
|
|
25
|
+
IsNotEmpty(),
|
|
26
|
+
IsDefined(),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], PartialsParamsInput.prototype, "documentId", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
IsNumberString(),
|
|
31
|
+
IsNotEmpty(),
|
|
32
|
+
IsDefined(),
|
|
33
|
+
__metadata("design:type", String)
|
|
34
|
+
], PartialsParamsInput.prototype, "offset", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
IsNumberString(),
|
|
37
|
+
IsNotEmpty(),
|
|
38
|
+
IsDefined(),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], PartialsParamsInput.prototype, "limit", void 0);
|
|
41
|
+
//# sourceMappingURL=partials-params.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partials-params.dto.js","sourceRoot":"","sources":["../../../src/public-api/partials/partials-params.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAElF,MAAM,OAAO,mBAAmB;IAI9B,YAAY,CAAU;IAKtB,UAAU,CAAU;IAKpB,MAAM,CAAU;IAKhB,KAAK,CAAU;CAChB;AAhBC;IAHC,QAAQ,EAAE;IACV,UAAU,EAAE;IACZ,SAAS,EAAE;;yDACU;AAKtB;IAHC,QAAQ,EAAE;IACV,UAAU,EAAE;IACZ,SAAS,EAAE;;uDACQ;AAKpB;IAHC,cAAc,EAAE;IAChB,UAAU,EAAE;IACZ,SAAS,EAAE;;mDACI;AAKhB;IAHC,cAAc,EAAE;IAChB,UAAU,EAAE;IACZ,SAAS,EAAE;;kDACG"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CheckPasswordResetPayload, SetAccountPasswordPayload } from "./password-reset.service.js";
|
|
2
|
+
export declare function formatSetAccountPasswordDto(data: unknown): SetAccountPasswordPayload;
|
|
3
|
+
export declare function formatCheckPasswordResetDto(data: unknown): CheckPasswordResetPayload;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { objVal, strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
|
+
import { ApiError } from "../../common/api-error-handler.js";
|
|
3
|
+
export function formatSetAccountPasswordDto(data) {
|
|
4
|
+
const val = objVal(data);
|
|
5
|
+
const accountId = strValOrUndef(val.accountId);
|
|
6
|
+
const password = strValOrUndef(val.password);
|
|
7
|
+
const resetToken = strValOrUndef(val.resetToken);
|
|
8
|
+
if (!accountId || !password || !resetToken) {
|
|
9
|
+
throw new ApiError("Missing required parameters", { status: 400 });
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
accountId,
|
|
13
|
+
password,
|
|
14
|
+
resetToken,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export function formatCheckPasswordResetDto(data) {
|
|
18
|
+
const val = objVal(data);
|
|
19
|
+
const accountId = strValOrUndef(val.accountId);
|
|
20
|
+
const resetToken = strValOrUndef(val.resetToken);
|
|
21
|
+
if (!accountId || !resetToken) {
|
|
22
|
+
throw new ApiError("Missing required parameters", { status: 400 });
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
accountId,
|
|
26
|
+
resetToken,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=password-reset.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"password-reset.dto.js","sourceRoot":"","sources":["../../../src/public-api/password-reset/password-reset.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAM7D,MAAM,UAAU,2BAA2B,CAAC,IAAa;IACvD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzB,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEjD,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,QAAQ,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,OAAO;QACL,SAAS;QACT,QAAQ;QACR,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAAa;IACvD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzB,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEjD,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,IAAI,QAAQ,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,OAAO;QACL,SAAS;QACT,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { IsDefined, IsNotEmpty, IsNumberString, IsString } from "class-validator";
|
|
11
|
+
export class SearchTextOptionsInput {
|
|
12
|
+
language;
|
|
13
|
+
q;
|
|
14
|
+
limit;
|
|
15
|
+
start;
|
|
16
|
+
tpl;
|
|
17
|
+
}
|
|
18
|
+
__decorate([
|
|
19
|
+
IsNotEmpty(),
|
|
20
|
+
IsString(),
|
|
21
|
+
IsDefined(),
|
|
22
|
+
__metadata("design:type", String)
|
|
23
|
+
], SearchTextOptionsInput.prototype, "language", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
IsNotEmpty(),
|
|
26
|
+
IsString(),
|
|
27
|
+
IsDefined(),
|
|
28
|
+
__metadata("design:type", String)
|
|
29
|
+
], SearchTextOptionsInput.prototype, "q", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
IsNumberString(),
|
|
32
|
+
IsDefined(),
|
|
33
|
+
__metadata("design:type", Number)
|
|
34
|
+
], SearchTextOptionsInput.prototype, "limit", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
IsNumberString(),
|
|
37
|
+
IsDefined(),
|
|
38
|
+
__metadata("design:type", Number)
|
|
39
|
+
], SearchTextOptionsInput.prototype, "start", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
IsNotEmpty(),
|
|
42
|
+
IsString(),
|
|
43
|
+
IsDefined(),
|
|
44
|
+
__metadata("design:type", String)
|
|
45
|
+
], SearchTextOptionsInput.prototype, "tpl", void 0);
|
|
46
|
+
//# sourceMappingURL=search-text.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-text.dto.js","sourceRoot":"","sources":["../../../src/public-api/search-text/search-text.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAElF,MAAM,OAAO,sBAAsB;IAIjC,QAAQ,CAAU;IAKlB,CAAC,CAAU;IAIX,KAAK,CAAU;IAIf,KAAK,CAAU;IAKf,GAAG,CAAU;CACd;AAnBC;IAHC,UAAU,EAAE;IACZ,QAAQ,EAAE;IACV,SAAS,EAAE;;wDACM;AAKlB;IAHC,UAAU,EAAE;IACZ,QAAQ,EAAE;IACV,SAAS,EAAE;;iDACD;AAIX;IAFC,cAAc,EAAE;IAChB,SAAS,EAAE;;qDACG;AAIf;IAFC,cAAc,EAAE;IAChB,SAAS,EAAE;;qDACG;AAKf;IAHC,UAAU,EAAE;IACZ,QAAQ,EAAE;IACV,SAAS,EAAE;;mDACC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { nbVal } from "@paroi/data-formatters-lib";
|
|
1
2
|
import { dbAnyLanguage } from "../../context.js";
|
|
2
3
|
import { formatDocValues, querySelectDocValues } from "../../public-payload/doc-values.queries.js";
|
|
3
4
|
export async function searchText(siteContext, options) {
|
|
@@ -27,11 +28,9 @@ export async function searchText(siteContext, options) {
|
|
|
27
28
|
language,
|
|
28
29
|
words,
|
|
29
30
|
onlyPublished,
|
|
30
|
-
})
|
|
31
|
-
.distinct()
|
|
32
|
-
.count("* as count");
|
|
31
|
+
}).countDistinct("l.id as cnt");
|
|
33
32
|
const countResult = await countQuery.first();
|
|
34
|
-
total = countResult ? countResult.
|
|
33
|
+
total = countResult ? nbVal(countResult.cnt) : 0;
|
|
35
34
|
}
|
|
36
35
|
return {
|
|
37
36
|
rows: rows.map((row) => formatDocValues(row, { language })),
|