@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 @@
|
|
|
1
|
+
{"version":3,"file":"part-node.queries.js","sourceRoot":"","sources":["../../../../src/modules/core/part/part-node.queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAA2B,EAC3B,EACE,MAAM,EACN,QAAQ,EACR,cAAc,EACd,SAAS,EACT,YAAY,GAOb;IAED,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAEpE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;YAC/B,MAAM;YACN,QAAQ,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,EAA2B,EAC3B,MAAc;IAEd,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC;SAChC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;SAChD,SAAS,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;SAChD,SAAS,CAAC,oBAAoB,EAAE,UAAU,EAAE,MAAM,CAAC;SACnD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;SACrB,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,QAAQ,CAAC,cAAc,MAAM,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAEjF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,EAAE,CAAC,eAAe,CAAC;SACtB,QAAQ,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;SACpC,WAAW,CAAC;QACX,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;aACX,IAAI,CAAC,aAAa,CAAC;aACnB,SAAS,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;aAChD,QAAQ,CAAC,6BAA6B,CAAC;aACvC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;aAChC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC,CAAC;SACD,MAAM,CAAC;QACN,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC;KACjC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type ParsedNodelId } from "@paroicms/public-anywhere-lib";
|
|
2
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
3
|
+
export interface PartSeed {
|
|
4
|
+
partId: string;
|
|
5
|
+
typeName: string;
|
|
6
|
+
nodeId: string;
|
|
7
|
+
listName: string;
|
|
8
|
+
parentNodeId: string;
|
|
9
|
+
documentId: string;
|
|
10
|
+
orderNum?: number;
|
|
11
|
+
publishDate?: Date;
|
|
12
|
+
language: string;
|
|
13
|
+
ready: boolean;
|
|
14
|
+
scheduled: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface PartPlaceholderSeed {
|
|
17
|
+
typeName: string;
|
|
18
|
+
nodeId: string;
|
|
19
|
+
listName: string;
|
|
20
|
+
parentNodeId: string;
|
|
21
|
+
documentId: string;
|
|
22
|
+
orderNum?: number;
|
|
23
|
+
publishDate?: Date;
|
|
24
|
+
}
|
|
25
|
+
export declare function createPartOnNode(siteContext: SiteContext, newId: ParsedNodelId): Promise<ParsedNodelId>;
|
|
26
|
+
export declare function createNodeWithPart(siteContext: SiteContext, { parentNodelId, listName, typeName, }: {
|
|
27
|
+
parentNodelId: ParsedNodelId;
|
|
28
|
+
listName: string;
|
|
29
|
+
typeName: string;
|
|
30
|
+
}): Promise<ParsedNodelId>;
|
|
31
|
+
export declare function loadPartSeed(siteContext: Pick<SiteContext, "cn">, nodelId: ParsedNodelId): Promise<PartSeed>;
|
|
32
|
+
export declare function deletePart(siteContext: SiteContext, nodelId: ParsedNodelId): Promise<void>;
|
|
33
|
+
export declare function readPartSeedsOf({ cn }: SiteContext, { documentNodeId, language, }: {
|
|
34
|
+
documentNodeId: string;
|
|
35
|
+
language: string;
|
|
36
|
+
}): Promise<(PartPlaceholderSeed | PartSeed)[]>;
|
|
37
|
+
export declare function getDocumentNodeIdOfPart(siteContext: SiteContext, nodeId: string): Promise<string>;
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import { boolVal, dateValOrUndef, nbVal, nbValOrUndef, strVal, strValOrUndef, } from "@paroi/data-formatters-lib";
|
|
2
|
+
import { createNode } from "@paroicms/connector";
|
|
3
|
+
import { getDocumentTypeByName, getPartTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
4
|
+
import { encodeNodelId } from "@paroicms/public-anywhere-lib";
|
|
5
|
+
import { ApiError } from "../../../common/api-error-handler.js";
|
|
6
|
+
import { getHandleOfFeaturedImage } from "../../../common/media-handles.helpers.js";
|
|
7
|
+
import { invalidateDocumentInCache } from "../../../common/text-cache.js";
|
|
8
|
+
import { isOrphanNode } from "../nodel/nodel.queries.js";
|
|
9
|
+
import { createPartNode, shiftPartNodeOrdersAfterDeletion } from "./part-node.queries.js";
|
|
10
|
+
export async function createPartOnNode(siteContext, newId) {
|
|
11
|
+
await siteContext.cn("PaNodel").insert({
|
|
12
|
+
language: newId.language,
|
|
13
|
+
nodeId: newId.nodeId,
|
|
14
|
+
ready: true,
|
|
15
|
+
});
|
|
16
|
+
await invalidateDocumentInCache(siteContext, { parentOf: newId });
|
|
17
|
+
return newId;
|
|
18
|
+
}
|
|
19
|
+
export async function createNodeWithPart(siteContext, { parentNodelId, listName, typeName, }) {
|
|
20
|
+
const { language, nodeId: parentNodeId } = parentNodelId;
|
|
21
|
+
const { cn, siteSchema } = siteContext;
|
|
22
|
+
const row = await cn("PaNode as l")
|
|
23
|
+
.select(["l.typeName as typeName", "p.documentNodeId as documentNodeId"])
|
|
24
|
+
.leftJoin("PaPartNode as p", "p.nodeId", "l.id")
|
|
25
|
+
.where("l.id", parentNodeId)
|
|
26
|
+
.first();
|
|
27
|
+
if (!row)
|
|
28
|
+
throw new ApiError(`cannot find part-node '${parentNodeId}'`, { status: 404 });
|
|
29
|
+
const parentTypeName = strVal(row.typeName);
|
|
30
|
+
const documentNodeId = strValOrUndef(row.documentNodeId) ?? parentNodeId;
|
|
31
|
+
let listType;
|
|
32
|
+
if (documentNodeId === parentNodeId) {
|
|
33
|
+
const parentDocumentType = getDocumentTypeByName(siteContext.siteSchema, parentTypeName);
|
|
34
|
+
listType = parentDocumentType.lists?.find((l) => l.listName === listName);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
const parentPartType = getPartTypeByName(siteContext.siteSchema, parentTypeName);
|
|
38
|
+
listType = parentPartType.list;
|
|
39
|
+
}
|
|
40
|
+
if (!listType) {
|
|
41
|
+
throw new ApiError(`unknown list '${listName}' in document or part type '${parentTypeName}'`, {
|
|
42
|
+
status: 400,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
if (listType.limit !== undefined) {
|
|
46
|
+
const count = await countPartsOfList(siteContext, {
|
|
47
|
+
listName,
|
|
48
|
+
parentNodeId,
|
|
49
|
+
});
|
|
50
|
+
if (count >= listType.limit)
|
|
51
|
+
throw new ApiError("maximum parts reached", { status: 400 });
|
|
52
|
+
}
|
|
53
|
+
if (!listType.parts.includes(typeName)) {
|
|
54
|
+
throw new ApiError(`Invalid nodelType typeName: '${typeName}' for listName '${listName}'`, {
|
|
55
|
+
status: 400,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
let lastOrderNum;
|
|
59
|
+
if (listType.sorting) {
|
|
60
|
+
const row = await cn("PaNode as l")
|
|
61
|
+
.select(cn.raw("max(o.orderNum) as orderNum"))
|
|
62
|
+
.innerJoin("PaPartNode as p", "p.nodeId", "l.id")
|
|
63
|
+
.innerJoin("PaOrderedNode as o", "o.nodeId", "l.id")
|
|
64
|
+
.where("l.parentId", parentNodeId)
|
|
65
|
+
.andWhere("p.listName", listName)
|
|
66
|
+
.first();
|
|
67
|
+
lastOrderNum = nbValOrUndef(row?.orderNum);
|
|
68
|
+
}
|
|
69
|
+
const newId = await cn.transaction(async (tx) => {
|
|
70
|
+
const node = await createNode(siteSchema, tx, { parentId: parentNodeId, typeName });
|
|
71
|
+
const { id: nodeId } = node;
|
|
72
|
+
await createPartNode(tx, {
|
|
73
|
+
nodeId,
|
|
74
|
+
listName,
|
|
75
|
+
documentNodeId,
|
|
76
|
+
isOrdered: !!listType.sorting,
|
|
77
|
+
lastOrderNum,
|
|
78
|
+
});
|
|
79
|
+
await tx("PaNodel").insert({
|
|
80
|
+
language,
|
|
81
|
+
nodeId,
|
|
82
|
+
ready: true,
|
|
83
|
+
});
|
|
84
|
+
return { language, nodeId };
|
|
85
|
+
});
|
|
86
|
+
await invalidateDocumentInCache(siteContext, { documentId: parentNodelId });
|
|
87
|
+
return newId;
|
|
88
|
+
}
|
|
89
|
+
export async function loadPartSeed(siteContext, nodelId) {
|
|
90
|
+
const { cn } = siteContext;
|
|
91
|
+
const row = await cn("PaNode as l")
|
|
92
|
+
.select([
|
|
93
|
+
"l.typeName as typeName",
|
|
94
|
+
"l.publishDate as publishDate",
|
|
95
|
+
"l.parentId as parentId",
|
|
96
|
+
"p.listName as listName",
|
|
97
|
+
"p.documentNodeId as documentNodeId",
|
|
98
|
+
"o.orderNum as orderNum",
|
|
99
|
+
"s.ready as ready",
|
|
100
|
+
])
|
|
101
|
+
.innerJoin("PaPartNode as p", "p.nodeId", "l.id")
|
|
102
|
+
.innerJoin("PaNodel as s", {
|
|
103
|
+
"s.nodeId": "l.id",
|
|
104
|
+
"s.language": cn.raw("?", [nodelId.language]),
|
|
105
|
+
})
|
|
106
|
+
.leftJoin("PaOrderedNode as o", "o.nodeId", "l.id")
|
|
107
|
+
.where("l.id", nodelId.nodeId)
|
|
108
|
+
.whereNotExists(function () {
|
|
109
|
+
this.select(1).from("PaDocument as d").where("d.nodeId", "l.id");
|
|
110
|
+
})
|
|
111
|
+
.first();
|
|
112
|
+
if (!row) {
|
|
113
|
+
throw new ApiError(`cannot find part '${nodelId.language}:${nodelId.nodeId}'`, {
|
|
114
|
+
status: 404,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
const publishDate = dateValOrUndef(row.publishDate);
|
|
118
|
+
const documentNodeId = strVal(row.documentNodeId);
|
|
119
|
+
return {
|
|
120
|
+
typeName: strVal(row.typeName),
|
|
121
|
+
partId: encodeNodelId(nodelId),
|
|
122
|
+
nodeId: nodelId.nodeId,
|
|
123
|
+
listName: strVal(row.listName),
|
|
124
|
+
parentNodeId: strVal(row.parentId),
|
|
125
|
+
documentId: encodeNodelId({ language: nodelId.language, nodeId: documentNodeId }),
|
|
126
|
+
orderNum: nbValOrUndef(row.orderNum),
|
|
127
|
+
ready: boolVal(row.ready),
|
|
128
|
+
publishDate,
|
|
129
|
+
language: nodelId.language,
|
|
130
|
+
scheduled: publishDate ? publishDate.getTime() > Date.now() : false,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
export async function deletePart(siteContext, nodelId) {
|
|
134
|
+
const nodeId = nodelId.nodeId;
|
|
135
|
+
const documentNodeId = await getDocumentNodeIdOfPart(siteContext, nodeId);
|
|
136
|
+
const { shouldDeleteNode } = await siteContext.cn.transaction(async (tx) => {
|
|
137
|
+
await tx("PaFieldVarchar")
|
|
138
|
+
.where("nodeId", nodeId)
|
|
139
|
+
.where("language", nodelId.language)
|
|
140
|
+
.delete();
|
|
141
|
+
await tx("PaFieldText").where("nodeId", nodeId).where("language", nodelId.language).delete();
|
|
142
|
+
await tx("PaNodel").where("nodeId", nodeId).where("language", nodelId.language).delete();
|
|
143
|
+
const shouldDeleteNode = await isOrphanNode(tx, nodeId);
|
|
144
|
+
if (shouldDeleteNode) {
|
|
145
|
+
await shiftPartNodeOrdersAfterDeletion(tx, nodeId);
|
|
146
|
+
await tx("PaPartNode").where("nodeId", nodeId).delete();
|
|
147
|
+
await tx("PaNode").where("id", nodeId).delete();
|
|
148
|
+
}
|
|
149
|
+
return { shouldDeleteNode };
|
|
150
|
+
});
|
|
151
|
+
await invalidateDocumentInCache(siteContext, {
|
|
152
|
+
documentId: {
|
|
153
|
+
nodeId: documentNodeId,
|
|
154
|
+
language: nodelId.language,
|
|
155
|
+
},
|
|
156
|
+
});
|
|
157
|
+
if (shouldDeleteNode) {
|
|
158
|
+
const deletedUids = await siteContext.mediaStorage.deleteMedia({
|
|
159
|
+
handle: getHandleOfFeaturedImage(nodelId.nodeId),
|
|
160
|
+
});
|
|
161
|
+
await siteContext.imageCache.invalidate({ imageUids: deletedUids });
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
export async function readPartSeedsOf({ cn }, { documentNodeId, language, }) {
|
|
165
|
+
const parts = await cn("PaNode as l")
|
|
166
|
+
.select([
|
|
167
|
+
"l.id as nodeId",
|
|
168
|
+
"l.publishDate as publishDate",
|
|
169
|
+
"l.typeName as typeName",
|
|
170
|
+
"l.parentId as parentId",
|
|
171
|
+
"p.listName as listName",
|
|
172
|
+
"o.orderNum as orderNum",
|
|
173
|
+
"s.language as language",
|
|
174
|
+
"s.nodeId as nodelNodeId",
|
|
175
|
+
"s.ready as ready",
|
|
176
|
+
])
|
|
177
|
+
.innerJoin("PaPartNode as p", "p.nodeId", "l.id")
|
|
178
|
+
.leftJoin("PaNodel as s", {
|
|
179
|
+
"s.nodeId": "l.id",
|
|
180
|
+
"s.language": cn.raw("?", [language]),
|
|
181
|
+
})
|
|
182
|
+
.leftJoin("PaOrderedNode as o", "o.nodeId", "l.id")
|
|
183
|
+
.where("p.documentNodeId", documentNodeId);
|
|
184
|
+
return parts.map((item) => {
|
|
185
|
+
const nodeId = strVal(item.nodeId);
|
|
186
|
+
const publishDate = dateValOrUndef(item.publishDate);
|
|
187
|
+
const isPlaceholder = strValOrUndef(item.nodelNodeId) === undefined;
|
|
188
|
+
if (isPlaceholder) {
|
|
189
|
+
const seed = {
|
|
190
|
+
typeName: strVal(item.typeName),
|
|
191
|
+
nodeId,
|
|
192
|
+
listName: strVal(item.listName),
|
|
193
|
+
parentNodeId: strVal(item.parentId),
|
|
194
|
+
documentId: encodeNodelId({ language, nodeId: documentNodeId }),
|
|
195
|
+
orderNum: nbValOrUndef(item.orderNum),
|
|
196
|
+
publishDate,
|
|
197
|
+
};
|
|
198
|
+
return seed;
|
|
199
|
+
}
|
|
200
|
+
const seed = {
|
|
201
|
+
typeName: strVal(item.typeName),
|
|
202
|
+
partId: encodeNodelId({ language, nodeId: strVal(item.nodeId) }),
|
|
203
|
+
nodeId,
|
|
204
|
+
listName: strVal(item.listName),
|
|
205
|
+
parentNodeId: strVal(item.parentId),
|
|
206
|
+
documentId: encodeNodelId({ language, nodeId: documentNodeId }),
|
|
207
|
+
orderNum: nbValOrUndef(item.orderNum),
|
|
208
|
+
publishDate,
|
|
209
|
+
language,
|
|
210
|
+
scheduled: publishDate ? publishDate.getTime() > Date.now() : false,
|
|
211
|
+
ready: boolVal(item.ready),
|
|
212
|
+
};
|
|
213
|
+
return seed;
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
async function countPartsOfList({ cn }, { listName, parentNodeId, }) {
|
|
217
|
+
const row = await cn("PaNode as l")
|
|
218
|
+
.count("* as cnt")
|
|
219
|
+
.innerJoin("PaPartNode as p", "p.nodeId", "l.id")
|
|
220
|
+
.where("l.parentId", parentNodeId)
|
|
221
|
+
.andWhere("p.listName", listName)
|
|
222
|
+
.first();
|
|
223
|
+
return nbVal(row?.cnt);
|
|
224
|
+
}
|
|
225
|
+
export async function getDocumentNodeIdOfPart(siteContext, nodeId) {
|
|
226
|
+
const row = await siteContext
|
|
227
|
+
.cn("PaPartNode as p")
|
|
228
|
+
.select("p.documentNodeId as documentNodeId")
|
|
229
|
+
.where("p.nodeId", nodeId)
|
|
230
|
+
.first();
|
|
231
|
+
if (!row)
|
|
232
|
+
throw new ApiError(`cannot find part-node '${nodeId}'`, { status: 404 });
|
|
233
|
+
return strVal(row.documentNodeId);
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=part.queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"part.queries.js","sourceRoot":"","sources":["../../../../src/modules/core/part/part.queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { getDocumentTypeByName, getPartTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
2
|
+
import { authGuard } from "../auth/auth.helper.js";
|
|
3
|
+
import { getTypeNameOf } from "../node/node.queries.js";
|
|
4
|
+
import { readPartSeedsOf } from "./part.queries.js";
|
|
5
|
+
export const extendNodelWrapWithPartResolvers = {
|
|
6
|
+
NodelWrap: {
|
|
7
|
+
parts: async ({ nodeId, language }, _args, { req, siteContext }) => {
|
|
8
|
+
authGuard(req);
|
|
9
|
+
const typeName = await getTypeNameOf(siteContext, nodeId);
|
|
10
|
+
const documentType = getDocumentTypeByName(siteContext.siteSchema, typeName);
|
|
11
|
+
const listNames = documentType.lists?.map((l) => l.listName) ?? [];
|
|
12
|
+
if (listNames.length === 0)
|
|
13
|
+
return null;
|
|
14
|
+
return await readPartSeedsOf(siteContext, {
|
|
15
|
+
documentNodeId: nodeId,
|
|
16
|
+
language,
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
Part: {
|
|
21
|
+
parts: async ({ nodeId, language }, _args, { req, siteContext }) => {
|
|
22
|
+
authGuard(req);
|
|
23
|
+
const typeName = await getTypeNameOf(siteContext, nodeId);
|
|
24
|
+
const partType = getPartTypeByName(siteContext.siteSchema, typeName);
|
|
25
|
+
if (!partType.list)
|
|
26
|
+
return null;
|
|
27
|
+
return await readPartSeedsOf(siteContext, {
|
|
28
|
+
documentNodeId: nodeId,
|
|
29
|
+
language,
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
PartOrPlaceholder: {
|
|
34
|
+
__resolveType: (value) => ("partId" in value ? "Part" : "PartPlaceholder"),
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=part.resolver.extend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"part.resolver.extend.js","sourceRoot":"","sources":["../../../../src/modules/core/part/part.resolver.extend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAG3F,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAiB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,CAAC,MAAM,gCAAgC,GAAiC;IAC5E,SAAS,EAAE;QACT,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAiB,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE;YAChF,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG,qBAAqB,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAE7E,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAExC,OAAO,MAAM,eAAe,CAAC,WAAW,EAAE;gBACxC,cAAc,EAAE,MAAM;gBACtB,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;KACF;IAED,IAAI,EAAE;QACJ,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAY,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE;YAC3E,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACrE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEhC,OAAO,MAAM,eAAe,CAAC,WAAW,EAAE;gBACxC,cAAc,EAAE,MAAM;gBACtB,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;KACF;IAED,iBAAiB,EAAE;QACjB,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC;KAC3E;CACF,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { getDocumentTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
2
|
+
import { parseNodelId } from "@paroicms/public-anywhere-lib";
|
|
3
|
+
import { authGuard } from "../auth/auth.helper.js";
|
|
4
|
+
import { getTypeNameOf } from "../node/node.queries.js";
|
|
5
|
+
import { createNodeWithPart, createPartOnNode, deletePart, loadPartSeed, readPartSeedsOf, } from "./part.queries.js";
|
|
6
|
+
export const partResolvers = {
|
|
7
|
+
Query: {
|
|
8
|
+
part: async (_parent, { nodelId }, { req, siteContext }) => {
|
|
9
|
+
authGuard(req);
|
|
10
|
+
return await loadPartSeed(siteContext, parseNodelId(nodelId));
|
|
11
|
+
},
|
|
12
|
+
partsOf: async (_parent, { documentId }, { req, siteContext }) => {
|
|
13
|
+
authGuard(req);
|
|
14
|
+
const { nodeId, language } = parseNodelId(documentId);
|
|
15
|
+
const typeName = await getTypeNameOf(siteContext, nodeId);
|
|
16
|
+
const documentType = getDocumentTypeByName(siteContext.siteSchema, typeName);
|
|
17
|
+
if (!documentType.lists || documentType.lists.length === 0)
|
|
18
|
+
return null;
|
|
19
|
+
return await readPartSeedsOf(siteContext, {
|
|
20
|
+
documentNodeId: nodeId,
|
|
21
|
+
language,
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
Mutation: {
|
|
26
|
+
createPartOnNode: async (_parent, { language, nodeId }, { req, siteContext }) => {
|
|
27
|
+
authGuard(req);
|
|
28
|
+
const newId = await createPartOnNode(siteContext, {
|
|
29
|
+
language,
|
|
30
|
+
nodeId,
|
|
31
|
+
});
|
|
32
|
+
return await loadPartSeed(siteContext, newId);
|
|
33
|
+
},
|
|
34
|
+
createNodeWithPart: async (_parent, { parentNodelId, listName, typeName }, { req, siteContext }) => {
|
|
35
|
+
authGuard(req);
|
|
36
|
+
const newId = await createNodeWithPart(siteContext, {
|
|
37
|
+
listName,
|
|
38
|
+
parentNodelId: parseNodelId(parentNodelId),
|
|
39
|
+
typeName,
|
|
40
|
+
});
|
|
41
|
+
return await loadPartSeed(siteContext, newId);
|
|
42
|
+
},
|
|
43
|
+
deletePart: async (_parent, { nodelId }, { req, siteContext }) => {
|
|
44
|
+
authGuard(req);
|
|
45
|
+
await deletePart(siteContext, parseNodelId(nodelId));
|
|
46
|
+
return true;
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=part.resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"part.resolver.js","sourceRoot":"","sources":["../../../../src/modules/core/part/part.resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,aAAa,GAAiC;IACzD,KAAK,EAAE;QACL,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE;YACzD,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,MAAM,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE;YAC/D,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG,qBAAqB,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAE7E,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAExE,OAAO,MAAM,eAAe,CAAC,WAAW,EAAE;gBACxC,cAAc,EAAE,MAAM;gBACtB,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;KACF;IAED,QAAQ,EAAE;QACR,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE;YAC9E,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE;gBAChD,QAAQ;gBACR,MAAM;aACP,CAAC,CAAC;YACH,OAAO,MAAM,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,kBAAkB,EAAE,KAAK,EACvB,OAAO,EACP,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACrC,EAAE,GAAG,EAAE,WAAW,EAAE,EACpB,EAAE;YACF,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE;gBAClD,QAAQ;gBACR,aAAa,EAAE,YAAY,CAAC,aAAa,CAAC;gBAC1C,QAAQ;aACT,CAAC,CAAC;YACH,OAAO,MAAM,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE;YAC/D,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,MAAM,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { appVersion } from "../../../context.js";
|
|
2
|
+
import { authGuard } from "../auth/auth.helper.js";
|
|
3
|
+
export const siteConstantsResolvers = {
|
|
4
|
+
Query: {
|
|
5
|
+
siteConstants: async (_parent, _args, { req, siteContext }) => {
|
|
6
|
+
authGuard(req);
|
|
7
|
+
return {
|
|
8
|
+
appVersion,
|
|
9
|
+
siteConfiguration: {
|
|
10
|
+
enableMetaKeywords: siteContext.siteConfiguration.backOffice?.enableMetaKeywords ?? false,
|
|
11
|
+
},
|
|
12
|
+
trusted: siteContext.trusted,
|
|
13
|
+
};
|
|
14
|
+
},
|
|
15
|
+
routingIds: async (_parent, _args, { req, siteContext }) => {
|
|
16
|
+
authGuard(req);
|
|
17
|
+
return JSON.stringify(siteContext.siteIds.homeIds);
|
|
18
|
+
},
|
|
19
|
+
plugins: async (_parent, _args, { req, siteContext }) => {
|
|
20
|
+
authGuard(req);
|
|
21
|
+
return Array.from(siteContext.plugins.values())
|
|
22
|
+
.filter((p) => !!p.boPluginBaseUrl)
|
|
23
|
+
.map((p) => ({
|
|
24
|
+
pluginName: p.pluginName,
|
|
25
|
+
boPluginBaseUrl: p.boPluginBaseUrl,
|
|
26
|
+
confJson: p.pluginConf.backOffice === undefined
|
|
27
|
+
? undefined
|
|
28
|
+
: JSON.stringify(p.pluginConf.backOffice),
|
|
29
|
+
}));
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
SiteConstants: {
|
|
33
|
+
themeConf: async (_parent, _args, { req, siteContext }) => {
|
|
34
|
+
const themeConf = siteContext.themeConf;
|
|
35
|
+
return {
|
|
36
|
+
pixelRatio: themeConf.pixelRatio,
|
|
37
|
+
fTextImages: themeConf.fTextImages,
|
|
38
|
+
};
|
|
39
|
+
},
|
|
40
|
+
siteSchema: async (_parent, _args, { req, siteContext }) => {
|
|
41
|
+
return JSON.stringify(siteContext.siteSchema);
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=site-constants.resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site-constants.resolver.js","sourceRoot":"","sources":["../../../../src/modules/core/site-constants/site-constants.resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,MAAM,sBAAsB,GAAiC;IAClE,KAAK,EAAE;QACL,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE;YAC5D,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,OAAO;gBACL,UAAU;gBACV,iBAAiB,EAAE;oBACjB,kBAAkB,EAAE,WAAW,CAAC,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,IAAI,KAAK;iBAC1F;gBACD,OAAO,EAAE,WAAW,CAAC,OAAO;aAC7B,CAAC;QACJ,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE;YACzD,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE;YACtD,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;iBAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;iBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACX,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,eAAe,EAAE,CAAC,CAAC,eAAyB;gBAC5C,QAAQ,EACN,CAAC,CAAC,UAAU,CAAC,UAAU,KAAK,SAAS;oBACnC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;aAC9C,CAAC,CAAC,CAAC;QACR,CAAC;KACF;IAED,aAAa,EAAE;QACb,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE;YACxD,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YACxC,OAAO;gBACL,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,WAAW,EAAE,SAAS,CAAC,WAAW;aACnC,CAAC;QACJ,CAAC;QAED,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE;YACzD,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAChD,CAAC;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { GqlResolvers } from "../../../graphql/generated-graphql-types.js";
|
|
2
|
+
import type { GraphqlContext } from "../../graphql.types.js";
|
|
3
|
+
export declare const unprotectedResolvers: GqlResolvers<GraphqlContext>;
|
|
4
|
+
export interface FaviconThumb {
|
|
5
|
+
url: string;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
mediaType: string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { generateImageSlug } from "@paroicms/public-server-lib";
|
|
2
|
+
import { getHandleOfSiteBoFavicon, getHandleOfSiteFavicon, } from "../../../common/media-handles.helpers.js";
|
|
3
|
+
import { appConf, platformAuthUrl } from "../../../context.js";
|
|
4
|
+
import { registerImageVariant } from "../media/media.js";
|
|
5
|
+
export const unprotectedResolvers = {
|
|
6
|
+
Query: {
|
|
7
|
+
publicSiteConstants: async (_parent, _args, { siteContext }) => {
|
|
8
|
+
return {
|
|
9
|
+
languageWithLabels: siteContext.siteSchema.languages.map((language) => ({
|
|
10
|
+
language,
|
|
11
|
+
label: siteContext.siteSchema.languageLabels[language],
|
|
12
|
+
})),
|
|
13
|
+
publicSiteUrl: siteContext.siteUrl,
|
|
14
|
+
platformAuthUrl: !appConf.googleAuth || appConf.googleAuth.disabled ? undefined : platformAuthUrl,
|
|
15
|
+
};
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
PublicSiteConstants: {
|
|
19
|
+
faviconThumb: async (_parent, _args, { siteContext }) => {
|
|
20
|
+
return ((await makeFaviconThumbReady(siteContext, {
|
|
21
|
+
handle: getHandleOfSiteFavicon(),
|
|
22
|
+
realSize: "128x128",
|
|
23
|
+
})) ?? null);
|
|
24
|
+
},
|
|
25
|
+
boFaviconThumb: async (_parent, _args, { siteContext }) => {
|
|
26
|
+
return ((await makeFaviconThumbReady(siteContext, {
|
|
27
|
+
handle: getHandleOfSiteBoFavicon(),
|
|
28
|
+
realSize: "128x128",
|
|
29
|
+
})) ?? null);
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
async function makeFaviconThumbReady(siteContext, { handle, realSize }) {
|
|
34
|
+
const media = await siteContext.mediaStorage.getMedia({ handle });
|
|
35
|
+
if (!media || media.kind !== "image")
|
|
36
|
+
return;
|
|
37
|
+
const registered = await registerImageVariant(siteContext, {
|
|
38
|
+
autoCrop: false,
|
|
39
|
+
imageRef: {
|
|
40
|
+
imageUid: media.uid,
|
|
41
|
+
mediaType: media.mediaType,
|
|
42
|
+
width: media.width,
|
|
43
|
+
height: media.height,
|
|
44
|
+
},
|
|
45
|
+
realSize: realSize,
|
|
46
|
+
versionedUrl: true,
|
|
47
|
+
absoluteUrl: true,
|
|
48
|
+
dependsOnUsedKey: "bo",
|
|
49
|
+
slug: generateImageSlug(media.originalName),
|
|
50
|
+
originalName: media.originalName,
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
url: registered.url,
|
|
54
|
+
width: registered.width,
|
|
55
|
+
height: registered.height,
|
|
56
|
+
mediaType: registered.mediaType,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=unprotected.resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unprotected.resolver.js","sourceRoot":"","sources":["../../../../src/modules/core/unprotected/unprotected.resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAI/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,CAAC,MAAM,oBAAoB,GAAiC;IAChE,KAAK,EAAE;QACL,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC7D,OAAO;gBACL,kBAAkB,EAAE,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACtE,QAAQ;oBACR,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC;iBACvD,CAAC,CAAC;gBACH,aAAa,EAAE,WAAW,CAAC,OAAO;gBAClC,eAAe,EACb,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe;aACnF,CAAC;QACJ,CAAC;KACF;IAED,mBAAmB,EAAE;QACnB,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YACtD,OAAO,CACL,CAAC,MAAM,qBAAqB,CAAC,WAAW,EAAE;gBACxC,MAAM,EAAE,sBAAsB,EAAE;gBAChC,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC,IAAI,IAAI,CACZ,CAAC;QACJ,CAAC;QAED,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YACxD,OAAO,CACL,CAAC,MAAM,qBAAqB,CAAC,WAAW,EAAE;gBACxC,MAAM,EAAE,wBAAwB,EAAE;gBAClC,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC,IAAI,IAAI,CACZ,CAAC;QACJ,CAAC;KACF;CACF,CAAC;AASF,KAAK,UAAU,qBAAqB,CAClC,WAAwB,EACxB,EAAE,MAAM,EAAE,QAAQ,EAA2C;IAE7D,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO;IAE7C,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE;QACzD,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE;YACR,QAAQ,EAAE,KAAK,CAAC,GAAG;YACnB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB;QACD,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC;QAC3C,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,EAAE,UAAU,CAAC,GAAG;QACnB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,SAAS,EAAE,UAAU,CAAC,SAAS;KAChC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql.types.js","sourceRoot":"","sources":["../../src/modules/graphql.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { SiteContext } from "../../../site-context/site-context.types.js";
|
|
2
|
+
export declare function validateRecaptchaResponse(siteContext: Pick<SiteContext, "fqdn">, { gRecaptchaResponse, secretKey, }: {
|
|
3
|
+
gRecaptchaResponse: string | undefined;
|
|
4
|
+
secretKey: string;
|
|
5
|
+
}): Promise<boolean>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ApiError } from "../../../common/api-error-handler.js";
|
|
2
|
+
export async function validateRecaptchaResponse(siteContext, { gRecaptchaResponse, secretKey, }) {
|
|
3
|
+
if (!gRecaptchaResponse)
|
|
4
|
+
throw new ApiError("Missing gRecaptchaResponse", { status: 400 });
|
|
5
|
+
if (!secretKey) {
|
|
6
|
+
throw new Error("Invalid configuration, missing 'recaptchaPrivateKey'");
|
|
7
|
+
}
|
|
8
|
+
const url = `https://www.google.com/recaptcha/api/siteverify?secret=${secretKey}&response=${gRecaptchaResponse}`;
|
|
9
|
+
const response = await fetch(url, {
|
|
10
|
+
method: "post",
|
|
11
|
+
});
|
|
12
|
+
if (response.status < 200 || response.status >= 300) {
|
|
13
|
+
throw new Error("Failed to call the Google Recaptcha API");
|
|
14
|
+
}
|
|
15
|
+
const result = (await response.json());
|
|
16
|
+
if (result.hostname !== siteContext.fqdn) {
|
|
17
|
+
throw new ApiError("Unauthorized", { status: 401 });
|
|
18
|
+
}
|
|
19
|
+
return result.success;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=validate-recaptcha-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-recaptcha-response.js","sourceRoot":"","sources":["../../../../src/modules/public-api/mail/validate-recaptcha-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAgBhE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,WAAsC,EACtC,EACE,kBAAkB,EAClB,SAAS,GAIV;IAED,IAAI,CAAC,kBAAkB;QAAE,MAAM,IAAI,QAAQ,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3F,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,GAAG,GAAG,0DAA0D,SAAS,aAAa,kBAAkB,EAAE,CAAC;IACjH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsC,CAAC;IAC5E,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { IsDefined, IsNotEmpty, IsNumberString, IsString } from "class-validator";
|
|
11
|
+
export class PartialsParamsInput {
|
|
12
|
+
templateName;
|
|
13
|
+
documentId;
|
|
14
|
+
offset;
|
|
15
|
+
limit;
|
|
16
|
+
}
|
|
17
|
+
__decorate([
|
|
18
|
+
IsString(),
|
|
19
|
+
IsNotEmpty(),
|
|
20
|
+
IsDefined(),
|
|
21
|
+
__metadata("design:type", String)
|
|
22
|
+
], PartialsParamsInput.prototype, "templateName", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
IsString(),
|
|
25
|
+
IsNotEmpty(),
|
|
26
|
+
IsDefined(),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], PartialsParamsInput.prototype, "documentId", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
IsNumberString(),
|
|
31
|
+
IsNotEmpty(),
|
|
32
|
+
IsDefined(),
|
|
33
|
+
__metadata("design:type", String)
|
|
34
|
+
], PartialsParamsInput.prototype, "offset", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
IsNumberString(),
|
|
37
|
+
IsNotEmpty(),
|
|
38
|
+
IsDefined(),
|
|
39
|
+
__metadata("design:type", String)
|
|
40
|
+
], PartialsParamsInput.prototype, "limit", void 0);
|
|
41
|
+
//# sourceMappingURL=partials-params.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partials-params.dto.js","sourceRoot":"","sources":["../../../../src/modules/public-api/partials/partials-params.dto.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAElF,MAAM,OAAO,mBAAmB;IAI9B,YAAY,CAAU;IAKtB,UAAU,CAAU;IAKpB,MAAM,CAAU;IAKhB,KAAK,CAAU;CAChB;AAhBC;IAHC,QAAQ,EAAE;IACV,UAAU,EAAE;IACZ,SAAS,EAAE;;yDACU;AAKtB;IAHC,QAAQ,EAAE;IACV,UAAU,EAAE;IACZ,SAAS,EAAE;;uDACQ;AAKpB;IAHC,cAAc,EAAE;IAChB,UAAU,EAAE;IACZ,SAAS,EAAE;;mDACI;AAKhB;IAHC,cAAc,EAAE;IAChB,UAAU,EAAE;IACZ,SAAS,EAAE;;kDACG"}
|