@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.
- package/dist/store/index.d.ts +5 -0
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +3 -0
- package/dist/store/index.js.map +1 -1
- package/dist/store/menu-store.d.ts +99 -0
- package/dist/store/menu-store.d.ts.map +1 -0
- package/dist/store/menu-store.js +418 -0
- package/dist/store/menu-store.js.map +1 -0
- package/dist/store/menu-tables.d.ts +26 -0
- package/dist/store/menu-tables.d.ts.map +1 -0
- package/dist/store/menu-tables.js +79 -0
- package/dist/store/menu-tables.js.map +1 -0
- package/dist/store/scheduled-publish-enqueue.d.ts +37 -0
- package/dist/store/scheduled-publish-enqueue.d.ts.map +1 -0
- package/dist/store/scheduled-publish-enqueue.js +51 -0
- package/dist/store/scheduled-publish-enqueue.js.map +1 -0
- package/dist/store/store.d.ts +9 -1
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +50 -1
- package/dist/store/store.js.map +1 -1
- package/package.json +2 -2
package/dist/store/index.d.ts
CHANGED
|
@@ -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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"}
|
package/dist/store/index.js
CHANGED
|
@@ -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';
|
package/dist/store/index.js.map
CHANGED
|
@@ -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;
|
|
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":"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"}
|
|
@@ -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"}
|
package/dist/store/store.d.ts
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
|
package/dist/store/store.js
CHANGED
|
@@ -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
|
-
|
|
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);
|
package/dist/store/store.js.map
CHANGED
|
@@ -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.
|
|
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.
|
|
31
|
+
"@cogenta/core": "0.4.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"typescript": "^7.0.2",
|