@cogenta/schema 0.2.0 → 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.
@@ -12,8 +12,13 @@ export type { BlockChange, ChangeKind, ContentDiff, FieldChange } from './diff.j
12
12
  export { deepEqual, diffBlocks, diffBlockZones, diffContent, diffValues } from './diff.js';
13
13
  export type { ContentLifecycleEvent, ContentLifecycleEventName, LifecycleEventsOptions, } from './lifecycle-events.js';
14
14
  export { withLifecycleEvents } from './lifecycle-events.js';
15
+ export type { CreateMenuInput, CreateMenuItemInput, ListMenusOptions, Menu, MenuItem, MenuItemKind, MenuStore, MenuStoreOptions, UpdateMenuInput, UpdateMenuItemInput, } from './menu-store.js';
16
+ export { createMenuStore, MAX_MENU_DEPTH } from './menu-store.js';
17
+ export { ensureMenuTables, MENU_ITEM_PATH_LENGTH, MENU_TABLES } from './menu-tables.js';
15
18
  export { blocksTable, columnFor, entriesTable, isSystemColumn, relationTable, SYSTEM_COLUMNS, taxonomyTable, toSnakeCase, versionsTable, } from './naming.js';
16
19
  export { withReadOnlyStore } from './read-only.js';
20
+ export type { ScheduledPublishEnqueueOptions } from './scheduled-publish-enqueue.js';
21
+ export { withScheduledPublishEnqueue } from './scheduled-publish-enqueue.js';
17
22
  export type { Schema2MigrationOptions } from './schema-2-migration.js';
18
23
  export { schema2Migration } from './schema-2-migration.js';
19
24
  export type { SearchIndexingOptions } from './search-indexing.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,UAAU,GACX,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AACxD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAClF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAC1F,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACZ,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,WAAW,EACX,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,eAAe,GAChB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,YAAY,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,GACf,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,11 @@ export { booleanColumn, columnTypeFor, integerColumn, isColumnless, jsonColumn,
9
9
  export { decodeCursor, encodeCursor } from './cursor.js';
10
10
  export { deepEqual, diffBlocks, diffBlockZones, diffContent, diffValues } from './diff.js';
11
11
  export { withLifecycleEvents } from './lifecycle-events.js';
12
+ export { createMenuStore, MAX_MENU_DEPTH } from './menu-store.js';
13
+ export { ensureMenuTables, MENU_ITEM_PATH_LENGTH, MENU_TABLES } from './menu-tables.js';
12
14
  export { blocksTable, columnFor, entriesTable, isSystemColumn, relationTable, SYSTEM_COLUMNS, taxonomyTable, toSnakeCase, versionsTable, } from './naming.js';
13
15
  export { withReadOnlyStore } from './read-only.js';
16
+ export { withScheduledPublishEnqueue } from './scheduled-publish-enqueue.js';
14
17
  export { schema2Migration } from './schema-2-migration.js';
15
18
  export { withSearchIndexing } from './search-indexing.js';
16
19
  export { createContentStore } from './store.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,UAAU,GACX,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAM1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/C,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACZ,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,WAAW,EACX,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAQ3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAyBzD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,UAAU,GACX,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAM1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAa3D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACvF,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,EACb,WAAW,EACX,aAAa,GACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAA;AAE5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/C,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACZ,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,WAAW,EACX,SAAS,EACT,OAAO,EACP,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,WAAW,EACX,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAQ3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAyBzD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,99 @@
