@cogenta/schema 0.2.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/dist/define-collection.d.ts.map +1 -1
  2. package/dist/define-collection.js +53 -3
  3. package/dist/define-collection.js.map +1 -1
  4. package/dist/generate-types.d.ts.map +1 -1
  5. package/dist/generate-types.js +6 -1
  6. package/dist/generate-types.js.map +1 -1
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/media-usage.d.ts +56 -0
  12. package/dist/media-usage.d.ts.map +1 -0
  13. package/dist/media-usage.js +89 -0
  14. package/dist/media-usage.js.map +1 -0
  15. package/dist/rich-text.d.ts +28 -2
  16. package/dist/rich-text.d.ts.map +1 -1
  17. package/dist/rich-text.js +26 -3
  18. package/dist/rich-text.js.map +1 -1
  19. package/dist/routing/index.d.ts +5 -1
  20. package/dist/routing/index.d.ts.map +1 -1
  21. package/dist/routing/index.js +2 -0
  22. package/dist/routing/index.js.map +1 -1
  23. package/dist/routing/not-found-log.d.ts +78 -0
  24. package/dist/routing/not-found-log.d.ts.map +1 -0
  25. package/dist/routing/not-found-log.js +153 -0
  26. package/dist/routing/not-found-log.js.map +1 -0
  27. package/dist/routing/redirect-patterns.d.ts +61 -0
  28. package/dist/routing/redirect-patterns.d.ts.map +1 -0
  29. package/dist/routing/redirect-patterns.js +173 -0
  30. package/dist/routing/redirect-patterns.js.map +1 -0
  31. package/dist/routing/redirects.d.ts +27 -4
  32. package/dist/routing/redirects.d.ts.map +1 -1
  33. package/dist/routing/redirects.js +160 -48
  34. package/dist/routing/redirects.js.map +1 -1
  35. package/dist/scheduling/index.d.ts +2 -0
  36. package/dist/scheduling/index.d.ts.map +1 -1
  37. package/dist/scheduling/index.js +1 -0
  38. package/dist/scheduling/index.js.map +1 -1
  39. package/dist/scheduling/registry.d.ts +147 -0
  40. package/dist/scheduling/registry.d.ts.map +1 -0
  41. package/dist/scheduling/registry.js +318 -0
  42. package/dist/scheduling/registry.js.map +1 -0
  43. package/dist/search/extract.d.ts +24 -0
  44. package/dist/search/extract.d.ts.map +1 -1
  45. package/dist/search/extract.js +63 -8
  46. package/dist/search/extract.js.map +1 -1
  47. package/dist/search/index.d.ts +2 -1
  48. package/dist/search/index.d.ts.map +1 -1
  49. package/dist/search/index.js +1 -9
  50. package/dist/search/index.js.map +1 -1
  51. package/dist/store/admin-theme-store.d.ts +26 -0
  52. package/dist/store/admin-theme-store.d.ts.map +1 -0
  53. package/dist/store/admin-theme-store.js +81 -0
  54. package/dist/store/admin-theme-store.js.map +1 -0
  55. package/dist/store/admin-theme-tables.d.ts +24 -0
  56. package/dist/store/admin-theme-tables.d.ts.map +1 -0
  57. package/dist/store/admin-theme-tables.js +41 -0
  58. package/dist/store/admin-theme-tables.js.map +1 -0
  59. package/dist/store/admin-theme-templates.d.ts +135 -0
  60. package/dist/store/admin-theme-templates.d.ts.map +1 -0
  61. package/dist/store/admin-theme-templates.js +217 -0
  62. package/dist/store/admin-theme-templates.js.map +1 -0
  63. package/dist/store/columns.d.ts.map +1 -1
  64. package/dist/store/columns.js +8 -2
  65. package/dist/store/columns.js.map +1 -1
  66. package/dist/store/diff.d.ts +40 -0
  67. package/dist/store/diff.d.ts.map +1 -1
  68. package/dist/store/diff.js +148 -0
  69. package/dist/store/diff.js.map +1 -1
  70. package/dist/store/index.d.ts +47 -4
  71. package/dist/store/index.d.ts.map +1 -1
  72. package/dist/store/index.js +26 -2
  73. package/dist/store/index.js.map +1 -1
  74. package/dist/store/maintenance-store.d.ts +34 -0
  75. package/dist/store/maintenance-store.d.ts.map +1 -0
  76. package/dist/store/maintenance-store.js +92 -0
  77. package/dist/store/maintenance-store.js.map +1 -0
  78. package/dist/store/menu-store.d.ts +146 -0
  79. package/dist/store/menu-store.d.ts.map +1 -0
  80. package/dist/store/menu-store.js +565 -0
  81. package/dist/store/menu-store.js.map +1 -0
  82. package/dist/store/menu-tables.d.ts +38 -0
  83. package/dist/store/menu-tables.d.ts.map +1 -0
  84. package/dist/store/menu-tables.js +117 -0
  85. package/dist/store/menu-tables.js.map +1 -0
  86. package/dist/store/naming.d.ts +1 -1
  87. package/dist/store/naming.d.ts.map +1 -1
  88. package/dist/store/naming.js +2 -0
  89. package/dist/store/naming.js.map +1 -1
  90. package/dist/store/pattern-store.d.ts +75 -0
  91. package/dist/store/pattern-store.d.ts.map +1 -0
  92. package/dist/store/pattern-store.js +118 -0
  93. package/dist/store/pattern-store.js.map +1 -0
  94. package/dist/store/pattern-tables.d.ts +29 -0
  95. package/dist/store/pattern-tables.d.ts.map +1 -0
  96. package/dist/store/pattern-tables.js +53 -0
  97. package/dist/store/pattern-tables.js.map +1 -0
  98. package/dist/store/read-only.d.ts +3 -3
  99. package/dist/store/read-only.d.ts.map +1 -1
  100. package/dist/store/read-only.js +4 -3
  101. package/dist/store/read-only.js.map +1 -1
  102. package/dist/store/redirect-tracking.d.ts +50 -0
  103. package/dist/store/redirect-tracking.d.ts.map +1 -0
  104. package/dist/store/redirect-tracking.js +91 -0
  105. package/dist/store/redirect-tracking.js.map +1 -0
  106. package/dist/store/review-transitions.d.ts +34 -0
  107. package/dist/store/review-transitions.d.ts.map +1 -0
  108. package/dist/store/review-transitions.js +51 -0
  109. package/dist/store/review-transitions.js.map +1 -0
  110. package/dist/store/role-permission-export.d.ts +22 -0
  111. package/dist/store/role-permission-export.d.ts.map +1 -0
  112. package/dist/store/role-permission-export.js +0 -0
  113. package/dist/store/role-permission-export.js.map +1 -0
  114. package/dist/store/role-permission-overlay.d.ts +27 -0
  115. package/dist/store/role-permission-overlay.d.ts.map +1 -0
  116. package/dist/store/role-permission-overlay.js +0 -0
  117. package/dist/store/role-permission-overlay.js.map +1 -0
  118. package/dist/store/role-permission-store.d.ts +72 -0
  119. package/dist/store/role-permission-store.d.ts.map +1 -0
  120. package/dist/store/role-permission-store.js +148 -0
  121. package/dist/store/role-permission-store.js.map +1 -0
  122. package/dist/store/role-permission-tables.d.ts +27 -0
  123. package/dist/store/role-permission-tables.d.ts.map +1 -0
  124. package/dist/store/role-permission-tables.js +52 -0
  125. package/dist/store/role-permission-tables.js.map +1 -0
  126. package/dist/store/scheduled-publish-enqueue.d.ts +37 -0
  127. package/dist/store/scheduled-publish-enqueue.d.ts.map +1 -0
  128. package/dist/store/scheduled-publish-enqueue.js +51 -0
  129. package/dist/store/scheduled-publish-enqueue.js.map +1 -0
  130. package/dist/store/scheduled-publish-failures.d.ts +36 -0
  131. package/dist/store/scheduled-publish-failures.d.ts.map +1 -0
  132. package/dist/store/scheduled-publish-failures.js +67 -0
  133. package/dist/store/scheduled-publish-failures.js.map +1 -0
  134. package/dist/store/schema-2-1-migration.d.ts +29 -0
  135. package/dist/store/schema-2-1-migration.d.ts.map +1 -0
  136. package/dist/store/schema-2-1-migration.js +71 -0
  137. package/dist/store/schema-2-1-migration.js.map +1 -0
  138. package/dist/store/search-console-store.d.ts +44 -0
  139. package/dist/store/search-console-store.d.ts.map +1 -0
  140. package/dist/store/search-console-store.js +90 -0
  141. package/dist/store/search-console-store.js.map +1 -0
  142. package/dist/store/search-console-tables.d.ts +14 -0
  143. package/dist/store/search-console-tables.d.ts.map +1 -0
  144. package/dist/store/search-console-tables.js +29 -0
  145. package/dist/store/search-console-tables.js.map +1 -0
  146. package/dist/store/search-indexing.d.ts +36 -0
  147. package/dist/store/search-indexing.d.ts.map +1 -1
  148. package/dist/store/search-indexing.js +33 -0
  149. package/dist/store/search-indexing.js.map +1 -1
  150. package/dist/store/site-settings-registry.d.ts +164 -0
  151. package/dist/store/site-settings-registry.d.ts.map +1 -0
  152. package/dist/store/site-settings-registry.js +1160 -0
  153. package/dist/store/site-settings-registry.js.map +1 -0
  154. package/dist/store/site-settings-store.d.ts +42 -0
  155. package/dist/store/site-settings-store.d.ts.map +1 -0
  156. package/dist/store/site-settings-store.js +97 -0
  157. package/dist/store/site-settings-store.js.map +1 -0
  158. package/dist/store/site-settings-tables.d.ts +29 -0
  159. package/dist/store/site-settings-tables.d.ts.map +1 -0
  160. package/dist/store/site-settings-tables.js +48 -0
  161. package/dist/store/site-settings-tables.js.map +1 -0
  162. package/dist/store/store.d.ts +57 -2
  163. package/dist/store/store.d.ts.map +1 -1
  164. package/dist/store/store.js +278 -37
  165. package/dist/store/store.js.map +1 -1
  166. package/dist/store/tables.d.ts.map +1 -1
  167. package/dist/store/tables.js +11 -0
  168. package/dist/store/tables.js.map +1 -1
  169. package/dist/store/taxonomy-store.d.ts.map +1 -1
  170. package/dist/store/taxonomy-store.js +90 -39
  171. package/dist/store/taxonomy-store.js.map +1 -1
  172. package/dist/store/taxonomy-usage.d.ts +47 -0
  173. package/dist/store/taxonomy-usage.d.ts.map +1 -0
  174. package/dist/store/taxonomy-usage.js +101 -0
  175. package/dist/store/taxonomy-usage.js.map +1 -0
  176. package/dist/store/theme-store.d.ts +73 -0
  177. package/dist/store/theme-store.d.ts.map +1 -0
  178. package/dist/store/theme-store.js +193 -0
  179. package/dist/store/theme-store.js.map +1 -0
  180. package/dist/store/types.d.ts +36 -1
  181. package/dist/store/types.d.ts.map +1 -1
  182. package/dist/store/values.d.ts.map +1 -1
  183. package/dist/store/values.js +28 -1
  184. package/dist/store/values.js.map +1 -1
  185. package/dist/system-fields.d.ts +8 -1
  186. package/dist/system-fields.d.ts.map +1 -1
  187. package/dist/system-fields.js +14 -1
  188. package/dist/system-fields.js.map +1 -1
  189. package/dist/types.d.ts +54 -1
  190. package/dist/types.d.ts.map +1 -1
  191. package/dist/types.js +21 -0
  192. package/dist/types.js.map +1 -1
  193. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-settings-registry.js","sourceRoot":"","sources":["../../src/store/site-settings-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { type DatabaseHandle } from '@cogenta/core';
