@kywi-software/core 0.5.0 → 0.6.1
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 +44 -0
- package/dist/admin/app.d.ts.map +1 -1
- package/dist/admin/app.js.map +1 -1
- package/dist/admin/field-components.d.ts.map +1 -1
- package/dist/admin/field-components.js +55 -0
- package/dist/admin/field-components.js.map +1 -1
- package/dist/admin/form-builder.js +10 -1
- package/dist/admin/form-builder.js.map +1 -1
- package/dist/admin/form-helpers.d.ts +1 -1
- package/dist/admin/form-helpers.d.ts.map +1 -1
- package/dist/admin/form-helpers.js +21 -0
- package/dist/admin/form-helpers.js.map +1 -1
- package/dist/admin/layout-editor/component-actions.d.ts +43 -1
- package/dist/admin/layout-editor/component-actions.d.ts.map +1 -1
- package/dist/admin/layout-editor/component-actions.js +59 -1
- package/dist/admin/layout-editor/component-actions.js.map +1 -1
- package/dist/admin/layout-editor/editor-canvas.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-canvas.js +1 -1
- package/dist/admin/layout-editor/editor-canvas.js.map +1 -1
- package/dist/admin/layout-editor/editor-state.d.ts +4 -0
- package/dist/admin/layout-editor/editor-state.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-state.js +17 -0
- package/dist/admin/layout-editor/editor-state.js.map +1 -1
- package/dist/admin/layout-editor/index.d.ts +1 -1
- package/dist/admin/layout-editor/index.d.ts.map +1 -1
- package/dist/admin/layout-editor/index.js +1 -1
- package/dist/admin/layout-editor/index.js.map +1 -1
- package/dist/admin/layout-editor/layout-editor.d.ts.map +1 -1
- package/dist/admin/layout-editor/layout-editor.js +95 -2
- package/dist/admin/layout-editor/layout-editor.js.map +1 -1
- package/dist/admin/layout-editor/overlay-shell.d.ts.map +1 -1
- package/dist/admin/layout-editor/overlay-shell.js +8 -0
- package/dist/admin/layout-editor/overlay-shell.js.map +1 -1
- package/dist/admin/layout-editor/props-panel.d.ts +12 -2
- package/dist/admin/layout-editor/props-panel.d.ts.map +1 -1
- package/dist/admin/layout-editor/props-panel.js +30 -14
- package/dist/admin/layout-editor/props-panel.js.map +1 -1
- package/dist/admin/layout-editor/section-overlay.d.ts +6 -1
- package/dist/admin/layout-editor/section-overlay.d.ts.map +1 -1
- package/dist/admin/layout-editor/section-overlay.js +11 -2
- package/dist/admin/layout-editor/section-overlay.js.map +1 -1
- package/dist/admin/layout-editor/section-template-picker.d.ts +8 -1
- package/dist/admin/layout-editor/section-template-picker.d.ts.map +1 -1
- package/dist/admin/layout-editor/section-template-picker.js +31 -2
- package/dist/admin/layout-editor/section-template-picker.js.map +1 -1
- package/dist/admin/registry.d.ts +6 -6
- package/dist/admin/registry.d.ts.map +1 -1
- package/dist/admin/server.d.ts +1 -0
- package/dist/admin/server.d.ts.map +1 -1
- package/dist/admin/server.js +7 -0
- package/dist/admin/server.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 +12 -2
- package/dist/admin/surfaces/contentTypes/content-types-designer.js.map +1 -1
- package/dist/admin/surfaces/dashboard/dashboard-index.d.ts.map +1 -1
- package/dist/admin/surfaces/dashboard/dashboard-index.js +23 -1
- package/dist/admin/surfaces/dashboard/dashboard-index.js.map +1 -1
- package/dist/admin/webhook-manager.d.ts.map +1 -1
- package/dist/admin/webhook-manager.js +1 -0
- package/dist/admin/webhook-manager.js.map +1 -1
- package/dist/api/admin-features-routes.d.ts.map +1 -1
- package/dist/api/admin-features-routes.js +7 -1
- package/dist/api/admin-features-routes.js.map +1 -1
- package/dist/api/audience-preview-routes.d.ts.map +1 -1
- package/dist/api/audience-preview-routes.js +20 -2
- package/dist/api/audience-preview-routes.js.map +1 -1
- package/dist/api/audience-routes.d.ts.map +1 -1
- package/dist/api/audience-routes.js +44 -3
- package/dist/api/audience-routes.js.map +1 -1
- package/dist/api/audience-runtime-routes.d.ts.map +1 -1
- package/dist/api/audience-runtime-routes.js +6 -2
- package/dist/api/audience-runtime-routes.js.map +1 -1
- package/dist/api/auth-routes.d.ts.map +1 -1
- package/dist/api/auth-routes.js +16 -0
- package/dist/api/auth-routes.js.map +1 -1
- package/dist/api/auth.d.ts.map +1 -1
- package/dist/api/auth.js +34 -1
- package/dist/api/auth.js.map +1 -1
- package/dist/api/bulk-routes.d.ts.map +1 -1
- package/dist/api/bulk-routes.js +44 -12
- package/dist/api/bulk-routes.js.map +1 -1
- package/dist/api/category-routes.d.ts.map +1 -1
- package/dist/api/category-routes.js +10 -1
- package/dist/api/category-routes.js.map +1 -1
- package/dist/api/changeset-routes.d.ts +9 -0
- package/dist/api/changeset-routes.d.ts.map +1 -1
- package/dist/api/changeset-routes.js +13 -2
- package/dist/api/changeset-routes.js.map +1 -1
- package/dist/api/comment-routes.d.ts.map +1 -1
- package/dist/api/comment-routes.js +27 -1
- package/dist/api/comment-routes.js.map +1 -1
- package/dist/api/component-routes.d.ts.map +1 -1
- package/dist/api/component-routes.js +16 -1
- package/dist/api/component-routes.js.map +1 -1
- package/dist/api/content-routes.d.ts.map +1 -1
- package/dist/api/content-routes.js +59 -20
- 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 +39 -0
- 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 +25 -5
- package/dist/api/content-type-routes.js.map +1 -1
- package/dist/api/dashboard-routes.d.ts.map +1 -1
- package/dist/api/dashboard-routes.js +4 -1
- package/dist/api/dashboard-routes.js.map +1 -1
- package/dist/api/experiment-routes.d.ts.map +1 -1
- package/dist/api/experiment-routes.js +24 -2
- package/dist/api/experiment-routes.js.map +1 -1
- package/dist/api/feed-routes.d.ts +4 -4
- package/dist/api/feed-routes.d.ts.map +1 -1
- package/dist/api/feed-routes.js +12 -2
- package/dist/api/feed-routes.js.map +1 -1
- package/dist/api/form-routes.d.ts +18 -0
- package/dist/api/form-routes.d.ts.map +1 -1
- package/dist/api/form-routes.js +207 -14
- package/dist/api/form-routes.js.map +1 -1
- package/dist/api/graphql/handler.d.ts +1 -1
- package/dist/api/graphql/handler.d.ts.map +1 -1
- package/dist/api/graphql/handler.js +8 -1
- package/dist/api/graphql/handler.js.map +1 -1
- package/dist/api/graphql/resolvers.d.ts +15 -6
- package/dist/api/graphql/resolvers.d.ts.map +1 -1
- package/dist/api/graphql/resolvers.js +108 -9
- package/dist/api/graphql/resolvers.js.map +1 -1
- package/dist/api/graphql/schema.d.ts +1 -1
- package/dist/api/graphql/schema.d.ts.map +1 -1
- package/dist/api/graphql/schema.js +14 -3
- package/dist/api/graphql/schema.js.map +1 -1
- package/dist/api/group-routes.d.ts.map +1 -1
- package/dist/api/group-routes.js +27 -0
- package/dist/api/group-routes.js.map +1 -1
- package/dist/api/index.d.ts +9 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +35 -4
- package/dist/api/index.js.map +1 -1
- package/dist/api/layout-routes.d.ts.map +1 -1
- package/dist/api/layout-routes.js +13 -1
- package/dist/api/layout-routes.js.map +1 -1
- package/dist/api/media-routes.d.ts.map +1 -1
- package/dist/api/media-routes.js +19 -0
- package/dist/api/media-routes.js.map +1 -1
- package/dist/api/scheduler-routes.d.ts +10 -0
- package/dist/api/scheduler-routes.d.ts.map +1 -1
- package/dist/api/scheduler-routes.js +13 -2
- package/dist/api/scheduler-routes.js.map +1 -1
- package/dist/api/search-routes.d.ts.map +1 -1
- package/dist/api/search-routes.js +20 -2
- package/dist/api/search-routes.js.map +1 -1
- package/dist/api/section-template-routes.d.ts.map +1 -1
- package/dist/api/section-template-routes.js +16 -1
- package/dist/api/section-template-routes.js.map +1 -1
- package/dist/api/site-context.d.ts +30 -1
- package/dist/api/site-context.d.ts.map +1 -1
- package/dist/api/site-context.js +41 -0
- package/dist/api/site-context.js.map +1 -1
- package/dist/api/tag-routes.d.ts.map +1 -1
- package/dist/api/tag-routes.js +10 -1
- package/dist/api/tag-routes.js.map +1 -1
- package/dist/api/translation-routes.d.ts.map +1 -1
- package/dist/api/translation-routes.js +19 -4
- package/dist/api/translation-routes.js.map +1 -1
- package/dist/api/user-routes.d.ts.map +1 -1
- package/dist/api/user-routes.js +13 -0
- package/dist/api/user-routes.js.map +1 -1
- package/dist/api/version-routes.d.ts.map +1 -1
- package/dist/api/version-routes.js +1 -0
- package/dist/api/version-routes.js.map +1 -1
- package/dist/api/webhook-routes.d.ts.map +1 -1
- package/dist/api/webhook-routes.js +31 -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 +45 -1
- package/dist/api/workflow-routes.js.map +1 -1
- package/dist/audiences/collectors/index.d.ts +1 -0
- package/dist/audiences/collectors/index.d.ts.map +1 -1
- package/dist/audiences/collectors/index.js +1 -0
- package/dist/audiences/collectors/index.js.map +1 -1
- package/dist/audiences/collectors/pinned-audience.d.ts +17 -0
- package/dist/audiences/collectors/pinned-audience.d.ts.map +1 -0
- package/dist/audiences/collectors/pinned-audience.js +22 -0
- package/dist/audiences/collectors/pinned-audience.js.map +1 -0
- package/dist/audiences/cookies.d.ts +1 -0
- package/dist/audiences/cookies.d.ts.map +1 -1
- package/dist/audiences/cookies.js +4 -0
- package/dist/audiences/cookies.js.map +1 -1
- package/dist/audiences/engine.d.ts.map +1 -1
- package/dist/audiences/engine.js +10 -2
- package/dist/audiences/engine.js.map +1 -1
- package/dist/audiences/index.d.ts +1 -0
- package/dist/audiences/index.d.ts.map +1 -1
- package/dist/audiences/index.js +4 -0
- package/dist/audiences/index.js.map +1 -1
- package/dist/audiences/utm-persistence.d.ts +46 -0
- package/dist/audiences/utm-persistence.d.ts.map +1 -0
- package/dist/audiences/utm-persistence.js +68 -0
- package/dist/audiences/utm-persistence.js.map +1 -0
- package/dist/auth/tokens.d.ts.map +1 -1
- package/dist/auth/tokens.js +14 -1
- package/dist/auth/tokens.js.map +1 -1
- package/dist/config/types.d.ts +29 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/db/bulk-queries.d.ts +8 -0
- package/dist/db/bulk-queries.d.ts.map +1 -1
- package/dist/db/bulk-queries.js +16 -0
- package/dist/db/bulk-queries.js.map +1 -1
- package/dist/db/changeset-queries.d.ts +27 -1
- package/dist/db/changeset-queries.d.ts.map +1 -1
- package/dist/db/changeset-queries.js +56 -2
- package/dist/db/changeset-queries.js.map +1 -1
- package/dist/db/content-permission-dedupe.d.ts +24 -0
- package/dist/db/content-permission-dedupe.d.ts.map +1 -0
- package/dist/db/content-permission-dedupe.js +69 -0
- package/dist/db/content-permission-dedupe.js.map +1 -0
- package/dist/db/content-permission-queries.d.ts +8 -0
- package/dist/db/content-permission-queries.d.ts.map +1 -1
- package/dist/db/content-permission-queries.js +29 -1
- package/dist/db/content-permission-queries.js.map +1 -1
- package/dist/db/content-queries.d.ts +7 -0
- package/dist/db/content-queries.d.ts.map +1 -1
- package/dist/db/content-queries.js +9 -0
- package/dist/db/content-queries.js.map +1 -1
- package/dist/db/content-type-queries.d.ts.map +1 -1
- package/dist/db/content-type-queries.js +3 -1
- package/dist/db/content-type-queries.js.map +1 -1
- package/dist/db/dynamic-schema.d.ts.map +1 -1
- package/dist/db/dynamic-schema.js +1 -0
- package/dist/db/dynamic-schema.js.map +1 -1
- package/dist/db/index.d.ts +1 -0
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +3 -0
- package/dist/db/index.js.map +1 -1
- package/dist/db/schema-apply.d.ts.map +1 -1
- package/dist/db/schema-apply.js +1 -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/search-queries.d.ts +7 -0
- package/dist/db/search-queries.d.ts.map +1 -1
- package/dist/db/search-queries.js +3 -0
- package/dist/db/search-queries.js.map +1 -1
- package/dist/db/site-membership-queries.d.ts +6 -0
- package/dist/db/site-membership-queries.d.ts.map +1 -1
- package/dist/db/site-membership-queries.js +9 -0
- package/dist/db/site-membership-queries.js.map +1 -1
- package/dist/db/user-search.d.ts +8 -0
- package/dist/db/user-search.d.ts.map +1 -1
- package/dist/db/user-search.js +14 -8
- package/dist/db/user-search.js.map +1 -1
- package/dist/db/workflow-queries.d.ts +1 -0
- package/dist/db/workflow-queries.d.ts.map +1 -1
- package/dist/db/workflow-queries.js +24 -0
- package/dist/db/workflow-queries.js.map +1 -1
- package/dist/experiments/engine.d.ts.map +1 -1
- package/dist/experiments/engine.js +7 -2
- package/dist/experiments/engine.js.map +1 -1
- package/dist/forms/types.d.ts +5 -0
- package/dist/forms/types.d.ts.map +1 -1
- package/dist/forms/validation.d.ts +20 -0
- package/dist/forms/validation.d.ts.map +1 -1
- package/dist/forms/validation.js +45 -2
- package/dist/forms/validation.js.map +1 -1
- package/dist/hooks/ax-invalidation.d.ts.map +1 -1
- package/dist/hooks/ax-invalidation.js +1 -0
- package/dist/hooks/ax-invalidation.js.map +1 -1
- package/dist/hooks/dispatch.d.ts +1 -0
- package/dist/hooks/dispatch.d.ts.map +1 -1
- package/dist/hooks/dispatch.js +6 -0
- package/dist/hooks/dispatch.js.map +1 -1
- package/dist/hooks/webhook-dispatch.d.ts.map +1 -1
- package/dist/hooks/webhook-dispatch.js +1 -0
- package/dist/hooks/webhook-dispatch.js.map +1 -1
- package/dist/layout/index.d.ts +1 -1
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/renderer.d.ts +15 -2
- package/dist/layout/renderer.d.ts.map +1 -1
- package/dist/layout/renderer.js +49 -3
- package/dist/layout/renderer.js.map +1 -1
- package/dist/layout/types.d.ts +9 -0
- package/dist/layout/types.d.ts.map +1 -1
- package/dist/layout/types.js +5 -0
- package/dist/layout/types.js.map +1 -1
- package/dist/schema/base.d.ts +74 -0
- package/dist/schema/base.d.ts.map +1 -1
- package/dist/schema/base.js +16 -0
- package/dist/schema/base.js.map +1 -1
- package/dist/schema/content-permissions.d.ts.map +1 -1
- package/dist/schema/content-permissions.js +23 -2
- package/dist/schema/content-permissions.js.map +1 -1
- package/dist/schema/mapper.d.ts.map +1 -1
- package/dist/schema/mapper.js +1 -0
- package/dist/schema/mapper.js.map +1 -1
- package/dist/schema/mysql-tables.d.ts +68 -0
- package/dist/schema/mysql-tables.d.ts.map +1 -1
- package/dist/schema/mysql-tables.js +7 -0
- package/dist/schema/mysql-tables.js.map +1 -1
- package/dist/scope/kywi-form.d.ts.map +1 -1
- package/dist/scope/kywi-form.js +51 -6
- package/dist/scope/kywi-form.js.map +1 -1
- package/dist/scope/kywi-wizard-form.d.ts.map +1 -1
- package/dist/scope/kywi-wizard-form.js +29 -3
- package/dist/scope/kywi-wizard-form.js.map +1 -1
- package/dist/versioning/scheduler.d.ts +10 -2
- package/dist/versioning/scheduler.d.ts.map +1 -1
- package/dist/versioning/scheduler.js +13 -5
- package/dist/versioning/scheduler.js.map +1 -1
- package/package.json +12 -4
|
@@ -6,7 +6,7 @@ import { acquireLock, releaseLock, getLock, forceUnlock, renewLock, LockConflict
|
|
|
6
6
|
import { parsePaginationParams, parseSortParams, parseFilterParams } from './pagination.js';
|
|
7
7
|
import { buildCreateSchema, buildUpdateSchema } from './content-schemas.js';
|
|
8
8
|
import { resolveAuth } from './auth.js';
|
|
9
|
-
import { resolveSiteId } from './site-context.js';
|
|
9
|
+
import { resolveSiteId, assertSiteAccess } from './site-context.js';
|
|
10
10
|
import { canAccessContent, hasMinRole } from '../auth/roles.js';
|
|
11
11
|
import { checkContentAccess, checkDocumentAccess, checkDocumentMutationAccess, filterFieldsForUser } from '../auth/access-control.js';
|
|
12
12
|
import { listContent, getContentById, getContentBySlug, createContent, updateContent, deleteContent, publishContent, unpublishContent, permanentDeleteContent, } from '../db/content-queries.js';
|
|
@@ -90,6 +90,9 @@ export function registerContentRoutes(router, ctx) {
|
|
|
90
90
|
// Scope the soft-delete by the request's resolved site so an id belonging to
|
|
91
91
|
// another site can't be deleted by id alone (cross-site addressing).
|
|
92
92
|
const siteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
|
|
93
|
+
const siteDenied = assertSiteAccess(auth.user, siteId);
|
|
94
|
+
if (siteDenied)
|
|
95
|
+
return siteDenied;
|
|
93
96
|
const deleted = await deleteContent(db, params.id, siteId);
|
|
94
97
|
if (!deleted)
|
|
95
98
|
return notFound('Content not found');
|
|
@@ -108,6 +111,9 @@ export function registerContentRoutes(router, ctx) {
|
|
|
108
111
|
// blocking cross-site publish (the id-keyed publishContent alone can't tell
|
|
109
112
|
// sites apart).
|
|
110
113
|
const publishSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
|
|
114
|
+
const siteDenied = assertSiteAccess(auth.user, publishSiteId);
|
|
115
|
+
if (siteDenied)
|
|
116
|
+
return siteDenied;
|
|
111
117
|
const row = await publishContent(db, params.id, publishSiteId);
|
|
112
118
|
if (!row)
|
|
113
119
|
return notFound('Content not found');
|
|
@@ -120,7 +126,7 @@ export function registerContentRoutes(router, ctx) {
|
|
|
120
126
|
// dispatch rather than 500ing a publish that already succeeded.
|
|
121
127
|
const contentType = getContentType(row.contentTypeName);
|
|
122
128
|
if (contentType) {
|
|
123
|
-
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, ctx.kywiCtx);
|
|
129
|
+
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, { ...ctx.kywiCtx, user: auth.user });
|
|
124
130
|
await dispatch.afterPublish(row);
|
|
125
131
|
}
|
|
126
132
|
// Record a version snapshot so a direct publish is rollback-able (#44).
|
|
@@ -139,19 +145,22 @@ export function registerContentRoutes(router, ctx) {
|
|
|
139
145
|
// Scope by the request's resolved site so a foreign-site id → null → 404
|
|
140
146
|
// (cross-site unpublish guard, mirroring the by-id publish route).
|
|
141
147
|
const unpublishSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
|
|
148
|
+
const siteDenied = assertSiteAccess(auth.user, unpublishSiteId);
|
|
149
|
+
if (siteDenied)
|
|
150
|
+
return siteDenied;
|
|
142
151
|
const row = await unpublishContent(db, params.id, unpublishSiteId);
|
|
143
152
|
if (!row)
|
|
144
153
|
return notFound('Content not found');
|
|
145
|
-
//
|
|
146
|
-
//
|
|
147
|
-
// keeps serving the just-unpublished node from stale cache.
|
|
148
|
-
//
|
|
149
|
-
//
|
|
150
|
-
//
|
|
154
|
+
// Dispatch the dedicated `afterUnpublish` event so the public cache
|
|
155
|
+
// (content/feed/nav + AX projections) is invalidated — otherwise the site
|
|
156
|
+
// keeps serving the just-unpublished node from stale cache. Webhook / AX /
|
|
157
|
+
// cache subscribers listen on `content:afterUnpublish`, mirroring the typed
|
|
158
|
+
// unpublish route below. Resolve the type from the row's `contentTypeName`;
|
|
159
|
+
// skip an orphaned type gracefully.
|
|
151
160
|
const contentType = getContentType(row.contentTypeName);
|
|
152
161
|
if (contentType) {
|
|
153
|
-
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, ctx.kywiCtx);
|
|
154
|
-
await dispatch.
|
|
162
|
+
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, { ...ctx.kywiCtx, user: auth.user });
|
|
163
|
+
await dispatch.afterUnpublish(row);
|
|
155
164
|
}
|
|
156
165
|
// Record a version snapshot so a direct unpublish is rollback-able (#44).
|
|
157
166
|
await snapshotContentVersion(row, auth.user.id, 'Unpublished');
|
|
@@ -170,6 +179,9 @@ export function registerContentRoutes(router, ctx) {
|
|
|
170
179
|
// fetch and the restore are scoped to the request's resolved site so a
|
|
171
180
|
// foreign-site id can't be restored by id alone (cross-site guard).
|
|
172
181
|
const restoreSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
|
|
182
|
+
const siteDenied = assertSiteAccess(auth.user, restoreSiteId);
|
|
183
|
+
if (siteDenied)
|
|
184
|
+
return siteDenied;
|
|
173
185
|
const existing = await getContentById(db, null, params.id, restoreSiteId);
|
|
174
186
|
const { restored, movedToRecovered } = await restoreContentWithRecovery(db, params.id, restoreSiteId);
|
|
175
187
|
if (!restored)
|
|
@@ -193,6 +205,9 @@ export function registerContentRoutes(router, ctx) {
|
|
|
193
205
|
// fetch and the permanent delete are scoped to the request's resolved site so
|
|
194
206
|
// a foreign-site id can't be purged by id alone (cross-site guard).
|
|
195
207
|
const permSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
|
|
208
|
+
const siteDenied = assertSiteAccess(auth.user, permSiteId);
|
|
209
|
+
if (siteDenied)
|
|
210
|
+
return siteDenied;
|
|
196
211
|
const existing = await getContentById(db, null, params.id, permSiteId);
|
|
197
212
|
const deleted = await permanentDeleteContent(db, params.id, permSiteId);
|
|
198
213
|
if (!deleted)
|
|
@@ -211,6 +226,9 @@ export function registerContentRoutes(router, ctx) {
|
|
|
211
226
|
if (!canAccessContent(auth.user.role, 'delete'))
|
|
212
227
|
return forbidden();
|
|
213
228
|
const siteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
|
|
229
|
+
const siteDenied = assertSiteAccess(auth.user, siteId);
|
|
230
|
+
if (siteDenied)
|
|
231
|
+
return siteDenied;
|
|
214
232
|
const url = new URL(req.url);
|
|
215
233
|
const page = Math.max(1, parseInt(url.searchParams.get('page') ?? '1', 10));
|
|
216
234
|
const pageSize = Math.min(100, Math.max(1, parseInt(url.searchParams.get('pageSize') ?? '20', 10)));
|
|
@@ -240,6 +258,9 @@ export function registerContentRoutes(router, ctx) {
|
|
|
240
258
|
if (!canAccessContent(auth.user.role, 'delete'))
|
|
241
259
|
return forbidden();
|
|
242
260
|
const siteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
|
|
261
|
+
const siteDenied = assertSiteAccess(auth.user, siteId);
|
|
262
|
+
if (siteDenied)
|
|
263
|
+
return siteDenied;
|
|
243
264
|
const count = await emptyTrashForSite(db, siteId);
|
|
244
265
|
return jsonOk({ emptied: true, count });
|
|
245
266
|
});
|
|
@@ -382,8 +403,11 @@ export function registerContentRoutes(router, ctx) {
|
|
|
382
403
|
return validationError(parsed.error.errors.map(e => ({ path: e.path.join('.'), message: e.message })));
|
|
383
404
|
}
|
|
384
405
|
const siteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
|
|
406
|
+
const siteDenied = assertSiteAccess(auth.user, siteId);
|
|
407
|
+
if (siteDenied)
|
|
408
|
+
return siteDenied;
|
|
385
409
|
const customTable = customTableMap.get(contentType.name) ?? null;
|
|
386
|
-
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, ctx.kywiCtx);
|
|
410
|
+
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, { ...ctx.kywiCtx, user: auth.user });
|
|
387
411
|
let data;
|
|
388
412
|
try {
|
|
389
413
|
data = await dispatch.beforeCreate(parsed.data);
|
|
@@ -446,12 +470,15 @@ export function registerContentRoutes(router, ctx) {
|
|
|
446
470
|
if (!parsed.success) {
|
|
447
471
|
return validationError(parsed.error.errors.map(e => ({ path: e.path.join('.'), message: e.message })));
|
|
448
472
|
}
|
|
449
|
-
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, ctx.kywiCtx);
|
|
473
|
+
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, { ...ctx.kywiCtx, user: auth.user });
|
|
450
474
|
const customTable = customTableMap.get(contentType.name) ?? null;
|
|
451
475
|
// Scope the existence guard to the request's site so a content id belonging
|
|
452
476
|
// to another site resolves to null → 404, blocking the mutation below before
|
|
453
477
|
// updateContent (which is keyed by id alone) can touch a foreign row.
|
|
454
478
|
const putSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
|
|
479
|
+
const siteDenied = assertSiteAccess(auth.user, putSiteId);
|
|
480
|
+
if (siteDenied)
|
|
481
|
+
return siteDenied;
|
|
455
482
|
const existing = await getContentById(db, customTable, params.id, putSiteId);
|
|
456
483
|
if (!existing)
|
|
457
484
|
return notFound('Content not found');
|
|
@@ -527,10 +554,13 @@ export function registerContentRoutes(router, ctx) {
|
|
|
527
554
|
if (!parsed.success) {
|
|
528
555
|
return validationError(parsed.error.errors.map(e => ({ path: e.path.join('.'), message: e.message })));
|
|
529
556
|
}
|
|
530
|
-
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, ctx.kywiCtx);
|
|
557
|
+
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, { ...ctx.kywiCtx, user: auth.user });
|
|
531
558
|
const customTable = customTableMap.get(contentType.name) ?? null;
|
|
532
559
|
// Site-scoped existence guard (see PUT handler): foreign id → 404 before mutate.
|
|
533
560
|
const patchSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
|
|
561
|
+
const siteDenied = assertSiteAccess(auth.user, patchSiteId);
|
|
562
|
+
if (siteDenied)
|
|
563
|
+
return siteDenied;
|
|
534
564
|
const existing = await getContentById(db, customTable, params.id, patchSiteId);
|
|
535
565
|
if (!existing)
|
|
536
566
|
return notFound('Content not found');
|
|
@@ -590,12 +620,15 @@ export function registerContentRoutes(router, ctx) {
|
|
|
590
620
|
if (locked && !hasMinRole(auth.user.role, 'siteAdmin')) {
|
|
591
621
|
return jsonError('LOCKED', 'Content is locked and cannot be modified', 423);
|
|
592
622
|
}
|
|
593
|
-
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, ctx.kywiCtx);
|
|
623
|
+
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, { ...ctx.kywiCtx, user: auth.user });
|
|
594
624
|
const customTable = customTableMap.get(contentType.name) ?? null;
|
|
595
625
|
// Site-scoped existence guard: a content id from another site resolves to
|
|
596
626
|
// null → 404, blocking deleteContent (keyed by id alone) from removing a
|
|
597
627
|
// foreign row.
|
|
598
628
|
const delSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
|
|
629
|
+
const siteDenied = assertSiteAccess(auth.user, delSiteId);
|
|
630
|
+
if (siteDenied)
|
|
631
|
+
return siteDenied;
|
|
599
632
|
const existing = await getContentById(db, customTable, params.id, delSiteId);
|
|
600
633
|
if (!existing)
|
|
601
634
|
return notFound('Content not found');
|
|
@@ -624,10 +657,13 @@ export function registerContentRoutes(router, ctx) {
|
|
|
624
657
|
// matching the site-scoped existence guard the typed PUT/PATCH/DELETE routes
|
|
625
658
|
// already apply (publishContent is otherwise keyed by id alone).
|
|
626
659
|
const publishSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
|
|
660
|
+
const siteDenied = assertSiteAccess(auth.user, publishSiteId);
|
|
661
|
+
if (siteDenied)
|
|
662
|
+
return siteDenied;
|
|
627
663
|
const row = await publishContent(db, params.id, publishSiteId);
|
|
628
664
|
if (!row)
|
|
629
665
|
return notFound('Content not found');
|
|
630
|
-
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, ctx.kywiCtx);
|
|
666
|
+
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, { ...ctx.kywiCtx, user: auth.user });
|
|
631
667
|
await dispatch.afterPublish(row);
|
|
632
668
|
// Record a version snapshot so a direct publish is rollback-able (#44).
|
|
633
669
|
await snapshotContentVersion(row, auth.user.id, 'Published');
|
|
@@ -649,14 +685,17 @@ export function registerContentRoutes(router, ctx) {
|
|
|
649
685
|
return forbidden();
|
|
650
686
|
// Scope by the request's resolved site (cross-site unpublish guard).
|
|
651
687
|
const unpublishSiteId = resolveSiteId(req, ctx.config, ctx.siteIdMap);
|
|
688
|
+
const siteDenied = assertSiteAccess(auth.user, unpublishSiteId);
|
|
689
|
+
if (siteDenied)
|
|
690
|
+
return siteDenied;
|
|
652
691
|
const row = await unpublishContent(db, params.id, unpublishSiteId);
|
|
653
692
|
if (!row)
|
|
654
693
|
return notFound('Content not found');
|
|
655
|
-
// Invalidate the public cache on unpublish (see the by-id route above):
|
|
656
|
-
// dedicated afterUnpublish event
|
|
657
|
-
//
|
|
658
|
-
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, ctx.kywiCtx);
|
|
659
|
-
await dispatch.
|
|
694
|
+
// Invalidate the public cache on unpublish (see the by-id route above): the
|
|
695
|
+
// dedicated `content:afterUnpublish` event carries the content/feed/nav + AX
|
|
696
|
+
// invalidation for the just-unpublished node.
|
|
697
|
+
const dispatch = createContentHookDispatcher(contentType, ctx.hookRegistry, { ...ctx.kywiCtx, user: auth.user });
|
|
698
|
+
await dispatch.afterUnpublish(row);
|
|
660
699
|
// Record a version snapshot so a direct unpublish is rollback-able (#44).
|
|
661
700
|
await snapshotContentVersion(row, auth.user.id, 'Unpublished');
|
|
662
701
|
return jsonOk(row);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-routes.js","sourceRoot":"","sources":["../../src/api/content-routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"content-routes.js","sourceRoot":"","sources":["../../src/api/content-routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-schemas.d.ts","sourceRoot":"","sources":["../../src/api/content-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"content-schemas.d.ts","sourceRoot":"","sources":["../../src/api/content-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAmB,MAAM,oBAAoB,CAAA;AAiM5E;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAAoC,CAAA;AAE3F,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAgBlF;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAelF"}
|
|
@@ -31,6 +31,31 @@ function withNumberValidation(base, field) {
|
|
|
31
31
|
n = n.lte(v.max);
|
|
32
32
|
return n;
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* The element schema for a `list` (repeater) field, keyed by its itemType. An
|
|
36
|
+
* `image` row stores a media UUID (same shape as a standalone `image` field);
|
|
37
|
+
* `url`/`email` refine the string; `number` accepts a JS number; the rest are
|
|
38
|
+
* plain strings.
|
|
39
|
+
*/
|
|
40
|
+
function listItemZod(itemType) {
|
|
41
|
+
switch (itemType) {
|
|
42
|
+
case 'number':
|
|
43
|
+
return z.number();
|
|
44
|
+
case 'url':
|
|
45
|
+
return z.string().url('Invalid URL');
|
|
46
|
+
case 'email':
|
|
47
|
+
return z.string().email('Invalid email');
|
|
48
|
+
case 'image':
|
|
49
|
+
return z.string().uuid();
|
|
50
|
+
case 'text':
|
|
51
|
+
case 'textarea':
|
|
52
|
+
return z.string();
|
|
53
|
+
default: {
|
|
54
|
+
const _exhaustive = itemType;
|
|
55
|
+
return z.string();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
34
59
|
function fieldToZod(field) {
|
|
35
60
|
switch (field.type) {
|
|
36
61
|
case 'text':
|
|
@@ -49,6 +74,12 @@ function fieldToZod(field) {
|
|
|
49
74
|
: withStringValidation(z.string(), field);
|
|
50
75
|
case 'multiSelect':
|
|
51
76
|
return z.array(z.string());
|
|
77
|
+
case 'list':
|
|
78
|
+
// A repeater field stores a jsonb array; each element is validated by the
|
|
79
|
+
// field's itemType. Unlike group/json (object-only z.record), this MUST
|
|
80
|
+
// reject a non-array value and reject wrong-typed elements (e.g. a bare
|
|
81
|
+
// string, or an object where a string item is expected).
|
|
82
|
+
return z.array(listItemZod(field.itemType ?? 'text'));
|
|
52
83
|
case 'relationship':
|
|
53
84
|
case 'image':
|
|
54
85
|
case 'file':
|
|
@@ -136,6 +167,14 @@ const writableBaseFields = {
|
|
|
136
167
|
redirectUrl: z.string().nullable().optional(),
|
|
137
168
|
// ── SEO / sitemap base fields ────────────────────────────────────────────
|
|
138
169
|
changeFreq: z.string().nullable().optional(),
|
|
170
|
+
// kywi-cms#64: the SEO tab (content-form.tsx) already writes these three
|
|
171
|
+
// values into the editor's payload; without a whitelist entry the
|
|
172
|
+
// `.strict()` schemas below silently dropped them on save. robotsIndex /
|
|
173
|
+
// robotsFollow store the literal strings the scaffold's `generateMetadata`
|
|
174
|
+
// reads (packages/create-kywi-app/lib/templates.mjs).
|
|
175
|
+
canonicalUrl: z.string().max(2048).optional(),
|
|
176
|
+
robotsIndex: z.enum(['index', 'noindex']).optional(),
|
|
177
|
+
robotsFollow: z.enum(['follow', 'nofollow']).optional(),
|
|
139
178
|
// ── Publishing / scheduling base fields ──────────────────────────────────
|
|
140
179
|
featureInSection: z.string().nullable().optional(),
|
|
141
180
|
publishedAt: scheduleTimestamp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-schemas.js","sourceRoot":"","sources":["../../src/api/content-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,iFAAiF;AACjF,SAAS,oBAAoB,CAAC,IAAiB,EAAE,KAAsB;IACrE,IAAI,CAAC,GAAG,IAAI,CAAA;IACZ,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAA;IAC1B,gEAAgE;IAChE,IAAI,KAAK,CAAC,QAAQ;QAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,SAAS,IAAI,IAAI;QAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAChD,IAAI,CAAC,EAAE,SAAS,IAAI,IAAI;QAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAChD,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;QACf,sEAAsE;QACtE,IAAI,CAAC;YACH,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,+DAA+D;AAC/D,SAAS,oBAAoB,CAAC,IAAiB,EAAE,KAAsB;IACrE,IAAI,CAAC,GAAG,IAAI,CAAA;IACZ,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAA;IAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI;QAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI;QAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpC,OAAO,CAAC,CAAA;AACV,CAAC;AAED,SAAS,UAAU,CAAC,KAAsB;IACxC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,oBAAoB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAA;QAChD,KAAK,KAAK;YACR,OAAO,oBAAoB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAA;QACnE,KAAK,OAAO;YACV,OAAO,oBAAoB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,CAAA;QACvE,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,OAAO;gBAClB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAgC,CAAC;gBAChD,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAA;QAC7C,KAAK,aAAa;YAChB,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QAC5B,KAAK,cAAc,CAAC;QACpB,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAA;QAC1B,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9B,KAAK,MAAM;YACT,OAAO,eAAe,CAAA;QACxB,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;QACpB,KAAK,QAAQ;YACX,OAAO,oBAAoB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAA;QAChD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,KAAK,CAAC,IAAI,CAAA;YACrC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,iBAAiB,GAAG,CAAC;KACxB,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;IACpB,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC/C,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAA;IACvC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACtC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;AACvD,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;KACtB,QAAQ,EAAE,CAAA;AAEb;;;;;;;;;;;;;;;GAeG;AACH,MAAM,eAAe,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;IAC7C,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACvE,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAA;IACvC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACtC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAA;AACxD,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAEZ,MAAM,kBAAkB,GAAG;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACpD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACxD,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,4EAA4E;IAC5E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACtC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,4EAA4E;IAC5E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,4EAA4E;IAC5E,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,iBAAiB;IAC5B,YAAY,EAAE,iBAAiB;IAC/B,WAAW,EAAE,iBAAiB;IAC9B,4EAA4E;IAC5E,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnD,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,+BAA+B;IAC/B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAChE,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;AAE3F,MAAM,UAAU,iBAAiB,CAAC,WAA8B;IAC9D,MAAM,YAAY,GAAiC,EAAE,CAAA;IACrD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IACzD,CAAC;IAED,0EAA0E;IAC1E,uEAAuE;IACvE,iDAAiD;IACjD,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAA;IAEzG,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,kBAAkB;QACrB,KAAK,EAAE,UAAU;QACjB,GAAG,YAAY;KAChB,CAAC,CAAC,MAAM,EAAE,CAAA;AACb,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAA8B;IAC9D,MAAM,YAAY,GAAiC,EAAE,CAAA;IACrD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IACzD,CAAC;IAED,MAAM,SAAS,GAAiC,EAAE,CAAA;IAClD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC/D,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;IAC/D,CAAC;IAED,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,SAAS;QACZ,GAAG,YAAY;KAChB,CAAC,CAAC,MAAM,EAAE,CAAA;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"content-schemas.js","sourceRoot":"","sources":["../../src/api/content-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-type-routes.d.ts","sourceRoot":"","sources":["../../src/api/content-type-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAmB,MAAM,oBAAoB,CAAA;AACxF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAc7D,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,UAAU,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IACvD,iBAAiB,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;IAC7D,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;
|
|
1
|
+
{"version":3,"file":"content-type-routes.d.ts","sourceRoot":"","sources":["../../src/api/content-type-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAmB,MAAM,oBAAoB,CAAA;AACxF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAc7D,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,UAAU,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IACvD,iBAAiB,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;IAC7D,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAmFD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,GAAG,IAAI,CA8S5F"}
|
|
@@ -13,8 +13,10 @@ const BUILT_IN_TYPES = new Set(['page', 'folder', 'link', 'form']);
|
|
|
13
13
|
const FIELD_TYPES = [
|
|
14
14
|
'text', 'richText', 'textarea', 'select', 'multiSelect',
|
|
15
15
|
'relationship', 'image', 'file', 'date', 'boolean', 'number',
|
|
16
|
-
'json', 'color', 'slug', 'group', 'url', 'email',
|
|
16
|
+
'json', 'color', 'slug', 'group', 'url', 'email', 'list',
|
|
17
17
|
];
|
|
18
|
+
/** Per-row item types allowed for a 'list' (repeater) field (#67). */
|
|
19
|
+
const LIST_ITEM_TYPES = ['text', 'textarea', 'number', 'url', 'email', 'image'];
|
|
18
20
|
const BASE_TYPES = [
|
|
19
21
|
'content', 'folder', 'media', 'event', 'gallery', 'link', 'form', 'component',
|
|
20
22
|
];
|
|
@@ -36,6 +38,8 @@ const addFieldSchema = z.object({
|
|
|
36
38
|
/** Required (in practice) when type is 'relationship': the target content
|
|
37
39
|
* type name (or 'user') the field points at (kywi-cms#12). */
|
|
38
40
|
relatedType: z.string().min(1).optional(),
|
|
41
|
+
/** Per-row item type when type is 'list' (repeater) — defaults to 'text' (#67). */
|
|
42
|
+
itemType: z.enum(LIST_ITEM_TYPES).optional(),
|
|
39
43
|
});
|
|
40
44
|
const createTypeSchema = z.object({
|
|
41
45
|
name: z.string().min(1).regex(/^[a-zA-Z][a-zA-Z0-9]*$/, 'Type name must be camelCase alphanumeric, starting with a letter'),
|
|
@@ -82,11 +86,18 @@ async function requireSiteAdmin(req, authSecret, db) {
|
|
|
82
86
|
}
|
|
83
87
|
export function registerContentTypeRoutes(router, ctx) {
|
|
84
88
|
const { db, authSecret } = ctx;
|
|
85
|
-
// GET /content-types — list all non-built-in content types with merged fields
|
|
89
|
+
// GET /content-types — list all non-built-in content types with merged fields.
|
|
90
|
+
// kywi-cms#65: editor-readable (not siteAdmin-gated) — the response exposes
|
|
91
|
+
// no secrets (names/labels/fields/titleRequired), and resolveContentType's
|
|
92
|
+
// fallback (admin/surfaces/content/runtime-content-types.ts) relies on this
|
|
93
|
+
// endpoint to resolve admin-created types for editor sessions too. Mutation
|
|
94
|
+
// routes (POST/PUT/DELETE below) stay siteAdmin-gated via requireSiteAdmin.
|
|
86
95
|
router.get('/content-types', async (req) => {
|
|
87
|
-
const
|
|
88
|
-
if (!user)
|
|
96
|
+
const auth = await resolveAuth(req.headers.get('authorization'), authSecret, db);
|
|
97
|
+
if (!auth.user)
|
|
89
98
|
return unauthorized();
|
|
99
|
+
if (!hasMinRole(auth.user.role, 'editor'))
|
|
100
|
+
return forbidden();
|
|
90
101
|
const types = Array.from(ctx.getContentTypeMap().values())
|
|
91
102
|
.filter(ct => !BUILT_IN_TYPES.has(ct.name))
|
|
92
103
|
.map(ct => ({
|
|
@@ -227,6 +238,11 @@ export function registerContentTypeRoutes(router, ctx) {
|
|
|
227
238
|
options: field.options,
|
|
228
239
|
required: field.required,
|
|
229
240
|
validation: field.validation,
|
|
241
|
+
// Preserve type-specific config across a reorder — the save rewrites the
|
|
242
|
+
// whole row, so omitting these would null a relationship's target or a
|
|
243
|
+
// list's itemType (#67).
|
|
244
|
+
relatedType: field.relatedType,
|
|
245
|
+
itemType: field.itemType,
|
|
230
246
|
sortOrder: order++,
|
|
231
247
|
});
|
|
232
248
|
}
|
|
@@ -274,7 +290,10 @@ export function registerContentTypeRoutes(router, ctx) {
|
|
|
274
290
|
return jsonError('CONFLICT', `Field '${parsed.data.name}' is defined in kywi.config.ts and cannot be overridden via the UI`, 409);
|
|
275
291
|
}
|
|
276
292
|
const { validation, ...rest } = parsed.data;
|
|
277
|
-
|
|
293
|
+
// A 'list' field always persists an itemType — default to 'text' when the
|
|
294
|
+
// client omitted it (#67). Non-list fields carry no itemType.
|
|
295
|
+
const itemType = rest.type === 'list' ? (rest.itemType ?? 'text') : rest.itemType;
|
|
296
|
+
await saveAdminField(db, { contentTypeName: params.type, ...rest, itemType, validation: toValidation(validation) });
|
|
278
297
|
await ctx.reloadMaps();
|
|
279
298
|
return jsonOk({ saved: true }, 201);
|
|
280
299
|
});
|
|
@@ -311,6 +330,7 @@ export function registerContentTypeRoutes(router, ctx) {
|
|
|
311
330
|
required: parsed.data.required ?? existingField.required,
|
|
312
331
|
validation: toValidation(parsed.data.validation) ?? existingField.validation,
|
|
313
332
|
relatedType: parsed.data.relatedType ?? existingField.relatedType,
|
|
333
|
+
itemType: parsed.data.itemType ?? existingField.itemType,
|
|
314
334
|
// FieldDefinition carries no sortOrder, so the previous
|
|
315
335
|
// `?? existingField.sortOrder` fallback was always undefined at runtime.
|
|
316
336
|
sortOrder: parsed.data.sortOrder,
|