1
+ import { type DatabaseHandle } from '@cogenta/core';
2
+ /**
3
+ * The persistence layer of navigation menus.
4
+ *
5
+ * Structurally a menu is the same shape as a taxonomy — a named tree,
6
+ * maintained with a materialised path so that "everything under this item" is
7
+ * one `like`, portable across the three dialects (ADR-0006) — but it is not a
8
+ * `TaxonomyStore`: a menu is not declared in the site's schema, it is created
9
+ * and edited at runtime from the admin, so it gets one fixed pair of tables
10
+ * (`menu-tables.ts`) rather than a table per declared name.
11
+ */
12
+ export type MenuItemKind = 'entry' | 'url' | 'submenu-placeholder';
13
+ /** Deep enough for any real navigation; the path column is bounded to match. */
14
+ export declare const MAX_MENU_DEPTH = 8;
15
+ export interface Menu {
16
+ readonly id: string;
17
+ readonly name: string;
18
+ readonly locale: string;
19
+ readonly label: string;
20
+ readonly createdAt: string;
21
+ readonly updatedAt: string;
22
+ }
23
+ export interface MenuItem {
24
+ readonly id: string;
25
+ readonly menuId: string;
26
+ readonly parent: string | null;
27
+ readonly label: string;
28
+ readonly kind: MenuItemKind;
29
+ readonly targetCollection: string | null;
30
+ readonly targetEntryId: string | null;
31
+ readonly url: string | null;
32
+ readonly position: number;
33
+ readonly depth: number;
34
+ readonly openInNewTab: boolean;
35
+ readonly createdAt: string;
36
+ readonly updatedAt: string;
37
+ }
38
+ export interface CreateMenuInput {
39
+ readonly id?: string;
40
+ readonly name: string;
41
+ readonly locale: string;
42
+ readonly label: string;
43
+ }
44
+ export interface UpdateMenuInput {
45
+ readonly label?: string;
46
+ }
47
+ export interface ListMenusOptions {
48
+ readonly locale?: string;
49
+ }
50
+ export interface CreateMenuItemInput {
51
+ readonly id?: string;
52
+ readonly label: string;
53
+ readonly kind: MenuItemKind;
54
+ readonly parent?: string | null;
55
+ readonly targetCollection?: string | null;
56
+ readonly targetEntryId?: string | null;
57
+ readonly url?: string | null;
58
+ readonly position?: number;
59
+ readonly openInNewTab?: boolean;
60
+ }
61
+ export interface UpdateMenuItemInput {
62
+ readonly label?: string;
63
+ readonly kind?: MenuItemKind;
64
+ readonly targetCollection?: string | null;
65
+ readonly targetEntryId?: string | null;
66
+ readonly url?: string | null;
67
+ readonly openInNewTab?: boolean;
68
+ }
69
+ export interface MenuStoreOptions {
70
+ readonly db: DatabaseHandle;
71
+ /** Injectable so tests can pin time; nothing else should pass it. */
72
+ readonly now?: () => Date;
73
+ readonly newId?: () => string;
74
+ }
75
+ export interface MenuStore {
76
+ create(input: CreateMenuInput): Promise<Menu>;
77
+ read(id: string): Promise<Menu | null>;
78
+ byName(name: string, locale: string): Promise<Menu | null>;
79
+ update(id: string, input: UpdateMenuInput): Promise<Menu>;
80
+ /** Refuses while the menu still has items, unless `cascade` is asked for. */
81
+ delete(id: string, options?: {
82
+ readonly cascade?: boolean;
83
+ }): Promise<boolean>;
84
+ list(options?: ListMenusOptions): Promise<readonly Menu[]>;
85
+ createItem(menuId: string, input: CreateMenuItemInput): Promise<MenuItem>;
86
+ readItem(id: string): Promise<MenuItem | null>;
87
+ updateItem(id: string, input: UpdateMenuItemInput): Promise<MenuItem>;
88
+ /** Re-parents an item and rewrites the whole subtree's paths. */
89
+ moveItem(id: string, parent: string | null): Promise<MenuItem>;
90
+ /** Swaps this item's position with the sibling immediately before/after it. */
91
+ reorderItem(id: string, direction: 'up' | 'down'): Promise<MenuItem>;
92
+ deleteItem(id: string, options?: {
93
+ readonly cascade?: boolean;
94
+ }): Promise<boolean>;
95
+ /** Every item of the menu, in tree order. */
96
+ listItems(menuId: string): Promise<readonly MenuItem[]>;
97
+ }
98
+ export declare function createMenuStore(options: MenuStoreOptions): MenuStore;
99
+ //# sourceMappingURL=menu-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-store.d.ts","sourceRoot":"","sources":["../../src/store/menu-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EAKpB,MAAM,eAAe,CAAA;AAMtB;;;;;;;;;GASG;AAEH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,KAAK,GAAG,qBAAqB,CAAA;AAElE,gFAAgF;AAChF,eAAO,MAAM,cAAc,IAAI,CAAA;AAE/B,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAA;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IACtC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IAC1D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,6EAA6E;IAC7E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC9E,IAAI,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IAE1D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACzE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;IAC9C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrE,iEAAiE;IACjE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC9D,+EAA+E;IAC/E,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACpE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAClF,6CAA6C;IAC7C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAA;CACxD;AAqBD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CA6iBpE"}
@@ -0,0 +1,418 @@
1
+ import { CogentaError, identifier, sql, } from '@cogenta/core';
2
+ import { newId as uuidv7 } from '../id.js';
3
+ import { joinFragments } from './fragments.js';
4
+ import { MENU_TABLES } from './menu-tables.js';
5
+ import { childPath, depthOf, isBelow, isWithin, rebasedPath } from './taxonomy-path.js';
6
+ /** Deep enough for any real navigation; the path column is bounded to match. */
7
+ export const MAX_MENU_DEPTH = 8;
8
+ function text(value) {
9
+ return typeof value === 'string' ? value : String(value);
10
+ }
11
+ function nullableText(value) {
12
+ return value === null || value === undefined ? null : text(value);
13
+ }
14
+ function invalid(message, hint, details) {
15
+ return new CogentaError({
16
+ code: 'MENU_ITEM_INVALID',
17
+ message,
18
+ hint,
19
+ ...(details ? { details } : {}),
20
+ });
21
+ }
22
+ export function createMenuStore(options) {
23
+ const { db } = options;
24
+ const dialect = db.dialect;
25
+ const now = options.now ?? (() => new Date());
26
+ const newId = options.newId ?? uuidv7;
27
+ const menus = identifier(MENU_TABLES.menus, dialect);
28
+ const items = identifier(MENU_TABLES.items, dialect);
29
+ const idColumn = identifier('id', dialect);
30
+ const parentColumn = identifier('parent_id', dialect);
31
+ const menuIdColumn = identifier('menu_id', dialect);
32
+ const nameColumn = identifier('name', dialect);
33
+ const localeColumn = identifier('locale', dialect);
34
+ const pathColumn = identifier('path', dialect);
35
+ const positionColumn = identifier('position', dialect);
36
+ const stamp = () => now().toISOString();
37
+ function menuNotFound(id) {
38
+ return new CogentaError({
39
+ code: 'MENU_UNKNOWN',
40
+ message: `No menu "${id}".`,
41
+ hint: 'Check the identifier — list the menus of this site to find the right one.',
42
+ details: { id },
43
+ });
44
+ }
45
+ function itemNotFound(id) {
46
+ return new CogentaError({
47
+ code: 'MENU_ITEM_NOT_FOUND',
48
+ message: `No menu item "${id}".`,
49
+ hint: 'Check the identifier — it may already have been removed.',
50
+ details: { id },
51
+ });
52
+ }
53
+ function toMenu(row) {
54
+ return {
55
+ id: text(row['id']),
56
+ name: text(row['name']),
57
+ locale: text(row['locale']),
58
+ label: text(row['label']),
59
+ createdAt: text(row['created_at']),
60
+ updatedAt: text(row['updated_at']),
61
+ };
62
+ }
63
+ function toItem(row) {
64
+ const path = text(row['path']);
65
+ return {
66
+ id: text(row['id']),
67
+ menuId: text(row['menu_id']),
68
+ parent: nullableText(row['parent_id']),
69
+ label: text(row['label']),
70
+ kind: text(row['kind']),
71
+ targetCollection: nullableText(row['target_collection']),
72
+ targetEntryId: nullableText(row['target_entry_id']),
73
+ url: nullableText(row['url']),
74
+ position: Number(row['position']),
75
+ depth: depthOf(path),
76
+ openInNewTab: text(row['open_in_new_tab']) === 'true',
77
+ createdAt: text(row['created_at']),
78
+ updatedAt: text(row['updated_at']),
79
+ };
80
+ }
81
+ async function menuRowOf(tx, id) {
82
+ const found = await tx.query(sql `select * from ${menus} where ${idColumn} = ${id}`);
83
+ return found.rows[0] ?? null;
84
+ }
85
+ async function itemRowOf(tx, id) {
86
+ const found = await tx.query(sql `select * from ${items} where ${idColumn} = ${id}`);
87
+ return found.rows[0] ?? null;
88
+ }
89
+ /**
90
+ * A path is id-based (`taxonomy-path.ts`'s scheme, reused as-is): two
91
+ * siblings' paths diverge at their own id, which sorts them by creation
92
+ * order, not by `position`. That is fine for "everything under this term"
93
+ * — a `like` — but wrong for a flat listing a reorder button has to
94
+ * respect. So the tree is walked in application code instead: group by
95
+ * parent, sort each group by `position`, then depth-first from the roots.
96
+ * A menu is small (navigation, not a content table), so this costs nothing
97
+ * a database index would meaningfully save.
98
+ */
99
+ function orderAsTree(rows) {
100
+ const byParent = new Map();
101
+ for (const row of rows) {
102
+ const siblings = byParent.get(row.parent) ?? [];
103
+ siblings.push(row);
104
+ byParent.set(row.parent, siblings);
105
+ }
106
+ for (const siblings of byParent.values())
107
+ siblings.sort((a, b) => a.position - b.position);
108
+ const ordered = [];
109
+ const visit = (parent) => {
110
+ for (const item of byParent.get(parent) ?? []) {
111
+ ordered.push(item);
112
+ visit(item.id);
113
+ }
114
+ };
115
+ visit(null);
116
+ return ordered;
117
+ }
118
+ async function assertNameFree(tx, name, locale, exceptId) {
119
+ const found = await tx.query(sql `select ${idColumn} from ${menus} where ${nameColumn} = ${name} and ${localeColumn} = ${locale}`);
120
+ const clash = found.rows.find((row) => text(row['id']) !== exceptId);
121
+ if (clash === undefined)
122
+ return;
123
+ throw new CogentaError({
124
+ code: 'MENU_NAME_TAKEN',
125
+ message: `A menu called "${name}" already exists for locale "${locale}".`,
126
+ hint: 'A menu name is unique per locale. Pick another name, or edit the existing menu.',
127
+ details: { name, locale },
128
+ });
129
+ }
130
+ function validateItemShape(kind, body) {
131
+ if (kind === 'url') {
132
+ if (typeof body.url !== 'string' || body.url.length === 0) {
133
+ throw invalid('A URL item needs a non-empty "url".', 'Send { "kind": "url", "url": "https://…" }.');
134
+ }
135
+ return;
136
+ }
137
+ if (kind === 'entry') {
138
+ if (typeof body.targetCollection !== 'string' || body.targetCollection.length === 0) {
139
+ throw invalid('An entry item needs "targetCollection".', 'Send { "kind": "entry", "targetCollection": "page", "targetEntryId": "…" }.');
140
+ }
141
+ if (typeof body.targetEntryId !== 'string' || body.targetEntryId.length === 0) {
142
+ throw invalid('An entry item needs "targetEntryId".', 'Send { "kind": "entry", "targetCollection": "page", "targetEntryId": "…" }.');
143
+ }
144
+ return;
145
+ }
146
+ // submenu-placeholder: a label to group children under, no target of its own.
147
+ }
148
+ async function nextPosition(tx, menuId, parent) {
149
+ const found = await tx.query(parent === null
150
+ ? sql `select ${positionColumn} from ${items} where ${menuIdColumn} = ${menuId} and ${parentColumn} is null`
151
+ : sql `select ${positionColumn} from ${items} where ${menuIdColumn} = ${menuId} and ${parentColumn} = ${parent}`);
152
+ return found.rows.reduce((highest, row) => Math.max(highest, Number(row['position']) + 1), 0);
153
+ }
154
+ async function parentOf(tx, menuId, parent) {
155
+ if (parent === null)
156
+ return null;
157
+ const row = await itemRowOf(tx, parent);
158
+ if (row === null || text(row['menu_id']) !== menuId) {
159
+ throw invalid(`The parent "${parent}" is not an item of this menu.`, 'A submenu item can only nest under an item of the same menu.', { parent, menuId });
160
+ }
161
+ return row;
162
+ }
163
+ return {
164
+ create: async (input) => db.transaction(async (tx) => {
165
+ await assertNameFree(tx, input.name, input.locale);
166
+ const id = input.id ?? newId();
167
+ const at = stamp();
168
+ await tx.query(sql `insert into ${menus} (${joinFragments([
169
+ idColumn,
170
+ nameColumn,
171
+ localeColumn,
172
+ identifier('label', dialect),
173
+ identifier('created_at', dialect),
174
+ identifier('updated_at', dialect),
175
+ ], ', ')}) values (${id}, ${input.name}, ${input.locale}, ${input.label}, ${at}, ${at})`);
176
+ const row = await menuRowOf(tx, id);
177
+ if (row === null)
178
+ throw menuNotFound(id);
179
+ return toMenu(row);
180
+ }, { immediate: true }),
181
+ read: async (id) => {
182
+ const row = await menuRowOf(db, id);
183
+ return row === null ? null : toMenu(row);
184
+ },
185
+ byName: async (name, locale) => {
186
+ const found = await db.query(sql `select * from ${menus} where ${nameColumn} = ${name} and ${localeColumn} = ${locale}`);
187
+ const row = found.rows[0];
188
+ return row === undefined ? null : toMenu(row);
189
+ },
190
+ update: async (id, input) => db.transaction(async (tx) => {
191
+ const row = await menuRowOf(tx, id);
192
+ if (row === null)
193
+ throw menuNotFound(id);
194
+ const assignments = [
195
+ sql `${identifier('updated_at', dialect)} = ${stamp()}`,
196
+ ];
197
+ if (input.label !== undefined) {
198
+ assignments.push(sql `${identifier('label', dialect)} = ${input.label}`);
199
+ }
200
+ await tx.query(sql `update ${menus} set ${joinFragments(assignments, ', ')} where ${idColumn} = ${id}`);
201
+ const after = await menuRowOf(tx, id);
202
+ if (after === null)
203
+ throw menuNotFound(id);
204
+ return toMenu(after);
205
+ }, { immediate: true }),
206
+ delete: async (id, deleteOptions) => db.transaction(async (tx) => {
207
+ const row = await menuRowOf(tx, id);
208
+ if (row === null)
209
+ return false;
210
+ const count = await tx.query(sql `select ${idColumn} from ${items} where ${menuIdColumn} = ${id}`);
211
+ if (count.rows.length > 0 && deleteOptions?.cascade !== true) {
212
+ throw new CogentaError({
213
+ code: 'MENU_ITEM_INVALID',
214
+ message: `The menu "${id}" still has ${count.rows.length} item(s).`,
215
+ hint: 'Remove them first, or pass { cascade: true } to delete the whole menu.',
216
+ details: { id, items: count.rows.length },
217
+ });
218
+ }
219
+ const removed = await tx.query(sql `delete from ${menus} where ${idColumn} = ${id}`);
220
+ return removed.rowsAffected > 0;
221
+ }, { immediate: true }),
222
+ list: async (listOptions = {}) => {
223
+ const found = await db.query(listOptions.locale === undefined
224
+ ? sql `select * from ${menus} order by ${nameColumn} asc`
225
+ : sql `select * from ${menus} where ${localeColumn} = ${listOptions.locale} order by ${nameColumn} asc`);
226
+ return found.rows.map(toMenu);
227
+ },
228
+ createItem: async (menuId, input) => db.transaction(async (tx) => {
229
+ const menu = await menuRowOf(tx, menuId);
230
+ if (menu === null)
231
+ throw menuNotFound(menuId);
232
+ validateItemShape(input.kind, input);
233
+ const parent = input.parent ?? null;
234
+ const parentRow = await parentOf(tx, menuId, parent);
235
+ const parentPath = parentRow === null ? '' : text(parentRow['path']);
236
+ const id = input.id ?? newId();
237
+ const path = childPath(parentPath, id);
238
+ if (depthOf(path) >= MAX_MENU_DEPTH) {
239
+ throw invalid(`A menu item cannot be nested more than ${MAX_MENU_DEPTH} levels deep.`, 'Flatten this branch — a menu nobody can navigate is not a menu.', { depth: depthOf(path), max: MAX_MENU_DEPTH });
240
+ }
241
+ const position = input.position ?? (await nextPosition(tx, menuId, parent));
242
+ const at = stamp();
243
+ await tx.query(sql `insert into ${items} (${joinFragments([
244
+ idColumn,
245
+ menuIdColumn,
246
+ parentColumn,
247
+ identifier('label', dialect),
248
+ identifier('kind', dialect),
249
+ identifier('target_collection', dialect),
250
+ identifier('target_entry_id', dialect),
251
+ identifier('url', dialect),
252
+ positionColumn,
253
+ pathColumn,
254
+ identifier('open_in_new_tab', dialect),
255
+ identifier('created_at', dialect),
256
+ identifier('updated_at', dialect),
257
+ ], ', ')}) values (
258
+ ${id}, ${menuId}, ${parent}, ${input.label}, ${input.kind},
259
+ ${input.targetCollection ?? null}, ${input.targetEntryId ?? null}, ${input.url ?? null},
260
+ ${position}, ${path}, ${input.openInNewTab === true ? 'true' : 'false'}, ${at}, ${at}
261
+ )`);
262
+ const row = await itemRowOf(tx, id);
263
+ if (row === null)
264
+ throw itemNotFound(id);
265
+ return toItem(row);
266
+ }, { immediate: true }),
267
+ readItem: async (id) => {
268
+ const row = await itemRowOf(db, id);
269
+ return row === null ? null : toItem(row);
270
+ },
271
+ updateItem: async (id, input) => db.transaction(async (tx) => {
272
+ const row = await itemRowOf(tx, id);
273
+ if (row === null)
274
+ throw itemNotFound(id);
275
+ const kind = (input.kind ?? text(row['kind']));
276
+ if (input.kind !== undefined ||
277
+ input.url !== undefined ||
278
+ input.targetCollection !== undefined ||
279
+ input.targetEntryId !== undefined) {
280
+ validateItemShape(kind, {
281
+ url: input.url !== undefined ? input.url : nullableText(row['url']),
282
+ targetCollection: input.targetCollection !== undefined
283
+ ? input.targetCollection
284
+ : nullableText(row['target_collection']),
285
+ targetEntryId: input.targetEntryId !== undefined
286
+ ? input.targetEntryId
287
+ : nullableText(row['target_entry_id']),
288
+ });
289
+ }
290
+ const assignments = [
291
+ sql `${identifier('updated_at', dialect)} = ${stamp()}`,
292
+ ];
293
+ if (input.label !== undefined)
294
+ assignments.push(sql `${identifier('label', dialect)} = ${input.label}`);
295
+ if (input.kind !== undefined)
296
+ assignments.push(sql `${identifier('kind', dialect)} = ${input.kind}`);
297
+ if (input.targetCollection !== undefined) {
298
+ assignments.push(sql `${identifier('target_collection', dialect)} = ${input.targetCollection}`);
299
+ }
300
+ if (input.targetEntryId !== undefined) {
301
+ assignments.push(sql `${identifier('target_entry_id', dialect)} = ${input.targetEntryId}`);
302
+ }
303
+ if (input.url !== undefined)
304
+ assignments.push(sql `${identifier('url', dialect)} = ${input.url}`);
305
+ if (input.openInNewTab !== undefined) {
306
+ assignments.push(sql `${identifier('open_in_new_tab', dialect)} = ${input.openInNewTab ? 'true' : 'false'}`);
307
+ }
308
+ await tx.query(sql `update ${items} set ${joinFragments(assignments, ', ')} where ${idColumn} = ${id}`);
309
+ const after = await itemRowOf(tx, id);
310
+ if (after === null)
311
+ throw itemNotFound(id);
312
+ return toItem(after);
313
+ }, { immediate: true }),
314
+ moveItem: async (id, parent) => db.transaction(async (tx) => {
315
+ const row = await itemRowOf(tx, id);
316
+ if (row === null)
317
+ throw itemNotFound(id);
318
+ const menuId = text(row['menu_id']);
319
+ const from = text(row['path']);
320
+ const parentRow = await parentOf(tx, menuId, parent);
321
+ const parentPath = parentRow === null ? '' : text(parentRow['path']);
322
+ if (parent !== null && isWithin(parentPath, from)) {
323
+ throw new CogentaError({
324
+ code: 'MENU_CYCLE',
325
+ message: `Moving "${id}" under "${parent}" would make it its own ancestor.`,
326
+ hint: 'Move the target out of this subtree first.',
327
+ details: { id, parent },
328
+ });
329
+ }
330
+ const to = childPath(parentPath, id);
331
+ if (to === from)
332
+ return toItem(row);
333
+ const subtree = await tx.query(sql `select * from ${items} where ${menuIdColumn} = ${menuId} and ${pathColumn} like ${`${from}%`}`);
334
+ for (const member of subtree.rows) {
335
+ const rebased = rebasedPath(text(member['path']), from, to);
336
+ if (depthOf(rebased) >= MAX_MENU_DEPTH) {
337
+ throw invalid(`Moving "${id}" would nest a descendant more than ${MAX_MENU_DEPTH} levels deep.`, 'Flatten the branch before moving it further down the tree.', { depth: depthOf(rebased), max: MAX_MENU_DEPTH });
338
+ }
339
+ }
340
+ const at = stamp();
341
+ for (const member of subtree.rows) {
342
+ const memberId = text(member['id']);
343
+ const rebased = rebasedPath(text(member['path']), from, to);
344
+ await tx.query(sql `update ${items}
345
+ set ${pathColumn} = ${rebased}, ${identifier('updated_at', dialect)} = ${at}
346
+ where ${idColumn} = ${memberId}`);
347
+ }
348
+ await tx.query(sql `update ${items}
349
+ set ${parentColumn} = ${parent}, ${positionColumn} = ${await nextPosition(tx, menuId, parent)}
350
+ where ${idColumn} = ${id}`);
351
+ const after = await itemRowOf(tx, id);
352
+ if (after === null)
353
+ throw itemNotFound(id);
354
+ return toItem(after);
355
+ }, { immediate: true }),
356
+ reorderItem: async (id, direction) => db.transaction(async (tx) => {
357
+ const row = await itemRowOf(tx, id);
358
+ if (row === null)
359
+ throw itemNotFound(id);
360
+ const menuId = text(row['menu_id']);
361
+ const parent = nullableText(row['parent_id']);
362
+ const siblings = await tx.query(parent === null
363
+ ? sql `select * from ${items} where ${menuIdColumn} = ${menuId} and ${parentColumn} is null order by ${positionColumn} asc`
364
+ : sql `select * from ${items} where ${menuIdColumn} = ${menuId} and ${parentColumn} = ${parent} order by ${positionColumn} asc`);
365
+ const index = siblings.rows.findIndex((sibling) => text(sibling['id']) === id);
366
+ const swapIndex = direction === 'up' ? index - 1 : index + 1;
367
+ if (index === -1 || swapIndex < 0 || swapIndex >= siblings.rows.length) {
368
+ const after = await itemRowOf(tx, id);
369
+ if (after === null)
370
+ throw itemNotFound(id);
371
+ return toItem(after);
372
+ }
373
+ const neighbour = siblings.rows[swapIndex];
374
+ if (neighbour === undefined) {
375
+ const after = await itemRowOf(tx, id);
376
+ if (after === null)
377
+ throw itemNotFound(id);
378
+ return toItem(after);
379
+ }
380
+ const at = stamp();
381
+ const myPosition = row['position'];
382
+ const neighbourPosition = neighbour['position'];
383
+ await tx.query(sql `update ${items} set ${positionColumn} = ${neighbourPosition}, ${identifier('updated_at', dialect)} = ${at}
384
+ where ${idColumn} = ${id}`);
385
+ await tx.query(sql `update ${items} set ${positionColumn} = ${myPosition}, ${identifier('updated_at', dialect)} = ${at}
386
+ where ${idColumn} = ${text(neighbour['id'])}`);
387
+ const after = await itemRowOf(tx, id);
388
+ if (after === null)
389
+ throw itemNotFound(id);
390
+ return toItem(after);
391
+ }, { immediate: true }),
392
+ deleteItem: async (id, deleteOptions) => db.transaction(async (tx) => {
393
+ const row = await itemRowOf(tx, id);
394
+ if (row === null)
395
+ return false;
396
+ const path = text(row['path']);
397
+ const menuId = text(row['menu_id']);
398
+ const descendants = await tx.query(sql `select ${idColumn}, ${pathColumn} from ${items}
399
+ where ${menuIdColumn} = ${menuId} and ${pathColumn} like ${`${path}%`}`);
400
+ const children = descendants.rows.filter((member) => isBelow(text(member['path']), path));
401
+ if (children.length > 0 && deleteOptions?.cascade !== true) {
402
+ throw new CogentaError({
403
+ code: 'MENU_ITEM_INVALID',
404
+ message: `The menu item "${id}" still has ${children.length} child item(s).`,
405
+ hint: 'Move them elsewhere first, or pass { cascade: true } to delete the whole branch.',
406
+ details: { id, descendants: children.length },
407
+ });
408
+ }
409
+ const removed = await tx.query(sql `delete from ${items} where ${idColumn} = ${id}`);
410
+ return removed.rowsAffected > 0;
411
+ }, { immediate: true }),
412
+ listItems: async (menuId) => {
413
+ const found = await db.query(sql `select * from ${items} where ${menuIdColumn} = ${menuId}`);
414
+ return orderAsTree(found.rows.map(toItem));
415
+ },
416
+ };
417
+ }
418
+ //# sourceMappingURL=menu-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-store.js","sourceRoot":"","sources":["../../src/store/menu-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { type DatabaseHandle } from '@cogenta/core';
2
+ /**
3
+ * Navigation menus.
4
+ *
5
+ * Unlike a taxonomy, a menu is not declared in the site's schema — it is
6
+ * created and edited entirely at runtime, from the admin or the API. So it
7
+ * gets one fixed pair of tables (`ensureMarketplaceTables`'s pattern), not one
8
+ * table per name the way `taxonomyTable()` mints one per declared taxonomy.
9
+ *
10
+ * A menu belongs to a locale, the way a localised collection does (ADR-0014):
11
+ * a site with French and English navigation has two rows in `cogenta_menus`
12
+ * sharing a `name`, not one row carrying two labels.
13
+ *
14
+ * An item's tree is a materialised path exactly like `taxonomy-path.ts`'s,
15
+ * reusing its helpers rather than a second implementation: a menu is
16
+ * structurally the same shape (a named tree), just editable without a schema
17
+ * declaration.
18
+ */
19
+ export declare const MENU_TABLES: {
20
+ readonly menus: 'cogenta_menus';
21
+ readonly items: 'cogenta_menu_items';
22
+ };
23
+ /** Ids plus the deepest realistic nesting: `/`, then a UUID and a slash per level. */
24
+ export declare const MENU_ITEM_PATH_LENGTH: number;
25
+ export declare function ensureMenuTables(db: DatabaseHandle): Promise<void>;
26
+ //# sourceMappingURL=menu-tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-tables.d.ts","sourceRoot":"","sources":["../../src/store/menu-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAqC,MAAM,eAAe,CAAA;AAItF;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,WAAW;aACtB,KAAK,EAAE,eAAe;aACtB,KAAK,EAAE,oBAAoB;CACnB,CAAA;AAEV,sFAAsF;AACtF,eAAO,MAAM,qBAAqB,QAAa,CAAA;AAE/C,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDxE"}
@@ -0,0 +1,79 @@
1
+ import { identifier, sql } from '@cogenta/core';
2
+ import { integerColumn, jsonColumn, textColumn, timestampColumn, uuidColumn } from './columns.js';
3
+ import { indexName } from './naming.js';
4
+ /**
5
+ * Navigation menus.
6
+ *
7
+ * Unlike a taxonomy, a menu is not declared in the site's schema — it is
8
+ * created and edited entirely at runtime, from the admin or the API. So it
9
+ * gets one fixed pair of tables (`ensureMarketplaceTables`'s pattern), not one
10
+ * table per name the way `taxonomyTable()` mints one per declared taxonomy.
11
+ *
12
+ * A menu belongs to a locale, the way a localised collection does (ADR-0014):
13
+ * a site with French and English navigation has two rows in `cogenta_menus`
14
+ * sharing a `name`, not one row carrying two labels.
15
+ *
16
+ * An item's tree is a materialised path exactly like `taxonomy-path.ts`'s,
17
+ * reusing its helpers rather than a second implementation: a menu is
18
+ * structurally the same shape (a named tree), just editable without a schema
19
+ * declaration.
20
+ */
21
+ export const MENU_TABLES = {
22
+ menus: 'cogenta_menus',
23
+ items: 'cogenta_menu_items',
24
+ };
25
+ /** Ids plus the deepest realistic nesting: `/`, then a UUID and a slash per level. */
26
+ export const MENU_ITEM_PATH_LENGTH = 37 * 8 + 1;
27
+ export async function ensureMenuTables(db) {
28
+ const dialect = db.dialect;
29
+ const menus = identifier(MENU_TABLES.menus, dialect);
30
+ const items = identifier(MENU_TABLES.items, dialect);
31
+ const menuStatements = [
32
+ sql `create table if not exists ${menus} (
33
+ ${identifier('id', dialect)} ${uuidColumn(dialect)} not null primary key,
34
+ ${identifier('name', dialect)} ${textColumn(dialect, 128)} not null,
35
+ ${identifier('locale', dialect)} ${textColumn(dialect, 16)} not null,
36
+ ${identifier('label', dialect)} ${textColumn(dialect, 255)} not null,
37
+ ${identifier('created_at', dialect)} ${timestampColumn(dialect)} not null,
38
+ ${identifier('updated_at', dialect)} ${timestampColumn(dialect)} not null
39
+ )`,
40
+ sql `create table if not exists ${items} (
41
+ ${identifier('id', dialect)} ${uuidColumn(dialect)} not null primary key,
42
+ ${identifier('menu_id', dialect)} ${uuidColumn(dialect)} not null,
43
+ ${identifier('parent_id', dialect)} ${uuidColumn(dialect)},
44
+ ${identifier('label', dialect)} ${textColumn(dialect, 255)} not null,
45
+ ${identifier('kind', dialect)} ${textColumn(dialect, 32)} not null,
46
+ ${identifier('target_collection', dialect)} ${textColumn(dialect, 128)},
47
+ ${identifier('target_entry_id', dialect)} ${uuidColumn(dialect)},
48
+ ${identifier('url', dialect)} ${textColumn(dialect, 2048)},
49
+ ${identifier('position', dialect)} ${integerColumn()} not null,
50
+ ${identifier('path', dialect)} ${textColumn(dialect, MENU_ITEM_PATH_LENGTH)} not null,
51
+ ${identifier('open_in_new_tab', dialect)} ${jsonColumn()} not null,
52
+ ${identifier('created_at', dialect)} ${timestampColumn(dialect)} not null,
53
+ ${identifier('updated_at', dialect)} ${timestampColumn(dialect)} not null,
54
+ constraint ${identifier(indexName(MENU_TABLES.items, 'menu_fk'), dialect)}
55
+ foreign key (${identifier('menu_id', dialect)})
56
+ references ${menus} (${identifier('id', dialect)}) on delete cascade,
57
+ constraint ${identifier(indexName(MENU_TABLES.items, 'parent_fk'), dialect)}
58
+ foreign key (${identifier('parent_id', dialect)})
59
+ references ${items} (${identifier('id', dialect)}) on delete cascade
60
+ )`,
61
+ ];
62
+ for (const statement of menuStatements) {
63
+ await db.query(statement);
64
+ }
65
+ const indexStatements = [
66
+ // A menu name is unique per locale: French and English navigation can
67
+ // both be called "main" without colliding.
68
+ sql `create unique index ${identifier(indexName(MENU_TABLES.menus, 'name_locale_unique'), dialect)}
69
+ on ${menus} (${identifier('name', dialect)}, ${identifier('locale', dialect)})`,
70
+ sql `create index ${identifier(indexName(MENU_TABLES.items, 'menu_path'), dialect)}
71
+ on ${items} (${identifier('menu_id', dialect)}, ${identifier('path', dialect)})`,
72
+ sql `create index ${identifier(indexName(MENU_TABLES.items, 'parent'), dialect)}
73
+ on ${items} (${identifier('parent_id', dialect)}, ${identifier('position', dialect)})`,
74
+ ];
75
+ for (const statement of indexStatements) {
76
+ await db.query(statement).catch(() => undefined);
77
+ }
78
+ }
79
+ //# sourceMappingURL=menu-tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-tables.js","sourceRoot":"","sources":["../../src/store/menu-tables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { QueueDriver } from '@cogenta/core';
2
+ import type { CollectionDefinition } from '../types.js';
3
+ import type { ContentStore } from './store.js';
4
+ import type { ContentValues } from './types.js';
5
+ /**
6
+ * Queues the real publication of an entry saved with `status: 'scheduled'`.
7
+ *
8
+ * `../scheduling/publish.ts` was complete and tested from L1 —
9
+ * `schedulePublication`, `registerScheduledPublishing`, the whole
10
+ * `QueueDriver`-based mechanism — but nothing anywhere in the repository ever
11
+ * called `schedulePublication`. An editor could set an entry to "scheduled"
12
+ * with a future date and nothing would ever happen: the admin showed a
13
+ * read-only badge, honest about not being wired to anything (L10 audit
14
+ * follow-up).
15
+ *
16
+ * Wrapping the *store* rather than a route is the same choice
17
+ * `withSearchIndexing`/`withLifecycleEvents` already make, for the same
18
+ * reason: REST and GraphQL are handed the same store instances by
19
+ * `serve.ts`, so one wrap covers both transports.
20
+ *
21
+ * This module only ever *enqueues*. The actual state change — moving the
22
+ * entry to `published` — happens in the handler `serve.ts` registers with
23
+ * `registerScheduledPublishing`, which re-reads the entry before publishing
24
+ * it: an entry edited back to `draft` before its hour comes must not publish
25
+ * just because an older job is still sitting in the queue. That re-check is
26
+ * what makes it safe to enqueue again on every save rather than tracking
27
+ * (and cancelling) a previous job id here — two jobs racing to publish the
28
+ * same already-published entry is a no-op, not a bug.
29
+ */
30
+ export interface ScheduledPublishEnqueueOptions {
31
+ readonly collection: CollectionDefinition;
32
+ readonly queue: QueueDriver;
33
+ /** Called when the enqueue itself fails. Defaults to swallowing it. */
34
+ readonly onError?: (error: unknown) => void;
35
+ }
36
+ export declare function withScheduledPublishEnqueue<TValues extends ContentValues = ContentValues>(store: ContentStore<TValues>, options: ScheduledPublishEnqueueOptions): ContentStore<TValues>;
37
+ //# sourceMappingURL=scheduled-publish-enqueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-publish-enqueue.d.ts","sourceRoot":"","sources":["../../src/store/scheduled-publish-enqueue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,YAAY,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAA;IACzC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAC5C;AAwBD,wBAAgB,2BAA2B,CAAC,OAAO,SAAS,aAAa,GAAG,aAAa,EACvF,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,EAC5B,OAAO,EAAE,8BAA8B,GACtC,YAAY,CAAC,OAAO,CAAC,CA4BvB"}
@@ -0,0 +1,51 @@
1
+ import { schedulePublication } from '../scheduling/publish.js';
2
+ async function enqueueIfScheduled(entry, options) {
3
+ if (entry.status !== 'scheduled')
4
+ return;
5
+ if (entry.publishedAt === null)
6
+ return;
7
+ const publishAt = Date.parse(entry.publishedAt);
8
+ if (!Number.isFinite(publishAt))
9
+ return;
10
+ try {
11
+ await schedulePublication(options.queue, {
12
+ collection: options.collection.name,
13
+ entryId: entry.id,
14
+ locale: entry.locale,
15
+ publishAt,
16
+ });
17
+ }
18
+ catch (error) {
19
+ options.onError?.(error);
20
+ }
21
+ }
22
+ export function withScheduledPublishEnqueue(store, options) {
23
+ return {
24
+ ...store,
25
+ create: async (input) => {
26
+ const created = await store.create(input);
27
+ await enqueueIfScheduled(created, options);
28
+ return created;
29
+ },
30
+ update: async (id, input) => {
31
+ const updated = await store.update(id, input);
32
+ await enqueueIfScheduled(updated, options);
33
+ return updated;
34
+ },
35
+ // The one route that actually moves an *existing* entry into
36
+ // `scheduled`: `update()` never changes `status` (contract A keeps that
37
+ // to `publish`/`unpublish`), so `unpublish(id, { status: 'scheduled',
38
+ // publishedAt })` is where a schedule set from the admin really lands.
39
+ unpublish: async (id, input) => {
40
+ const unpublished = await store.unpublish(id, input);
41
+ await enqueueIfScheduled(unpublished, options);
42
+ return unpublished;
43
+ },
44
+ restore: async (id, version, input) => {
45
+ const restored = await store.restore(id, version, input);
46
+ await enqueueIfScheduled(restored, options);
47
+ return restored;
48
+ },
49
+ };
50
+ }
51
+ //# sourceMappingURL=scheduled-publish-enqueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-publish-enqueue.js","sourceRoot":"","sources":["../../src/store/scheduled-publish-enqueue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAqC9D,KAAK,UAAU,kBAAkB,CAC/B,KAA4B,EAC5B,OAAuC;IAEvC,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;QAAE,OAAM;IACxC,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI;QAAE,OAAM;IAEtC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAM;IAEvC,IAAI,CAAC;QACH,MAAM,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE;YACvC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI;YACnC,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS;SACV,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,KAA4B,EAC5B,OAAuC;IAEvC,OAAO;QACL,GAAG,KAAK;QACR,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACtB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzC,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC1C,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;YAC1B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAC7C,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC1C,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,6DAA6D;QAC7D,wEAAwE;QACxE,sEAAsE;QACtE,uEAAuE;QACvE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;YAC7B,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YACpD,MAAM,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YAC9C,OAAO,WAAW,CAAA;QACpB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;YACxD,MAAM,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAC3C,OAAO,QAAQ,CAAA;QACjB,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -68,7 +68,15 @@ export interface ContentStore<TValues extends ContentValues = ContentValues> {
68
68
  readonly publishedBy?: string | null;