2
+ /**
3
+ * The persistence layer of `SITE_SETTINGS_REGISTRY` (fiche 23 task 1).
4
+ *
5
+ * A row exists only once someone has actually written a value — a registry
6
+ * entry nobody has touched yet has no row at all, and the caller (the REST
7
+ * router) is the one that fills in `defaultValue` for it. That is
8
+ * deliberate: it is what lets a new registry entry with a new default ship
9
+ * without a migration that back-fills every existing site's table.
10
+ */
11
+ export interface SiteSettingRecord {
12
+ readonly key: string;
13
+ /** `SITE_SETTINGS_SITE_SCOPE` (`''`) for a site-scoped setting, a real locale code for a locale-scoped one. */
14
+ readonly locale: string;
15
+ readonly value: unknown;
16
+ readonly updatedAt: string;
17
+ /** The actor who wrote this value, or `null` for a value seeded outside a request (a migration, a test fixture). */
18
+ readonly updatedBy: string | null;
19
+ }
20
+ export interface SiteSettingsStoreOptions {
21
+ readonly db: DatabaseHandle;
22
+ readonly now?: () => Date;
23
+ }
24
+ export interface SiteSettingsStore {
25
+ /**
26
+ * Every row written for this locale, plus every site-scoped row — exactly
27
+ * the set of overrides that apply when rendering settings for this locale
28
+ * context. A registry entry with no row here is unset; the caller applies
29
+ * its default.
30
+ */
31
+ list(locale: string): Promise<readonly SiteSettingRecord[]>;
32
+ get(key: string, locale: string): Promise<SiteSettingRecord | null>;
33
+ /**
34
+ * Refuses a key the registry does not declare (`SITE_SETTING_UNKNOWN`), a
35
+ * value that fails that key's own schema, or a `locale` that does not
36
+ * match the key's declared scope (`SITE_SETTING_INVALID` for both — the
37
+ * registry is the single place either failure is decided).
38
+ */
39
+ set(key: string, locale: string, value: unknown, updatedBy: string | null): Promise<SiteSettingRecord>;
40
+ }
41
+ export declare function createSiteSettingsStore(options: SiteSettingsStoreOptions): SiteSettingsStore;
42
+ //# sourceMappingURL=site-settings-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-settings-store.d.ts","sourceRoot":"","sources":["../../src/store/site-settings-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,cAAc,EAAmB,MAAM,eAAe,CAAA;AAIlF;;;;;;;;GAQG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,+GAA+G;IAC/G,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,oHAAoH;IACpH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAA;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAA;IAC3D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IACnE;;;;;OAKG;IACH,GAAG,CACD,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,iBAAiB,CAAC,CAAA;CAC9B;AA+BD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAyF5F"}
@@ -0,0 +1,97 @@
1
+ import { CogentaError, identifier, sql } from '@cogenta/core';
2
+ import { siteSettingByKey } from './site-settings-registry.js';
3
+ import { SITE_SETTINGS_SITE_SCOPE, SITE_SETTINGS_TABLE } from './site-settings-tables.js';
4
+ function text(value) {
5
+ return typeof value === 'string' ? value : String(value);
6
+ }
7
+ function nullableText(value) {
8
+ return value === null || value === undefined ? null : text(value);
9
+ }
10
+ function unknownSetting(key) {
11
+ return new CogentaError({
12
+ code: 'SITE_SETTING_UNKNOWN',
13
+ message: `"${key}" is not a declared site setting.`,
14
+ hint: 'Site settings are a closed registry (fiche 23) — check the key against SITE_SETTINGS_REGISTRY, or declare it there first.',
15
+ details: { key },
16
+ });
17
+ }
18
+ function toRecord(row) {
19
+ return {
20
+ key: text(row['key']),
21
+ locale: text(row['locale']),
22
+ value: JSON.parse(text(row['value'])),
23
+ updatedAt: text(row['updated_at']),
24
+ updatedBy: nullableText(row['updated_by']),
25
+ };
26
+ }
27
+ export function createSiteSettingsStore(options) {
28
+ const { db } = options;
29
+ const dialect = db.dialect;
30
+ const now = options.now ?? (() => new Date());
31
+ const table = identifier(SITE_SETTINGS_TABLE, dialect);
32
+ const keyColumn = identifier('key', dialect);
33
+ const localeColumn = identifier('locale', dialect);
34
+ const valueColumn = identifier('value', dialect);
35
+ const updatedAtColumn = identifier('updated_at', dialect);
36
+ const updatedByColumn = identifier('updated_by', dialect);
37
+ return {
38
+ list: async (locale) => {
39
+ const found = await db.query(locale === SITE_SETTINGS_SITE_SCOPE
40
+ ? sql `select * from ${table} where ${localeColumn} = ${SITE_SETTINGS_SITE_SCOPE}`
41
+ : sql `select * from ${table} where ${localeColumn} in (${SITE_SETTINGS_SITE_SCOPE}, ${locale})`);
42
+ return found.rows.map(toRecord);
43
+ },
44
+ get: async (key, locale) => {
45
+ const found = await db.query(sql `select * from ${table} where ${keyColumn} = ${key} and ${localeColumn} = ${locale}`);
46
+ const row = found.rows[0];
47
+ return row === undefined ? null : toRecord(row);
48
+ },
49
+ set: async (key, locale, value, updatedBy) => {
50
+ const definition = siteSettingByKey(key);
51
+ if (definition === undefined)
52
+ throw unknownSetting(key);
53
+ const expectedLocale = definition.scope === 'site';
54
+ if (expectedLocale && locale !== SITE_SETTINGS_SITE_SCOPE) {
55
+ throw new CogentaError({
56
+ code: 'SITE_SETTING_INVALID',
57
+ message: `"${key}" is a site-wide setting; it cannot be written for a specific locale.`,
58
+ hint: 'Omit the locale for this key.',
59
+ details: { key, locale },
60
+ });
61
+ }
62
+ if (!expectedLocale && locale === SITE_SETTINGS_SITE_SCOPE) {
63
+ throw new CogentaError({
64
+ code: 'SITE_SETTING_INVALID',
65
+ message: `"${key}" is a per-locale setting; a locale is required.`,
66
+ hint: 'Pass the locale this value applies to.',
67
+ details: { key },
68
+ });
69
+ }
70
+ const parsed = definition.schema.safeParse(value);
71
+ if (!parsed.success) {
72
+ throw new CogentaError({
73
+ code: 'SITE_SETTING_INVALID',
74
+ message: `"${key}" received a value that does not match its declared schema: ${parsed.error.issues.map((issue) => issue.message).join('; ')}`,
75
+ hint: "Check the value against this setting's type in the settings screen.",
76
+ details: { key, issues: parsed.error.issues.map((issue) => issue.message) },
77
+ });
78
+ }
79
+ const at = now().toISOString();
80
+ const serialised = JSON.stringify(parsed.data);
81
+ await db.transaction(async (tx) => {
82
+ const existing = await tx.query(sql `select ${keyColumn} from ${table} where ${keyColumn} = ${key} and ${localeColumn} = ${locale}`);
83
+ if (existing.rows.length > 0) {
84
+ await tx.query(sql `update ${table}
85
+ set ${valueColumn} = ${serialised}, ${updatedAtColumn} = ${at}, ${updatedByColumn} = ${updatedBy}
86
+ where ${keyColumn} = ${key} and ${localeColumn} = ${locale}`);
87
+ }
88
+ else {
89
+ await tx.query(sql `insert into ${table} (${keyColumn}, ${localeColumn}, ${valueColumn}, ${updatedAtColumn}, ${updatedByColumn})
90
+ values (${key}, ${locale}, ${serialised}, ${at}, ${updatedBy})`);
91
+ }
92
+ }, { immediate: true });
93
+ return { key, locale, value: parsed.data, updatedAt: at, updatedBy };
94
+ },
95
+ };
96
+ }
97
+ //# sourceMappingURL=site-settings-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-settings-store.js","sourceRoot":"","sources":["../../src/store/site-settings-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { type DatabaseHandle } from '@cogenta/core';
2
+ /**
3
+ * Editorial site settings (fiche 23) — the third category ADR-0025 names
4
+ * between "infrastructure" (`cogenta.config.mjs`, read-only in the admin) and
5
+ * "personal preference" (`localStorage`, never on the server at all): a
6
+ * tagline, a homepage, a timezone — the things a rédacteur needs to change
7
+ * without a terminal, and that must not create a second source of truth for
8
+ * anything already in the config file (ADR-0025's whole point).
9
+ *
10
+ * One fixed table, exactly like `menu-tables.ts`: a site setting is not
11
+ * schema-declared the way a collection or a taxonomy is, so there is no
12
+ * per-name table to mint. `key` is the registry's own machine name
13
+ * (`site-settings-registry.ts`); a key outside that registry is refused by
14
+ * the store, never written here as a loose row.
15
+ *
16
+ * `locale` is part of the primary key and is never nullable: a site-scoped
17
+ * setting is stored at the empty string, the same "no locale" sentinel this
18
+ * column already treats as never colliding with a real one, so a plain
19
+ * equality lookup — `key = ? and locale = ?` — is the whole read path for
20
+ * both scopes, with no `is null` branch to keep in sync with `create` or
21
+ * `update`.
22
+ */
23
+ export declare const SITE_SETTINGS_TABLE = "cogenta_site_settings";
24
+ /** The sentinel `locale` value for a site-scoped setting (never a real locale code). */
25
+ export declare const SITE_SETTINGS_SITE_SCOPE = "";
26
+ /** Long enough for any JSON value this fiche's registry stores (free text included). */
27
+ export declare const SITE_SETTING_VALUE_LENGTH = 8000;
28
+ export declare function ensureSiteSettingsTables(db: DatabaseHandle): Promise<void>;
29
+ //# sourceMappingURL=site-settings-tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-settings-tables.d.ts","sourceRoot":"","sources":["../../src/store/site-settings-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAqC,MAAM,eAAe,CAAA;AAGtF;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,eAAO,MAAM,mBAAmB,0BAA0B,CAAA;AAE1D,wFAAwF;AACxF,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAE1C,wFAAwF;AACxF,eAAO,MAAM,yBAAyB,OAAO,CAAA;AAE7C,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhF"}
@@ -0,0 +1,48 @@
1
+ import { identifier, sql } from '@cogenta/core';
2
+ import { textColumn, timestampColumn } from './columns.js';
3
+ /**
4
+ * Editorial site settings (fiche 23) — the third category ADR-0025 names
5
+ * between "infrastructure" (`cogenta.config.mjs`, read-only in the admin) and
6
+ * "personal preference" (`localStorage`, never on the server at all): a
7
+ * tagline, a homepage, a timezone — the things a rédacteur needs to change
8
+ * without a terminal, and that must not create a second source of truth for
9
+ * anything already in the config file (ADR-0025's whole point).
10
+ *
11
+ * One fixed table, exactly like `menu-tables.ts`: a site setting is not
12
+ * schema-declared the way a collection or a taxonomy is, so there is no
13
+ * per-name table to mint. `key` is the registry's own machine name
14
+ * (`site-settings-registry.ts`); a key outside that registry is refused by
15
+ * the store, never written here as a loose row.
16
+ *
17
+ * `locale` is part of the primary key and is never nullable: a site-scoped
18
+ * setting is stored at the empty string, the same "no locale" sentinel this
19
+ * column already treats as never colliding with a real one, so a plain
20
+ * equality lookup — `key = ? and locale = ?` — is the whole read path for
21
+ * both scopes, with no `is null` branch to keep in sync with `create` or
22
+ * `update`.
23
+ */
24
+ export const SITE_SETTINGS_TABLE = 'cogenta_site_settings';
25
+ /** The sentinel `locale` value for a site-scoped setting (never a real locale code). */
26
+ export const SITE_SETTINGS_SITE_SCOPE = '';
27
+ /** Long enough for any JSON value this fiche's registry stores (free text included). */
28
+ export const SITE_SETTING_VALUE_LENGTH = 8000;
29
+ export async function ensureSiteSettingsTables(db) {
30
+ const dialect = db.dialect;
31
+ const table = identifier(SITE_SETTINGS_TABLE, dialect);
32
+ const keyColumn = identifier('key', dialect);
33
+ const localeColumn = identifier('locale', dialect);
34
+ const statements = [
35
+ sql `create table if not exists ${table} (
36
+ ${keyColumn} ${textColumn(dialect, 128)} not null,
37
+ ${localeColumn} ${textColumn(dialect, 16)} not null,
38
+ ${identifier('value', dialect)} ${textColumn(dialect, SITE_SETTING_VALUE_LENGTH)} not null,
39
+ ${identifier('updated_at', dialect)} ${timestampColumn(dialect)} not null,
40
+ ${identifier('updated_by', dialect)} ${textColumn(dialect, 36)},
41
+ primary key (${keyColumn}, ${localeColumn})
42
+ )`,
43
+ ];
44
+ for (const statement of statements) {
45
+ await db.query(statement);
46
+ }
47
+ }
48
+ //# sourceMappingURL=site-settings-tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-settings-tables.js","sourceRoot":"","sources":["../../src/store/site-settings-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,UAAU,EAAoB,GAAG,EAAE,MAAM,eAAe,CAAA;AACtF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE1D;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,uBAAuB,CAAA;AAE1D,wFAAwF;AACxF,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAA;AAE1C,wFAAwF;AACxF,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAAkB;IAC/D,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAA;IAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAA;IACtD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAElD,MAAM,UAAU,GAAkB;QAChC,GAAG,CAAA,8BAA8B,KAAK;QAClC,SAAS,IAAI,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;QACrC,YAAY,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QACvC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,yBAAyB,CAAC;QAC9E,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC;QAC7D,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;qBAC/C,SAAS,KAAK,YAAY;MACzC;KACH,CAAA;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type DatabaseHandle } from '@cogenta/core';
2
2
  import { type CollectionDefinition } from '../types.js';
