@paroicms/server 1.84.1 → 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-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 +3 -3
- package/schema.graphql +1 -1
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { escapeHtml } from "@paroicms/public-server-lib";
|
|
2
|
+
import { valuesSymbol } from "../../../liquidjs-tools/liquidjs-drop.js";
|
|
3
|
+
const ignoreDeprecatedKeys = new Set([
|
|
4
|
+
"lang",
|
|
5
|
+
"leafType",
|
|
6
|
+
"leafId",
|
|
7
|
+
"num",
|
|
8
|
+
"flaggedWith",
|
|
9
|
+
"flaggedWithOne",
|
|
10
|
+
"fields",
|
|
11
|
+
"defaultImageUid",
|
|
12
|
+
"featuredImageUid",
|
|
13
|
+
]);
|
|
14
|
+
export async function infoLiquidJsFilter(val) {
|
|
15
|
+
return await valueToInfo(val, 0);
|
|
16
|
+
}
|
|
17
|
+
async function valueToInfo(val, depth, options = {}) {
|
|
18
|
+
if (depth > 100)
|
|
19
|
+
throw new Error("Too deep object");
|
|
20
|
+
const childDepth = depth + 1;
|
|
21
|
+
if (val === null)
|
|
22
|
+
return "null";
|
|
23
|
+
if (val === undefined)
|
|
24
|
+
return "-";
|
|
25
|
+
switch (typeof val) {
|
|
26
|
+
case "string":
|
|
27
|
+
return shortenStringAndEsc(val, { max: 100 });
|
|
28
|
+
case "number":
|
|
29
|
+
return `${val}`;
|
|
30
|
+
case "boolean":
|
|
31
|
+
return `${val}`;
|
|
32
|
+
case "bigint":
|
|
33
|
+
return `${val}n`;
|
|
34
|
+
case "symbol":
|
|
35
|
+
return `${escapeHtml(val.toString())} (symbol)`;
|
|
36
|
+
case "function":
|
|
37
|
+
try {
|
|
38
|
+
const result = await val();
|
|
39
|
+
return valueToInfo(result, childDepth, options);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return "error calling function";
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (Array.isArray(val)) {
|
|
46
|
+
if (val.length === 0)
|
|
47
|
+
return "<i>empty array</i>";
|
|
48
|
+
const result = [];
|
|
49
|
+
let shortenAll = false;
|
|
50
|
+
for (const rawItem of val) {
|
|
51
|
+
const item = await rawItem;
|
|
52
|
+
const onDemand = typeof item === "function" ? getOnDemandTag() : "";
|
|
53
|
+
result.push(`${onDemand}${await valueToInfo(item, childDepth, { isNested: true, shortenAll })}`);
|
|
54
|
+
shortenAll = true;
|
|
55
|
+
}
|
|
56
|
+
return `<table>${result.map((item) => `<tr><td>${item}</td></tr>`).join("")}</table>`;
|
|
57
|
+
}
|
|
58
|
+
const obj = val[valuesSymbol] ?? val;
|
|
59
|
+
if (obj.kind && (options.shortenAll || (options.isNested && isBigPayload(obj)))) {
|
|
60
|
+
return makeExtractFromObject(obj);
|
|
61
|
+
}
|
|
62
|
+
return await makeTableInfo(obj, childDepth, options);
|
|
63
|
+
}
|
|
64
|
+
async function makeTableInfo(obj, childDepth, options) {
|
|
65
|
+
const hasTitle = isBigPayload(obj) || obj.kind === "part" || !options.isNested;
|
|
66
|
+
const items = [];
|
|
67
|
+
for (const name of Object.keys(obj)) {
|
|
68
|
+
if (ignoreDeprecatedKeys.has(name))
|
|
69
|
+
continue;
|
|
70
|
+
const value = obj[name];
|
|
71
|
+
items.push({
|
|
72
|
+
name,
|
|
73
|
+
value: await valueToInfo(value, childDepth, { isNested: true }),
|
|
74
|
+
onDemand: typeof value === "function" ? getOnDemandTag() : "",
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
if (items.length === 0)
|
|
78
|
+
return "<i>empty object</i>";
|
|
79
|
+
const nestedTableCss = ["border: 1px solid #888", "margin: 5px 0"];
|
|
80
|
+
const tableCss = [];
|
|
81
|
+
if (!options.isNested) {
|
|
82
|
+
tableCss.push("background-color: #f8f8f8", "border: 3px dotted #888", "border-top: none", "color: #222");
|
|
83
|
+
}
|
|
84
|
+
else if (!hasTitle) {
|
|
85
|
+
tableCss.push(...nestedTableCss);
|
|
86
|
+
}
|
|
87
|
+
const trCss = ["border-bottom: 1px solid #888"];
|
|
88
|
+
const thCss = [
|
|
89
|
+
"background-color: #eee",
|
|
90
|
+
"padding-left: 10px",
|
|
91
|
+
"text-align: left",
|
|
92
|
+
"width: 170px",
|
|
93
|
+
];
|
|
94
|
+
const tdCss = ["padding: 4px 6px"];
|
|
95
|
+
const tableTitle = hasTitle
|
|
96
|
+
? typeof obj.kind === "string"
|
|
97
|
+
? camelCaseToSpaced(obj.kind)
|
|
98
|
+
: "🗃"
|
|
99
|
+
: undefined;
|
|
100
|
+
const table = `<table style="${tableCss.join("; ")}">
|
|
101
|
+
${items
|
|
102
|
+
.map(({ name, value, onDemand }) => `<tr style="${trCss.join("; ")}"><th style="${thCss.join("; ")}">${escapeHtml(name)}${onDemand}</th><td style="${tdCss.join("; ")}">${value}</td></tr>`)
|
|
103
|
+
.join("")}
|
|
104
|
+
</table>`;
|
|
105
|
+
if (!tableTitle)
|
|
106
|
+
return table;
|
|
107
|
+
const wrapperCss = [
|
|
108
|
+
"display: flex",
|
|
109
|
+
"flex-direction: column",
|
|
110
|
+
"line-height: 1.35",
|
|
111
|
+
"max-width: fit-content",
|
|
112
|
+
];
|
|
113
|
+
if (options.isNested)
|
|
114
|
+
wrapperCss.push(...nestedTableCss);
|
|
115
|
+
else
|
|
116
|
+
wrapperCss.push("margin: 20px auto");
|
|
117
|
+
const headCss = [
|
|
118
|
+
"background-color: #777",
|
|
119
|
+
"border-bottom: 1px solid #888",
|
|
120
|
+
"color: #fff",
|
|
121
|
+
"font-weight: bold",
|
|
122
|
+
"text-align: center",
|
|
123
|
+
"text-transform: uppercase",
|
|
124
|
+
];
|
|
125
|
+
if (options.isNested) {
|
|
126
|
+
headCss.push("font-size: 0.875em");
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
headCss.push("padding: 2px");
|
|
130
|
+
}
|
|
131
|
+
const classAttr = !options.isNested ? ` class="PaInfoFilter"` : "";
|
|
132
|
+
return `<div${classAttr} style="${wrapperCss.join("; ")}">
|
|
133
|
+
<div style="${headCss.join("; ")}">${tableTitle}</div>
|
|
134
|
+
${table}</div>`;
|
|
135
|
+
}
|
|
136
|
+
function makeExtractFromObject(obj) {
|
|
137
|
+
if (!obj.kind) {
|
|
138
|
+
const keys = Object.keys(obj);
|
|
139
|
+
if (keys.length === 0)
|
|
140
|
+
return "-";
|
|
141
|
+
return `<i>object with properties: ${Object.keys(obj).join(", ")}</i>`;
|
|
142
|
+
}
|
|
143
|
+
const title = obj.title && typeof obj.title === "string" ? shortenStringAndEsc(obj.title) : obj.title;
|
|
144
|
+
switch (obj.kind) {
|
|
145
|
+
case "site":
|
|
146
|
+
return `<i>⇒ site ${obj.language}</i>`;
|
|
147
|
+
case "detached":
|
|
148
|
+
return `<i>⇒ detached doc ${obj.id} (${obj.type}), ${title}</i>`;
|
|
149
|
+
case "routingDocument":
|
|
150
|
+
case "regularDocument":
|
|
151
|
+
return `<i>⇒ doc ${obj.id} (${obj.type}), ${title}</i>`;
|
|
152
|
+
case "term":
|
|
153
|
+
return `<i>⇒ term ${obj.id} (${obj.type}), ${title}</i>`;
|
|
154
|
+
case "part":
|
|
155
|
+
return `<i>⇒ part ${obj.id} (${obj.type})</i>`;
|
|
156
|
+
case "image":
|
|
157
|
+
return `<i>⇒ image ${obj.uid} (${obj.mediaType})</i>`;
|
|
158
|
+
default:
|
|
159
|
+
return `<i>/unknown kind '${obj.kind}'/</i>`;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
const bigKinds = new Set(["site", "detached", "routingDocument", "regularDocument", "term"]);
|
|
163
|
+
function isBigPayload(obj) {
|
|
164
|
+
return typeof obj.kind === "string" && bigKinds.has(obj.kind);
|
|
165
|
+
}
|
|
166
|
+
function shortenStringAndEsc(s, { max = 60 } = {}) {
|
|
167
|
+
return escapeHtml(s.length < max ? s : `${s.slice(0, max)}…`);
|
|
168
|
+
}
|
|
169
|
+
function getOnDemandTag() {
|
|
170
|
+
const css = [
|
|
171
|
+
"background: #888",
|
|
172
|
+
"border-radius: 20px",
|
|
173
|
+
"color: #fff",
|
|
174
|
+
"font-size: 10px",
|
|
175
|
+
"padding: 1px 5px",
|
|
176
|
+
"white-space: nowrap",
|
|
177
|
+
];
|
|
178
|
+
return ` <span style="${css.join("; ")}">on demand</span> `;
|
|
179
|
+
}
|
|
180
|
+
function camelCaseToSpaced(s) {
|
|
181
|
+
return s.replace(/([A-Z])/g, " $1").trim();
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=info-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info-filter.js","sourceRoot":"","sources":["../../../../src/modules/public-site/liquidjs-filters/info-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Context } from "liquidjs";
|
|
2
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
3
|
+
export declare function injectMenuItemsData(value: unknown, { ctx, siteContext }: {
|
|
4
|
+
ctx: Context;
|
|
5
|
+
siteContext: SiteContext;
|
|
6
|
+
}): Promise<string>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
|
+
import { encodeNodelId, parseNodelId } from "@paroicms/public-anywhere-lib";
|
|
3
|
+
import { extractRenderingContext } from "../../../liquidjs-tools/liquidjs-utils.js";
|
|
4
|
+
import { getBreadcrumb } from "../../core/nodel/nodel.queries.js";
|
|
5
|
+
export async function injectMenuItemsData(value, { ctx, siteContext }) {
|
|
6
|
+
const str = strValOrUndef(value);
|
|
7
|
+
if (!str)
|
|
8
|
+
return "";
|
|
9
|
+
const renderingContext = extractRenderingContext(ctx);
|
|
10
|
+
const documentId = parseNodelId(str);
|
|
11
|
+
const breadcrumb = await getBreadcrumb(siteContext, renderingContext.tracker, documentId, {
|
|
12
|
+
ensurePublished: true,
|
|
13
|
+
});
|
|
14
|
+
breadcrumb.shift();
|
|
15
|
+
const content = {
|
|
16
|
+
id: encodeNodelId(documentId),
|
|
17
|
+
parents: breadcrumb.map((item) => encodeNodelId(item.documentId)),
|
|
18
|
+
};
|
|
19
|
+
return JSON.stringify(content);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=inject-menu-items-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject-menu-items-data.js","sourceRoot":"","sources":["../../../../src/modules/public-site/liquidjs-filters/inject-menu-items-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEpF,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAc,EACd,EAAE,GAAG,EAAE,WAAW,EAA8C;IAEhE,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE;QACxF,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IAEH,UAAU,CAAC,KAAK,EAAE,CAAC;IACnB,MAAM,OAAO,GAAG;QACd,EAAE,EAAE,aAAa,CAAC,UAAU,CAAC;QAC7B,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAClE,CAAC;IAIF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { nbVal, strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
|
+
import { truncExcerptToWord } from "../../../helpers/excerpt.helpers.js";
|
|
3
|
+
export function makeExcerptLiquidJsFilter(value, { args }) {
|
|
4
|
+
return truncExcerptToWord(strValOrUndef(value) ?? "", nbVal(args[0]));
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=make-excerpt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-excerpt.js","sourceRoot":"","sources":["../../../../src/modules/public-site/liquidjs-filters/make-excerpt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,UAAU,yBAAyB,CAAC,KAAc,EAAE,EAAE,IAAI,EAAuB;IACrF,OAAO,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
2
|
+
export declare function obfuscateLiquidJsFilter(value: unknown, { siteContext, args }: {
|
|
3
|
+
siteContext: SiteContext;
|
|
4
|
+
args: unknown[];
|
|
5
|
+
}): string | undefined;
|
|
6
|
+
export declare function obfuscateAsLinkLiquidJsFilter(value: unknown, { siteContext }: {
|
|
7
|
+
siteContext: SiteContext;
|
|
8
|
+
}): string | undefined;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
|
+
import { generateObfuscatedHtml, obfuscateAsHtmlLink } from "@paroicms/public-server-lib";
|
|
3
|
+
export function obfuscateLiquidJsFilter(value, { siteContext, args }) {
|
|
4
|
+
const str = strValOrUndef(value);
|
|
5
|
+
if (!str)
|
|
6
|
+
return;
|
|
7
|
+
const mode = strValOrUndef(args[0]);
|
|
8
|
+
if (mode === "asLink")
|
|
9
|
+
return obfuscateAsHtmlLink(str);
|
|
10
|
+
if (mode) {
|
|
11
|
+
siteContext.logger.warn(`Unknown mode "${mode}" for "obfuscate" filter.`);
|
|
12
|
+
}
|
|
13
|
+
return generateObfuscatedHtml(str);
|
|
14
|
+
}
|
|
15
|
+
export function obfuscateAsLinkLiquidJsFilter(value, { siteContext }) {
|
|
16
|
+
siteContext.logger.warn(`The "obfuscateAsLink" filter is deprecated. Use {{ something | obfuscate: "asLink" }} instead.`);
|
|
17
|
+
const str = strValOrUndef(value);
|
|
18
|
+
if (str)
|
|
19
|
+
return obfuscateAsHtmlLink(str);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=obfuscate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"obfuscate.js","sourceRoot":"","sources":["../../../../src/modules/public-site/liquidjs-filters/obfuscate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAG1F,MAAM,UAAU,uBAAuB,CACrC,KAAc,EACd,EAAE,WAAW,EAAE,IAAI,EAAiD;IAEpE,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO;IAEjB,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAEvD,IAAI,IAAI,EAAE,CAAC;QACT,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,2BAA2B,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAc,EACd,EAAE,WAAW,EAAgC;IAE7C,WAAW,CAAC,MAAM,CAAC,IAAI,CACrB,gGAAgG,CACjG,CAAC;IACF,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,GAAG;QAAE,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Context } from "liquidjs";
|
|
2
|
+
import type { RenderingContext } from "../../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
3
|
+
import type { OgValues } from "../../../public-payload/public-payload.types.js";
|
|
4
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
5
|
+
export declare function injectOpenGraphTagsLiquidJsFilter(values: unknown, { ctx, siteContext }: {
|
|
6
|
+
ctx: Context;
|
|
7
|
+
siteContext: SiteContext;
|
|
8
|
+
}): "" | Promise<string>;
|
|
9
|
+
export declare function generateOpenGraphTags(siteContext: SiteContext, renderingContext: RenderingContext, { description, title, imageUid, url, type, siteName, locale }: Partial<OgValues>): Promise<string>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { escapeHtml, toAbsoluteUrl } from "@paroicms/public-server-lib";
|
|
2
|
+
import { extractRenderingContext } from "../../../liquidjs-tools/liquidjs-utils.js";
|
|
3
|
+
import { makeImageAvailable } from "../../../public-payload/make-image-available.js";
|
|
4
|
+
export function injectOpenGraphTagsLiquidJsFilter(values, { ctx, siteContext }) {
|
|
5
|
+
if (typeof values !== "object")
|
|
6
|
+
return "";
|
|
7
|
+
const renderingContext = extractRenderingContext(ctx);
|
|
8
|
+
return generateOpenGraphTags(siteContext, renderingContext, values);
|
|
9
|
+
}
|
|
10
|
+
export async function generateOpenGraphTags(siteContext, renderingContext, { description, title, imageUid, url, type, siteName, locale }) {
|
|
11
|
+
let ogImage;
|
|
12
|
+
if (imageUid) {
|
|
13
|
+
ogImage = await makeImageAvailable(siteContext, renderingContext, {
|
|
14
|
+
imageSel: { uid: imageUid },
|
|
15
|
+
size: "1200x630",
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
const tags = [];
|
|
19
|
+
if (url)
|
|
20
|
+
tags.push(`<meta property="og:url" content="${escapeHtml(url)}">`);
|
|
21
|
+
if (locale)
|
|
22
|
+
tags.push(`<meta property="og:locale" content="${escapeHtml(locale)}">`);
|
|
23
|
+
if (siteName)
|
|
24
|
+
tags.push(`<meta property="og:site_name" content="${escapeHtml(siteName)}">`);
|
|
25
|
+
if (title)
|
|
26
|
+
tags.push(`<meta property="og:title" content="${escapeHtml(title)}">`);
|
|
27
|
+
if (type)
|
|
28
|
+
tags.push(`<meta property="og:type" content="${escapeHtml(type)}">`);
|
|
29
|
+
if (ogImage) {
|
|
30
|
+
tags.push(`<meta property="og:image" content="${escapeHtml(toAbsoluteUrl(siteContext, ogImage.url))}">`, `<meta property="og:image:width" content="${ogImage.width}">`, `<meta property="og:image:height" content="${ogImage.height}">`, `<meta property="og:image:type" content="${escapeHtml(ogImage.mediaType)}">`);
|
|
31
|
+
}
|
|
32
|
+
if (description) {
|
|
33
|
+
tags.push(`<meta property="og:description" content="${escapeHtml(description)}">`);
|
|
34
|
+
}
|
|
35
|
+
return tags.length === 0 ? "" : `${tags.join("\n")}\n`;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=open-graph-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-graph-filter.js","sourceRoot":"","sources":["../../../../src/modules/public-site/liquidjs-filters/open-graph-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAIrF,MAAM,UAAU,iCAAiC,CAC/C,MAAe,EACf,EAAE,GAAG,EAAE,WAAW,EAA8C;IAEhE,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC1C,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACtD,OAAO,qBAAqB,CAAC,WAAW,EAAE,gBAAgB,EAAE,MAA2B,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAwB,EACxB,gBAAkC,EAClC,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAqB;IAEhF,IAAI,OAAsF,CAAC;IAE3F,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,gBAAgB,EAAE;YAChE,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;YAC3B,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,GAAG;QAAE,IAAI,CAAC,IAAI,CAAC,oCAAoC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5E,IAAI,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,uCAAuC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrF,IAAI,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,0CAA0C,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5F,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,sCAAsC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClF,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,CAAC,qCAAqC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CACP,sCAAsC,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAC7F,4CAA4C,OAAO,CAAC,KAAK,IAAI,EAC7D,6CAA6C,OAAO,CAAC,MAAM,IAAI,EAC/D,2CAA2C,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAC7E,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,4CAA4C,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Context } from "liquidjs";
|
|
2
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
3
|
+
export declare function pluginAssetUrlLiquidJsFilter(val: unknown, { ctx, siteContext, args }: {
|
|
4
|
+
ctx: Context;
|
|
5
|
+
siteContext: SiteContext;
|
|
6
|
+
args: unknown[];
|
|
7
|
+
}): Promise<string>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
|
+
import { getPluginAssetsUrl } from "@paroicms/connector";
|
|
3
|
+
import { makeTagCacheKeyForRendering } from "../../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
4
|
+
import { extractRenderingContext } from "../../../liquidjs-tools/liquidjs-utils.js";
|
|
5
|
+
export async function pluginAssetUrlLiquidJsFilter(val, { ctx, siteContext, args }) {
|
|
6
|
+
const relativeUrl = strValOrUndef(val) ?? "";
|
|
7
|
+
const pluginSlug = strValOrUndef(args[0]);
|
|
8
|
+
if (!pluginSlug)
|
|
9
|
+
return relativeUrl;
|
|
10
|
+
const cacheKey = makeTagCacheKeyForRendering("pluginAssetUrl", {
|
|
11
|
+
tagParameters: pluginSlug,
|
|
12
|
+
});
|
|
13
|
+
const renderingContext = extractRenderingContext(ctx);
|
|
14
|
+
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
15
|
+
if (cacheVal.found)
|
|
16
|
+
return cacheVal.val;
|
|
17
|
+
const plugin = siteContext.plugins.get(pluginSlug);
|
|
18
|
+
const result = plugin ? `${getPluginAssetsUrl(plugin)}${relativeUrl}` : relativeUrl;
|
|
19
|
+
renderingContext.setValueIntoCache(cacheKey, result);
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=plugin-asset-url-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-asset-url-filter.js","sourceRoot":"","sources":["../../../../src/modules/public-site/liquidjs-filters/plugin-asset-url-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,iEAAiE,CAAC;AAC9G,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAGpF,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,GAAY,EACZ,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAA+D;IAEvF,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU;QAAE,OAAO,WAAW,CAAC;IAEpC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,gBAAgB,EAAE;QAC7D,aAAa,EAAE,UAAU;KAC1B,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC;IAExC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IAEpF,gBAAgB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Context } from "liquidjs";
|
|
2
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
3
|
+
export declare function translateLiquidJsFilter(value: unknown, { ctx, siteContext, args }: {
|
|
4
|
+
ctx: Context;
|
|
5
|
+
siteContext: SiteContext;
|
|
6
|
+
args: unknown[];
|
|
7
|
+
}): string;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
|
+
import { getLiquidJsDocValues } from "../../../liquidjs-tools/liquidjs-utils.js";
|
|
3
|
+
export function translateLiquidJsFilter(value, { ctx, siteContext, args }) {
|
|
4
|
+
const str = strValOrUndef(value);
|
|
5
|
+
if (!str)
|
|
6
|
+
return "";
|
|
7
|
+
const formattedArgs = args.map(formatStringOrNumber);
|
|
8
|
+
const doc = getLiquidJsDocValues(ctx);
|
|
9
|
+
const language = strValOrUndef(doc?.language) ?? siteContext.siteSchema.defaultLanguage;
|
|
10
|
+
return siteContext.themeTranslator.translate({ language, key: str, args: formattedArgs });
|
|
11
|
+
}
|
|
12
|
+
function formatStringOrNumber(value) {
|
|
13
|
+
if (typeof value === "number")
|
|
14
|
+
return value;
|
|
15
|
+
if (typeof value === "string")
|
|
16
|
+
return value;
|
|
17
|
+
throw new Error(`invalid argument type: '${typeof value}'`);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=translate-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translate-filter.js","sourceRoot":"","sources":["../../../../src/modules/public-site/liquidjs-filters/translate-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAGjF,MAAM,UAAU,uBAAuB,CACrC,KAAc,EACd,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAA+D;IAEvF,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC;IACxF,OAAO,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,KAAK,GAAG,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Context, Hash, type Liquid, type TagToken, type TopLevelToken } from "liquidjs";
|
|
2
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
3
|
+
export declare function createGetDocLiquidJsTag(siteContext: SiteContext, { deprecated }?: {
|
|
4
|
+
deprecated?: boolean;
|
|
5
|
+
}): {
|
|
6
|
+
new (token: TagToken, remainTokens: TopLevelToken[], liquid: Liquid): {
|
|
7
|
+
tokenizer: any;
|
|
8
|
+
"__#5@#varName": string;
|
|
9
|
+
"__#5@#args": Hash;
|
|
10
|
+
render(ctx: Context): Generator<unknown, void, any>;
|
|
11
|
+
name: string;
|
|
12
|
+
liquid: Liquid;
|
|
13
|
+
token: TagToken;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { isNumeric, strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
|
+
import { parseNodelId } from "@paroicms/public-anywhere-lib";
|
|
3
|
+
import { Hash, Tag } from "liquidjs";
|
|
4
|
+
import { makeCacheDependencyKey } from "../../../common/text-cache.js";
|
|
5
|
+
import { makeTagCacheKeyForRendering, } from "../../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
6
|
+
import { extractRenderingContext } from "../../../liquidjs-tools/liquidjs-utils.js";
|
|
7
|
+
import { createDocPayloadDrop } from "../../../public-payload/create-doc-drop.js";
|
|
8
|
+
import { getDocItem } from "../../../public-payload/doc-values.queries.js";
|
|
9
|
+
const availableParameterNames = new Set(["id", "fields"]);
|
|
10
|
+
export function createGetDocLiquidJsTag(siteContext, { deprecated } = {}) {
|
|
11
|
+
return class GetDocTag extends Tag {
|
|
12
|
+
#varName;
|
|
13
|
+
#args;
|
|
14
|
+
constructor(token, remainTokens, liquid) {
|
|
15
|
+
super(token, remainTokens, liquid);
|
|
16
|
+
this.#varName = this.tokenizer.readIdentifier().content;
|
|
17
|
+
this.#args = new Hash(token.args);
|
|
18
|
+
}
|
|
19
|
+
*render(ctx) {
|
|
20
|
+
if (deprecated) {
|
|
21
|
+
siteContext.logger.warn("'getPage' is deprecated, use 'getDoc' instead.");
|
|
22
|
+
}
|
|
23
|
+
const options = validateParameters(yield this.#args.render(ctx), this.#varName, siteContext);
|
|
24
|
+
if (options.id === undefined)
|
|
25
|
+
return;
|
|
26
|
+
const cacheKey = makeTagCacheKeyForRendering("getDoc", { tagParameters: options });
|
|
27
|
+
const renderingContext = extractRenderingContext(ctx);
|
|
28
|
+
let documentId;
|
|
29
|
+
if (isNumeric(options.id)) {
|
|
30
|
+
const doc = ctx.getSync(["doc"]);
|
|
31
|
+
const language = strValOrUndef(doc?.language) ?? "en";
|
|
32
|
+
documentId = {
|
|
33
|
+
language,
|
|
34
|
+
nodeId: options.id,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
documentId = parseNodelId(options.id);
|
|
39
|
+
}
|
|
40
|
+
renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId }));
|
|
41
|
+
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
42
|
+
if (cacheVal.found) {
|
|
43
|
+
ctx.bottom()[this.#varName] = cacheVal.val;
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const val = yield loadDoc(siteContext, renderingContext, documentId, options);
|
|
47
|
+
renderingContext.setValueIntoCache(cacheKey, val);
|
|
48
|
+
ctx.bottom()[this.#varName] = val;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function validateParameters(values, varName, { logger }) {
|
|
53
|
+
for (const name of Object.keys(values)) {
|
|
54
|
+
if (!availableParameterNames.has(name) && name !== varName) {
|
|
55
|
+
logger.warn(`[getDoc] unknown parameter "${name}"`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
id: strValOrUndef(values.id, { varName: "id" }),
|
|
60
|
+
fields: strValOrUndef(values.fields, { varName: "fields" }),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
async function loadDoc(siteContext, renderingContext, documentId, options) {
|
|
64
|
+
const fieldNames = options.fields?.trim().split(/\s*,\s*/);
|
|
65
|
+
const docValues = await getDocItem(siteContext, renderingContext.tracker, documentId);
|
|
66
|
+
return createDocPayloadDrop(siteContext, renderingContext, docValues, {
|
|
67
|
+
fieldNames: fieldNames && fieldNames.length > 0 ? fieldNames : undefined,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=get-doc-tag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-doc-tag.js","sourceRoot":"","sources":["../../../../src/modules/public-site/liquidjs-tags/get-doc-tag.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type Context, Hash, type Liquid, type TagToken, type TopLevelToken } from "liquidjs";
|
|
2
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
3
|
+
export declare function createGetDocsLiquidJsTag(siteContext: SiteContext, { deprecated }?: {
|
|
4
|
+
deprecated?: boolean;
|
|
5
|
+
}): {
|
|
6
|
+
new (token: TagToken, remainTokens: TopLevelToken[], liquid: Liquid): {
|
|
7
|
+
tokenizer: any;
|
|
8
|
+
"__#7@#varName": string;
|
|
9
|
+
"__#7@#args": Hash;
|
|
10
|
+
render(ctx: Context): Generator<unknown, void, any>;
|
|
11
|
+
name: string;
|
|
12
|
+
liquid: Liquid;
|
|
13
|
+
token: TagToken;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { boolValOrUndef, isDef, nbValOrUndef, strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
|
+
import { parseSorting } from "@paroicms/connector";
|
|
3
|
+
import { parseNodelId } from "@paroicms/public-anywhere-lib";
|
|
4
|
+
import { Hash, Tag } from "liquidjs";
|
|
5
|
+
import { makeCacheDependencyKey } from "../../../common/text-cache.js";
|
|
6
|
+
import { toNodeId } from "../../../helpers/utils-helper.js";
|
|
7
|
+
import { makeTagCacheKeyForRendering, } from "../../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
8
|
+
import { extractRenderingContext } from "../../../liquidjs-tools/liquidjs-utils.js";
|
|
9
|
+
import { createDocPayloadDrop } from "../../../public-payload/create-doc-drop.js";
|
|
10
|
+
import { getListOfDocValues, } from "../../../public-payload/doc-values.queries.js";
|
|
11
|
+
import { loadPaginatedDocs } from "./get-paginated-docs-tag.js";
|
|
12
|
+
const availableParameterNames = new Set([
|
|
13
|
+
"parentId",
|
|
14
|
+
"orderBy",
|
|
15
|
+
"limit",
|
|
16
|
+
"fields",
|
|
17
|
+
"labeledById",
|
|
18
|
+
"withTotal",
|
|
19
|
+
]);
|
|
20
|
+
export function createGetDocsLiquidJsTag(siteContext, { deprecated } = {}) {
|
|
21
|
+
return class GetDocsTag extends Tag {
|
|
22
|
+
#varName;
|
|
23
|
+
#args;
|
|
24
|
+
constructor(token, remainTokens, liquid) {
|
|
25
|
+
super(token, remainTokens, liquid);
|
|
26
|
+
this.#varName = this.tokenizer.readIdentifier().content;
|
|
27
|
+
this.#args = new Hash(token.args);
|
|
28
|
+
}
|
|
29
|
+
*render(ctx) {
|
|
30
|
+
if (deprecated) {
|
|
31
|
+
siteContext.logger.warn("'getPages' is deprecated, use 'getDocs' instead.");
|
|
32
|
+
}
|
|
33
|
+
const options = validateParameters(yield this.#args.render(ctx), this.#varName, siteContext);
|
|
34
|
+
if (options.parentId === undefined)
|
|
35
|
+
return;
|
|
36
|
+
const parentId = parseNodelId(options.parentId);
|
|
37
|
+
const cacheKey = makeTagCacheKeyForRendering("getDocs", { tagParameters: options });
|
|
38
|
+
const renderingContext = extractRenderingContext(ctx);
|
|
39
|
+
renderingContext.addDependencyKey(makeCacheDependencyKey({ documentId: parentId, relation: "children" }));
|
|
40
|
+
const cacheVal = renderingContext.getValueFromCache(cacheKey);
|
|
41
|
+
if (cacheVal.found) {
|
|
42
|
+
ctx.bottom()[this.#varName] = cacheVal.val;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
let val;
|
|
46
|
+
if (options.withTotal !== undefined) {
|
|
47
|
+
siteContext.logger.warn(`The 'withTotal' parameter is deprecated. Use the 'getPaginatedDocs' tag instead.`);
|
|
48
|
+
const paginated = yield loadPaginatedDocs(siteContext, renderingContext, parentId, {
|
|
49
|
+
parentId: options.parentId,
|
|
50
|
+
orderBy: options.orderBy,
|
|
51
|
+
fields: options.fields,
|
|
52
|
+
labeledById: options.labeledById,
|
|
53
|
+
pageSize: options.limit ?? 20,
|
|
54
|
+
pageIndex: 0,
|
|
55
|
+
});
|
|
56
|
+
val = {
|
|
57
|
+
list: paginated.items,
|
|
58
|
+
total: paginated.total,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
const list = yield loadDocs(siteContext, renderingContext, parentId, options);
|
|
63
|
+
val = [...list];
|
|
64
|
+
Object.defineProperty(val, "list", {
|
|
65
|
+
get: () => {
|
|
66
|
+
siteContext.logger.warn(`On 'getDocs' tag, the 'list' property is deprecated, use the result as a list directly.`);
|
|
67
|
+
return list;
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
if (val.length === 0) {
|
|
72
|
+
val = undefined;
|
|
73
|
+
}
|
|
74
|
+
renderingContext.setValueIntoCache(cacheKey, val);
|
|
75
|
+
ctx.bottom()[this.#varName] = val;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function validateParameters(values, varName, { logger }) {
|
|
80
|
+
for (const name of Object.keys(values)) {
|
|
81
|
+
if (!availableParameterNames.has(name) && name !== varName) {
|
|
82
|
+
logger.warn(`[getDocs] unknown parameter "${name}"`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
parentId: strValOrUndef(values.parentId, { varName: "parentId" }),
|
|
87
|
+
orderBy: strValOrUndef(values.orderBy, { varName: "orderBy" }),
|
|
88
|
+
fields: strValOrUndef(values.fields, { varName: "fields" }),
|
|
89
|
+
labeledById: strValOrUndef(values.labeledById, { varName: "labeledById" }),
|
|
90
|
+
limit: nbValOrUndef(values.limit, { varName: "limit" }),
|
|
91
|
+
withTotal: boolValOrUndef(values.withTotal, { varName: "withTotal" }),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
async function loadDocs(siteContext, renderingContext, parentId, options) {
|
|
95
|
+
const fieldNames = options.fields?.trim().split(/\s*,\s*/);
|
|
96
|
+
const labeledByTermId = isDef(options.labeledById) ? toNodeId(options.labeledById) : undefined;
|
|
97
|
+
const items = await getListOfDocValues(siteContext, renderingContext.tracker, {
|
|
98
|
+
parentId,
|
|
99
|
+
documentKind: "regular",
|
|
100
|
+
orderBy: options.orderBy ? parseSorting(options.orderBy) : undefined,
|
|
101
|
+
labeledByTermId: labeledByTermId,
|
|
102
|
+
limit: options.limit,
|
|
103
|
+
});
|
|
104
|
+
return items.map((item) => createDocPayloadDrop(siteContext, renderingContext, item, {
|
|
105
|
+
fieldNames: fieldNames && fieldNames.length > 0 ? fieldNames : undefined,
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=get-docs-tag.js.map
|