69
69
  }): Promise<ContentEntry<TValues>>;
70
70
  unpublish(id: string, input?: {
71
- readonly status?: 'draft' | 'archived';
71
+ readonly status?: 'draft' | 'archived' | 'scheduled';
72
+ /**
73
+ * Required, and only meaningful, when `status` is `'scheduled'`: the
74
+ * future instant this entry becomes public. A `Date`, an ISO 8601
75
+ * string, or epoch milliseconds — the same three forms
76
+ * `schedulePublication` accepts, since this is the write that puts an
77
+ * entry into the state that function's caller later queues a job for.
78
+ */
79
+ readonly publishedAt?: Date | string | number;
72
80
  }): Promise<ContentEntry<TValues>>;
73
81
  history(id: string, options?: TrashOptions): Promise<readonly VersionSummary[]>;
74
82
  readVersion(id: string, version: number): Promise<ContentEntry<TValues> | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,cAAc,EAMpB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,KAAK,oBAAoB,EAI1B,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,WAAW,CAAA;AAIzD,OAAO,KAAK,EAGV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EAEd,WAAW,EACX,gBAAgB,EAChB,IAAI,EACJ,WAAW,EACX,WAAW,EACX,oBAAoB,EAGpB,YAAY,EACZ,WAAW,EACX,cAAc,EACf,MAAM,YAAY,CAAA;AAGnB;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAA;IACzC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAA;IACnD,6DAA6D;IAC7D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,qEAAqE;IACrE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY,CAAC,OAAO,SAAS,aAAa,GAAG,aAAa;IACzE,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;IACnE,iHAAiH;IACjH,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;IACtF,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IAC9E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;IAC/E;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACpC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;IACnD,2EAA2E;IAC3E,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACnC,uEAAuE;IACvE,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IACpC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACjE,OAAO,CACL,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAC/C,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;IACjC,SAAS,CACP,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,CAAA;KAAE,GACjD,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;IACjC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAAA;IAC/E,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;IAC/E,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;IAClG,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAChE,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC3F,aAAa,CACX,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAA;CACtC;AA4CD,wBAAgB,kBAAkB,CAAC,OAAO,SAAS,aAAa,GAAG,aAAa,EAC9E,OAAO,EAAE,mBAAmB,GAC3B,YAAY,CAAC,OAAO,CAAC,CA4wCvB"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