3
3
  import { type ContentDiff } from './diff.js';
4
- import type { ContentEntry, ContentValues, CreateInput, DuplicateInput, ListOptions, LocaleResolution, Page, PurgeReport, ReadOptions, ResolveLocaleOptions, TrashOptions, UpdateInput, VersionSummary } from './types.js';
4
+ import type { ContentEntry, ContentValues, CreateInput, DuplicateInput, ListOptions, LocaleResolution, Page, PurgeReport, ReadOptions, ResolveLocaleOptions, StatusCounts, TrashOptions, UpdateInput, VersionSummary } from './types.js';
5
5
  /**
6
6
  * The persistence layer of a collection.
7
7
  *
@@ -64,17 +64,72 @@ export interface ContentStore<TValues extends ContentValues = ContentValues> {
64
64
  /** Purges what has sat in the trash longer than `trash.retainDays`. */
65
65
  purgeExpired(): Promise<PurgeReport>;
66
66
  list(options?: ListOptions): Promise<Page<ContentEntry<TValues>>>;
67
+ /**
68
+ * Per-status row counts, and how many sit in the trash — one `GROUP BY` and
69
+ * one trash count, never a page walked client-side (fiche 01 tâche 4,
70
+ * fiche 22 tâche 1: the two features share this one implementation).
71
+ */
72
+ count(): Promise<StatusCounts>;
67
73
  publish(id: string, input?: {
68
74
  readonly publishedBy?: string | null;
69
75
  }): Promise<ContentEntry<TValues>>;
