@paroicms/server 1.102.3 → 1.104.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/README.md +1 -16
- package/ddl/main.ddl.sql +91 -0
- package/dist/admin-backend/account/account.queries.d.ts +3 -3
- package/dist/admin-backend/account/account.queries.js.map +1 -1
- package/dist/admin-backend/account/account.resolver.d.ts +1 -1
- package/dist/admin-backend/account/account.resolver.js +9 -0
- package/dist/admin-backend/account/account.resolver.js.map +1 -1
- package/dist/admin-backend/auth/auth.service.d.ts +12 -3
- package/dist/admin-backend/auth/auth.service.js +7 -7
- package/dist/admin-backend/auth/auth.service.js.map +1 -1
- package/dist/admin-backend/backup/backup.controller.js +2 -1
- package/dist/admin-backend/backup/backup.controller.js.map +1 -1
- package/dist/admin-backend/backup/backup.resolver.d.ts +1 -1
- package/dist/admin-backend/backup/backup.resolver.js +2 -0
- package/dist/admin-backend/backup/backup.resolver.js.map +1 -1
- package/dist/admin-backend/backup/hardened-backup.service.js +2 -1
- package/dist/admin-backend/backup/hardened-backup.service.js.map +1 -1
- package/dist/admin-backend/document/document.resolver.d.ts +1 -1
- package/dist/admin-backend/document/document.resolver.extend.d.ts +1 -1
- package/dist/admin-backend/document/document.resolver.extend.js +2 -0
- package/dist/admin-backend/document/document.resolver.extend.js.map +1 -1
- package/dist/admin-backend/document/document.resolver.js +12 -2
- package/dist/admin-backend/document/document.resolver.js.map +1 -1
- package/dist/admin-backend/document/load-documents.queries.d.ts +1 -1
- package/dist/admin-backend/document/load-documents.queries.js.map +1 -1
- package/dist/admin-backend/document/save-documents.queries.js +55 -12
- package/dist/admin-backend/document/save-documents.queries.js.map +1 -1
- package/dist/admin-backend/fields/fields.resolver.d.ts +1 -1
- package/dist/admin-backend/fields/fields.resolver.js +10 -2
- package/dist/admin-backend/fields/fields.resolver.js.map +1 -1
- package/dist/admin-backend/fields/load-fields.queries.d.ts +2 -2
- package/dist/admin-backend/fields/load-fields.queries.js +1 -1
- package/dist/admin-backend/fields/load-fields.queries.js.map +1 -1
- package/dist/admin-backend/lnode/lnode-wrap.resolver.d.ts +1 -1
- package/dist/admin-backend/lnode/lnode-wrap.resolver.js +14 -1
- package/dist/admin-backend/lnode/lnode-wrap.resolver.js.map +1 -1
- package/dist/admin-backend/lnode/lnode.queries.d.ts +2 -0
- package/dist/admin-backend/lnode/lnode.queries.js +27 -54
- package/dist/admin-backend/lnode/lnode.queries.js.map +1 -1
- package/dist/admin-backend/login/login.controller.d.ts +2 -2
- package/dist/admin-backend/login/login.controller.js +17 -5
- package/dist/admin-backend/login/login.controller.js.map +1 -1
- package/dist/admin-backend/media/media-upload.controller.js +3 -9
- package/dist/admin-backend/media/media-upload.controller.js.map +1 -1
- package/dist/admin-backend/media/media.resolver.d.ts +1 -1
- package/dist/admin-backend/media/media.resolver.extend.d.ts +1 -1
- package/dist/admin-backend/media/media.resolver.extend.js +2 -0
- package/dist/admin-backend/media/media.resolver.extend.js.map +1 -1
- package/dist/admin-backend/media/media.resolver.js +11 -0
- package/dist/admin-backend/media/media.resolver.js.map +1 -1
- package/dist/admin-backend/migration/migration.resolver.d.ts +3 -0
- package/dist/admin-backend/migration/migration.resolver.js +38 -0
- package/dist/admin-backend/migration/migration.resolver.js.map +1 -0
- package/dist/admin-backend/node/node-cte.queries.d.ts +25 -0
- package/dist/admin-backend/node/node-cte.queries.js +116 -0
- package/dist/admin-backend/node/node-cte.queries.js.map +1 -0
- package/dist/admin-backend/node/node.queries.d.ts +1 -3
- package/dist/admin-backend/node/node.queries.js +5 -19
- package/dist/admin-backend/node/node.queries.js.map +1 -1
- package/dist/admin-backend/node/node.resolver.d.ts +1 -1
- package/dist/admin-backend/node/node.resolver.extend.d.ts +1 -1
- package/dist/admin-backend/node/node.resolver.extend.js +2 -0
- package/dist/admin-backend/node/node.resolver.extend.js.map +1 -1
- package/dist/admin-backend/node/node.resolver.js +7 -2
- package/dist/admin-backend/node/node.resolver.js.map +1 -1
- package/dist/admin-backend/part/part.queries.js +1 -1
- package/dist/admin-backend/part/part.queries.js.map +1 -1
- package/dist/admin-backend/part/part.resolver.d.ts +1 -1
- package/dist/admin-backend/part/part.resolver.extend.d.ts +1 -1
- package/dist/admin-backend/part/part.resolver.extend.js +3 -0
- package/dist/admin-backend/part/part.resolver.extend.js.map +1 -1
- package/dist/admin-backend/part/part.resolver.js +7 -0
- package/dist/admin-backend/part/part.resolver.js.map +1 -1
- package/dist/admin-backend/routing-cluster/cluster-management.d.ts +8 -0
- package/dist/admin-backend/routing-cluster/cluster-management.js +217 -0
- package/dist/admin-backend/routing-cluster/cluster-management.js.map +1 -0
- package/dist/admin-backend/routing-cluster/cluster-validation.d.ts +7 -0
- package/dist/admin-backend/routing-cluster/cluster-validation.js +48 -0
- package/dist/admin-backend/routing-cluster/cluster-validation.js.map +1 -0
- package/dist/admin-backend/routing-cluster/routing-cluster.queries.d.ts +3 -0
- package/dist/admin-backend/routing-cluster/routing-cluster.queries.js +34 -0
- package/dist/admin-backend/routing-cluster/routing-cluster.queries.js.map +1 -0
- package/dist/admin-backend/routing-cluster/routing-cluster.resolver.d.ts +3 -0
- package/dist/admin-backend/routing-cluster/routing-cluster.resolver.js +72 -0
- package/dist/admin-backend/routing-cluster/routing-cluster.resolver.js.map +1 -0
- package/dist/admin-backend/site-constants/site-constants.resolver.d.ts +1 -1
- package/dist/admin-backend/site-constants/site-constants.resolver.js +6 -5
- package/dist/admin-backend/site-constants/site-constants.resolver.js.map +1 -1
- package/dist/admin-backend/unprotected/unprotected.resolver.js +14 -3
- package/dist/admin-backend/unprotected/unprotected.resolver.js.map +1 -1
- package/dist/common/data-format.d.ts +1 -1
- package/dist/common/data-format.js.map +1 -1
- package/dist/common/media-handles.helpers.d.ts +3 -3
- package/dist/common/media-handles.helpers.js +3 -3
- package/dist/common/media-handles.helpers.js.map +1 -1
- package/dist/common/medias/media-lib.js +1 -1
- package/dist/common/medias/media-lib.js.map +1 -1
- package/dist/connector/app-conf/app-conf-formatter.d.ts +3 -0
- package/dist/connector/app-conf/app-conf-formatter.js +144 -0
- package/dist/connector/app-conf/app-conf-formatter.js.map +1 -0
- package/dist/connector/app-conf/app-conf-reader.d.ts +3 -0
- package/dist/connector/app-conf/app-conf-reader.js +11 -0
- package/dist/connector/app-conf/app-conf-reader.js.map +1 -0
- package/dist/connector/app-conf/app-conf.types.d.ts +45 -0
- package/dist/connector/app-conf/app-conf.types.js +2 -0
- package/dist/connector/app-conf/app-conf.types.js.map +1 -0
- package/dist/connector/db-init/db-constants.d.ts +2 -0
- package/dist/connector/db-init/db-constants.js +3 -0
- package/dist/connector/db-init/db-constants.js.map +1 -0
- package/dist/connector/db-init/db-init.d.ts +10 -0
- package/dist/connector/db-init/db-init.js +42 -0
- package/dist/connector/db-init/db-init.js.map +1 -0
- package/dist/connector/db-init/ddl-migration.d.ts +6 -0
- package/dist/connector/db-init/ddl-migration.js +190 -0
- package/dist/connector/db-init/ddl-migration.js.map +1 -0
- package/dist/connector/db-init/init-node-queries.d.ts +11 -0
- package/dist/connector/db-init/init-node-queries.js +103 -0
- package/dist/connector/db-init/init-node-queries.js.map +1 -0
- package/dist/connector/db-init/load-routing-cluster.queries.d.ts +36 -0
- package/dist/connector/db-init/load-routing-cluster.queries.js +265 -0
- package/dist/connector/db-init/load-routing-cluster.queries.js.map +1 -0
- package/dist/connector/db-init/populate-routing-documents.d.ts +9 -0
- package/dist/connector/db-init/populate-routing-documents.js +66 -0
- package/dist/connector/db-init/populate-routing-documents.js.map +1 -0
- package/dist/connector/media-storage.d.ts +4 -0
- package/dist/connector/media-storage.js +14 -0
- package/dist/connector/media-storage.js.map +1 -0
- package/dist/connector/plugin-loader/init-plugins.d.ts +8 -0
- package/dist/connector/plugin-loader/init-plugins.js +98 -0
- package/dist/connector/plugin-loader/init-plugins.js.map +1 -0
- package/dist/connector/plugin-loader/plugin-loader.d.ts +8 -0
- package/dist/connector/plugin-loader/plugin-loader.js +76 -0
- package/dist/connector/plugin-loader/plugin-loader.js.map +1 -0
- package/dist/connector/plugin-loader/plugin-public-helpers.d.ts +2 -0
- package/dist/connector/plugin-loader/plugin-public-helpers.js +4 -0
- package/dist/connector/plugin-loader/plugin-public-helpers.js.map +1 -0
- package/dist/connector/plugin-loader/plugin-types.d.ts +53 -0
- package/dist/connector/plugin-loader/plugin-types.js +2 -0
- package/dist/connector/plugin-loader/plugin-types.js.map +1 -0
- package/dist/connector/public-site-context-types.d.ts +16 -0
- package/dist/connector/public-site-context-types.js +2 -0
- package/dist/connector/public-site-context-types.js.map +1 -0
- package/dist/connector/row-types.d.ts +58 -0
- package/dist/connector/row-types.js +2 -0
- package/dist/connector/row-types.js.map +1 -0
- package/dist/connector/single-site-builder/default-config.d.ts +3 -0
- package/dist/connector/single-site-builder/default-config.js +24 -0
- package/dist/connector/single-site-builder/default-config.js.map +1 -0
- package/dist/connector/single-site-builder/default-readme.d.ts +1 -0
- package/dist/connector/single-site-builder/default-readme.js +4 -0
- package/dist/connector/single-site-builder/default-readme.js.map +1 -0
- package/dist/connector/single-site-builder/site-builder.d.ts +27 -0
- package/dist/connector/single-site-builder/site-builder.js +91 -0
- package/dist/connector/single-site-builder/site-builder.js.map +1 -0
- package/dist/connector/site-backup/archiver.helper.d.ts +12 -0
- package/dist/connector/site-backup/archiver.helper.js +36 -0
- package/dist/connector/site-backup/archiver.helper.js.map +1 -0
- package/dist/connector/site-backup/backup-tasks.d.ts +14 -0
- package/dist/connector/site-backup/backup-tasks.js +42 -0
- package/dist/connector/site-backup/backup-tasks.js.map +1 -0
- package/dist/connector/site-backup/backup.d.ts +12 -0
- package/dist/connector/site-backup/backup.helper.d.ts +3 -0
- package/dist/connector/site-backup/backup.helper.js +8 -0
- package/dist/connector/site-backup/backup.helper.js.map +1 -0
- package/dist/connector/site-backup/backup.js +34 -0
- package/dist/connector/site-backup/backup.js.map +1 -0
- package/dist/connector/site-conf/site-conf.d.ts +8 -0
- package/dist/connector/site-conf/site-conf.js +117 -0
- package/dist/connector/site-conf/site-conf.js.map +1 -0
- package/dist/connector/site-conf/site-place-types.d.ts +5 -0
- package/dist/connector/site-conf/site-place-types.js +2 -0
- package/dist/connector/site-conf/site-place-types.js.map +1 -0
- package/dist/connector/site-schema/common-schema-reader.d.ts +2 -0
- package/dist/connector/site-schema/common-schema-reader.js +56 -0
- package/dist/connector/site-schema/common-schema-reader.js.map +1 -0
- package/dist/connector/site-schema/common-schema-types.d.ts +13 -0
- package/dist/connector/site-schema/common-schema-types.js +2 -0
- package/dist/connector/site-schema/common-schema-types.js.map +1 -0
- package/dist/connector/site-schema/default-media-policy.d.ts +3 -0
- package/dist/connector/site-schema/default-media-policy.js +21 -0
- package/dist/connector/site-schema/default-media-policy.js.map +1 -0
- package/dist/connector/site-schema/read-locales.d.ts +23 -0
- package/dist/connector/site-schema/read-locales.js +214 -0
- package/dist/connector/site-schema/read-locales.js.map +1 -0
- package/dist/connector/site-schema/schema-lib.d.ts +29 -0
- package/dist/connector/site-schema/schema-lib.js +62 -0
- package/dist/connector/site-schema/schema-lib.js.map +1 -0
- package/dist/connector/site-schema/site-configuration.d.ts +4 -0
- package/dist/connector/site-schema/site-configuration.js +2 -0
- package/dist/connector/site-schema/site-configuration.js.map +1 -0
- package/dist/connector/site-schema/site-schema-factory.d.ts +21 -0
- package/dist/connector/site-schema/site-schema-factory.js +601 -0
- package/dist/connector/site-schema/site-schema-factory.js.map +1 -0
- package/dist/connector/site-schema/site-schema-helpers.d.ts +3 -0
- package/dist/connector/site-schema/site-schema-helpers.js +7 -0
- package/dist/connector/site-schema/site-schema-helpers.js.map +1 -0
- package/dist/connector/site-schema/site-schema-lib-reader.d.ts +8 -0
- package/dist/connector/site-schema/site-schema-lib-reader.js +42 -0
- package/dist/connector/site-schema/site-schema-lib-reader.js.map +1 -0
- package/dist/connector/site-schema/site-schema-public-helpers.d.ts +3 -0
- package/dist/connector/site-schema/site-schema-public-helpers.js +15 -0
- package/dist/connector/site-schema/site-schema-public-helpers.js.map +1 -0
- package/dist/connector/theme-conf/theme-conf-reader.d.ts +4 -0
- package/dist/connector/theme-conf/theme-conf-reader.js +31 -0
- package/dist/connector/theme-conf/theme-conf-reader.js.map +1 -0
- package/dist/context.d.ts +3 -3
- package/dist/context.js +3 -3
- package/dist/context.js.map +1 -1
- package/dist/express/http-helpers.d.ts +3 -3
- package/dist/express/http-redirection-url.d.ts +1 -1
- package/dist/express/local-testing-route.js +5 -1
- package/dist/express/local-testing-route.js.map +1 -1
- package/dist/express/route-handler-wrapper.d.ts +9 -1
- package/dist/express/route-handler-wrapper.js +25 -2
- package/dist/express/route-handler-wrapper.js.map +1 -1
- package/dist/express/site-middleware.js +3 -6
- package/dist/express/site-middleware.js.map +1 -1
- package/dist/express/static-files.req-handler.d.ts +2 -2
- package/dist/express/static-files.req-handler.js +3 -3
- package/dist/express/static-files.req-handler.js.map +1 -1
- package/dist/graphql/apollo-server-init.js +4 -0
- package/dist/graphql/apollo-server-init.js.map +1 -1
- package/dist/graphql/graphql.types.d.ts +7 -2
- package/dist/graphql/graphql.types.js +6 -1
- package/dist/graphql/graphql.types.js.map +1 -1
- package/dist/helpers/special-account.helpers.d.ts +1 -1
- package/dist/helpers/special-account.helpers.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/liquidjs-tools/liquidjs-drop.d.ts +5 -5
- package/dist/liquidjs-tools/liquidjs-drop.js +16 -4
- package/dist/liquidjs-tools/liquidjs-drop.js.map +1 -1
- package/dist/liquidjs-tools/liquidjs-utils.d.ts +0 -2
- package/dist/liquidjs-tools/liquidjs-utils.js +0 -7
- package/dist/liquidjs-tools/liquidjs-utils.js.map +1 -1
- package/dist/maintenance/maintenance-task.js +4 -2
- package/dist/maintenance/maintenance-task.js.map +1 -1
- package/dist/plugin-services/make-backend-plugin-service.d.ts +1 -1
- package/dist/plugin-services/make-backend-plugin-service.js +3 -3
- package/dist/plugin-services/make-backend-plugin-service.js.map +1 -1
- package/dist/public-api/password-reset/password-reset.service.js.map +1 -1
- package/dist/public-api/public-api-rendering.js +13 -0
- package/dist/public-api/public-api-rendering.js.map +1 -1
- package/dist/rendered-site/feed/feed-generator.js +1 -1
- package/dist/rendered-site/feed/feed-generator.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/head-tags-filter.d.ts +1 -1
- package/dist/rendered-site/liquidjs-filters/head-tags-filter.js +7 -3
- package/dist/rendered-site/liquidjs-filters/head-tags-filter.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/info-filter.js +4 -2
- package/dist/rendered-site/liquidjs-filters/info-filter.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/inject-menu-items-data.js +2 -1
- package/dist/rendered-site/liquidjs-filters/inject-menu-items-data.js.map +1 -1
- package/dist/rendered-site/liquidjs-filters/open-graph-filter.d.ts +1 -1
- package/dist/rendered-site/liquidjs-filters/plugin-asset-url-filter.js +1 -1
- package/dist/rendered-site/liquidjs-filters/plugin-asset-url-filter.js.map +1 -1
- package/dist/rendered-site/liquidjs-tags/get-docs-tag.js +1 -1
- package/dist/rendered-site/liquidjs-tags/get-docs-tag.js.map +1 -1
- package/dist/rendered-site/liquidjs-tags/get-paginated-docs-tag.js +1 -1
- package/dist/rendered-site/liquidjs-tags/get-paginated-docs-tag.js.map +1 -1
- package/dist/rendered-site/page-route/make-url.d.ts +5 -2
- package/dist/rendered-site/page-route/make-url.js +48 -112
- package/dist/rendered-site/page-route/make-url.js.map +1 -1
- package/dist/rendered-site/page-route/page-route-parser.d.ts +10 -5
- package/dist/rendered-site/page-route/page-route-parser.js +288 -75
- package/dist/rendered-site/page-route/page-route-parser.js.map +1 -1
- package/dist/rendered-site/page-route/raw-document-payload.js +16 -25
- package/dist/rendered-site/page-route/raw-document-payload.js.map +1 -1
- package/dist/rendered-site/serve-document/serve-document.js.map +1 -1
- package/dist/rendering-payload/breadcrumb.queries.js +6 -2
- package/dist/rendering-payload/breadcrumb.queries.js.map +1 -1
- package/dist/rendering-payload/cluster-payloads.d.ts +7 -0
- package/dist/rendering-payload/cluster-payloads.js +50 -0
- package/dist/rendering-payload/cluster-payloads.js.map +1 -0
- package/dist/rendering-payload/create-doc-drop.d.ts +1 -1
- package/dist/rendering-payload/create-doc-drop.js +127 -120
- package/dist/rendering-payload/create-doc-drop.js.map +1 -1
- package/dist/rendering-payload/create-part-drop.js +1 -2
- package/dist/rendering-payload/create-part-drop.js.map +1 -1
- package/dist/rendering-payload/doc-values.queries.js +1 -1
- package/dist/rendering-payload/doc-values.queries.js.map +1 -1
- package/dist/rendering-payload/excerpt.queries.js +1 -1
- package/dist/rendering-payload/excerpt.queries.js.map +1 -1
- package/dist/rendering-payload/field-values.d.ts +1 -6
- package/dist/rendering-payload/field-values.js +2 -58
- package/dist/rendering-payload/field-values.js.map +1 -1
- package/dist/rendering-payload/get-siblings.queries.d.ts +3 -2
- package/dist/rendering-payload/get-siblings.queries.js +42 -27
- package/dist/rendering-payload/get-siblings.queries.js.map +1 -1
- package/dist/rendering-payload/make-public-payload.d.ts +1 -4
- package/dist/rendering-payload/make-public-payload.js +3 -0
- package/dist/rendering-payload/make-public-payload.js.map +1 -1
- package/dist/rendering-payload/parts.queries.js +1 -1
- package/dist/rendering-payload/parts.queries.js.map +1 -1
- package/dist/rendering-payload/rendering-payload.types.d.ts +21 -15
- package/dist/rendering-payload/site-payload.d.ts +2 -3
- package/dist/rendering-payload/site-payload.js +43 -37
- package/dist/rendering-payload/site-payload.js.map +1 -1
- package/dist/rendering-payload/translations.queries.js +2 -3
- package/dist/rendering-payload/translations.queries.js.map +1 -1
- package/dist/running-server/running-server-connector.d.ts +2 -0
- package/dist/{helpers/running-instance-connector.js → running-server/running-server-connector.js} +20 -8
- package/dist/running-server/running-server-connector.js.map +1 -0
- package/dist/running-server/single-site-generator.d.ts +2 -0
- package/dist/running-server/single-site-generator.js +23 -0
- package/dist/running-server/single-site-generator.js.map +1 -0
- package/dist/site-context/core-plugin/core-hooks.d.ts +1 -1
- package/dist/site-context/core-plugin/create-core-plugin.d.ts +1 -1
- package/dist/site-context/core-plugin/create-core-plugin.js.map +1 -1
- package/dist/site-context/load-site-context.d.ts +2 -2
- package/dist/site-context/load-site-context.js +65 -7
- package/dist/site-context/load-site-context.js.map +1 -1
- package/dist/site-context/refresh-site-context.d.ts +1 -0
- package/dist/site-context/refresh-site-context.js +15 -0
- package/dist/site-context/refresh-site-context.js.map +1 -0
- package/dist/site-context/site-context.d.ts +7 -7
- package/dist/site-context/site-context.js +17 -7
- package/dist/site-context/site-context.js.map +1 -1
- package/dist/site-context/site-context.types.d.ts +28 -4
- package/dist/site-context/site-values-for-site-context.d.ts +1 -1
- package/dist/site-context/site-values-for-site-context.js.map +1 -1
- package/dist/site-schema-migration/migrations/site-schema-migration-6-to-7.d.ts +9 -0
- package/dist/site-schema-migration/migrations/site-schema-migration-6-to-7.js +61 -0
- package/dist/site-schema-migration/migrations/site-schema-migration-6-to-7.js.map +1 -0
- package/dist/site-schema-migration/migrations/site-schema-migration-7-to-8.d.ts +9 -0
- package/dist/site-schema-migration/migrations/site-schema-migration-7-to-8.js +54 -0
- package/dist/site-schema-migration/migrations/site-schema-migration-7-to-8.js.map +1 -0
- package/dist/site-schema-migration/migrations/site-schema-migration-8-to-9.d.ts +9 -0
- package/dist/site-schema-migration/migrations/site-schema-migration-8-to-9.js +44 -0
- package/dist/site-schema-migration/migrations/site-schema-migration-8-to-9.js.map +1 -0
- package/dist/site-schema-migration/site-schema-migration.d.ts +3 -0
- package/dist/site-schema-migration/site-schema-migration.js +43 -0
- package/dist/site-schema-migration/site-schema-migration.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -12
- package/schema.graphql +48 -2
- package/site-schema-lib/common-schema.json +40 -0
- package/site-schema-lib/common-schema.l10n.de.json +10 -0
- package/site-schema-lib/common-schema.l10n.en.json +10 -0
- package/site-schema-lib/common-schema.l10n.es.json +10 -0
- package/site-schema-lib/common-schema.l10n.fr.json +10 -0
- package/site-schema-lib/common-schema.l10n.it.json +10 -0
- package/site-schema-lib/common-schema.l10n.pt.json +10 -0
- package/site-schema-lib/field-lib.site-schema.json +84 -0
- package/site-schema-lib/field-lib.site-schema.l10n.de.json +38 -0
- package/site-schema-lib/field-lib.site-schema.l10n.en.json +38 -0
- package/site-schema-lib/field-lib.site-schema.l10n.es.json +38 -0
- package/site-schema-lib/field-lib.site-schema.l10n.fr.json +41 -0
- package/site-schema-lib/field-lib.site-schema.l10n.it.json +38 -0
- package/site-schema-lib/field-lib.site-schema.l10n.pt.json +38 -0
- package/dist/admin-backend/document/document.helper.d.ts +0 -2
- package/dist/admin-backend/document/document.helper.js +0 -6
- package/dist/admin-backend/document/document.helper.js.map +0 -1
- package/dist/helpers/running-instance-connector.d.ts +0 -2
- package/dist/helpers/running-instance-connector.js.map +0 -1
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
import { ApiError } from "@paroicms/public-server-lib";
|
|
2
2
|
import { type } from "arktype";
|
|
3
3
|
import { getVerifiedAccountFromToken, loginByPlatformToken, loginUser, } from "../auth/auth.service.js";
|
|
4
|
-
export async function loginController(siteContext, httpContext) {
|
|
4
|
+
export async function loginController(siteContext, httpContext, _routeParams) {
|
|
5
|
+
const defaultLanguage = siteContext.status === "migration"
|
|
6
|
+
? (siteContext.deprecatedSiteSchema.languages[0] ?? "en")
|
|
7
|
+
: siteContext.siteSchema.defaultLanguage;
|
|
5
8
|
const loginInput = formatLoginAction(httpContext.req.body);
|
|
6
9
|
if (loginInput.action === "loginWithPlatformToken") {
|
|
7
|
-
return await loginByPlatformToken(siteContext,
|
|
10
|
+
return await loginByPlatformToken(siteContext, {
|
|
11
|
+
token: loginInput.token,
|
|
12
|
+
defaultLanguage,
|
|
13
|
+
});
|
|
8
14
|
}
|
|
9
15
|
if (loginInput.action === "signIn") {
|
|
10
16
|
return await loginUser(siteContext, {
|
|
11
|
-
|
|
12
|
-
|
|
17
|
+
user: {
|
|
18
|
+
email: loginInput.email,
|
|
19
|
+
password: loginInput.password,
|
|
20
|
+
},
|
|
21
|
+
defaultLanguage,
|
|
13
22
|
});
|
|
14
23
|
}
|
|
15
|
-
return getVerifiedAccountFromToken(siteContext,
|
|
24
|
+
return getVerifiedAccountFromToken(siteContext, {
|
|
25
|
+
token: loginInput.token,
|
|
26
|
+
defaultLanguage,
|
|
27
|
+
});
|
|
16
28
|
}
|
|
17
29
|
const LoginActionUrlQuery = type({
|
|
18
30
|
action: "string",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.controller.js","sourceRoot":"","sources":["../../../src/admin-backend/login/login.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,SAAS,GACV,MAAM,yBAAyB,CAAC;AAGjC,MAAM,CAAC,KAAK,UAAU,eAAe,
|
|
1
|
+
{"version":3,"file":"login.controller.js","sourceRoot":"","sources":["../../../src/admin-backend/login/login.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,SAAS,GACV,MAAM,yBAAyB,CAAC;AAGjC,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,WAA+C,EAC/C,WAA0B,EAC1B,YAAgD;IAEhD,MAAM,eAAe,GACnB,WAAW,CAAC,MAAM,KAAK,WAAW;QAChC,CAAC,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACzD,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC;IAC7C,MAAM,UAAU,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE3D,IAAI,UAAU,CAAC,MAAM,KAAK,wBAAwB,EAAE,CAAC;QACnD,OAAO,MAAM,oBAAoB,CAAC,WAAW,EAAE;YAC7C,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,MAAM,SAAS,CAAC,WAAW,EAAE;YAClC,IAAI,EAAE;gBACJ,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;aAC9B;YACD,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,2BAA2B,CAAC,WAAW,EAAE;QAC9C,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,eAAe;KAChB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAI,CAAC;IAC/B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EAAE,kBAAkB;IAC/B,QAAQ,EAAE,kBAAkB;IAC5B,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAEH,SAAS,iBAAiB,CAAC,GAAY;IACrC,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,QAAQ,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC1E,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,wBAAwB,EAAE,CAAC;QAC/D,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,QAAQ,CAAC,4DAA4D,EAAE,GAAG,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IACD,MAAM,IAAI,QAAQ,CAAC,yBAAyB,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -6,13 +6,14 @@ import { removeExtensionFromFileName } from "../../helpers/utils-helper.js";
|
|
|
6
6
|
import { getTypeNameOf } from "../node/node.queries.js";
|
|
7
7
|
import { addMediaToNode } from "./add-media-to-node.js";
|
|
8
8
|
const UploadBodyAT = type({
|
|
9
|
-
|
|
9
|
+
nodeId: "string",
|
|
10
10
|
handle: "string",
|
|
11
11
|
"attachedData?": "string|undefined",
|
|
12
12
|
replace: `"0"|"1"`,
|
|
13
13
|
"+": "reject",
|
|
14
14
|
}).pipe((d) => ({
|
|
15
15
|
...d,
|
|
16
|
+
attachedData: d.attachedData ? JSON.parse(d.attachedData) : undefined,
|
|
16
17
|
replace: d.replace === "1",
|
|
17
18
|
}));
|
|
18
19
|
export async function uploadMediaController(siteContext, httpContext) {
|
|
@@ -21,14 +22,7 @@ export async function uploadMediaController(siteContext, httpContext) {
|
|
|
21
22
|
const body = req.body;
|
|
22
23
|
if (!file)
|
|
23
24
|
throw new ApiError("missing file", 400);
|
|
24
|
-
const
|
|
25
|
-
const nodeId = validated.nodeId ?? siteContext.siteIds.siteNodeId;
|
|
26
|
-
const handle = validated.handle;
|
|
27
|
-
const attachedDataStr = validated.attachedData;
|
|
28
|
-
const attachedData = attachedDataStr
|
|
29
|
-
? JSON.parse(attachedDataStr)
|
|
30
|
-
: undefined;
|
|
31
|
-
const replace = validated.replace;
|
|
25
|
+
const { nodeId, handle, attachedData, replace } = UploadBodyAT.assert(body);
|
|
32
26
|
const typeName = await getTypeNameOf(siteContext, nodeId);
|
|
33
27
|
const nodeType = getNodeTypeByName(siteContext.siteSchema, typeName);
|
|
34
28
|
const { buffer: binaryFile, mimetype: mediaType } = file;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-upload.controller.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media-upload.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGvF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,YAAY,GAAG,IAAI,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"media-upload.controller.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media-upload.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGvF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,mCAAmC,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,YAAY,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,kBAAkB;IACnC,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACd,GAAG,CAAC;IACJ,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAmB,CAAC,CAAC,CAAC,SAAS;IACxF,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,GAAG;CAC3B,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAwB,EACxB,WAA0B;IAE1B,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;IAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAW,CAAC;IAC7B,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAEnD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAEzD,MAAM,YAAY,GAAG,2BAA2B,CAC9C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC1D,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC;IACtC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,QAAQ,CAAC,iCAAiC,OAAO,YAAY,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,WAAW,EACX,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,EAChD;QACE,MAAM;QACN,QAAQ;QACR,MAAM;QACN,YAAY;QACZ,OAAO;KACR,CACF,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM;YACN,KAAK,EAAE,MAAM,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE;gBACpE,WAAW,EAAE,IAAI;aAClB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,MAAM;KACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { GqlResolvers } from "../../graphql/generated-graphql-types.d.ts";
|
|
2
|
-
import type
|
|
2
|
+
import { type GraphqlContext } from "../../graphql/graphql.types.js";
|
|
3
3
|
export declare const mediaResolvers: GqlResolvers<GraphqlContext>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { GqlResolvers } from "../../graphql/generated-graphql-types.d.ts";
|
|
2
|
-
import type
|
|
2
|
+
import { type GraphqlContext } from "../../graphql/graphql.types.js";
|
|
3
3
|
export declare const extendDocumentWithMediaResolver: GqlResolvers<GraphqlContext>;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { makeGqlMedia } from "../../common/medias/media-lib.js";
|
|
2
|
+
import { siteReadyGuard } from "../../graphql/graphql.types.js";
|
|
2
3
|
import { authGuard } from "../auth/auth.helper.js";
|
|
3
4
|
export const extendDocumentWithMediaResolver = {
|
|
4
5
|
Document: {
|
|
5
6
|
featuredImage: async (parent, _args, { siteContext, httpContext }) => {
|
|
6
7
|
authGuard(httpContext);
|
|
8
|
+
siteReadyGuard(siteContext);
|
|
7
9
|
const media = await siteContext.mediaStorage.getMedia({
|
|
8
10
|
handle: parent.featuredImageHandle,
|
|
9
11
|
withAttachedData: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.resolver.extend.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media.resolver.extend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"media.resolver.extend.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media.resolver.extend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAuB,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,MAAM,+BAA+B,GAAiC;IAC3E,QAAQ,EAAE;QACR,aAAa,EAAE,KAAK,EAClB,MAAoB,EACpB,KAAc,EACd,EAAE,WAAW,EAAE,WAAW,EAAkB,EAC5C,EAAE;YACF,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC;gBACpD,MAAM,EAAE,MAAM,CAAC,mBAAmB;gBAClC,gBAAgB,EAAE,IAAI;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,OAAO,MAAM,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;KACF;CACF,CAAC"}
|
|
@@ -4,16 +4,19 @@ import { extractNodeIdFromHandle } from "../../common/media-handles.helpers.js";
|
|
|
4
4
|
import { makeGqlImageVariant, makeGqlMedia, makeGqlMedias } from "../../common/medias/media-lib.js";
|
|
5
5
|
import { dependencyKeyOfMedia, invalidateMultipleDocumentsInCache, } from "../../common/text-cache.js";
|
|
6
6
|
import { adminUiOwnerHandle } from "../../context.js";
|
|
7
|
+
import { siteReadyGuard } from "../../graphql/graphql.types.js";
|
|
7
8
|
import { authGuard } from "../auth/auth.helper.js";
|
|
8
9
|
export const mediaResolvers = {
|
|
9
10
|
Query: {
|
|
10
11
|
medias: async (_parent, { handle }, { siteContext, httpContext }) => {
|
|
11
12
|
authGuard(httpContext);
|
|
13
|
+
siteReadyGuard(siteContext);
|
|
12
14
|
const medias = await siteContext.mediaStorage.getMedias({ handle, withAttachedData: true });
|
|
13
15
|
return await makeGqlMedias(siteContext, medias);
|
|
14
16
|
},
|
|
15
17
|
media: async (_parent, { handle }, { siteContext, httpContext }) => {
|
|
16
18
|
authGuard(httpContext);
|
|
19
|
+
siteReadyGuard(siteContext);
|
|
17
20
|
const media = await siteContext.mediaStorage.getMedia({ handle, withAttachedData: true });
|
|
18
21
|
if (!media)
|
|
19
22
|
return null;
|
|
@@ -21,12 +24,14 @@ export const mediaResolvers = {
|
|
|
21
24
|
},
|
|
22
25
|
getUsedRawSizesByMedia: async (_parent, { mediaId }, { siteContext, httpContext }) => {
|
|
23
26
|
authGuard(httpContext);
|
|
27
|
+
siteReadyGuard(siteContext);
|
|
24
28
|
return await siteContext.imageCache.getUsedRawSizesByMedia(mediaId);
|
|
25
29
|
},
|
|
26
30
|
},
|
|
27
31
|
Mutation: {
|
|
28
32
|
deleteMediaFromGallery: async (_parent, { mediaId, handle }, { siteContext, httpContext }) => {
|
|
29
33
|
authGuard(httpContext);
|
|
34
|
+
siteReadyGuard(siteContext);
|
|
30
35
|
const deletedIds = await siteContext.mediaStorage.deleteMedia({ mediaId, handle });
|
|
31
36
|
await siteContext.imageCache.invalidate({ mediaIds: deletedIds });
|
|
32
37
|
const nodeId = extractNodeIdFromHandle(handle);
|
|
@@ -36,6 +41,7 @@ export const mediaResolvers = {
|
|
|
36
41
|
},
|
|
37
42
|
deleteMedia: async (_parent, { handle }, { siteContext, httpContext }) => {
|
|
38
43
|
authGuard(httpContext);
|
|
44
|
+
siteReadyGuard(siteContext);
|
|
39
45
|
const deletedIds = await siteContext.mediaStorage.deleteMedia({ handle });
|
|
40
46
|
await siteContext.imageCache.invalidate({ mediaIds: deletedIds });
|
|
41
47
|
const nodeId = extractNodeIdFromHandle(handle);
|
|
@@ -45,6 +51,7 @@ export const mediaResolvers = {
|
|
|
45
51
|
},
|
|
46
52
|
updateMediaAttachedData: async (_parent, { mediaId, language, value }, { siteContext, httpContext }) => {
|
|
47
53
|
authGuard(httpContext);
|
|
54
|
+
siteReadyGuard(siteContext);
|
|
48
55
|
await siteContext.mediaStorage.setAttachedData({
|
|
49
56
|
mediaId,
|
|
50
57
|
language,
|
|
@@ -55,6 +62,7 @@ export const mediaResolvers = {
|
|
|
55
62
|
},
|
|
56
63
|
updateMediaPixelRatio: async (_parent, { mediaId, pixelRatio }, { siteContext, httpContext }) => {
|
|
57
64
|
authGuard(httpContext);
|
|
65
|
+
siteReadyGuard(siteContext);
|
|
58
66
|
await siteContext.mediaStorage.updatePixelRatio({
|
|
59
67
|
mediaId,
|
|
60
68
|
pixelRatio: pixelRatio ?? null,
|
|
@@ -64,6 +72,7 @@ export const mediaResolvers = {
|
|
|
64
72
|
},
|
|
65
73
|
reorderMedias: async (_parent, { input }, { siteContext, httpContext }) => {
|
|
66
74
|
authGuard(httpContext);
|
|
75
|
+
siteReadyGuard(siteContext);
|
|
67
76
|
const medias = await siteContext.mediaStorage.reorderMedias({
|
|
68
77
|
handle: input.handle,
|
|
69
78
|
mediaIds: input.mediaIds,
|
|
@@ -76,6 +85,7 @@ export const mediaResolvers = {
|
|
|
76
85
|
},
|
|
77
86
|
useAdminUiImage: async (_parent, { input }, { siteContext, httpContext }) => {
|
|
78
87
|
authGuard(httpContext);
|
|
88
|
+
siteReadyGuard(siteContext);
|
|
79
89
|
const { mediaId, resizeRule } = input;
|
|
80
90
|
if (!isResizeRule(resizeRule)) {
|
|
81
91
|
throw new ApiError(`invalid resize rule '${resizeRule}'`, 400);
|
|
@@ -99,6 +109,7 @@ export const mediaResolvers = {
|
|
|
99
109
|
},
|
|
100
110
|
useFTextImage: async (_parent, { input }, { siteContext, httpContext }) => {
|
|
101
111
|
authGuard(httpContext);
|
|
112
|
+
siteReadyGuard(siteContext);
|
|
102
113
|
const { mediaId, resizeRule } = input;
|
|
103
114
|
if (!isResizeRule(resizeRule)) {
|
|
104
115
|
throw new ApiError(`invalid resize rule '${resizeRule}'`, 400);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.resolver.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media.resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA+B,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACpG,OAAO,EACL,oBAAoB,EACpB,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"media.resolver.js","sourceRoot":"","sources":["../../../src/admin-backend/media/media.resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { messageOf } from "@paroicms/public-anywhere-lib";
|
|
2
|
+
import { ApiError, siteSchemaFormatVersion } from "@paroicms/public-server-lib";
|
|
3
|
+
import { getSiteContext, unloadSiteContext } from "../../site-context/site-context.js";
|
|
4
|
+
import { migrateSiteSchema } from "../../site-schema-migration/site-schema-migration.js";
|
|
5
|
+
import { authGuard } from "../auth/auth.helper.js";
|
|
6
|
+
export const migrationResolvers = {
|
|
7
|
+
Query: {
|
|
8
|
+
migrationInfo: async (_parent, _args, { siteContext, httpContext }) => {
|
|
9
|
+
authGuard(httpContext);
|
|
10
|
+
if (siteContext.status !== "migration") {
|
|
11
|
+
throw new ApiError("Site is not in migration mode", 400);
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
currentSiteSchemaVersion: siteContext.deprecatedSiteSchema.ParoiCMSSiteSchemaFormatVersion,
|
|
15
|
+
targetSiteSchemaVersion: siteSchemaFormatVersion,
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
Mutation: {
|
|
20
|
+
runSiteSchemaMigrations: async (_parent, _args, { siteContext, httpContext }) => {
|
|
21
|
+
authGuard(httpContext);
|
|
22
|
+
if (siteContext.status !== "migration") {
|
|
23
|
+
throw new Error("Site is not in migration mode");
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
await migrateSiteSchema(siteContext);
|
|
27
|
+
await unloadSiteContext(siteContext);
|
|
28
|
+
await getSiteContext(siteContext.fqdn);
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
siteContext.logger.error("Migration failed", error);
|
|
33
|
+
throw new Error(`Migration failed: ${messageOf(error)}`);
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=migration.resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration.resolver.js","sourceRoot":"","sources":["../../../src/admin-backend/migration/migration.resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAGhF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAiC;IAC9D,KAAK,EAAE;QACL,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;YACpE,SAAS,CAAC,WAAW,CAAC,CAAC;YAEvB,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACvC,MAAM,IAAI,QAAQ,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;YAC3D,CAAC;YAED,OAAO;gBACL,wBAAwB,EAAE,WAAW,CAAC,oBAAoB,CAAC,+BAA+B;gBAC1F,uBAAuB,EAAE,uBAAuB;aACjD,CAAC;QACJ,CAAC;KACF;IAED,QAAQ,EAAE;QACR,uBAAuB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;YAC9E,SAAS,CAAC,WAAW,CAAC,CAAC;YAEvB,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBAGrC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBACrC,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAEvC,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,qBAAqB,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Tracker } from "@paroicms/internal-server-lib";
|
|
2
|
+
import { type ParsedLNodeId } from "@paroicms/public-anywhere-lib";
|
|
3
|
+
import type { SiteContext } from "../../site-context/site-context.types.js";
|
|
4
|
+
export interface NodeAncestorWithSlug {
|
|
5
|
+
nodeId: string;
|
|
6
|
+
typeName: string;
|
|
7
|
+
relativeId: string;
|
|
8
|
+
parentId: string;
|
|
9
|
+
ready: boolean;
|
|
10
|
+
publishDate?: Date;
|
|
11
|
+
slug?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function getNodeAncestorsWithSlug(siteContext: Pick<SiteContext, "cn">, tracker: Tracker, { nodeId, language }: ParsedLNodeId): Promise<NodeAncestorWithSlug[]>;
|
|
14
|
+
export interface NodeAncestorWithTitle {
|
|
15
|
+
nodeId: string;
|
|
16
|
+
typeName: string;
|
|
17
|
+
relativeId: string;
|
|
18
|
+
parentId: string;
|
|
19
|
+
ready?: boolean;
|
|
20
|
+
publishDate?: Date;
|
|
21
|
+
title?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function getNodeAncestorsForBreadcrumb(siteContext: Pick<SiteContext, "cn">, tracker: Tracker, { nodeId, language }: ParsedLNodeId, options?: {
|
|
24
|
+
ensurePublished?: boolean;
|
|
25
|
+
}): Promise<NodeAncestorWithTitle[]>;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { parseSqliteDateTime } from "@paroicms/internal-server-lib";
|
|
2
|
+
import { isDef } from "@paroicms/public-anywhere-lib";
|
|
3
|
+
import { ApiError } from "@paroicms/public-server-lib";
|
|
4
|
+
import { type } from "arktype";
|
|
5
|
+
import { mainDbSchemaName } from "../../connector/db-init/db-constants.js";
|
|
6
|
+
const nodeAncestorsSubQueryWithOneParam = `
|
|
7
|
+
SELECT id, typeName, relativeId, publishDate, parentId, 0 as depth
|
|
8
|
+
FROM PaNode
|
|
9
|
+
WHERE id = ?
|
|
10
|
+
|
|
11
|
+
UNION ALL
|
|
12
|
+
|
|
13
|
+
SELECT p.id, p.typeName, p.relativeId, p.publishDate, p.parentId, na.depth + 1 as depth
|
|
14
|
+
FROM PaNode p
|
|
15
|
+
INNER JOIN node_ancestors na ON na.parentId = p.id
|
|
16
|
+
WHERE p.parentId IS NOT NULL
|
|
17
|
+
`;
|
|
18
|
+
const NodeAncestorWithSlugRowAT = type({
|
|
19
|
+
id: "number",
|
|
20
|
+
typeName: "string",
|
|
21
|
+
relativeId: "string",
|
|
22
|
+
parentId: "number",
|
|
23
|
+
publishDate: "Date|string|number|null",
|
|
24
|
+
depth: "number",
|
|
25
|
+
ready: "number|null",
|
|
26
|
+
slug: "string|null",
|
|
27
|
+
"+": "reject",
|
|
28
|
+
}).pipe((r) => ({
|
|
29
|
+
nodeId: String(r.id),
|
|
30
|
+
typeName: r.typeName,
|
|
31
|
+
relativeId: r.relativeId,
|
|
32
|
+
parentId: String(r.parentId),
|
|
33
|
+
publishDate: r.publishDate ? parseSqliteDateTime(r.publishDate) : undefined,
|
|
34
|
+
ready: isDef(r.ready) ? Boolean(r.ready) : undefined,
|
|
35
|
+
slug: r.slug ?? undefined,
|
|
36
|
+
}));
|
|
37
|
+
export async function getNodeAncestorsWithSlug(siteContext, tracker, { nodeId, language }) {
|
|
38
|
+
const rows = await siteContext.cn.raw(`
|
|
39
|
+
WITH RECURSIVE node_ancestors AS (${nodeAncestorsSubQueryWithOneParam})
|
|
40
|
+
SELECT
|
|
41
|
+
na.id,
|
|
42
|
+
na.typeName,
|
|
43
|
+
na.relativeId,
|
|
44
|
+
na.parentId,
|
|
45
|
+
na.publishDate,
|
|
46
|
+
na.depth,
|
|
47
|
+
l.ready,
|
|
48
|
+
d.slug
|
|
49
|
+
FROM node_ancestors na
|
|
50
|
+
LEFT JOIN PaLNode l ON l.nodeId = na.id AND l.language = ?
|
|
51
|
+
LEFT JOIN PaDocument d ON d.nodeId = l.nodeId AND d.language = l.language
|
|
52
|
+
ORDER BY na.depth ASC
|
|
53
|
+
`, [nodeId, language]);
|
|
54
|
+
tracker.trackAccess(mainDbSchemaName, "PaNode", "read");
|
|
55
|
+
if (rows.length === 0) {
|
|
56
|
+
throw new ApiError(`cannot find node '${nodeId}'`, 404);
|
|
57
|
+
}
|
|
58
|
+
const result = [];
|
|
59
|
+
for (const row of rows) {
|
|
60
|
+
const { ready, ...ancestor } = NodeAncestorWithSlugRowAT.assert(row);
|
|
61
|
+
if (ready === undefined)
|
|
62
|
+
throw new Error(`missing "${language}" for node "${ancestor.nodeId}"`);
|
|
63
|
+
result.push({ ready, ...ancestor });
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
}
|
|
67
|
+
const NodeAncestorWithTitleRowAT = type({
|
|
68
|
+
id: "number",
|
|
69
|
+
typeName: "string",
|
|
70
|
+
relativeId: "string",
|
|
71
|
+
parentId: "number",
|
|
72
|
+
publishDate: "Date|string|number|null",
|
|
73
|
+
depth: "number",
|
|
74
|
+
ready: "number|null",
|
|
75
|
+
title: "string|null",
|
|
76
|
+
"+": "reject",
|
|
77
|
+
}).pipe((r) => ({
|
|
78
|
+
nodeId: String(r.id),
|
|
79
|
+
typeName: r.typeName,
|
|
80
|
+
relativeId: r.relativeId,
|
|
81
|
+
parentId: String(r.parentId),
|
|
82
|
+
publishDate: r.publishDate ? parseSqliteDateTime(r.publishDate) : undefined,
|
|
83
|
+
ready: isDef(r.ready) ? Boolean(r.ready) : undefined,
|
|
84
|
+
title: r.title ?? undefined,
|
|
85
|
+
}));
|
|
86
|
+
export async function getNodeAncestorsForBreadcrumb(siteContext, tracker, { nodeId, language }, options = {}) {
|
|
87
|
+
const rows = await siteContext.cn.raw(`
|
|
88
|
+
WITH RECURSIVE node_ancestors AS (${nodeAncestorsSubQueryWithOneParam})
|
|
89
|
+
SELECT
|
|
90
|
+
na.id,
|
|
91
|
+
na.typeName,
|
|
92
|
+
na.relativeId,
|
|
93
|
+
na.parentId,
|
|
94
|
+
na.publishDate,
|
|
95
|
+
na.depth,
|
|
96
|
+
l.ready,
|
|
97
|
+
d.title
|
|
98
|
+
FROM node_ancestors na
|
|
99
|
+
INNER JOIN PaLNode l ON l.nodeId = na.id AND l.language = ?
|
|
100
|
+
LEFT JOIN PaDocument d ON d.nodeId = l.nodeId AND d.language = l.language
|
|
101
|
+
ORDER BY na.depth ASC
|
|
102
|
+
`, [nodeId, language]);
|
|
103
|
+
tracker.trackAccess(mainDbSchemaName, "PaNode", "read");
|
|
104
|
+
if (rows.length === 0) {
|
|
105
|
+
throw new ApiError(`cannot find node '${nodeId}'`, 404);
|
|
106
|
+
}
|
|
107
|
+
const result = rows.map((row) => NodeAncestorWithTitleRowAT.assert(row));
|
|
108
|
+
if (options.ensurePublished) {
|
|
109
|
+
const now = Date.now();
|
|
110
|
+
if (result.some(({ publishDate, ready }) => !ready || !publishDate || publishDate.getTime() > now)) {
|
|
111
|
+
throw new ApiError(`node '${nodeId}' has an unpublished ancestor`, 404);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return result;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=node-cte.queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-cte.queries.js","sourceRoot":"","sources":["../../../src/admin-backend/node/node-cte.queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type Tracker } from "@paroicms/internal-server-lib";
|
|
2
1
|
import type { ScDocumentType } from "@paroicms/public-anywhere-lib";
|
|
3
2
|
import type { SiteContext } from "../../site-context/site-context.types.js";
|
|
4
3
|
export interface NodeSeed {
|
|
@@ -11,12 +10,11 @@ export interface NodeSeed {
|
|
|
11
10
|
export declare function getTypeNameOf(siteContext: Pick<SiteContext, "cn">, nodeId: string): Promise<string>;
|
|
12
11
|
export declare function getDocumentSchemaOf(siteContext: Pick<SiteContext, "cn" | "siteSchema">, nodeId: string): Promise<ScDocumentType>;
|
|
13
12
|
export declare function findOneNode({ cn }: SiteContext, id: string): Promise<NodeSeed>;
|
|
14
|
-
export declare function
|
|
13
|
+
export declare function getLanguagesOfNode({ cn, siteSchema }: Pick<SiteContext, "cn" | "siteSchema">, nodeId: string): Promise<string[]>;
|
|
15
14
|
export declare function setNodePublishDate(siteContext: SiteContext, { nodeId, publishDate }: {
|
|
16
15
|
nodeId: string;
|
|
17
16
|
publishDate: Date | null;
|
|
18
17
|
}): Promise<void>;
|
|
19
|
-
export declare function getNodeDepth(siteContext: Pick<SiteContext, "cn">, tracker: Tracker, nodeId: string): Promise<number>;
|
|
20
18
|
export declare function countNodeChildrenOf(siteContext: Pick<SiteContext, "cn">, parendId: string): Promise<number>;
|
|
21
19
|
export declare function getScheduledNodes(siteContext: Pick<SiteContext, "cn">): Promise<{
|
|
22
20
|
nodeId: string;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { mainDbSchemaName } from "@paroicms/connector";
|
|
2
1
|
import { getNodeTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
3
2
|
import { parseSqliteDateTime, sqliteDateTime } from "@paroicms/internal-server-lib";
|
|
4
3
|
import { ApiError } from "@paroicms/public-server-lib";
|
|
@@ -54,8 +53,11 @@ const LanguageRowAT = type({
|
|
|
54
53
|
language: "string",
|
|
55
54
|
"+": "reject",
|
|
56
55
|
});
|
|
57
|
-
export async function
|
|
58
|
-
const rows = await cn("PaLNode as l")
|
|
56
|
+
export async function getLanguagesOfNode({ cn, siteSchema }, nodeId) {
|
|
57
|
+
const rows = await cn("PaLNode as l")
|
|
58
|
+
.select("l.language")
|
|
59
|
+
.where("l.nodeId", nodeId)
|
|
60
|
+
.whereIn("l.language", siteSchema.languages);
|
|
59
61
|
return rows.map((row) => LanguageRowAT.assert(row).language);
|
|
60
62
|
}
|
|
61
63
|
const SetNodePublishDateRowAT = type({
|
|
@@ -142,22 +144,6 @@ async function invalidateOrSchedulePart(siteContext, options) {
|
|
|
142
144
|
await siteContext.textCache.scheduleInvalidation(eventKey, depKeys, publishDate);
|
|
143
145
|
}
|
|
144
146
|
}
|
|
145
|
-
const NodeDepthRowAT = type({
|
|
146
|
-
depth: "number",
|
|
147
|
-
"+": "reject",
|
|
148
|
-
});
|
|
149
|
-
export async function getNodeDepth(siteContext, tracker, nodeId) {
|
|
150
|
-
const row = await siteContext
|
|
151
|
-
.cn("PaNode as l")
|
|
152
|
-
.select("l.depth")
|
|
153
|
-
.where("l.id", nodeId)
|
|
154
|
-
.first();
|
|
155
|
-
tracker.trackAccess(mainDbSchemaName, "PaNode", "read");
|
|
156
|
-
if (!row)
|
|
157
|
-
throw new ApiError(`cannot find node '${nodeId}'`, 404);
|
|
158
|
-
const validated = NodeDepthRowAT.assert(row);
|
|
159
|
-
return validated.depth;
|
|
160
|
-
}
|
|
161
147
|
const NodeChildrenCountRowAT = type({
|
|
162
148
|
cnt: "number",
|
|
163
149
|
"+": "reject",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.queries.js","sourceRoot":"","sources":["../../../src/admin-backend/node/node.queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"node.queries.js","sourceRoot":"","sources":["../../../src/admin-backend/node/node.queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { GqlResolvers } from "../../graphql/generated-graphql-types.d.ts";
|
|
2
|
-
import type
|
|
2
|
+
import { type GraphqlContext } from "../../graphql/graphql.types.js";
|
|
3
3
|
export declare const nodeResolvers: GqlResolvers<GraphqlContext>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { GqlResolvers } from "../../graphql/generated-graphql-types.d.ts";
|
|
2
|
-
import type
|
|
2
|
+
import { type GraphqlContext } from "../../graphql/graphql.types.js";
|
|
3
3
|
export declare const extendLNodeWrapWithNodeResolver: GqlResolvers<GraphqlContext>;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { siteReadyGuard } from "../../graphql/graphql.types.js";
|
|
1
2
|
import { authGuard } from "../auth/auth.helper.js";
|
|
2
3
|
import { findOneNode } from "./node.queries.js";
|
|
3
4
|
export const extendLNodeWrapWithNodeResolver = {
|
|
4
5
|
LNodeWrap: {
|
|
5
6
|
node: async ({ nodeId }, _args, { siteContext, httpContext }) => {
|
|
6
7
|
authGuard(httpContext);
|
|
8
|
+
siteReadyGuard(siteContext);
|
|
7
9
|
return await findOneNode(siteContext, nodeId);
|
|
8
10
|
},
|
|
9
11
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.resolver.extend.js","sourceRoot":"","sources":["../../../src/admin-backend/node/node.resolver.extend.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.resolver.extend.js","sourceRoot":"","sources":["../../../src/admin-backend/node/node.resolver.extend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAuB,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAE/D,MAAM,CAAC,MAAM,+BAA+B,GAAiC;IAC3E,SAAS,EAAE;QACT,IAAI,EAAE,KAAK,EACT,EAAE,MAAM,EAAiB,EACzB,KAAK,EACL,EAAE,WAAW,EAAE,WAAW,EAAkB,EACzB,EAAE;YACrB,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,OAAO,MAAM,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;KACF;CACF,CAAC"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
+
import { siteReadyGuard } from "../../graphql/graphql.types.js";
|
|
1
2
|
import { authGuard } from "../auth/auth.helper.js";
|
|
2
|
-
import { findOneNode,
|
|
3
|
+
import { findOneNode, getLanguagesOfNode, setNodePublishDate, } from "./node.queries.js";
|
|
3
4
|
import { reorderNodes } from "./ordered-node.queries.js";
|
|
4
5
|
export const nodeResolvers = {
|
|
5
6
|
Query: {
|
|
6
7
|
translationsOf: async (_parent, { nodeId }, { siteContext }) => {
|
|
7
|
-
|
|
8
|
+
siteReadyGuard(siteContext);
|
|
9
|
+
return await getLanguagesOfNode(siteContext, nodeId);
|
|
8
10
|
},
|
|
9
11
|
},
|
|
10
12
|
Mutation: {
|
|
11
13
|
setNodePublishDate: async (_parent, { nodeId, publishDate }, { siteContext, httpContext }) => {
|
|
12
14
|
authGuard(httpContext);
|
|
15
|
+
siteReadyGuard(siteContext);
|
|
13
16
|
await setNodePublishDate(siteContext, {
|
|
14
17
|
nodeId,
|
|
15
18
|
publishDate,
|
|
@@ -18,10 +21,12 @@ export const nodeResolvers = {
|
|
|
18
21
|
},
|
|
19
22
|
reorderDocuments: async (_parent, { nodeIds, parentNodeId }, { siteContext, httpContext }) => {
|
|
20
23
|
authGuard(httpContext);
|
|
24
|
+
siteReadyGuard(siteContext);
|
|
21
25
|
return reorderNodes(siteContext, { nodeIds, parentNodeId });
|
|
22
26
|
},
|
|
23
27
|
reorderParts: async (_parent, { nodeIds, parentNodeId, listName }, { siteContext, httpContext }) => {
|
|
24
28
|
authGuard(httpContext);
|
|
29
|
+
siteReadyGuard(siteContext);
|
|
25
30
|
return reorderNodes(siteContext, { nodeIds, parentNodeId, listName });
|
|
26
31
|
},
|
|
27
32
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.resolver.js","sourceRoot":"","sources":["../../../src/admin-backend/node/node.resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.resolver.js","sourceRoot":"","sources":["../../../src/admin-backend/node/node.resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAuB,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAiC;IACzD,KAAK,EAAE;QACL,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;YAC7D,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,OAAO,MAAM,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;KACF;IACD,QAAQ,EAAE;QACR,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;YAC3F,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,MAAM,kBAAkB,CAAC,WAAW,EAAE;gBACpC,MAAM;gBACN,WAAW;aACZ,CAAC,CAAC;YACH,OAAO,MAAM,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE;YAC3F,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,OAAO,YAAY,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,YAAY,EAAE,KAAK,EACjB,OAAO,EACP,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,EACnC,EAAE,WAAW,EAAE,WAAW,EAAE,EAC5B,EAAE;YACF,SAAS,CAAC,WAAW,CAAC,CAAC;YACvB,cAAc,CAAC,WAAW,CAAC,CAAC;YAC5B,OAAO,YAAY,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxE,CAAC;KACF;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,KAAK,EAAE,EAAE,WAAW,EAAY,EAAE,KAAK,EAAE,EAAE;YACpD,IAAI,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YAC/B,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtD,CAAC;KACF;CACF,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createNode } from "@paroicms/connector";
|
|
2
1
|
import { getDocumentTypeByName, getPartTypeByName } from "@paroicms/internal-anywhere-lib";
|
|
3
2
|
import { parseSqliteDateTime } from "@paroicms/internal-server-lib";
|
|
4
3
|
import { encodeLNodeId, isDef, } from "@paroicms/public-anywhere-lib";
|
|
@@ -6,6 +5,7 @@ import { ApiError } from "@paroicms/public-server-lib";
|
|
|
6
5
|
import { type } from "arktype";
|
|
7
6
|
import { getHandleOfFeaturedImage } from "../../common/media-handles.helpers.js";
|
|
8
7
|
import { invalidateDocumentInCache } from "../../common/text-cache.js";
|
|
8
|
+
import { createNode } from "../../connector/db-init/init-node-queries.js";
|
|
9
9
|
import { isOrphanNode } from "../lnode/lnode.queries.js";
|
|
10
10
|
import { createPartNode, shiftPartNodeOrdersAfterDeletion } from "./part-node.queries.js";
|
|
11
11
|
export async function createPartOnNode(siteContext, newId) {
|