@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,13 +1,22 @@
|
|
|
1
|
-
import { jsonOk, jsonError, notFound, unauthorized, forbidden } from './response.js';
|
|
1
|
+
import { jsonOk, jsonError, notFound, unauthorized, forbidden, validationError } from './response.js';
|
|
2
2
|
import { resolveAuth } from './auth.js';
|
|
3
3
|
import { toSiteUuid } from './site-context.js';
|
|
4
4
|
import { hasMinRole } from '../auth/roles.js';
|
|
5
5
|
import { transitionContentStatus } from '../db/workflow-queries.js';
|
|
6
|
-
import { getContentById } from '../db/content-queries.js';
|
|
6
|
+
import { getContentById, updateContent } from '../db/content-queries.js';
|
|
7
|
+
import { createPendingRevision, listPendingRevisions, approvePendingRevision, rejectPendingRevision, stripRevisionMarker, } from '../db/revision-queries.js';
|
|
8
|
+
import { computeChangeset } from '../versioning/version-management.js';
|
|
9
|
+
import { buildUpdateSchema } from './content-schemas.js';
|
|
7
10
|
import { getValidTransitions } from '../versioning/state-machine.js';
|
|
8
11
|
import { listAuditEntries } from '../db/audit-queries.js';
|
|
9
12
|
import { eq, and, sql, desc } from 'drizzle-orm';
|
|
10
13
|
import { kywiContent, kywiUsers } from '../schema/base.js';
|
|
14
|
+
/**
|
|
15
|
+
* Content statuses whose live version is (or was) on the public site, so
|
|
16
|
+
* submitting edits must NOT transition the row (that would pull it off the site).
|
|
17
|
+
* Edits to these fork a pending revision instead — see the submit route (#42).
|
|
18
|
+
*/
|
|
19
|
+
const LIVE_STATUSES = new Set(['published', 'approved']);
|
|
11
20
|
export function registerWorkflowRoutes(router, ctx) {
|
|
12
21
|
const { db, authSecret, contentTypeMap, customTableMap } = ctx;
|
|
13
22
|
// A workflow transition changes content status directly; invalidate its cache
|
|
@@ -17,7 +26,19 @@ export function registerWorkflowRoutes(router, ctx) {
|
|
|
17
26
|
await ctx.invalidateContent?.(c?.siteId, c?.id, c?.slug);
|
|
18
27
|
return jsonOk(content);
|
|
19
28
|
};
|
|
20
|
-
// POST /content/:type/:id/submit —
|
|
29
|
+
// POST /content/:type/:id/submit — submit for review.
|
|
30
|
+
//
|
|
31
|
+
// Body: `{ changeNote?, fields? }`. `fields` is the editor's current writable
|
|
32
|
+
// payload (same shape a PUT sends), so the submitted edits are never lost
|
|
33
|
+
// (#45.3 — Submit-for-Review used to discard unsaved edits).
|
|
34
|
+
//
|
|
35
|
+
// Behaviour depends on the content's CURRENT (server-authoritative) status:
|
|
36
|
+
// - live content (published/approved): fork a PENDING REVISION from `fields`
|
|
37
|
+
// without touching the live row, so the published page keeps serving while
|
|
38
|
+
// the revision goes through the approvals queue (#42). No status transition,
|
|
39
|
+
// so the old "editor cannot transition published→pending" error is gone.
|
|
40
|
+
// - otherwise (draft/pending/…): persist `fields` (a save), then transition to
|
|
41
|
+
// 'pending' the way the original draft→review flow always did.
|
|
21
42
|
router.post('/content/:type/:id/submit', async (req, params) => {
|
|
22
43
|
const auth = await resolveAuth(req.headers.get('authorization'), authSecret, db);
|
|
23
44
|
if (!auth.user)
|
|
@@ -29,13 +50,49 @@ export function registerWorkflowRoutes(router, ctx) {
|
|
|
29
50
|
const userEmail = userRow?.email ?? '';
|
|
30
51
|
const customTable = customTableMap.get(contentType.name) ?? null;
|
|
31
52
|
let changeNote;
|
|
53
|
+
let fields;
|
|
32
54
|
try {
|
|
33
55
|
const body = await req.json();
|
|
34
|
-
|
|
56
|
+
if (typeof body?.changeNote === 'string')
|
|
57
|
+
changeNote = body.changeNote;
|
|
58
|
+
if (body?.fields && typeof body.fields === 'object')
|
|
59
|
+
fields = body.fields;
|
|
35
60
|
}
|
|
36
61
|
catch {
|
|
37
62
|
// No body is fine
|
|
38
63
|
}
|
|
64
|
+
const existing = await getContentById(db, customTable, params.id);
|
|
65
|
+
if (!existing)
|
|
66
|
+
return notFound('Content not found');
|
|
67
|
+
const currentStatus = existing.status;
|
|
68
|
+
// Validate the submitted edits once, up front (used by both branches). An
|
|
69
|
+
// absent `fields` is a bare submit (no edits captured).
|
|
70
|
+
let validFields;
|
|
71
|
+
if (fields !== undefined) {
|
|
72
|
+
const parsed = buildUpdateSchema(contentType).safeParse(fields);
|
|
73
|
+
if (!parsed.success) {
|
|
74
|
+
return validationError(parsed.error.errors.map(e => ({ path: e.path.join('.'), message: e.message })));
|
|
75
|
+
}
|
|
76
|
+
validFields = parsed.data;
|
|
77
|
+
}
|
|
78
|
+
// ── Live content → fork a pending revision (live row untouched) ──────────
|
|
79
|
+
if (LIVE_STATUSES.has(currentStatus)) {
|
|
80
|
+
const proposed = { ...existing, ...(validFields ?? {}) };
|
|
81
|
+
const revision = await createPendingRevision(db, {
|
|
82
|
+
contentId: params.id,
|
|
83
|
+
siteId: existing.siteId,
|
|
84
|
+
proposed,
|
|
85
|
+
createdBy: auth.user.id,
|
|
86
|
+
...(changeNote !== undefined ? { changeNote } : {}),
|
|
87
|
+
});
|
|
88
|
+
// The live row is unchanged; return it plus the revision id so the editor
|
|
89
|
+
// can confirm the revision was queued.
|
|
90
|
+
return jsonOk({ ...existing, pendingRevisionId: revision.id });
|
|
91
|
+
}
|
|
92
|
+
// ── Draft/other → save the edits, then transition to pending ─────────────
|
|
93
|
+
if (validFields !== undefined) {
|
|
94
|
+
await updateContent(db, contentType, customTable, params.id, validFields, auth.user.id);
|
|
95
|
+
}
|
|
39
96
|
const result = await transitionContentStatus(db, {
|
|
40
97
|
contentId: params.id,
|
|
41
98
|
toStatus: 'pending',
|
|
@@ -124,6 +181,108 @@ export function registerWorkflowRoutes(router, ctx) {
|
|
|
124
181
|
}
|
|
125
182
|
return finishTransition(result.content);
|
|
126
183
|
});
|
|
184
|
+
// ── Pending revisions of published content (#42) ─────────────────────────
|
|
185
|
+
// Fields excluded from a revision diff — row identity + write bookkeeping that
|
|
186
|
+
// always differs between a snapshot and the live row but is not an editorial change.
|
|
187
|
+
const DIFF_NOISE_FIELDS = new Set([
|
|
188
|
+
'id', 'siteId', 'createdAt', 'updatedAt', 'createdBy', 'updatedBy',
|
|
189
|
+
'publishedAt', 'path', 'depth', 'sortOrder', 'deletedAt', '__pendingRevision',
|
|
190
|
+
]);
|
|
191
|
+
// GET /content/revisions/pending — outstanding pending revisions for the queue.
|
|
192
|
+
// Each carries the field-level diff (proposed vs live) so the approvals surface
|
|
193
|
+
// can show what changed instead of approving blind (#45.1).
|
|
194
|
+
router.get('/content/revisions/pending', async (req) => {
|
|
195
|
+
const auth = await resolveAuth(req.headers.get('authorization'), authSecret, db);
|
|
196
|
+
if (!auth.user)
|
|
197
|
+
return unauthorized();
|
|
198
|
+
if (!hasMinRole(auth.user.role, 'editor'))
|
|
199
|
+
return forbidden();
|
|
200
|
+
const url = new URL(req.url);
|
|
201
|
+
const siteId = await toSiteUuid(db, url.searchParams.get('siteId'), ctx.config);
|
|
202
|
+
if (!siteId)
|
|
203
|
+
return jsonError('BAD_REQUEST', 'No site ID available', 400);
|
|
204
|
+
const revisions = await listPendingRevisions(db, siteId);
|
|
205
|
+
const out = [];
|
|
206
|
+
for (const rev of revisions) {
|
|
207
|
+
const customTable = customTableMap.get(rev.contentTypeName) ?? null;
|
|
208
|
+
const current = (await getContentById(db, customTable, rev.contentId)) ?? {};
|
|
209
|
+
const changedFields = computeChangeset(current, stripRevisionMarker(rev.snapshot)).filter(c => !DIFF_NOISE_FIELDS.has(c.field));
|
|
210
|
+
out.push({
|
|
211
|
+
versionId: rev.versionId,
|
|
212
|
+
contentId: rev.contentId,
|
|
213
|
+
contentTypeName: rev.contentTypeName,
|
|
214
|
+
title: rev.title,
|
|
215
|
+
siteId: rev.siteId,
|
|
216
|
+
status: rev.status,
|
|
217
|
+
submittedBy: rev.createdBy,
|
|
218
|
+
submittedAt: rev.createdAt,
|
|
219
|
+
changeNote: rev.changeNote,
|
|
220
|
+
changedFields,
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
return jsonOk(out);
|
|
224
|
+
});
|
|
225
|
+
// POST /content/:type/:id/revisions/:versionId/approve — apply the revision to
|
|
226
|
+
// the live content (publish it) and clear it from the queue.
|
|
227
|
+
router.post('/content/:type/:id/revisions/:versionId/approve', async (req, params) => {
|
|
228
|
+
const auth = await resolveAuth(req.headers.get('authorization'), authSecret, db);
|
|
229
|
+
if (!auth.user)
|
|
230
|
+
return unauthorized();
|
|
231
|
+
if (!hasMinRole(auth.user.role, 'editor'))
|
|
232
|
+
return forbidden();
|
|
233
|
+
const contentType = contentTypeMap.get(params.type);
|
|
234
|
+
if (!contentType)
|
|
235
|
+
return notFound(`Content type '${params.type}' not found`);
|
|
236
|
+
const [userRow] = await db.select({ email: kywiUsers.email }).from(kywiUsers).where(eq(kywiUsers.id, auth.user.id)).limit(1);
|
|
237
|
+
const userEmail = userRow?.email ?? '';
|
|
238
|
+
const customTable = customTableMap.get(contentType.name) ?? null;
|
|
239
|
+
const result = await approvePendingRevision(db, {
|
|
240
|
+
contentId: params.id,
|
|
241
|
+
versionId: params.versionId,
|
|
242
|
+
userId: auth.user.id,
|
|
243
|
+
userEmail,
|
|
244
|
+
customTable,
|
|
245
|
+
customFieldNames: contentType.fields.map(f => f.name),
|
|
246
|
+
});
|
|
247
|
+
if (!result.success)
|
|
248
|
+
return notFound(result.error ?? 'Pending revision not found');
|
|
249
|
+
return finishTransition(result.content);
|
|
250
|
+
});
|
|
251
|
+
// POST /content/:type/:id/revisions/:versionId/reject — discard the revision;
|
|
252
|
+
// the reason is recorded as a version note that surfaces to the editor (#45.2).
|
|
253
|
+
router.post('/content/:type/:id/revisions/:versionId/reject', async (req, params) => {
|
|
254
|
+
const auth = await resolveAuth(req.headers.get('authorization'), authSecret, db);
|
|
255
|
+
if (!auth.user)
|
|
256
|
+
return unauthorized();
|
|
257
|
+
if (!hasMinRole(auth.user.role, 'editor'))
|
|
258
|
+
return forbidden();
|
|
259
|
+
const contentType = contentTypeMap.get(params.type);
|
|
260
|
+
if (!contentType)
|
|
261
|
+
return notFound(`Content type '${params.type}' not found`);
|
|
262
|
+
let reason;
|
|
263
|
+
try {
|
|
264
|
+
const body = await req.json();
|
|
265
|
+
if (typeof body?.reason === 'string')
|
|
266
|
+
reason = body.reason;
|
|
267
|
+
}
|
|
268
|
+
catch {
|
|
269
|
+
// No body is fine
|
|
270
|
+
}
|
|
271
|
+
const [userRow] = await db.select({ email: kywiUsers.email }).from(kywiUsers).where(eq(kywiUsers.id, auth.user.id)).limit(1);
|
|
272
|
+
const userEmail = userRow?.email ?? '';
|
|
273
|
+
const customTable = customTableMap.get(contentType.name) ?? null;
|
|
274
|
+
const result = await rejectPendingRevision(db, {
|
|
275
|
+
contentId: params.id,
|
|
276
|
+
versionId: params.versionId,
|
|
277
|
+
userId: auth.user.id,
|
|
278
|
+
userEmail,
|
|
279
|
+
customTable,
|
|
280
|
+
...(reason !== undefined ? { reason } : {}),
|
|
281
|
+
});
|
|
282
|
+
if (!result.success)
|
|
283
|
+
return notFound(result.error ?? 'Pending revision not found');
|
|
284
|
+
return finishTransition(result.content);
|
|
285
|
+
});
|
|
127
286
|
// GET /workflow/pending — List all pending content (editor+ only)
|
|
128
287
|
router.get('/workflow/pending', async (req) => {
|
|
129
288
|
const auth = await resolveAuth(req.headers.get('authorization'), authSecret, db);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-routes.js","sourceRoot":"","sources":["../../src/api/workflow-routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-routes.js","sourceRoot":"","sources":["../../src/api/workflow-routes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACrG,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE1D;;;;GAIG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;AAWxD,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,GAAyB;IAC9E,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,GAAG,CAAA;IAE9D,8EAA8E;IAC9E,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,KAAK,EAAE,OAAgB,EAAqB,EAAE;QACrE,MAAM,CAAC,GAAG,OAA8C,CAAA;QACxD,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAC3B,CAAC,EAAE,MAA4B,EAC/B,CAAC,EAAE,EAAwB,EAC3B,CAAC,EAAE,IAA0B,CAC9B,CAAA;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC,CAAA;IAED,sDAAsD;IACtD,EAAE;IACF,8EAA8E;IAC9E,0EAA0E;IAC1E,6DAA6D;IAC7D,EAAE;IACF,4EAA4E;IAC5E,8EAA8E;IAC9E,8EAA8E;IAC9E,gFAAgF;IAChF,4EAA4E;IAC5E,gFAAgF;IAChF,kEAAkE;IAClE,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC7D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QAErC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QACpD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC5H,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAA;QAEtC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAChE,IAAI,UAA8B,CAAA;QAClC,IAAI,MAA2C,CAAA;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAC7B,IAAI,OAAO,IAAI,EAAE,UAAU,KAAK,QAAQ;gBAAE,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YACtE,IAAI,IAAI,EAAE,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,MAAM,GAAG,IAAI,CAAC,MAAiC,CAAA;QACtG,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QAClE,IAAI,CAAC,QAAQ;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QACnD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAgB,CAAA;QAE/C,0EAA0E;QAC1E,wDAAwD;QACxD,IAAI,WAAgD,CAAA;QACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;YACxG,CAAC;YACD,WAAW,GAAG,MAAM,CAAC,IAA+B,CAAA;QACtD,CAAC;QAED,4EAA4E;QAC5E,IAAI,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAA;YACxD,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,EAAE,EAAE;gBAC/C,SAAS,EAAE,MAAM,CAAC,EAAG;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAgB;gBACjC,QAAQ;gBACR,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBACvB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpD,CAAC,CAAA;YACF,0EAA0E;YAC1E,uCAAuC;YACvC,OAAO,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;QAChE,CAAC;QAED,4EAA4E;QAC5E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,EAAG,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1F,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,EAAE,EAAE;YAC/C,SAAS,EAAE,MAAM,CAAC,EAAG;YACrB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YACpB,SAAS;YACT,WAAW;YACX,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAM,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,qEAAqE;IACrE,2EAA2E;IAC3E,+EAA+E;IAC/E,+EAA+E;IAC/E,8DAA8D;IAC9D,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QAErC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QACpD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,IAAI,OAA2B,CAAA;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAC7B,OAAO,GAAG,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;YAChC,IAAI,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC1F,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC5H,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAA;QAEtC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAChE,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,EAAE,EAAE;YAC/C,SAAS,EAAE,MAAM,CAAC,EAAG;YACrB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;YAC5C,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YACpB,SAAS;YACT,WAAW;YACX,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAM,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,mDAAmD;IACnD,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC7D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QAErC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QACpD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,IAAI,MAA0B,CAAA;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAC7B,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC5H,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAA;QAEtC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAChE,MAAM,UAAU,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAA;QAC5E,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,EAAE,EAAE;YAC/C,SAAS,EAAE,MAAM,CAAC,EAAG;YACrB,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YACpB,SAAS;YACT,WAAW;YACX,UAAU;SACX,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAM,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,4EAA4E;IAE5E,+EAA+E;IAC/E,qFAAqF;IACrF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;QAChC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW;QAClE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB;KAC9E,CAAC,CAAA;IAEF,gFAAgF;IAChF,gFAAgF;IAChF,4DAA4D;IAC5D,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAE7D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAC/E,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC,aAAa,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAA;QAEzE,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACxD,MAAM,GAAG,GAAG,EAAE,CAAA;QACd,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAA;YACnE,MAAM,OAAO,GAAG,CAAC,MAAM,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;YAC5E,MAAM,aAAa,GAAG,gBAAgB,CACpC,OAAkC,EAClC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAClC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;YAC9C,GAAG,CAAC,IAAI,CAAC;gBACP,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,WAAW,EAAE,GAAG,CAAC,SAAS;gBAC1B,WAAW,EAAE,GAAG,CAAC,SAAS;gBAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,aAAa;aACd,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IAEF,+EAA+E;IAC/E,6DAA6D;IAC7D,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QACnF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAE7D,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QACpD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC5H,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAA;QACtC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAEhE,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE;YAC9C,SAAS,EAAE,MAAM,CAAC,EAAG;YACrB,SAAS,EAAE,MAAM,CAAC,SAAU;YAC5B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YACpB,SAAS;YACT,WAAW;YACX,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACtD,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,4BAA4B,CAAC,CAAA;QAClF,OAAO,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAC9E,gFAAgF;IAChF,MAAM,CAAC,IAAI,CAAC,gDAAgD,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAClF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAE7D,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QACpD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,IAAI,MAA0B,CAAA;QAC9B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAC7B,IAAI,OAAO,IAAI,EAAE,MAAM,KAAK,QAAQ;gBAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC5H,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAA;QACtC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAEhE,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,EAAE,EAAE;YAC7C,SAAS,EAAE,MAAM,CAAC,EAAG;YACrB,SAAS,EAAE,MAAM,CAAC,SAAU;YAC5B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;YACpB,SAAS;YACT,WAAW;YACX,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,4BAA4B,CAAC,CAAA;QAClF,OAAO,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,kEAAkE;IAClE,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAE7D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAC/E,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC,aAAa,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAA;QAEzE,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,EAAE;aACR,IAAI,CAAC,WAAW,CAAC;aACjB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,GAAG,CAAA,GAAG,WAAW,CAAC,SAAS,UAAU,CACtC,CACF;aACA,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;QAEvC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,qDAAqD;IACrD,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAE7D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAC/E,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC,aAAa,EAAE,sBAAsB,EAAE,GAAG,CAAC,CAAA;QAEzE,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,MAAM,EAAE;aACR,IAAI,CAAC,WAAW,CAAC;aACjB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,GAAG,CAAA,GAAG,WAAW,CAAC,SAAS,UAAU,CACtC,CACF;aACA,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;QAEvC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,8EAA8E;IAC9E,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QAErC,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAK,CAAC,CAAA;QACpD,IAAI,CAAC,WAAW;YAAE,OAAO,QAAQ,CAAC,iBAAiB,MAAM,CAAC,IAAI,aAAa,CAAC,CAAA;QAE5E,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA;QAChE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QACjE,IAAI,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAElD,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,MAAgB,CAAC,CAAA;QACjF,OAAO,MAAM,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,2DAA2D;IAC3D,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;QAChF,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAE7D,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QACtD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/auth/roles.d.ts
CHANGED
|
@@ -3,4 +3,32 @@ export type KywiRole = (typeof KYWI_ROLES)[number];
|
|
|
3
3
|
export type ContentAction = 'read' | 'write' | 'publish' | 'delete';
|
|
4
4
|
export declare function hasMinRole(userRole: string, requiredRole: string): boolean;
|
|
5
5
|
export declare function canAccessContent(role: string, action: ContentAction): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* API-key scope → the MAXIMUM role that scope grants. A key's scopes act as a
|
|
8
|
+
* ceiling on its owner's role (see {@link effectiveApiKeyRole}):
|
|
9
|
+
*
|
|
10
|
+
* read → reader (read-only; can never mutate)
|
|
11
|
+
* write → author (the `write` content gate)
|
|
12
|
+
* publish → editor (the `publish` content gate)
|
|
13
|
+
* admin → siteAdmin (admin surfaces, incl. the `delete` content gate)
|
|
14
|
+
* developer → siteAdmin (developer surfaces — plugins / extensions / content
|
|
15
|
+
* types — are siteAdmin-gated)
|
|
16
|
+
*
|
|
17
|
+
* `developer`/`admin` cap at siteAdmin, never superAdmin: the most destructive
|
|
18
|
+
* superAdmin-only operations (global trash purge, etc.) always require session
|
|
19
|
+
* auth, since no API-key scope reaches superAdmin.
|
|
20
|
+
*/
|
|
21
|
+
export declare const API_KEY_SCOPE_CEILING: Record<string, KywiRole>;
|
|
22
|
+
/**
|
|
23
|
+
* The effective role for a request authenticated by an API key —
|
|
24
|
+
* `intersection(owner role, key scopes)`.
|
|
25
|
+
*
|
|
26
|
+
* The scope ceiling is the most permissive role any of the key's scopes grants;
|
|
27
|
+
* the effective role is whichever of {owner role, scope ceiling} is LOWER, so a
|
|
28
|
+
* key can never exceed its owner's role AND an owner can never exceed what the
|
|
29
|
+
* key's scopes allow. An empty or wholly-unrecognized scope set grants nothing
|
|
30
|
+
* (`deny`). This is the fix for #54: without it the owner's full role leaked
|
|
31
|
+
* through every scoped key (a read key could POST/PUT/DELETE/publish content).
|
|
32
|
+
*/
|
|
33
|
+
export declare function effectiveApiKeyRole(ownerRole: string, scopes: string[]): string;
|
|
6
34
|
//# sourceMappingURL=roles.d.ts.map
|
package/dist/auth/roles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/auth/roles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,4EAA6E,CAAA;AACpG,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAClD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAA;AAkBnE,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAE7E"}
|
|
1
|
+
{"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/auth/roles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,4EAA6E,CAAA;AACpG,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAClD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAA;AAkBnE,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAE7E;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAM1D,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAc/E"}
|
package/dist/auth/roles.js
CHANGED
|
@@ -19,4 +19,53 @@ export function hasMinRole(userRole, requiredRole) {
|
|
|
19
19
|
export function canAccessContent(role, action) {
|
|
20
20
|
return hasMinRole(role, ACTION_MIN_ROLE[action]);
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* API-key scope → the MAXIMUM role that scope grants. A key's scopes act as a
|
|
24
|
+
* ceiling on its owner's role (see {@link effectiveApiKeyRole}):
|
|
25
|
+
*
|
|
26
|
+
* read → reader (read-only; can never mutate)
|
|
27
|
+
* write → author (the `write` content gate)
|
|
28
|
+
* publish → editor (the `publish` content gate)
|
|
29
|
+
* admin → siteAdmin (admin surfaces, incl. the `delete` content gate)
|
|
30
|
+
* developer → siteAdmin (developer surfaces — plugins / extensions / content
|
|
31
|
+
* types — are siteAdmin-gated)
|
|
32
|
+
*
|
|
33
|
+
* `developer`/`admin` cap at siteAdmin, never superAdmin: the most destructive
|
|
34
|
+
* superAdmin-only operations (global trash purge, etc.) always require session
|
|
35
|
+
* auth, since no API-key scope reaches superAdmin.
|
|
36
|
+
*/
|
|
37
|
+
export const API_KEY_SCOPE_CEILING = {
|
|
38
|
+
read: 'reader',
|
|
39
|
+
write: 'author',
|
|
40
|
+
publish: 'editor',
|
|
41
|
+
admin: 'siteAdmin',
|
|
42
|
+
developer: 'siteAdmin',
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* The effective role for a request authenticated by an API key —
|
|
46
|
+
* `intersection(owner role, key scopes)`.
|
|
47
|
+
*
|
|
48
|
+
* The scope ceiling is the most permissive role any of the key's scopes grants;
|
|
49
|
+
* the effective role is whichever of {owner role, scope ceiling} is LOWER, so a
|
|
50
|
+
* key can never exceed its owner's role AND an owner can never exceed what the
|
|
51
|
+
* key's scopes allow. An empty or wholly-unrecognized scope set grants nothing
|
|
52
|
+
* (`deny`). This is the fix for #54: without it the owner's full role leaked
|
|
53
|
+
* through every scoped key (a read key could POST/PUT/DELETE/publish content).
|
|
54
|
+
*/
|
|
55
|
+
export function effectiveApiKeyRole(ownerRole, scopes) {
|
|
56
|
+
let ceilingLevel = 0;
|
|
57
|
+
let ceilingRole = 'deny';
|
|
58
|
+
for (const scope of scopes) {
|
|
59
|
+
const role = API_KEY_SCOPE_CEILING[scope];
|
|
60
|
+
if (!role)
|
|
61
|
+
continue;
|
|
62
|
+
const level = ROLE_LEVEL[role] ?? 0;
|
|
63
|
+
if (level > ceilingLevel) {
|
|
64
|
+
ceilingLevel = level;
|
|
65
|
+
ceilingRole = role;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const ownerLevel = ROLE_LEVEL[ownerRole] ?? 0;
|
|
69
|
+
return ownerLevel <= ceilingLevel ? ownerRole : ceilingRole;
|
|
70
|
+
}
|
|
22
71
|
//# sourceMappingURL=roles.js.map
|
package/dist/auth/roles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/auth/roles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAA;AAIpG,MAAM,UAAU,GAA2B;IACzC,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,CAAC;CACR,CAAA;AAED,MAAM,eAAe,GAAkC;IACrD,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,WAAW;CACpB,CAAA;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,YAAoB;IAC/D,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,MAAqB;IAClE,OAAO,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAA;AAClD,CAAC"}
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/auth/roles.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAA;AAIpG,MAAM,UAAU,GAA2B;IACzC,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,EAAE;IACb,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,IAAI,EAAE,CAAC;CACR,CAAA;AAED,MAAM,eAAe,GAAkC;IACrD,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,WAAW;CACpB,CAAA;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,YAAoB;IAC/D,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,MAAqB;IAClE,OAAO,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA6B;IAC7D,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,WAAW;CACvB,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,MAAgB;IACrE,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,IAAI,WAAW,GAAG,MAAM,CAAA;IACxB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;QACzC,IAAI,CAAC,IAAI;YAAE,SAAQ;QACnB,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC;YACzB,YAAY,GAAG,KAAK,CAAA;YACpB,WAAW,GAAG,IAAI,CAAA;QACpB,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC7C,OAAO,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAA;AAC7D,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field names reserved by the built-in content editor UI and the base content
|
|
3
|
+
* schema. A custom field (added through the Type Designer) must never reuse
|
|
4
|
+
* one of these names.
|
|
5
|
+
*
|
|
6
|
+
* Root cause of kywi-cms#10: `ContentEditForm` (admin/content-form.tsx) keeps
|
|
7
|
+
* every field — Title/Slug/Body/Featured Image, every Publishing/Navigation/
|
|
8
|
+
* SEO/Categories/Related/Permissions control, AND every custom field from
|
|
9
|
+
* `contentType.fields` — in one flat `values: Record<string, unknown>` state
|
|
10
|
+
* object, keyed by field name. A custom field named e.g. `slug` or `body`
|
|
11
|
+
* writes through the exact same key as the built-in Slug/Body input, so typing
|
|
12
|
+
* in one silently overwrites the other (they are, literally, one value).
|
|
13
|
+
*
|
|
14
|
+
* This list is the union of:
|
|
15
|
+
* - every hardcoded field key `ContentEditForm` writes via `handleChange`
|
|
16
|
+
* across its 9 tabs, and
|
|
17
|
+
* - `WRITABLE_BASE_FIELD_NAMES` (api/content-schemas.ts) — the base columns
|
|
18
|
+
* the create/update API schemas recognize (the subset that would also
|
|
19
|
+
* silently redirect a custom field's value onto a real base column on
|
|
20
|
+
* save, not just collide in the browser).
|
|
21
|
+
*
|
|
22
|
+
* Kept dependency-free (no zod import) so it is equally cheap to import from
|
|
23
|
+
* a client surface (the Type Designer, for inline validation) and a server
|
|
24
|
+
* route handler (content-type-routes.ts, for the authoritative 409 check).
|
|
25
|
+
*/
|
|
26
|
+
export declare const RESERVED_FIELD_NAMES: readonly string[];
|
|
27
|
+
/** Whether `name` collides with a built-in field name (kywi-cms#10). */
|
|
28
|
+
export declare function isReservedFieldName(name: string): boolean;
|
|
29
|
+
//# sourceMappingURL=reserved-field-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reserved-field-names.d.ts","sourceRoot":"","sources":["../../src/config/reserved-field-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EA2BxC,CAAA;AAIV,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field names reserved by the built-in content editor UI and the base content
|
|
3
|
+
* schema. A custom field (added through the Type Designer) must never reuse
|
|
4
|
+
* one of these names.
|
|
5
|
+
*
|
|
6
|
+
* Root cause of kywi-cms#10: `ContentEditForm` (admin/content-form.tsx) keeps
|
|
7
|
+
* every field — Title/Slug/Body/Featured Image, every Publishing/Navigation/
|
|
8
|
+
* SEO/Categories/Related/Permissions control, AND every custom field from
|
|
9
|
+
* `contentType.fields` — in one flat `values: Record<string, unknown>` state
|
|
10
|
+
* object, keyed by field name. A custom field named e.g. `slug` or `body`
|
|
11
|
+
* writes through the exact same key as the built-in Slug/Body input, so typing
|
|
12
|
+
* in one silently overwrites the other (they are, literally, one value).
|
|
13
|
+
*
|
|
14
|
+
* This list is the union of:
|
|
15
|
+
* - every hardcoded field key `ContentEditForm` writes via `handleChange`
|
|
16
|
+
* across its 9 tabs, and
|
|
17
|
+
* - `WRITABLE_BASE_FIELD_NAMES` (api/content-schemas.ts) — the base columns
|
|
18
|
+
* the create/update API schemas recognize (the subset that would also
|
|
19
|
+
* silently redirect a custom field's value onto a real base column on
|
|
20
|
+
* save, not just collide in the browser).
|
|
21
|
+
*
|
|
22
|
+
* Kept dependency-free (no zod import) so it is equally cheap to import from
|
|
23
|
+
* a client surface (the Type Designer, for inline validation) and a server
|
|
24
|
+
* route handler (content-type-routes.ts, for the authoritative 409 check).
|
|
25
|
+
*/
|
|
26
|
+
export const RESERVED_FIELD_NAMES = [
|
|
27
|
+
// Tab 1: Content
|
|
28
|
+
'title', 'slug', 'body', 'featuredImageId',
|
|
29
|
+
// Tab 2: Publishing
|
|
30
|
+
'status', 'publishedAt', 'unpublishAt', 'displayStop', 'displayStart', 'expiresAt',
|
|
31
|
+
'featureInSection', 'featureStartAt', 'featureEndAt', 'expirationNotifyUser',
|
|
32
|
+
'internalNotes',
|
|
33
|
+
// Tab 3: Navigation
|
|
34
|
+
'isNav', 'menuTitle', 'parentId', 'sortOrder', 'openInNewWindow',
|
|
35
|
+
'navVisibility', 'excludeFromSitemap', 'excludeFromSearch', 'urlOverride',
|
|
36
|
+
'redirectUrl',
|
|
37
|
+
// Tab 4: SEO
|
|
38
|
+
'metaTitle', 'metaDescription', 'metaKeywords', 'metaImageId',
|
|
39
|
+
'canonicalUrl', 'robotsIndex', 'robotsFollow', 'changeFreq', 'sitemapPriority',
|
|
40
|
+
// Tab 5: Layout
|
|
41
|
+
'layout',
|
|
42
|
+
// Tab 6: Categories & Tags
|
|
43
|
+
'categoryIds', 'tags', 'featuredInCategory',
|
|
44
|
+
// Tab 7: Related Content
|
|
45
|
+
'relatedContentIds',
|
|
46
|
+
// Tab 8: Permissions
|
|
47
|
+
'inheritPermissions', 'noLoginRequired', 'groupPermissions',
|
|
48
|
+
// Real writable base columns (api/content-schemas.ts WRITABLE_BASE_FIELD_NAMES)
|
|
49
|
+
// not otherwise covered above — reserved defensively even though the editor
|
|
50
|
+
// has no dedicated control for them today.
|
|
51
|
+
'locale', 'isLocked', 'tagIds', 'summary',
|
|
52
|
+
'successMessage', 'notifyEmails', 'formFields', 'formSteps',
|
|
53
|
+
];
|
|
54
|
+
const RESERVED_FIELD_NAME_SET = new Set(RESERVED_FIELD_NAMES);
|
|
55
|
+
/** Whether `name` collides with a built-in field name (kywi-cms#10). */
|
|
56
|
+
export function isReservedFieldName(name) {
|
|
57
|
+
return RESERVED_FIELD_NAME_SET.has(name);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=reserved-field-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reserved-field-names.js","sourceRoot":"","sources":["../../src/config/reserved-field-names.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,iBAAiB;IACjB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB;IAC1C,oBAAoB;IACpB,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW;IAClF,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,sBAAsB;IAC5E,eAAe;IACf,oBAAoB;IACpB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB;IAChE,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,aAAa;IACzE,aAAa;IACb,aAAa;IACb,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa;IAC7D,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB;IAC9E,gBAAgB;IAChB,QAAQ;IACR,2BAA2B;IAC3B,aAAa,EAAE,MAAM,EAAE,oBAAoB;IAC3C,yBAAyB;IACzB,mBAAmB;IACnB,qBAAqB;IACrB,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB;IAC3D,gFAAgF;IAChF,4EAA4E;IAC5E,2CAA2C;IAC3C,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS;IACzC,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW;CACnD,CAAA;AAEV,MAAM,uBAAuB,GAAwB,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAA;AAElF,wEAAwE;AACxE,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAC1C,CAAC"}
|
package/dist/config/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { MediaConfig } from '../media/types.js';
|
|
|
2
2
|
import type { AxContentNode, AxRenderContext } from '../ax/types.js';
|
|
3
3
|
import type { AdapterConfig } from '../audiences/adapters/types.js';
|
|
4
4
|
import type { AdminArea } from '../admin/registry.js';
|
|
5
|
-
export type FieldType = 'text' | 'richText' | 'textarea' | 'select' | 'multiSelect' | 'relationship' | 'group' | 'image' | 'file' | 'date' | 'boolean' | 'number' | 'json' | 'color' | 'slug';
|
|
5
|
+
export type FieldType = 'text' | 'richText' | 'textarea' | 'select' | 'multiSelect' | 'relationship' | 'group' | 'image' | 'file' | 'date' | 'boolean' | 'number' | 'json' | 'color' | 'slug' | 'url' | 'email';
|
|
6
6
|
export interface FieldAccessConfig {
|
|
7
7
|
read?: (ctx: {
|
|
8
8
|
user: UserContext | null;
|
|
@@ -156,6 +156,13 @@ export interface ContentTypeConfig {
|
|
|
156
156
|
allowedChildTypes?: string[];
|
|
157
157
|
/** Provenance. 'admin' = created at runtime via the visual designer; config types leave this unset. */
|
|
158
158
|
source?: 'config' | 'admin';
|
|
159
|
+
/**
|
|
160
|
+
* Whether the base Title field is required (kywi-cms#12). Defaults to true
|
|
161
|
+
* (back-compat) when unset — every base-`content` type historically forced a
|
|
162
|
+
* required Title even for models with no natural title (a testimonial's
|
|
163
|
+
* person name, an FAQ's question). Set `false` to make it optional.
|
|
164
|
+
*/
|
|
165
|
+
titleRequired?: boolean;
|
|
159
166
|
}
|
|
160
167
|
export interface SiteConfig {
|
|
161
168
|
id: string;
|
|
@@ -478,6 +485,25 @@ export interface SchedulerConfig {
|
|
|
478
485
|
*/
|
|
479
486
|
intervalSeconds?: number;
|
|
480
487
|
}
|
|
488
|
+
/**
|
|
489
|
+
* Webhook delivery tuning. Outgoing deliveries fire from `wireWebhookDispatch`;
|
|
490
|
+
* a failed delivery is marked `failed` with a `nextRetryAt`, and an in-process
|
|
491
|
+
* retry worker (`startWebhookRetryWorker`) re-dispatches due retries with
|
|
492
|
+
* exponential backoff — the same start-at-boot pattern as `scheduler`.
|
|
493
|
+
*/
|
|
494
|
+
export interface WebhooksConfig {
|
|
495
|
+
/**
|
|
496
|
+
* Seconds between in-process webhook retry sweeps. A value <= 0 disables the
|
|
497
|
+
* retry runner. The reference app defaults to 60s when this block is omitted.
|
|
498
|
+
*/
|
|
499
|
+
retryIntervalSeconds?: number;
|
|
500
|
+
/**
|
|
501
|
+
* Give up on a delivery after this many attempts (default 10). Exhausted
|
|
502
|
+
* deliveries stop being retried rather than looping forever against a dead
|
|
503
|
+
* endpoint.
|
|
504
|
+
*/
|
|
505
|
+
maxAttempts?: number;
|
|
506
|
+
}
|
|
481
507
|
export interface KywiConfigInput {
|
|
482
508
|
mode: DeploymentMode;
|
|
483
509
|
db: DbConfig;
|
|
@@ -492,6 +518,7 @@ export interface KywiConfigInput {
|
|
|
492
518
|
email?: EmailConfig;
|
|
493
519
|
ax?: AxConfig;
|
|
494
520
|
scheduler?: SchedulerConfig;
|
|
521
|
+
webhooks?: WebhooksConfig;
|
|
495
522
|
admin?: AdminConfigInput;
|
|
496
523
|
}
|
|
497
524
|
/**
|
|
@@ -499,7 +526,7 @@ export interface KywiConfigInput {
|
|
|
499
526
|
* guaranteed non-undefined. `email` has no default (it is genuinely optional),
|
|
500
527
|
* so it stays optional here.
|
|
501
528
|
*/
|
|
502
|
-
export interface KywiConfig extends Required<Omit<KywiConfigInput, 'email' | 'ax' | 'scheduler' | 'admin'>> {
|
|
529
|
+
export interface KywiConfig extends Required<Omit<KywiConfigInput, 'email' | 'ax' | 'scheduler' | 'webhooks' | 'admin'>> {
|
|
503
530
|
contentTypes: ContentTypeConfig[];
|
|
504
531
|
plugins: PluginConfig[];
|
|
505
532
|
modules: ModuleConfig[];
|
|
@@ -509,6 +536,8 @@ export interface KywiConfig extends Required<Omit<KywiConfigInput, 'email' | 'ax
|
|
|
509
536
|
email?: EmailConfig;
|
|
510
537
|
/** Background scheduler tuning; optional (no default injected at resolve time). */
|
|
511
538
|
scheduler?: SchedulerConfig;
|
|
539
|
+
/** Webhook delivery/retry tuning; optional (no default injected at resolve time). */
|
|
540
|
+
webhooks?: WebhooksConfig;
|
|
512
541
|
/**
|
|
513
542
|
* The `admin` block. Typed optional (like `email`/`ax`) so existing bare
|
|
514
543
|
* `KywiConfig` literals still compile, but `defineKywiConfig` always
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
package/dist/config/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAgdA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,wBAAwB,CAAA"}
|
|
@@ -24,7 +24,7 @@ export declare function insertAnalyticsEvent(db: KywiDb, event: AnalyticsEventIn
|
|
|
24
24
|
createdAt: Date;
|
|
25
25
|
contentId: string | null;
|
|
26
26
|
visitorId: string;
|
|
27
|
-
eventType: "
|
|
27
|
+
eventType: "matched" | "impression" | "click";
|
|
28
28
|
variantId: string | null;
|
|
29
29
|
}>;
|
|
30
30
|
/**
|
|
@@ -15,12 +15,17 @@ export declare function createApiKey(db: KywiDb, userId: string, name: string, s
|
|
|
15
15
|
*/
|
|
16
16
|
export declare function listApiKeys(db: KywiDb, userId: string): Promise<Omit<KywiApiKeysRow, 'keyHash'>[]>;
|
|
17
17
|
/**
|
|
18
|
-
* Resolve a raw API key to its userId and scopes.
|
|
18
|
+
* Resolve a raw API key to its userId and declared scopes.
|
|
19
19
|
* Also updates last_used_at. Returns null if not found.
|
|
20
|
+
*
|
|
21
|
+
* `scopes` is the key's authorization ceiling — callers MUST intersect it with
|
|
22
|
+
* the owner's role (see `effectiveApiKeyRole`) rather than authorizing off the
|
|
23
|
+
* owner alone (#54). It is normalized to a string[] (the `scopes` column is
|
|
24
|
+
* jsonb, hence typed `unknown` at the row level).
|
|
20
25
|
*/
|
|
21
26
|
export declare function resolveApiKey(db: KywiDb, rawKey: string): Promise<{
|
|
22
27
|
userId: string;
|
|
23
|
-
scopes:
|
|
28
|
+
scopes: ApiKeyScope[];
|
|
24
29
|
} | null>;
|
|
25
30
|
/**
|
|
26
31
|
* Revoke an API key. The userId must match to prevent cross-user deletion.
|