76
+ /**
77
+ * The atomic half of scheduled publication (fiche 28 task 4, ADR-free —
78
+ * additive to contract A, no shape changed). Publishes the entry only if
79
+ * it is still `status: 'scheduled'` at the moment of the write, in one
80
+ * guarded `UPDATE`; returns `null` — not an error — when it is not (already
81
+ * published by another process, or edited back to `draft` before its hour
82
+ * came). Two processes racing to publish the same entry therefore run the
83
+ * full publish side effects exactly once between them, never twice.
84
+ */
85
+ claimForScheduledPublish(id: string): Promise<ContentEntry<TValues> | null>;
70
86
  unpublish(id: string, input?: {
71
- readonly status?: 'draft' | 'archived';
87
+ readonly status?: 'draft' | 'archived' | 'scheduled';
88
+ /**
89
+ * Required, and only meaningful, when `status` is `'scheduled'`: the
90
+ * future instant this entry becomes public. A `Date`, an ISO 8601
91
+ * string, or epoch milliseconds — the same three forms
92
+ * `schedulePublication` accepts, since this is the write that puts an
93
+ * entry into the state that function's caller later queues a job for.
94
+ */
95
+ readonly publishedAt?: Date | string | number;
96
+ }): Promise<ContentEntry<TValues>>;
97
+ /**
98
+ * Sends an entry into the review queue (`schema@2.1`, ADR-0027).
99
+ *
100
+ * Legal from `none` (a fresh entry never reviewed) or `changes-requested`
101
+ * (sent back, and now resubmitted). Throws `CONTENT_REVIEW_TRANSITION_INVALID`
102
+ * for anything else — a pending or already-approved entry cannot be
103
+ * resubmitted out from under a reviewer.
104
+ */
105
+ submitForReview(id: string, input?: {
106
+ readonly reviewerId?: string | null;
107
+ readonly by?: string | null;
108
+ }): Promise<ContentEntry<TValues>>;
109
+ /** Approves a pending entry. **Not** publication — `publish()` remains the action that makes it public. */
110
+ approveReview(id: string, input?: {
111
+ readonly by?: string | null;
72
112
  }): Promise<ContentEntry<TValues>>;