@@ -240,6 +240,23 @@ export function createContentStore(options) {
240
240
  return {};
241
241
  }
242
242
  }
243
+ /** The three forms `schedulePublication` accepts, turned into the ISO string `publishedAt` is stored as. */
244
+ function scheduleDateIso(value, entryId) {
245
+ const milliseconds = value instanceof Date
246
+ ? value.getTime()
247
+ : typeof value === 'number'
248
+ ? value
249
+ : Date.parse(value);
250
+ if (!Number.isFinite(milliseconds)) {
251
+ throw new CogentaError({
252
+ code: 'CONTENT_SCHEDULE_INVALID',
253
+ message: `"${String(value)}" is not a date to schedule "${entryId}" for.`,
254
+ hint: 'Pass a Date, an ISO 8601 timestamp such as 2026-09-01T09:00:00Z, or epoch milliseconds.',
255
+ details: { collection: collection.name, entryId },
256
+ });
257
+ }
258
+ return new Date(milliseconds).toISOString();
259
+ }
243
260
  function publishedAtOf(values, status) {
244
261
  // Contract A declares `publishedAt` as an ordinary field of the collection
245
262
  // (see its own example), so the engine maintains it when it is there rather
@@ -842,7 +859,39 @@ export function createContentStore(options) {
842
859
  if (row === null)
843
860
  throw notFound(collection.name, id);
844
861
  const status = unpublishOptions?.status ?? 'draft';
845
- await writeLiveColumns(tx, id, {}, { status, updated_at: stamp() });
862
+ if (status === 'scheduled') {
863
+ // Scheduling has nowhere to put the date on a collection that
864
+ // never declared `publishedAt` as a field (contract A: it is an
865
+ // ordinary, optional field, not a system column every collection
866
+ // gets for free).
867
+ if (collection.fields['publishedAt'] === undefined) {
868
+ throw new CogentaError({
869
+ code: 'CONTENT_SCHEDULE_INVALID',
870
+ message: `"${collection.name}" has no "publishedAt" field to schedule a publication against.`,
871
+ hint: 'Declare a `publishedAt` field on this collection before scheduling an entry.',
872
+ details: { collection: collection.name, entryId: id },
873
+ });
874
+ }
875
+ if (unpublishOptions?.publishedAt === undefined) {
876
+ throw new CogentaError({
877
+ code: 'CONTENT_SCHEDULE_INVALID',
878
+ message: 'A scheduled publication needs a date.',
879
+ hint: 'Pass `publishedAt` — a Date, an ISO 8601 timestamp, or epoch milliseconds.',
880
+ details: { collection: collection.name, entryId: id },
881
+ });
882
+ }
883
+ const iso = scheduleDateIso(unpublishOptions.publishedAt, id);
884
+ const working = await workingEntry(tx, row);
885
+ const merged = { ...working.values, publishedAt: iso };
886
+ const normalised = normaliseValues(collection, merged, {
887
+ partial: false,
888
+ enforceRequired: false,
889
+ });
890
+ await writeLiveColumns(tx, id, normalised.columns, { status, updated_at: stamp() });
891
+ }
892
+ else {
893
+ await writeLiveColumns(tx, id, {}, { status, updated_at: stamp() });
894
+ }
846
895
  const after = await loadRow(tx, id);
847
896
  if (after === null)
848
897
  throw notFound(collection.name, id);
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogenta/schema",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Content schema in code: collections, field types, generated types and migrations.",
5
5
  "license": "MPL-2.0",
6
6
  "type": "module",
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "zod": "^4.4.3",
31
- "@cogenta/core": "0.3.0"
31
+ "@cogenta/core": "0.4.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "typescript": "^7.0.2",