@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,5 @@
|
|
|
1
|
+
import type { Request } from "express";
|
|
2
|
+
export declare function setAccountPasswordController(req: Request): Promise<void>;
|
|
3
|
+
export declare function checkPasswordResetController(req: Request): Promise<import("./password-reset.service.js").PasswordResetInfo | {
|
|
4
|
+
authorized: false;
|
|
5
|
+
}>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { getReqSiteContext } from "../../../express/http-helpers.js";
|
|
2
|
+
import { formatCheckPasswordResetDto, formatSetAccountPasswordDto } from "./password-reset.dto.js";
|
|
3
|
+
import { checkAccountPasswordReset, updateAccountPassword } from "./password-reset.service.js";
|
|
4
|
+
export async function setAccountPasswordController(req) {
|
|
5
|
+
const siteContext = getReqSiteContext(req);
|
|
6
|
+
const { accountId, password, resetToken } = formatSetAccountPasswordDto(req.body);
|
|
7
|
+
const payload = {
|
|
8
|
+
accountId,
|
|
9
|
+
password,
|
|
10
|
+
resetToken,
|
|
11
|
+
};
|
|
12
|
+
await updateAccountPassword(siteContext, payload);
|
|
13
|
+
}
|
|
14
|
+
export async function checkPasswordResetController(req) {
|
|
15
|
+
const siteContext = getReqSiteContext(req);
|
|
16
|
+
const { accountId, resetToken } = formatCheckPasswordResetDto(req.body);
|
|
17
|
+
return await checkAccountPasswordReset(siteContext, {
|
|
18
|
+
accountId,
|
|
19
|
+
resetToken,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=password-reset.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"password-reset.controller.js","sourceRoot":"","sources":["../../../../src/modules/public-api/password-reset/password-reset.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAE/F,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,GAAY;IAC7D,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAElF,MAAM,OAAO,GAAG;QACd,SAAS;QACT,QAAQ;QACR,UAAU;KACX,CAAC;IAEF,MAAM,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,GAAY;IAC7D,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAExE,OAAO,MAAM,yBAAyB,CAAC,WAAW,EAAE;QAClD,SAAS;QACT,UAAU;KACX,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -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/modules/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,sCAAsC,CAAC;AAMhE,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,19 @@
|
|
|
1
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
2
|
+
export interface PasswordResetInfo {
|
|
3
|
+
authorized: true;
|
|
4
|
+
name?: string;
|
|
5
|
+
email: string;
|
|
6
|
+
}
|
|
7
|
+
export interface SetAccountPasswordPayload {
|
|
8
|
+
accountId: string;
|
|
9
|
+
password: string;
|
|
10
|
+
resetToken: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CheckPasswordResetPayload {
|
|
13
|
+
accountId: string;
|
|
14
|
+
resetToken: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function updateAccountPassword(siteContext: SiteContext, payload: SetAccountPasswordPayload): Promise<void>;
|
|
17
|
+
export declare function checkAccountPasswordReset(siteContext: SiteContext, payload: CheckPasswordResetPayload): Promise<PasswordResetInfo | {
|
|
18
|
+
authorized: false;
|
|
19
|
+
}>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { strVal, strValOrUndef } from "@paroi/data-formatters-lib";
|
|
2
|
+
import { ApiError } from "../../../common/api-error-handler.js";
|
|
3
|
+
import { hashPassword } from "../../../helpers/passwordEncrypt-helper.js";
|
|
4
|
+
export async function updateAccountPassword(siteContext, payload) {
|
|
5
|
+
const account = await getAccount(siteContext, payload.accountId);
|
|
6
|
+
if (account.passwordResetToken !== payload.resetToken) {
|
|
7
|
+
throw new ApiError("Invalid reset token", { status: 400 });
|
|
8
|
+
}
|
|
9
|
+
const passwordHash = await hashPassword(payload.password);
|
|
10
|
+
await siteContext
|
|
11
|
+
.cn("PaAccount")
|
|
12
|
+
.update({
|
|
13
|
+
passwordHash,
|
|
14
|
+
passwordResetToken: null,
|
|
15
|
+
})
|
|
16
|
+
.where("id", account.id);
|
|
17
|
+
}
|
|
18
|
+
export async function checkAccountPasswordReset(siteContext, payload) {
|
|
19
|
+
const account = await getAccount(siteContext, payload.accountId);
|
|
20
|
+
if (account.passwordResetToken !== payload.resetToken) {
|
|
21
|
+
return {
|
|
22
|
+
authorized: false,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
authorized: true,
|
|
27
|
+
email: account.email,
|
|
28
|
+
name: account.name,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
async function getAccount(siteContext, id) {
|
|
32
|
+
const found = await siteContext
|
|
33
|
+
.cn("PaAccount as a")
|
|
34
|
+
.select([
|
|
35
|
+
"a.id as id",
|
|
36
|
+
"a.email as email",
|
|
37
|
+
"a.name as name",
|
|
38
|
+
"a.preferences as preferences",
|
|
39
|
+
"a.passwordHash as passwordHash",
|
|
40
|
+
"a.passwordResetToken as passwordResetToken",
|
|
41
|
+
])
|
|
42
|
+
.where("a.id", id)
|
|
43
|
+
.first();
|
|
44
|
+
if (!found) {
|
|
45
|
+
throw new ApiError(`Not found account with id:'${id}'`, { status: 400 });
|
|
46
|
+
}
|
|
47
|
+
const account = {
|
|
48
|
+
id: strVal(found.id),
|
|
49
|
+
email: strVal(found.email),
|
|
50
|
+
name: strValOrUndef(found.name),
|
|
51
|
+
preferences: strValOrUndef(found.preferences),
|
|
52
|
+
passwordHash: strValOrUndef(found.passwordHash),
|
|
53
|
+
passwordResetToken: strValOrUndef(found.passwordResetToken),
|
|
54
|
+
};
|
|
55
|
+
return account;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=password-reset.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"password-reset.service.js","sourceRoot":"","sources":["../../../../src/modules/public-api/password-reset/password-reset.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAoB1E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAwB,EACxB,OAAkC;IAElC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAEjE,IAAI,OAAO,CAAC,kBAAkB,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;QACtD,MAAM,IAAI,QAAQ,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE1D,MAAM,WAAW;SACd,EAAE,CAAC,WAAW,CAAC;SACf,MAAM,CAAC;QACN,YAAY;QACZ,kBAAkB,EAAE,IAAI;KACzB,CAAC;SACD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,WAAwB,EACxB,OAAkC;IAOlC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAEjE,IAAI,OAAO,CAAC,kBAAkB,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC;QACtD,OAAO;YACL,UAAU,EAAE,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,WAAwB,EAAE,EAAU;IAC5D,MAAM,KAAK,GAAG,MAAM,WAAW;SAC5B,EAAE,CAAC,gBAAgB,CAAC;SACpB,MAAM,CAAC;QACN,YAAY;QACZ,kBAAkB;QAClB,gBAAgB;QAChB,8BAA8B;QAC9B,gCAAgC;QAChC,4CAA4C;KAC7C,CAAC;SACD,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;SACjB,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,OAAO,GAAe;QAC1B,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;QAC7C,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;QAC/C,kBAAkB,EAAE,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC;KAC5D,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-api-controller.js","sourceRoot":"","sources":["../../../src/modules/public-api/public-api-controller.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAa,EAAE,IAAc;IACvE,OAAO;QACL,MAAM,EAAE,OAAO;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ParsedNodelId } from "@paroicms/public-anywhere-lib";
|
|
2
|
+
import type { Request, Response } from "express";
|
|
3
|
+
import type { SiteContext } from "../../site-context/site-context.types.js";
|
|
4
|
+
import type { PartialsParamsInput } from "./partials/partials-params.dto.js";
|
|
5
|
+
export declare function renderChildPartials(siteContext: SiteContext, options: {
|
|
6
|
+
req: Request;
|
|
7
|
+
res: Response;
|
|
8
|
+
params: PartialsParamsInput;
|
|
9
|
+
parentDocumentId: ParsedNodelId;
|
|
10
|
+
labeledByTermId?: string;
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
export declare function renderSearchPartials(siteContext: SiteContext, options: {
|
|
13
|
+
req: Request;
|
|
14
|
+
res: Response;
|
|
15
|
+
language: string;
|
|
16
|
+
words: string[];
|
|
17
|
+
limit: number;
|
|
18
|
+
start: number;
|
|
19
|
+
templateName: string;
|
|
20
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { nbVal } from "@paroi/data-formatters-lib";
|
|
2
|
+
import { createTracker } from "@paroicms/internal-server-lib";
|
|
3
|
+
import { serveTextFromCacheOr } from "../../common/serve-text-or.js";
|
|
4
|
+
import { makeCacheDependencyKey, makeCacheKey } from "../../common/text-cache.js";
|
|
5
|
+
import { trackerReportToMessage } from "../../common/tracker-report.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 { createDocPayloadDrop } from "../../public-payload/create-doc-drop.js";
|
|
9
|
+
import { getListOfDocValues } from "../../public-payload/doc-values.queries.js";
|
|
10
|
+
import { makeSitePayload } from "../../public-payload/site-payload.js";
|
|
11
|
+
import { searchText } from "./search-text/search-text.queries.js";
|
|
12
|
+
export async function renderChildPartials(siteContext, options) {
|
|
13
|
+
const { req, res, params, parentDocumentId, labeledByTermId } = options;
|
|
14
|
+
const cacheKey = makeCacheKey(siteContext.logger, { kind: "api", url: req.url });
|
|
15
|
+
const tracker = createTracker();
|
|
16
|
+
const serveOr = serveTextFromCacheOr(siteContext, tracker, {
|
|
17
|
+
cacheKey,
|
|
18
|
+
req,
|
|
19
|
+
res,
|
|
20
|
+
contentType: "text/plain; charset=utf-8",
|
|
21
|
+
});
|
|
22
|
+
if (!(await serveOr.serveFromCache())) {
|
|
23
|
+
const { html, dependencyKeys } = await renderChildDocuments(siteContext, tracker, {
|
|
24
|
+
parentId: parentDocumentId,
|
|
25
|
+
limit: nbVal(params.limit),
|
|
26
|
+
offset: nbVal(params.offset),
|
|
27
|
+
templateName: params.templateName,
|
|
28
|
+
cacheKey,
|
|
29
|
+
labeledByTermId: labeledByTermId,
|
|
30
|
+
});
|
|
31
|
+
await serveOr.putInCacheAndServe(html, dependencyKeys);
|
|
32
|
+
}
|
|
33
|
+
siteContext.logger.stats(trackerReportToMessage(tracker.toReport(), `serve ${req.url}`));
|
|
34
|
+
}
|
|
35
|
+
export async function renderSearchPartials(siteContext, options) {
|
|
36
|
+
const { req, res, language, words, limit, start, templateName } = options;
|
|
37
|
+
const cacheKey = makeCacheKey(siteContext.logger, { kind: "api", url: req.url });
|
|
38
|
+
const tracker = createTracker();
|
|
39
|
+
const serveOr = serveTextFromCacheOr(siteContext, tracker, {
|
|
40
|
+
cacheKey,
|
|
41
|
+
req,
|
|
42
|
+
res,
|
|
43
|
+
contentType: "application/json",
|
|
44
|
+
});
|
|
45
|
+
if (!(await serveOr.serveFromCache())) {
|
|
46
|
+
const { result, dependencyKeys } = await searchAndRender(siteContext, tracker, {
|
|
47
|
+
language,
|
|
48
|
+
words,
|
|
49
|
+
limit: nbVal(limit),
|
|
50
|
+
start: nbVal(start),
|
|
51
|
+
templateName,
|
|
52
|
+
cacheKey,
|
|
53
|
+
});
|
|
54
|
+
const content = JSON.stringify(result);
|
|
55
|
+
await serveOr.putInCacheAndServe(content, dependencyKeys);
|
|
56
|
+
}
|
|
57
|
+
siteContext.logger.stats(trackerReportToMessage(tracker.toReport(), `serve ${req.url}`));
|
|
58
|
+
}
|
|
59
|
+
async function renderChildDocuments(siteContext, tracker, options) {
|
|
60
|
+
const { parentId: parentDocumentId, templateName } = options;
|
|
61
|
+
const docs = await getListOfDocValues(siteContext, tracker, {
|
|
62
|
+
...options,
|
|
63
|
+
documentKind: "regular",
|
|
64
|
+
});
|
|
65
|
+
const renderingContext = await createRenderingContext(siteContext, {
|
|
66
|
+
tracker,
|
|
67
|
+
cacheKey: options.cacheKey,
|
|
68
|
+
dependencyKey: makeCacheDependencyKey({ documentId: parentDocumentId, relation: "children" }),
|
|
69
|
+
});
|
|
70
|
+
const result = [];
|
|
71
|
+
for (const row of docs) {
|
|
72
|
+
const payload = {
|
|
73
|
+
site: makeSitePayload(siteContext, renderingContext, parentDocumentId.language),
|
|
74
|
+
doc: createDocPayloadDrop(siteContext, renderingContext, row),
|
|
75
|
+
};
|
|
76
|
+
const html = await renderLiquidTemplate(siteContext, renderingContext, {
|
|
77
|
+
payload,
|
|
78
|
+
templateNames: [`partials/${templateName}.public.liquid`],
|
|
79
|
+
});
|
|
80
|
+
result.push(html);
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
html: result.join(""),
|
|
84
|
+
dependencyKeys: renderingContext.getDependencyKeys(),
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
async function searchAndRender(siteContext, tracker, options) {
|
|
88
|
+
const { language, templateName } = options;
|
|
89
|
+
const { rows, total } = await searchText(siteContext, { ...options, onlyPublished: true });
|
|
90
|
+
const renderingContext = await createRenderingContext(siteContext, {
|
|
91
|
+
cacheKey: options.cacheKey,
|
|
92
|
+
tracker,
|
|
93
|
+
});
|
|
94
|
+
const htmlList = [];
|
|
95
|
+
for (const row of rows) {
|
|
96
|
+
const payload = {
|
|
97
|
+
site: makeSitePayload(siteContext, renderingContext, language),
|
|
98
|
+
doc: createDocPayloadDrop(siteContext, renderingContext, row),
|
|
99
|
+
};
|
|
100
|
+
const tName = templateName.endsWith(".public") ? templateName : `${templateName}.public`;
|
|
101
|
+
const html = await renderLiquidTemplate(siteContext, renderingContext, {
|
|
102
|
+
payload,
|
|
103
|
+
templateNames: [`partials/${tName}.liquid`],
|
|
104
|
+
});
|
|
105
|
+
htmlList.push(html);
|
|
106
|
+
}
|
|
107
|
+
return {
|
|
108
|
+
result: {
|
|
109
|
+
html: htmlList.join(""),
|
|
110
|
+
total,
|
|
111
|
+
},
|
|
112
|
+
dependencyKeys: renderingContext.getDependencyKeys(),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=public-api-rendering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-api-rendering.js","sourceRoot":"","sources":["../../../src/modules/public-api/public-api-rendering.ts"],"names":[],"mappings":"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"}
|
|
@@ -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/modules/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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
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 { OrderByItem } from "../../core/nodel/nodel.queries.js";
|
|
4
|
+
export interface SearchTextOptions {
|
|
5
|
+
language: string;
|
|
6
|
+
words: string[];
|
|
7
|
+
limit: number;
|
|
8
|
+
start: number;
|
|
9
|
+
onlyPublished?: boolean;
|
|
10
|
+
orderBy?: OrderByItem[];
|
|
11
|
+
}
|
|
12
|
+
export declare function searchText(siteContext: SiteContext, options: SearchTextOptions): Promise<{
|
|
13
|
+
rows: DocValues[];
|
|
14
|
+
total: number;
|
|
15
|
+
}>;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { dbAnyLanguage } from "../../../context.js";
|
|
2
|
+
import { formatDocValues, querySelectDocValues, } from "../../../public-payload/doc-values.queries.js";
|
|
3
|
+
export async function searchText(siteContext, options) {
|
|
4
|
+
const { words, language, start, limit, onlyPublished, orderBy = [{ fieldName: "publishDate", direction: "desc" }], } = options;
|
|
5
|
+
const query = createBaseSearchTextQueryBuilder(siteContext, { language, words, onlyPublished })
|
|
6
|
+
.distinct()
|
|
7
|
+
.limit(limit)
|
|
8
|
+
.offset(start);
|
|
9
|
+
querySelectDocValues(query);
|
|
10
|
+
if (orderBy && orderBy.length > 0) {
|
|
11
|
+
for (const i of orderBy) {
|
|
12
|
+
if (i.fieldName === "title") {
|
|
13
|
+
query.orderBy("d.title", i.direction);
|
|
14
|
+
}
|
|
15
|
+
else if (i.fieldName === "publishDate") {
|
|
16
|
+
query.orderBy("l.publishDate", i.direction);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
const rows = await query;
|
|
21
|
+
let total;
|
|
22
|
+
if (rows.length < limit) {
|
|
23
|
+
total = start + rows.length;
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
const countQuery = createBaseSearchTextQueryBuilder(siteContext, {
|
|
27
|
+
language,
|
|
28
|
+
words,
|
|
29
|
+
onlyPublished,
|
|
30
|
+
})
|
|
31
|
+
.distinct()
|
|
32
|
+
.count("* as count");
|
|
33
|
+
const countResult = await countQuery.first();
|
|
34
|
+
total = countResult ? countResult.count : 0;
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
rows: rows.map((row) => formatDocValues(row, { language })),
|
|
38
|
+
total,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function createBaseSearchTextQueryBuilder(siteContext, { language, words, onlyPublished, }) {
|
|
42
|
+
const { cn } = siteContext;
|
|
43
|
+
const query = cn("PaDocument as d")
|
|
44
|
+
.innerJoin("PaNodel as s", {
|
|
45
|
+
"s.nodeId": "d.nodeId",
|
|
46
|
+
"s.language": "d.language",
|
|
47
|
+
})
|
|
48
|
+
.innerJoin("PaNode as l", "s.nodeId", "l.id")
|
|
49
|
+
.leftJoin("PaFieldVarchar as fv", function () {
|
|
50
|
+
this.on("fv.nodeId", "=", "s.nodeId").andOn(function () {
|
|
51
|
+
this.on("fv.language", "=", "s.language").orOn("fv.language", "=", cn.raw("?", [dbAnyLanguage]));
|
|
52
|
+
});
|
|
53
|
+
})
|
|
54
|
+
.leftJoin("PaFieldText as ft", function () {
|
|
55
|
+
this.on("ft.nodeId", "=", "d.nodeId").andOn(function () {
|
|
56
|
+
this.on("ft.language", "=", "d.language").orOn("ft.language", "=", cn.raw("?", [dbAnyLanguage]));
|
|
57
|
+
});
|
|
58
|
+
})
|
|
59
|
+
.where("s.language", language);
|
|
60
|
+
if (onlyPublished) {
|
|
61
|
+
query.where("s.ready", 1).whereRaw("l.publishDate <= current_timestamp");
|
|
62
|
+
}
|
|
63
|
+
for (let index = 0; index < words.length; index++) {
|
|
64
|
+
const wordPattern = `%${words[index]}%`;
|
|
65
|
+
query.andWhere(function () {
|
|
66
|
+
this.where("d.title", "like", wordPattern)
|
|
67
|
+
.orWhere("ft.val", "like", wordPattern)
|
|
68
|
+
.orWhere("fv.val", "like", wordPattern)
|
|
69
|
+
.orWhereRaw(`exists (
|
|
70
|
+
select 1
|
|
71
|
+
from PaNode l2
|
|
72
|
+
inner join PaPartNode p2 on p2.nodeId = l2.id
|
|
73
|
+
inner join PaNodel s2 on s2.nodeId = l2.id and s2.language = ?
|
|
74
|
+
left join PaFieldVarchar fv2 on fv2.nodeId = s2.nodeId and (fv2.language = s2.language or fv2.language = ?)
|
|
75
|
+
left join PaFieldText ft2 on ft2.nodeId = s2.nodeId and (ft2.language = s2.language or ft2.language = ?)
|
|
76
|
+
where p2.documentNodeId = l.id ${onlyPublished ? "and s2.ready = 1 and l2.publishDate <= current_timestamp" : ""} and (fv2.val like ? or ft2.val like ?)
|
|
77
|
+
)`, [language, dbAnyLanguage, dbAnyLanguage, wordPattern, wordPattern]);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return query;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=search-text.queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-text.queries.js","sourceRoot":"","sources":["../../../../src/modules/public-api/search-text/search-text.queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type Obj } from "@paroi/data-formatters-lib";
|
|
2
|
+
import { type RenderingContext } from "../../../liquidjs-tools/liquidjs-rendering/rendering-context.js";
|
|
3
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
4
|
+
export interface FeedGeneratorOptions {
|
|
5
|
+
language: string;
|
|
6
|
+
feedUrl: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function generateRssFeed(siteContext: SiteContext, renderingContext: RenderingContext, { language, feedUrl }: FeedGeneratorOptions): Promise<string>;
|
|
9
|
+
export declare function getSiteTitle(siteContext: SiteContext, language: string): Promise<string>;
|
|
10
|
+
interface FeedItemValues {
|
|
11
|
+
relativeId: string;
|
|
12
|
+
slug?: string;
|
|
13
|
+
language: string;
|
|
14
|
+
title?: string;
|
|
15
|
+
publishDate: Date;
|
|
16
|
+
nodeId: string;
|
|
17
|
+
typeName: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function formatFeedItemValues(row: Obj): FeedItemValues;
|
|
20
|
+
export {};
|