113
+ /** Sends a pending entry back to its author. */
114
+ requestReviewChanges(id: string, input?: {
115
+ readonly by?: string | null;
116
+ }): Promise<ContentEntry<TValues>>;
117
+ /** Sets — or clears, with `null` — who is expected to review this entry next. */
118
+ assignReviewer(id: string, reviewerId: string | null): Promise<ContentEntry<TValues>>;
73
119
  history(id: string, options?: TrashOptions): Promise<readonly VersionSummary[]>;
74
120
  readVersion(id: string, version: number): Promise<ContentEntry<TValues> | null>;
75
121
  restore(id: string, version: number, input?: UpdateInput<TValues>): Promise<ContentEntry<TValues>>;
76
122
  diff(id: string, from: number, to: number): Promise<ContentDiff>;
77
123
  translations(id: string, options?: TrashOptions): Promise<readonly ContentEntry<TValues>[]>;
124
+ /**
125
+ * The working-state translations of every root in `rootIds`, in one query
126
+ * (fiche 10 task 1: a translation dashboard over a thousand entries must
127
+ * not become a thousand `translations()` calls). Rows whose `translationOf`
128
+ * is not among `rootIds` are never returned — this is deliberately not
129
+ * "every family member", only the non-root half of it, since the caller
130
+ * already has the roots from `list({ translationOf: null })`.
131
+ */
132
+ translationsOfMany(rootIds: readonly string[], options?: TrashOptions): Promise<readonly ContentEntry<TValues>[]>;
78
133
  resolveLocale(id: string, locale: string, options: ResolveLocaleOptions): Promise<LocaleResolution<TValues>>;
79
134
  }
80
135
  export declare function createContentStore<TValues extends ContentValues = ContentValues>(options: ContentStoreOptions): ContentStore<TValues>;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}