@kywi-software/core 0.2.1 → 0.3.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 +57 -2
- package/dist/admin/app.d.ts +10 -1
- package/dist/admin/app.d.ts.map +1 -1
- package/dist/admin/app.js +2 -2
- package/dist/admin/app.js.map +1 -1
- package/dist/admin/approval-queue.d.ts +3 -1
- package/dist/admin/approval-queue.d.ts.map +1 -1
- package/dist/admin/approval-queue.js +2 -2
- package/dist/admin/approval-queue.js.map +1 -1
- package/dist/admin/audience-list.d.ts.map +1 -1
- package/dist/admin/audience-list.js +9 -1
- package/dist/admin/audience-list.js.map +1 -1
- package/dist/admin/chrome.d.ts +7 -1
- package/dist/admin/chrome.d.ts.map +1 -1
- package/dist/admin/chrome.js +2 -1
- package/dist/admin/chrome.js.map +1 -1
- package/dist/admin/content-editor-api.d.ts +27 -1
- package/dist/admin/content-editor-api.d.ts.map +1 -1
- package/dist/admin/content-editor-api.js +60 -2
- package/dist/admin/content-editor-api.js.map +1 -1
- package/dist/admin/content-form.d.ts +62 -6
- package/dist/admin/content-form.d.ts.map +1 -1
- package/dist/admin/content-form.js +118 -13
- package/dist/admin/content-form.js.map +1 -1
- package/dist/admin/content-permissions-tab.d.ts +13 -0
- package/dist/admin/content-permissions-tab.d.ts.map +1 -0
- package/dist/admin/content-permissions-tab.js +90 -0
- package/dist/admin/content-permissions-tab.js.map +1 -0
- package/dist/admin/context.d.ts +8 -0
- package/dist/admin/context.d.ts.map +1 -1
- package/dist/admin/context.js.map +1 -1
- package/dist/admin/feed-builder.d.ts.map +1 -1
- package/dist/admin/feed-builder.js +20 -1
- package/dist/admin/feed-builder.js.map +1 -1
- package/dist/admin/field-components.d.ts.map +1 -1
- package/dist/admin/field-components.js +26 -1
- package/dist/admin/field-components.js.map +1 -1
- package/dist/admin/form-builder.js +6 -1
- package/dist/admin/form-builder.js.map +1 -1
- package/dist/admin/form-helpers.d.ts.map +1 -1
- package/dist/admin/form-helpers.js +2 -0
- package/dist/admin/form-helpers.js.map +1 -1
- package/dist/admin/layout-editor/component-actions.d.ts +18 -0
- package/dist/admin/layout-editor/component-actions.d.ts.map +1 -1
- package/dist/admin/layout-editor/component-actions.js +19 -0
- package/dist/admin/layout-editor/component-actions.js.map +1 -1
- package/dist/admin/layout-editor/component-picker-field.d.ts +20 -0
- package/dist/admin/layout-editor/component-picker-field.d.ts.map +1 -0
- package/dist/admin/layout-editor/component-picker-field.js +16 -0
- package/dist/admin/layout-editor/component-picker-field.js.map +1 -0
- package/dist/admin/layout-editor/drag-utils.d.ts +48 -0
- package/dist/admin/layout-editor/drag-utils.d.ts.map +1 -1
- package/dist/admin/layout-editor/drag-utils.js +43 -0
- package/dist/admin/layout-editor/drag-utils.js.map +1 -1
- package/dist/admin/layout-editor/editor-canvas.d.ts +9 -1
- package/dist/admin/layout-editor/editor-canvas.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-canvas.js +41 -15
- package/dist/admin/layout-editor/editor-canvas.js.map +1 -1
- package/dist/admin/layout-editor/editor-state.d.ts +9 -1
- package/dist/admin/layout-editor/editor-state.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-state.js +34 -0
- package/dist/admin/layout-editor/editor-state.js.map +1 -1
- package/dist/admin/layout-editor/editor.css +83 -0
- package/dist/admin/layout-editor/form-picker-field.d.ts +17 -0
- package/dist/admin/layout-editor/form-picker-field.d.ts.map +1 -0
- package/dist/admin/layout-editor/form-picker-field.js +35 -0
- package/dist/admin/layout-editor/form-picker-field.js.map +1 -0
- package/dist/admin/layout-editor/layout-editor.d.ts.map +1 -1
- package/dist/admin/layout-editor/layout-editor.js +95 -28
- package/dist/admin/layout-editor/layout-editor.js.map +1 -1
- package/dist/admin/layout-editor/mode-toggle.d.ts.map +1 -1
- package/dist/admin/layout-editor/mode-toggle.js +1 -1
- package/dist/admin/layout-editor/mode-toggle.js.map +1 -1
- package/dist/admin/layout-editor/module-overlay.d.ts +10 -1
- package/dist/admin/layout-editor/module-overlay.d.ts.map +1 -1
- package/dist/admin/layout-editor/module-overlay.js +3 -3
- package/dist/admin/layout-editor/module-overlay.js.map +1 -1
- package/dist/admin/layout-editor/props-panel.d.ts +10 -1
- package/dist/admin/layout-editor/props-panel.d.ts.map +1 -1
- package/dist/admin/layout-editor/props-panel.js +25 -2
- package/dist/admin/layout-editor/props-panel.js.map +1 -1
- package/dist/admin/layout-editor/section-insert-line.d.ts.map +1 -1
- package/dist/admin/layout-editor/section-insert-line.js +1 -1
- package/dist/admin/layout-editor/section-insert-line.js.map +1 -1
- package/dist/admin/layout-editor/section-overlay.d.ts.map +1 -1
- package/dist/admin/layout-editor/section-overlay.js +1 -1
- package/dist/admin/layout-editor/section-overlay.js.map +1 -1
- package/dist/admin/layout-editor/section-template-picker.d.ts +9 -1
- package/dist/admin/layout-editor/section-template-picker.d.ts.map +1 -1
- package/dist/admin/layout-editor/section-template-picker.js +45 -2
- package/dist/admin/layout-editor/section-template-picker.js.map +1 -1
- package/dist/admin/registry.d.ts.map +1 -1
- package/dist/admin/registry.js +11 -0
- package/dist/admin/registry.js.map +1 -1
- package/dist/admin/server.d.ts +15 -2
- package/dist/admin/server.d.ts.map +1 -1
- package/dist/admin/server.js +37 -1
- package/dist/admin/server.js.map +1 -1
- package/dist/admin/styles/admin.css +16 -4
- package/dist/admin/surface-matcher.d.ts +27 -0
- package/dist/admin/surface-matcher.d.ts.map +1 -1
- package/dist/admin/surface-matcher.js +11 -0
- package/dist/admin/surface-matcher.js.map +1 -1
- package/dist/admin/surfaces/approvals/approvals-data.d.ts +29 -9
- package/dist/admin/surfaces/approvals/approvals-data.d.ts.map +1 -1
- package/dist/admin/surfaces/approvals/approvals-data.js +65 -22
- package/dist/admin/surfaces/approvals/approvals-data.js.map +1 -1
- package/dist/admin/surfaces/approvals/approvals-index.d.ts.map +1 -1
- package/dist/admin/surfaces/approvals/approvals-index.js +47 -14
- package/dist/admin/surfaces/approvals/approvals-index.js.map +1 -1
- package/dist/admin/surfaces/content/content-edit.d.ts.map +1 -1
- package/dist/admin/surfaces/content/content-edit.js +34 -8
- package/dist/admin/surfaces/content/content-edit.js.map +1 -1
- package/dist/admin/surfaces/content/content-index.d.ts.map +1 -1
- package/dist/admin/surfaces/content/content-index.js +29 -2
- package/dist/admin/surfaces/content/content-index.js.map +1 -1
- package/dist/admin/surfaces/content/content-new.d.ts.map +1 -1
- package/dist/admin/surfaces/content/content-new.js +6 -4
- package/dist/admin/surfaces/content/content-new.js.map +1 -1
- package/dist/admin/surfaces/contentTree/content-tree.d.ts.map +1 -1
- package/dist/admin/surfaces/contentTree/content-tree.js +25 -2
- package/dist/admin/surfaces/contentTree/content-tree.js.map +1 -1
- package/dist/admin/surfaces/contentTypes/content-types-designer.d.ts.map +1 -1
- package/dist/admin/surfaces/contentTypes/content-types-designer.js +78 -47
- package/dist/admin/surfaces/contentTypes/content-types-designer.js.map +1 -1
- package/dist/admin/surfaces/feeds/feed-editor.d.ts.map +1 -1
- package/dist/admin/surfaces/feeds/feed-editor.js +21 -4
- package/dist/admin/surfaces/feeds/feed-editor.js.map +1 -1
- package/dist/admin/surfaces/layouts/layout-editor-client.d.ts.map +1 -1
- package/dist/admin/surfaces/layouts/layout-editor-client.js +7 -4
- package/dist/admin/surfaces/layouts/layout-editor-client.js.map +1 -1
- package/dist/admin/surfaces/media/media-client.d.ts.map +1 -1
- package/dist/admin/surfaces/media/media-client.js +10 -2
- package/dist/admin/surfaces/media/media-client.js.map +1 -1
- package/dist/admin/surfaces/settings/settings-site.d.ts.map +1 -1
- package/dist/admin/surfaces/settings/settings-site.js +39 -2
- package/dist/admin/surfaces/settings/settings-site.js.map +1 -1
- package/dist/admin/surfaces/settings/settings-sites.js +18 -0
- package/dist/admin/surfaces/settings/settings-sites.js.map +1 -1
- package/dist/admin/surfaces/trash/trash-index.d.ts.map +1 -1
- package/dist/admin/surfaces/trash/trash-index.js +45 -8
- package/dist/admin/surfaces/trash/trash-index.js.map +1 -1
- package/dist/admin/surfaces/users/users-data.d.ts +11 -0
- package/dist/admin/surfaces/users/users-data.d.ts.map +1 -1
- package/dist/admin/surfaces/users/users-data.js +20 -1
- package/dist/admin/surfaces/users/users-data.js.map +1 -1
- package/dist/admin/surfaces/webServices/web-services-data.d.ts +11 -1
- package/dist/admin/surfaces/webServices/web-services-data.d.ts.map +1 -1
- package/dist/admin/surfaces/webServices/web-services-data.js +13 -0
- package/dist/admin/surfaces/webServices/web-services-data.js.map +1 -1
- package/dist/admin/surfaces/webServices/webhooks.d.ts +3 -0
- package/dist/admin/surfaces/webServices/webhooks.d.ts.map +1 -0
- package/dist/admin/surfaces/webServices/webhooks.js +69 -0
- package/dist/admin/surfaces/webServices/webhooks.js.map +1 -0
- package/dist/admin/webhook-manager.d.ts +32 -0
- package/dist/admin/webhook-manager.d.ts.map +1 -0
- package/dist/admin/webhook-manager.js +62 -0
- package/dist/admin/webhook-manager.js.map +1 -0
- package/dist/api/admin-features-routes.d.ts.map +1 -1
- package/dist/api/admin-features-routes.js +30 -0
- package/dist/api/admin-features-routes.js.map +1 -1
- package/dist/api/api-key-routes.d.ts.map +1 -1
- package/dist/api/api-key-routes.js +6 -1
- package/dist/api/api-key-routes.js.map +1 -1
- package/dist/api/auth.d.ts +8 -0
- package/dist/api/auth.d.ts.map +1 -1
- package/dist/api/auth.js +11 -1
- package/dist/api/auth.js.map +1 -1
- package/dist/api/comment-routes.d.ts.map +1 -1
- package/dist/api/comment-routes.js +102 -47
- package/dist/api/comment-routes.js.map +1 -1
- package/dist/api/config-routes.d.ts +10 -2
- package/dist/api/config-routes.d.ts.map +1 -1
- package/dist/api/config-routes.js +46 -25
- package/dist/api/config-routes.js.map +1 -1
- package/dist/api/content-routes.d.ts.map +1 -1
- package/dist/api/content-routes.js +41 -0
- package/dist/api/content-routes.js.map +1 -1
- package/dist/api/content-schemas.d.ts.map +1 -1
- package/dist/api/content-schemas.js +34 -1
- package/dist/api/content-schemas.js.map +1 -1
- package/dist/api/content-type-routes.d.ts.map +1 -1
- package/dist/api/content-type-routes.js +58 -3
- package/dist/api/content-type-routes.js.map +1 -1
- package/dist/api/feed-routes.d.ts +180 -0
- package/dist/api/feed-routes.d.ts.map +1 -1
- package/dist/api/feed-routes.js +10 -2
- package/dist/api/feed-routes.js.map +1 -1
- package/dist/api/form-routes.d.ts +6 -0
- package/dist/api/form-routes.d.ts.map +1 -1
- package/dist/api/form-routes.js +93 -14
- package/dist/api/form-routes.js.map +1 -1
- package/dist/api/graphql/resolvers.d.ts +4 -4
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +12 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/media-routes.d.ts.map +1 -1
- package/dist/api/media-routes.js +18 -1
- package/dist/api/media-routes.js.map +1 -1
- package/dist/api/webhook-routes.d.ts.map +1 -1
- package/dist/api/webhook-routes.js +19 -2
- package/dist/api/webhook-routes.js.map +1 -1
- package/dist/api/workflow-routes.d.ts.map +1 -1
- package/dist/api/workflow-routes.js +163 -4
- package/dist/api/workflow-routes.js.map +1 -1
- package/dist/auth/roles.d.ts +28 -0
- package/dist/auth/roles.d.ts.map +1 -1
- package/dist/auth/roles.js +49 -0
- package/dist/auth/roles.js.map +1 -1
- package/dist/config/reserved-field-names.d.ts +29 -0
- package/dist/config/reserved-field-names.d.ts.map +1 -0
- package/dist/config/reserved-field-names.js +59 -0
- package/dist/config/reserved-field-names.js.map +1 -0
- package/dist/config/types.d.ts +31 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/db/analytics-queries.d.ts +1 -1
- package/dist/db/api-key-queries.d.ts +7 -2
- package/dist/db/api-key-queries.d.ts.map +1 -1
- package/dist/db/api-key-queries.js +8 -2
- package/dist/db/api-key-queries.js.map +1 -1
- package/dist/db/apply-snapshot.d.ts +58 -0
- package/dist/db/apply-snapshot.d.ts.map +1 -0
- package/dist/db/apply-snapshot.js +142 -0
- package/dist/db/apply-snapshot.js.map +1 -0
- package/dist/db/audit-queries.d.ts +3 -3
- package/dist/db/category-queries.d.ts +3 -3
- package/dist/db/changeset-audit-queries.d.ts +2 -2
- package/dist/db/changeset-queries.d.ts +5 -5
- package/dist/db/changeset-queries.d.ts.map +1 -1
- package/dist/db/changeset-queries.js +24 -7
- package/dist/db/changeset-queries.js.map +1 -1
- package/dist/db/content-queries.d.ts +6 -0
- package/dist/db/content-queries.d.ts.map +1 -1
- package/dist/db/content-queries.js +8 -0
- package/dist/db/content-queries.js.map +1 -1
- package/dist/db/content-type-queries.d.ts +20 -0
- package/dist/db/content-type-queries.d.ts.map +1 -1
- package/dist/db/content-type-queries.js +32 -0
- package/dist/db/content-type-queries.js.map +1 -1
- package/dist/db/dashboard-queries.d.ts.map +1 -1
- package/dist/db/dashboard-queries.js +5 -1
- package/dist/db/dashboard-queries.js.map +1 -1
- package/dist/db/dynamic-schema.d.ts.map +1 -1
- package/dist/db/dynamic-schema.js +2 -0
- package/dist/db/dynamic-schema.js.map +1 -1
- package/dist/db/extension-queries.d.ts +8 -8
- package/dist/db/feed-queries.d.ts +3 -3
- package/dist/db/index.d.ts +3 -0
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +7 -0
- package/dist/db/index.js.map +1 -1
- package/dist/db/media-queries.d.ts +31 -7
- package/dist/db/media-queries.d.ts.map +1 -1
- package/dist/db/media-queries.js +13 -1
- package/dist/db/media-queries.js.map +1 -1
- package/dist/db/membership-dedupe.d.ts +26 -0
- package/dist/db/membership-dedupe.d.ts.map +1 -0
- package/dist/db/membership-dedupe.js +68 -0
- package/dist/db/membership-dedupe.js.map +1 -0
- package/dist/db/revision-queries.d.ts +122 -0
- package/dist/db/revision-queries.d.ts.map +1 -0
- package/dist/db/revision-queries.js +213 -0
- package/dist/db/revision-queries.js.map +1 -0
- package/dist/db/schema-apply.d.ts +8 -0
- package/dist/db/schema-apply.d.ts.map +1 -1
- package/dist/db/schema-apply.js +17 -0
- package/dist/db/schema-apply.js.map +1 -1
- package/dist/db/schema-field-queries.d.ts +2 -0
- package/dist/db/schema-field-queries.d.ts.map +1 -1
- package/dist/db/schema-field-queries.js +4 -0
- package/dist/db/schema-field-queries.js.map +1 -1
- package/dist/db/site-plugin-queries.d.ts +2 -2
- package/dist/db/user-queries.d.ts +12 -0
- package/dist/db/user-queries.d.ts.map +1 -1
- package/dist/db/user-queries.js +18 -4
- package/dist/db/user-queries.js.map +1 -1
- package/dist/db/version-queries.d.ts +37 -0
- package/dist/db/version-queries.d.ts.map +1 -1
- package/dist/db/version-queries.js +36 -0
- package/dist/db/version-queries.js.map +1 -1
- package/dist/db/webhook-queries.d.ts +27 -5
- package/dist/db/webhook-queries.d.ts.map +1 -1
- package/dist/db/webhook-queries.js +17 -0
- package/dist/db/webhook-queries.js.map +1 -1
- package/dist/db/workflow-queries.d.ts +2 -2
- package/dist/experiments/schema.d.ts +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/webhook-retry.d.ts +22 -1
- package/dist/hooks/webhook-retry.d.ts.map +1 -1
- package/dist/hooks/webhook-retry.js +38 -1
- package/dist/hooks/webhook-retry.js.map +1 -1
- package/dist/host/index.d.ts +28 -0
- package/dist/host/index.d.ts.map +1 -1
- package/dist/host/index.js +56 -1
- package/dist/host/index.js.map +1 -1
- package/dist/layout/comments-module.d.ts +18 -0
- package/dist/layout/comments-module.d.ts.map +1 -0
- package/dist/layout/comments-module.js +130 -0
- package/dist/layout/comments-module.js.map +1 -0
- package/dist/layout/feed-hydration.d.ts +75 -0
- package/dist/layout/feed-hydration.d.ts.map +1 -0
- package/dist/layout/feed-hydration.js +158 -0
- package/dist/layout/feed-hydration.js.map +1 -0
- package/dist/layout/index.d.ts +2 -1
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js +2 -1
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/module-render-context.d.ts +13 -0
- package/dist/layout/module-render-context.d.ts.map +1 -0
- package/dist/layout/module-render-context.js +15 -0
- package/dist/layout/module-render-context.js.map +1 -0
- package/dist/layout/modules-extended.d.ts.map +1 -1
- package/dist/layout/modules-extended.js +92 -13
- package/dist/layout/modules-extended.js.map +1 -1
- package/dist/layout/registry.d.ts.map +1 -1
- package/dist/layout/registry.js +22 -6
- package/dist/layout/registry.js.map +1 -1
- package/dist/layout/renderer.d.ts +17 -1
- package/dist/layout/renderer.d.ts.map +1 -1
- package/dist/layout/renderer.js +11 -4
- package/dist/layout/renderer.js.map +1 -1
- package/dist/nav/index.d.ts +1 -0
- package/dist/nav/index.d.ts.map +1 -1
- package/dist/nav/index.js +4 -0
- package/dist/nav/index.js.map +1 -1
- package/dist/nav/url-resolver.d.ts +10 -2
- package/dist/nav/url-resolver.d.ts.map +1 -1
- package/dist/nav/url-resolver.js +17 -3
- package/dist/nav/url-resolver.js.map +1 -1
- package/dist/schema/base.d.ts +37 -1
- package/dist/schema/base.d.ts.map +1 -1
- package/dist/schema/base.js +20 -2
- package/dist/schema/base.js.map +1 -1
- package/dist/schema/generate.d.ts +8 -0
- package/dist/schema/generate.d.ts.map +1 -1
- package/dist/schema/generate.js +7 -4
- package/dist/schema/generate.js.map +1 -1
- package/dist/schema/mapper.d.ts.map +1 -1
- package/dist/schema/mapper.js +2 -0
- package/dist/schema/mapper.js.map +1 -1
- package/dist/schema/mysql-tables.d.ts +34 -0
- package/dist/schema/mysql-tables.d.ts.map +1 -1
- package/dist/schema/mysql-tables.js +14 -2
- package/dist/schema/mysql-tables.js.map +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/site/styles.css +384 -0
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key-queries.d.ts","sourceRoot":"","sources":["../../src/db/api-key-queries.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;AAM9E;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EAAE,GACpB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,cAAc,CAAA;CAAE,CAAC,CAWlD;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,CAAC,CAc5C;AAED
|
|
1
|
+
{"version":3,"file":"api-key-queries.d.ts","sourceRoot":"","sources":["../../src/db/api-key-queries.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;AAM9E;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EAAE,GACpB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,cAAc,CAAA;CAAE,CAAC,CAWlD;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,CAAC,CAc5C;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CAiB3D;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAMlB"}
|
|
@@ -40,8 +40,13 @@ export async function listApiKeys(db, userId) {
|
|
|
40
40
|
return rows;
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
|
-
* Resolve a raw API key to its userId and scopes.
|
|
43
|
+
* Resolve a raw API key to its userId and declared scopes.
|
|
44
44
|
* Also updates last_used_at. Returns null if not found.
|
|
45
|
+
*
|
|
46
|
+
* `scopes` is the key's authorization ceiling — callers MUST intersect it with
|
|
47
|
+
* the owner's role (see `effectiveApiKeyRole`) rather than authorizing off the
|
|
48
|
+
* owner alone (#54). It is normalized to a string[] (the `scopes` column is
|
|
49
|
+
* jsonb, hence typed `unknown` at the row level).
|
|
45
50
|
*/
|
|
46
51
|
export async function resolveApiKey(db, rawKey) {
|
|
47
52
|
const keyHash = hashKey(rawKey);
|
|
@@ -57,7 +62,8 @@ export async function resolveApiKey(db, rawKey) {
|
|
|
57
62
|
.set({ lastUsedAt: new Date() })
|
|
58
63
|
.where(eq(kywiApiKeys.id, row.id))
|
|
59
64
|
.catch(() => { });
|
|
60
|
-
|
|
65
|
+
const scopes = Array.isArray(row.scopes) ? row.scopes : [];
|
|
66
|
+
return { userId: row.userId, scopes };
|
|
61
67
|
}
|
|
62
68
|
/**
|
|
63
69
|
* Revoke an API key. The userId must match to prevent cross-user deletion.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key-queries.js","sourceRoot":"","sources":["../../src/db/api-key-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAM/C,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,EAAU,EACV,MAAc,EACd,IAAY,EACZ,MAAqB;IAErB,MAAM,MAAM,GAAG,QAAQ,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAA;IAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAErC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,WAAW,CAAC;SACnB,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;SACpD,SAAS,EAAE,CAAA;IACd,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IACrD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAU,EACV,MAAc;IAEd,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,MAAM,CAAC;QACN,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC;SACD,IAAI,CAAC,WAAW,CAAC;SACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxC,OAAO,IAAI,CAAA;AACb,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"api-key-queries.js","sourceRoot":"","sources":["../../src/db/api-key-queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { PgTableWithColumns } from 'drizzle-orm/pg-core';
|
|
2
|
+
import type { KywiDb } from './client.js';
|
|
3
|
+
/**
|
|
4
|
+
* Shared "apply a stored snapshot back onto the live content row" logic.
|
|
5
|
+
*
|
|
6
|
+
* A snapshot (the `snapshot` jsonb on kywi_content_versions) is the flattened
|
|
7
|
+
* content row at a point in time. Two lifecycle operations write one back onto
|
|
8
|
+
* the live row:
|
|
9
|
+
* - publishing a changeset `update` item (db/changeset-queries.ts, #43), and
|
|
10
|
+
* - approving a pending revision of published content (db/revision-queries.ts, #42).
|
|
11
|
+
*
|
|
12
|
+
* Neither may trust the raw snapshot verbatim: (a) JSON snapshots carry
|
|
13
|
+
* timestamps as ISO strings that drizzle's `timestamp` columns cannot serialise
|
|
14
|
+
* (they call `.toISOString()` on the value), and (b) identity/tree-placement
|
|
15
|
+
* columns (id, siteId, path, slug, parentId, …) are the row's spine and must not
|
|
16
|
+
* be rewritten from history. This module centralises that sanitisation so the
|
|
17
|
+
* changeset-publish and revision-approve paths behave identically.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Columns never applied from a stored snapshot. Three groups: row identity
|
|
21
|
+
* (id/siteId), tree placement + addressing (path, depth, parentId, slug,
|
|
22
|
+
* sortOrder — owned by the move/slug-cascade machinery, never restored from a
|
|
23
|
+
* content snapshot), and write bookkeeping (created*, updated*, deletedAt).
|
|
24
|
+
* `status` and `publishedAt` are skipped too: an apply is always a publish, so
|
|
25
|
+
* the caller sets them explicitly.
|
|
26
|
+
*/
|
|
27
|
+
export declare const SNAPSHOT_SKIP_FIELDS: ReadonlySet<string>;
|
|
28
|
+
/**
|
|
29
|
+
* Pure: reduce a snapshot to the REAL kywi_content base columns that are safe to
|
|
30
|
+
* write back, with `date` columns coerced from ISO strings to `Date`. Custom
|
|
31
|
+
* (side-table) fields and every {@link SNAPSHOT_SKIP_FIELDS} key are dropped.
|
|
32
|
+
* Only keys present in the snapshot appear in the result, so an apply never
|
|
33
|
+
* clobbers a column the snapshot never captured.
|
|
34
|
+
*/
|
|
35
|
+
export declare function sanitizeSnapshotForContentUpdate(snapshot: Record<string, unknown>, skip?: ReadonlySet<string>): Record<string, unknown>;
|
|
36
|
+
/**
|
|
37
|
+
* Pure: extract the custom-field subset of a snapshot (keys declared on the
|
|
38
|
+
* content type), coercing any `date`-typed custom column back to a `Date`. The
|
|
39
|
+
* `customTable` supplies the column types; when it is null nothing is extracted.
|
|
40
|
+
*/
|
|
41
|
+
export declare function extractCustomFieldsFromSnapshot(snapshot: Record<string, unknown>, customFieldNames: readonly string[], customTable: PgTableWithColumns<any> | null): Record<string, unknown>;
|
|
42
|
+
/**
|
|
43
|
+
* Apply a stored snapshot onto the live content row using an existing
|
|
44
|
+
* transaction/handle. Writes the sanitised base columns and (when a customTable
|
|
45
|
+
* is supplied) the custom-field columns, then stamps `status`/`publishedAt`.
|
|
46
|
+
* Identity + tree-placement columns are never touched.
|
|
47
|
+
*
|
|
48
|
+
* `forceStatus` (default 'published') is the status the row lands in — an apply
|
|
49
|
+
* is always a publish of the proposed content. `publishedAt` is preserved via
|
|
50
|
+
* COALESCE so the first-published date survives (matching publishContent).
|
|
51
|
+
*/
|
|
52
|
+
export declare function applyContentSnapshot(db: KywiDb, contentId: string, snapshot: Record<string, unknown>, opts?: {
|
|
53
|
+
forceStatus?: string;
|
|
54
|
+
userId?: string | null;
|
|
55
|
+
customTable?: PgTableWithColumns<any> | null;
|
|
56
|
+
customFieldNames?: readonly string[];
|
|
57
|
+
}): Promise<void>;
|
|
58
|
+
//# sourceMappingURL=apply-snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-snapshot.d.ts","sourceRoot":"","sources":["../../src/db/apply-snapshot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAiBnD,CAAA;AAoBF;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,IAAI,GAAE,WAAW,CAAC,MAAM,CAAwB,GAC/C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,IAAI,GAAE;IACJ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,WAAW,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IAC5C,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC,GACL,OAAO,CAAC,IAAI,CAAC,CAwCf"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { eq, sql, getTableColumns } from 'drizzle-orm';
|
|
2
|
+
import { kywiContent } from '../schema/base.js';
|
|
3
|
+
/**
|
|
4
|
+
* Shared "apply a stored snapshot back onto the live content row" logic.
|
|
5
|
+
*
|
|
6
|
+
* A snapshot (the `snapshot` jsonb on kywi_content_versions) is the flattened
|
|
7
|
+
* content row at a point in time. Two lifecycle operations write one back onto
|
|
8
|
+
* the live row:
|
|
9
|
+
* - publishing a changeset `update` item (db/changeset-queries.ts, #43), and
|
|
10
|
+
* - approving a pending revision of published content (db/revision-queries.ts, #42).
|
|
11
|
+
*
|
|
12
|
+
* Neither may trust the raw snapshot verbatim: (a) JSON snapshots carry
|
|
13
|
+
* timestamps as ISO strings that drizzle's `timestamp` columns cannot serialise
|
|
14
|
+
* (they call `.toISOString()` on the value), and (b) identity/tree-placement
|
|
15
|
+
* columns (id, siteId, path, slug, parentId, …) are the row's spine and must not
|
|
16
|
+
* be rewritten from history. This module centralises that sanitisation so the
|
|
17
|
+
* changeset-publish and revision-approve paths behave identically.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Columns never applied from a stored snapshot. Three groups: row identity
|
|
21
|
+
* (id/siteId), tree placement + addressing (path, depth, parentId, slug,
|
|
22
|
+
* sortOrder — owned by the move/slug-cascade machinery, never restored from a
|
|
23
|
+
* content snapshot), and write bookkeeping (created*, updated*, deletedAt).
|
|
24
|
+
* `status` and `publishedAt` are skipped too: an apply is always a publish, so
|
|
25
|
+
* the caller sets them explicitly.
|
|
26
|
+
*/
|
|
27
|
+
export const SNAPSHOT_SKIP_FIELDS = new Set([
|
|
28
|
+
'id',
|
|
29
|
+
'siteId',
|
|
30
|
+
'createdAt',
|
|
31
|
+
'createdBy',
|
|
32
|
+
'updatedAt',
|
|
33
|
+
'updatedBy',
|
|
34
|
+
'deletedAt',
|
|
35
|
+
'path',
|
|
36
|
+
'depth',
|
|
37
|
+
'parentId',
|
|
38
|
+
'slug',
|
|
39
|
+
'sortOrder',
|
|
40
|
+
'contentTypeName',
|
|
41
|
+
'baseType',
|
|
42
|
+
'status',
|
|
43
|
+
'publishedAt',
|
|
44
|
+
]);
|
|
45
|
+
const BASE_COLUMNS = getTableColumns(kywiContent);
|
|
46
|
+
const DATE_COLUMN_NAMES = new Set(Object.entries(BASE_COLUMNS)
|
|
47
|
+
.filter(([, col]) => col.dataType === 'date')
|
|
48
|
+
.map(([name]) => name));
|
|
49
|
+
/**
|
|
50
|
+
* Coerce a snapshot value bound for a `date`-typed column back into a `Date`.
|
|
51
|
+
* ISO strings (how JSON stores them) become Date; an unparseable value → null.
|
|
52
|
+
*/
|
|
53
|
+
function coerceDate(value) {
|
|
54
|
+
if (value == null)
|
|
55
|
+
return null;
|
|
56
|
+
if (value instanceof Date)
|
|
57
|
+
return value;
|
|
58
|
+
const parsed = new Date(String(value));
|
|
59
|
+
return Number.isNaN(parsed.getTime()) ? null : parsed;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Pure: reduce a snapshot to the REAL kywi_content base columns that are safe to
|
|
63
|
+
* write back, with `date` columns coerced from ISO strings to `Date`. Custom
|
|
64
|
+
* (side-table) fields and every {@link SNAPSHOT_SKIP_FIELDS} key are dropped.
|
|
65
|
+
* Only keys present in the snapshot appear in the result, so an apply never
|
|
66
|
+
* clobbers a column the snapshot never captured.
|
|
67
|
+
*/
|
|
68
|
+
export function sanitizeSnapshotForContentUpdate(snapshot, skip = SNAPSHOT_SKIP_FIELDS) {
|
|
69
|
+
const out = {};
|
|
70
|
+
for (const key of Object.keys(BASE_COLUMNS)) {
|
|
71
|
+
if (skip.has(key) || !(key in snapshot))
|
|
72
|
+
continue;
|
|
73
|
+
const value = snapshot[key];
|
|
74
|
+
out[key] = DATE_COLUMN_NAMES.has(key) && !(value instanceof Date) ? coerceDate(value) : value;
|
|
75
|
+
}
|
|
76
|
+
return out;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Pure: extract the custom-field subset of a snapshot (keys declared on the
|
|
80
|
+
* content type), coercing any `date`-typed custom column back to a `Date`. The
|
|
81
|
+
* `customTable` supplies the column types; when it is null nothing is extracted.
|
|
82
|
+
*/
|
|
83
|
+
export function extractCustomFieldsFromSnapshot(snapshot, customFieldNames, customTable) {
|
|
84
|
+
if (!customTable || customFieldNames.length === 0)
|
|
85
|
+
return {};
|
|
86
|
+
const columns = getTableColumns(customTable);
|
|
87
|
+
const out = {};
|
|
88
|
+
for (const name of customFieldNames) {
|
|
89
|
+
if (!(name in snapshot))
|
|
90
|
+
continue;
|
|
91
|
+
const value = snapshot[name];
|
|
92
|
+
const isDate = columns[name]?.dataType === 'date';
|
|
93
|
+
out[name] = isDate && value != null && !(value instanceof Date) ? coerceDate(value) : value;
|
|
94
|
+
}
|
|
95
|
+
return out;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Apply a stored snapshot onto the live content row using an existing
|
|
99
|
+
* transaction/handle. Writes the sanitised base columns and (when a customTable
|
|
100
|
+
* is supplied) the custom-field columns, then stamps `status`/`publishedAt`.
|
|
101
|
+
* Identity + tree-placement columns are never touched.
|
|
102
|
+
*
|
|
103
|
+
* `forceStatus` (default 'published') is the status the row lands in — an apply
|
|
104
|
+
* is always a publish of the proposed content. `publishedAt` is preserved via
|
|
105
|
+
* COALESCE so the first-published date survives (matching publishContent).
|
|
106
|
+
*/
|
|
107
|
+
export async function applyContentSnapshot(db, contentId, snapshot, opts = {}) {
|
|
108
|
+
const forceStatus = opts.forceStatus ?? 'published';
|
|
109
|
+
const base = sanitizeSnapshotForContentUpdate(snapshot);
|
|
110
|
+
const setValues = {
|
|
111
|
+
...base,
|
|
112
|
+
status: forceStatus,
|
|
113
|
+
updatedAt: new Date(),
|
|
114
|
+
};
|
|
115
|
+
if (opts.userId !== undefined && opts.userId !== null)
|
|
116
|
+
setValues.updatedBy = opts.userId;
|
|
117
|
+
if (forceStatus === 'published') {
|
|
118
|
+
setValues.publishedAt = sql `COALESCE(${kywiContent.publishedAt}, now())`;
|
|
119
|
+
}
|
|
120
|
+
await db
|
|
121
|
+
.update(kywiContent)
|
|
122
|
+
.set(setValues)
|
|
123
|
+
.where(eq(kywiContent.id, contentId));
|
|
124
|
+
const customFields = extractCustomFieldsFromSnapshot(snapshot, opts.customFieldNames ?? [], opts.customTable ?? null);
|
|
125
|
+
if (opts.customTable && Object.keys(customFields).length > 0) {
|
|
126
|
+
const result = await db
|
|
127
|
+
.update(opts.customTable)
|
|
128
|
+
.set(customFields)
|
|
129
|
+
.where(eq(opts.customTable.id, contentId));
|
|
130
|
+
// Insert the custom row if none existed yet (mirrors updateContent).
|
|
131
|
+
if (result?.rowCount === 0) {
|
|
132
|
+
const [row] = await db
|
|
133
|
+
.select({ siteId: kywiContent.siteId })
|
|
134
|
+
.from(kywiContent)
|
|
135
|
+
.where(eq(kywiContent.id, contentId));
|
|
136
|
+
if (row) {
|
|
137
|
+
await db.insert(opts.customTable).values({ id: contentId, siteId: row.siteId, ...customFields });
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=apply-snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-snapshot.js","sourceRoot":"","sources":["../../src/db/apply-snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,10 +12,10 @@ export declare function createAuditEntry(db: KywiDb, data: {
|
|
|
12
12
|
}): Promise<{
|
|
13
13
|
id: string;
|
|
14
14
|
siteId: string;
|
|
15
|
-
action: string;
|
|
16
15
|
createdAt: Date;
|
|
17
16
|
contentId: string;
|
|
18
17
|
userId: string;
|
|
18
|
+
action: string;
|
|
19
19
|
fromStatus: string | null;
|
|
20
20
|
toStatus: string | null;
|
|
21
21
|
changedFields: unknown;
|
|
@@ -24,10 +24,10 @@ export declare function createAuditEntry(db: KywiDb, data: {
|
|
|
24
24
|
export declare function listAuditEntries(db: KywiDb, contentId: string, limit?: number): Promise<{
|
|
25
25
|
id: string;
|
|
26
26
|
siteId: string;
|
|
27
|
-
action: string;
|
|
28
27
|
createdAt: Date;
|
|
29
28
|
contentId: string;
|
|
30
29
|
userId: string;
|
|
30
|
+
action: string;
|
|
31
31
|
fromStatus: string | null;
|
|
32
32
|
toStatus: string | null;
|
|
33
33
|
changedFields: unknown;
|
|
@@ -36,10 +36,10 @@ export declare function listAuditEntries(db: KywiDb, contentId: string, limit?:
|
|
|
36
36
|
export declare function listSiteAuditEntries(db: KywiDb, siteId: string, limit?: number): Promise<{
|
|
37
37
|
id: string;
|
|
38
38
|
siteId: string;
|
|
39
|
-
action: string;
|
|
40
39
|
createdAt: Date;
|
|
41
40
|
contentId: string;
|
|
42
41
|
userId: string;
|
|
42
|
+
action: string;
|
|
43
43
|
fromStatus: string | null;
|
|
44
44
|
toStatus: string | null;
|
|
45
45
|
changedFields: unknown;
|
|
@@ -24,9 +24,9 @@ export declare function listCategories(db: KywiDb, siteId: string, parentId?: st
|
|
|
24
24
|
sortOrder: number;
|
|
25
25
|
updatedAt: Date;
|
|
26
26
|
name: string;
|
|
27
|
-
description: string | null;
|
|
28
27
|
createdAt: Date;
|
|
29
28
|
isActive: boolean;
|
|
29
|
+
description: string | null;
|
|
30
30
|
isInterestGroup: boolean;
|
|
31
31
|
notes: string | null;
|
|
32
32
|
}[]>;
|
|
@@ -38,9 +38,9 @@ export declare function getCategoryById(db: KywiDb, id: string, siteId?: string)
|
|
|
38
38
|
sortOrder: number;
|
|
39
39
|
updatedAt: Date;
|
|
40
40
|
name: string;
|
|
41
|
-
description: string | null;
|
|
42
41
|
createdAt: Date;
|
|
43
42
|
isActive: boolean;
|
|
43
|
+
description: string | null;
|
|
44
44
|
isInterestGroup: boolean;
|
|
45
45
|
notes: string | null;
|
|
46
46
|
} | null>;
|
|
@@ -62,9 +62,9 @@ export declare function createCategory(db: KywiDb, data: {
|
|
|
62
62
|
sortOrder: number;
|
|
63
63
|
updatedAt: Date;
|
|
64
64
|
name: string;
|
|
65
|
-
description: string | null;
|
|
66
65
|
createdAt: Date;
|
|
67
66
|
isActive: boolean;
|
|
67
|
+
description: string | null;
|
|
68
68
|
isInterestGroup: boolean;
|
|
69
69
|
notes: string | null;
|
|
70
70
|
}>;
|
|
@@ -13,9 +13,9 @@ export declare function createChangesetAuditEntry(db: KywiDb, data: {
|
|
|
13
13
|
}): Promise<{
|
|
14
14
|
id: string;
|
|
15
15
|
siteId: string;
|
|
16
|
-
action: string;
|
|
17
16
|
createdAt: Date;
|
|
18
17
|
userId: string;
|
|
18
|
+
action: string;
|
|
19
19
|
changesetId: string;
|
|
20
20
|
detail: unknown;
|
|
21
21
|
}>;
|
|
@@ -23,9 +23,9 @@ export declare function createChangesetAuditEntry(db: KywiDb, data: {
|
|
|
23
23
|
export declare function listChangesetAudit(db: KywiDb, changesetId: string, limit?: number): Promise<{
|
|
24
24
|
id: string;
|
|
25
25
|
siteId: string;
|
|
26
|
-
action: string;
|
|
27
26
|
createdAt: Date;
|
|
28
27
|
userId: string;
|
|
28
|
+
action: string;
|
|
29
29
|
changesetId: string;
|
|
30
30
|
detail: unknown;
|
|
31
31
|
}[]>;
|
|
@@ -11,9 +11,9 @@ export declare function createChangeset(db: KywiDb, data: {
|
|
|
11
11
|
publishedAt: Date | null;
|
|
12
12
|
updatedAt: Date;
|
|
13
13
|
name: string;
|
|
14
|
-
description: string | null;
|
|
15
14
|
createdAt: Date;
|
|
16
15
|
createdBy: string;
|
|
16
|
+
description: string | null;
|
|
17
17
|
scheduledPublishAt: Date | null;
|
|
18
18
|
publishedBy: string | null;
|
|
19
19
|
}>;
|
|
@@ -24,9 +24,9 @@ export declare function getChangeset(db: KywiDb, id: string, siteId?: string): P
|
|
|
24
24
|
publishedAt: Date | null;
|
|
25
25
|
updatedAt: Date;
|
|
26
26
|
name: string;
|
|
27
|
-
description: string | null;
|
|
28
27
|
createdAt: Date;
|
|
29
28
|
createdBy: string;
|
|
29
|
+
description: string | null;
|
|
30
30
|
scheduledPublishAt: Date | null;
|
|
31
31
|
publishedBy: string | null;
|
|
32
32
|
} | null>;
|
|
@@ -37,9 +37,9 @@ export declare function listChangesets(db: KywiDb, siteId: string, status?: stri
|
|
|
37
37
|
publishedAt: Date | null;
|
|
38
38
|
updatedAt: Date;
|
|
39
39
|
name: string;
|
|
40
|
-
description: string | null;
|
|
41
40
|
createdAt: Date;
|
|
42
41
|
createdBy: string;
|
|
42
|
+
description: string | null;
|
|
43
43
|
scheduledPublishAt: Date | null;
|
|
44
44
|
publishedBy: string | null;
|
|
45
45
|
}[]>;
|
|
@@ -67,18 +67,18 @@ export declare function addChangesetItem(db: KywiDb, data: {
|
|
|
67
67
|
action: string;
|
|
68
68
|
}): Promise<{
|
|
69
69
|
id: string;
|
|
70
|
-
action: string;
|
|
71
70
|
createdAt: Date;
|
|
72
71
|
contentId: string;
|
|
72
|
+
action: string;
|
|
73
73
|
changesetId: string;
|
|
74
74
|
versionId: string | null;
|
|
75
75
|
}>;
|
|
76
76
|
export declare function removeChangesetItem(db: KywiDb, itemId: string): Promise<void>;
|
|
77
77
|
export declare function listChangesetItems(db: KywiDb, changesetId: string): Promise<{
|
|
78
78
|
id: string;
|
|
79
|
-
action: string;
|
|
80
79
|
createdAt: Date;
|
|
81
80
|
contentId: string;
|
|
81
|
+
action: string;
|
|
82
82
|
changesetId: string;
|
|
83
83
|
versionId: string | null;
|
|
84
84
|
}[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changeset-queries.d.ts","sourceRoot":"","sources":["../../src/db/changeset-queries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"changeset-queries.d.ts","sourceRoot":"","sources":["../../src/db/changeset-queries.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,wBAAsB,eAAe,CACnC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GAYhF;AAOD,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;UASzE;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;KAS/E;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,kBAAkB,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,EACnH,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;UAehB;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;;;;;;;GAYrF;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAInF;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;;;;;;;KAKvE;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,gBAiEpB;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,gBAyCpB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { eq, and, sql } from 'drizzle-orm';
|
|
2
2
|
import { kywiChangesets, kywiChangesetItems, kywiContent } from '../schema/base.js';
|
|
3
|
+
import { getVersionById } from './version-queries.js';
|
|
4
|
+
import { applyContentSnapshot } from './apply-snapshot.js';
|
|
3
5
|
export async function createChangeset(db, data) {
|
|
4
6
|
const [row] = await db
|
|
5
7
|
.insert(kywiChangesets)
|
|
@@ -85,13 +87,28 @@ export async function publishChangeset(db, changesetId, publishedBy) {
|
|
|
85
87
|
.from(kywiChangesetItems)
|
|
86
88
|
.where(eq(kywiChangesetItems.changesetId, changesetId));
|
|
87
89
|
for (const item of items) {
|
|
88
|
-
if (item.action === 'update'
|
|
89
|
-
// Apply the version
|
|
90
|
-
//
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
if (item.action === 'update') {
|
|
91
|
+
// Apply the attached version's snapshot onto the live content row, then
|
|
92
|
+
// publish it (#43). The prior code only flipped status to 'published',
|
|
93
|
+
// which for already-published content changed NOTHING — the "silent
|
|
94
|
+
// no-op" the toast falsely reported. When the item carries a versionId we
|
|
95
|
+
// now write that version's captured fields (title/body/…) back onto the
|
|
96
|
+
// row before publishing; a version-less update item still publishes the
|
|
97
|
+
// content's current state (a bundle "make live" with nothing to apply).
|
|
98
|
+
// COALESCE keeps any existing publishedAt so a re-published node keeps
|
|
99
|
+
// its first date.
|
|
100
|
+
const version = item.versionId ? await getVersionById(tx, item.versionId) : null;
|
|
101
|
+
if (version && version.contentId === item.contentId) {
|
|
102
|
+
await applyContentSnapshot(tx, item.contentId, version.snapshot, {
|
|
103
|
+
forceStatus: 'published',
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
await tx
|
|
108
|
+
.update(kywiContent)
|
|
109
|
+
.set({ status: 'published', publishedAt: sql `COALESCE(${kywiContent.publishedAt}, now())`, updatedAt: new Date() })
|
|
110
|
+
.where(eq(kywiContent.id, item.contentId));
|
|
111
|
+
}
|
|
95
112
|
}
|
|
96
113
|
else if (item.action === 'delete') {
|
|
97
114
|
// Soft-delete content
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changeset-queries.js","sourceRoot":"","sources":["../../src/db/changeset-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"changeset-queries.js","sourceRoot":"","sources":["../../src/db/changeset-queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,9 +54,15 @@ export declare function getContentById(db: KywiDb, customTable: PgTableWithColum
|
|
|
54
54
|
* Get a single content node by slug path.
|
|
55
55
|
* Optionally filter by locale; when no locale match is found the query
|
|
56
56
|
* returns whatever row matches the slug+site (default locale fallback).
|
|
57
|
+
*
|
|
58
|
+
* `options.baseType` scopes the lookup to a single base type. `kywi_content.slug`
|
|
59
|
+
* is not unique across base types, so a Page at `/contact` and a Form named
|
|
60
|
+
* `contact` can collide — pass `baseType` (e.g. 'form') to resolve the intended
|
|
61
|
+
* row rather than whichever the query happens to return first (kywi-cms#39).
|
|
57
62
|
*/
|
|
58
63
|
export declare function getContentBySlug(db: KywiDb, customTable: PgTableWithColumns<any> | null, slug: string, siteId: string, options?: {
|
|
59
64
|
locale?: string;
|
|
65
|
+
baseType?: string;
|
|
60
66
|
}): Promise<ContentWithCustomFields | null>;
|
|
61
67
|
/**
|
|
62
68
|
* Create a new content node with custom fields.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-queries.d.ts","sourceRoot":"","sources":["../../src/db/content-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA2E,MAAM,aAAa,CAAA;AACzG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAG7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEtF;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,GAAE,IAAiB,sDAmBlE;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAmB7D;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,WAAW,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,GAC3C,uBAAuB,CAKzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,gBAAgB,EAAE,MAAM,EAAE,GACzB;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAchF;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,GAC1C,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAWzB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,iBAAiB,EAC9B,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,EAC3C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,gBAAgB,EAC5B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,YAAY,EACrB,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,OAAO,CAAC;IAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAwE7D;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,EAC3C,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CA4BzC;AAED
|
|
1
|
+
{"version":3,"file":"content-queries.d.ts","sourceRoot":"","sources":["../../src/db/content-queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -196,6 +196,11 @@ export async function getContentById(db, customTable, id, siteId) {
|
|
|
196
196
|
* Get a single content node by slug path.
|
|
197
197
|
* Optionally filter by locale; when no locale match is found the query
|
|
198
198
|
* returns whatever row matches the slug+site (default locale fallback).
|
|
199
|
+
*
|
|
200
|
+
* `options.baseType` scopes the lookup to a single base type. `kywi_content.slug`
|
|
201
|
+
* is not unique across base types, so a Page at `/contact` and a Form named
|
|
202
|
+
* `contact` can collide — pass `baseType` (e.g. 'form') to resolve the intended
|
|
203
|
+
* row rather than whichever the query happens to return first (kywi-cms#39).
|
|
199
204
|
*/
|
|
200
205
|
export async function getContentBySlug(db, customTable, slug, siteId, options) {
|
|
201
206
|
const conditions = [
|
|
@@ -206,6 +211,9 @@ export async function getContentBySlug(db, customTable, slug, siteId, options) {
|
|
|
206
211
|
if (options?.locale) {
|
|
207
212
|
conditions.push(eq(kywiContent.locale, options.locale));
|
|
208
213
|
}
|
|
214
|
+
if (options?.baseType) {
|
|
215
|
+
conditions.push(eq(kywiContent.baseType, options.baseType));
|
|
216
|
+
}
|
|
209
217
|
const where = and(...conditions);
|
|
210
218
|
let query;
|
|
211
219
|
if (customTable) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-queries.js","sourceRoot":"","sources":["../../src/db/content-queries.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"content-queries.js","sourceRoot":"","sources":["../../src/db/content-queries.ts"],"names":[],"mappings":"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"}
|