@kywi-software/core 0.2.1 → 0.3.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 (354) hide show
  1. package/README.md +57 -2
  2. package/dist/admin/app.d.ts +10 -1
  3. package/dist/admin/app.d.ts.map +1 -1
  4. package/dist/admin/app.js +2 -2
  5. package/dist/admin/app.js.map +1 -1
  6. package/dist/admin/approval-queue.d.ts +3 -1
  7. package/dist/admin/approval-queue.d.ts.map +1 -1
  8. package/dist/admin/approval-queue.js +2 -2
  9. package/dist/admin/approval-queue.js.map +1 -1
  10. package/dist/admin/audience-list.d.ts.map +1 -1
  11. package/dist/admin/audience-list.js +9 -1
  12. package/dist/admin/audience-list.js.map +1 -1
  13. package/dist/admin/chrome.d.ts +7 -1
  14. package/dist/admin/chrome.d.ts.map +1 -1
  15. package/dist/admin/chrome.js +2 -1
  16. package/dist/admin/chrome.js.map +1 -1
  17. package/dist/admin/content-editor-api.d.ts +27 -1
  18. package/dist/admin/content-editor-api.d.ts.map +1 -1
  19. package/dist/admin/content-editor-api.js +60 -2
  20. package/dist/admin/content-editor-api.js.map +1 -1
  21. package/dist/admin/content-form.d.ts +62 -6
  22. package/dist/admin/content-form.d.ts.map +1 -1
  23. package/dist/admin/content-form.js +118 -13
  24. package/dist/admin/content-form.js.map +1 -1
  25. package/dist/admin/content-permissions-tab.d.ts +13 -0
  26. package/dist/admin/content-permissions-tab.d.ts.map +1 -0
  27. package/dist/admin/content-permissions-tab.js +90 -0
  28. package/dist/admin/content-permissions-tab.js.map +1 -0
  29. package/dist/admin/context.d.ts +8 -0
  30. package/dist/admin/context.d.ts.map +1 -1
  31. package/dist/admin/context.js.map +1 -1
  32. package/dist/admin/feed-builder.d.ts.map +1 -1
  33. package/dist/admin/feed-builder.js +20 -1
  34. package/dist/admin/feed-builder.js.map +1 -1
  35. package/dist/admin/field-components.d.ts.map +1 -1
  36. package/dist/admin/field-components.js +26 -1
  37. package/dist/admin/field-components.js.map +1 -1
  38. package/dist/admin/form-builder.js +6 -1
  39. package/dist/admin/form-builder.js.map +1 -1
  40. package/dist/admin/form-helpers.d.ts.map +1 -1
  41. package/dist/admin/form-helpers.js +2 -0
  42. package/dist/admin/form-helpers.js.map +1 -1
  43. package/dist/admin/layout-editor/component-actions.d.ts +18 -0
  44. package/dist/admin/layout-editor/component-actions.d.ts.map +1 -1
  45. package/dist/admin/layout-editor/component-actions.js +19 -0
  46. package/dist/admin/layout-editor/component-actions.js.map +1 -1
  47. package/dist/admin/layout-editor/component-picker-field.d.ts +20 -0
  48. package/dist/admin/layout-editor/component-picker-field.d.ts.map +1 -0
  49. package/dist/admin/layout-editor/component-picker-field.js +16 -0
  50. package/dist/admin/layout-editor/component-picker-field.js.map +1 -0
  51. package/dist/admin/layout-editor/drag-utils.d.ts +48 -0
  52. package/dist/admin/layout-editor/drag-utils.d.ts.map +1 -1
  53. package/dist/admin/layout-editor/drag-utils.js +43 -0
  54. package/dist/admin/layout-editor/drag-utils.js.map +1 -1
  55. package/dist/admin/layout-editor/editor-canvas.d.ts +9 -1
  56. package/dist/admin/layout-editor/editor-canvas.d.ts.map +1 -1
  57. package/dist/admin/layout-editor/editor-canvas.js +41 -15
  58. package/dist/admin/layout-editor/editor-canvas.js.map +1 -1
  59. package/dist/admin/layout-editor/editor-state.d.ts +9 -1
  60. package/dist/admin/layout-editor/editor-state.d.ts.map +1 -1
  61. package/dist/admin/layout-editor/editor-state.js +34 -0
  62. package/dist/admin/layout-editor/editor-state.js.map +1 -1
  63. package/dist/admin/layout-editor/editor.css +83 -0
  64. package/dist/admin/layout-editor/form-picker-field.d.ts +17 -0
  65. package/dist/admin/layout-editor/form-picker-field.d.ts.map +1 -0
  66. package/dist/admin/layout-editor/form-picker-field.js +35 -0
  67. package/dist/admin/layout-editor/form-picker-field.js.map +1 -0
  68. package/dist/admin/layout-editor/layout-editor.d.ts.map +1 -1
  69. package/dist/admin/layout-editor/layout-editor.js +95 -28
  70. package/dist/admin/layout-editor/layout-editor.js.map +1 -1
  71. package/dist/admin/layout-editor/mode-toggle.d.ts.map +1 -1
  72. package/dist/admin/layout-editor/mode-toggle.js +1 -1
  73. package/dist/admin/layout-editor/mode-toggle.js.map +1 -1
  74. package/dist/admin/layout-editor/module-overlay.d.ts +10 -1
  75. package/dist/admin/layout-editor/module-overlay.d.ts.map +1 -1
  76. package/dist/admin/layout-editor/module-overlay.js +3 -3
  77. package/dist/admin/layout-editor/module-overlay.js.map +1 -1
  78. package/dist/admin/layout-editor/props-panel.d.ts +10 -1
  79. package/dist/admin/layout-editor/props-panel.d.ts.map +1 -1
  80. package/dist/admin/layout-editor/props-panel.js +25 -2
  81. package/dist/admin/layout-editor/props-panel.js.map +1 -1
  82. package/dist/admin/layout-editor/section-insert-line.d.ts.map +1 -1
  83. package/dist/admin/layout-editor/section-insert-line.js +1 -1
  84. package/dist/admin/layout-editor/section-insert-line.js.map +1 -1
  85. package/dist/admin/layout-editor/section-overlay.d.ts.map +1 -1
  86. package/dist/admin/layout-editor/section-overlay.js +1 -1
  87. package/dist/admin/layout-editor/section-overlay.js.map +1 -1
  88. package/dist/admin/layout-editor/section-template-picker.d.ts +9 -1
  89. package/dist/admin/layout-editor/section-template-picker.d.ts.map +1 -1
  90. package/dist/admin/layout-editor/section-template-picker.js +45 -2
  91. package/dist/admin/layout-editor/section-template-picker.js.map +1 -1
  92. package/dist/admin/registry.d.ts.map +1 -1
  93. package/dist/admin/registry.js +11 -0
  94. package/dist/admin/registry.js.map +1 -1
  95. package/dist/admin/server.d.ts +15 -2
  96. package/dist/admin/server.d.ts.map +1 -1
  97. package/dist/admin/server.js +37 -1
  98. package/dist/admin/server.js.map +1 -1
  99. package/dist/admin/styles/admin.css +16 -4
  100. package/dist/admin/surface-matcher.d.ts +27 -0
  101. package/dist/admin/surface-matcher.d.ts.map +1 -1
  102. package/dist/admin/surface-matcher.js +11 -0
  103. package/dist/admin/surface-matcher.js.map +1 -1
  104. package/dist/admin/surfaces/approvals/approvals-data.d.ts +29 -9
  105. package/dist/admin/surfaces/approvals/approvals-data.d.ts.map +1 -1
  106. package/dist/admin/surfaces/approvals/approvals-data.js +65 -22
  107. package/dist/admin/surfaces/approvals/approvals-data.js.map +1 -1
  108. package/dist/admin/surfaces/approvals/approvals-index.d.ts.map +1 -1
  109. package/dist/admin/surfaces/approvals/approvals-index.js +47 -14
  110. package/dist/admin/surfaces/approvals/approvals-index.js.map +1 -1
  111. package/dist/admin/surfaces/content/content-edit.d.ts.map +1 -1
  112. package/dist/admin/surfaces/content/content-edit.js +34 -8
  113. package/dist/admin/surfaces/content/content-edit.js.map +1 -1
  114. package/dist/admin/surfaces/content/content-index.d.ts.map +1 -1
  115. package/dist/admin/surfaces/content/content-index.js +29 -2
  116. package/dist/admin/surfaces/content/content-index.js.map +1 -1
  117. package/dist/admin/surfaces/content/content-new.d.ts.map +1 -1
  118. package/dist/admin/surfaces/content/content-new.js +6 -4
  119. package/dist/admin/surfaces/content/content-new.js.map +1 -1
  120. package/dist/admin/surfaces/contentTree/content-tree.d.ts.map +1 -1
  121. package/dist/admin/surfaces/contentTree/content-tree.js +25 -2
  122. package/dist/admin/surfaces/contentTree/content-tree.js.map +1 -1
  123. package/dist/admin/surfaces/contentTypes/content-types-designer.d.ts.map +1 -1
  124. package/dist/admin/surfaces/contentTypes/content-types-designer.js +78 -47
  125. package/dist/admin/surfaces/contentTypes/content-types-designer.js.map +1 -1
  126. package/dist/admin/surfaces/feeds/feed-editor.d.ts.map +1 -1
  127. package/dist/admin/surfaces/feeds/feed-editor.js +21 -4
  128. package/dist/admin/surfaces/feeds/feed-editor.js.map +1 -1
  129. package/dist/admin/surfaces/layouts/layout-editor-client.d.ts.map +1 -1
  130. package/dist/admin/surfaces/layouts/layout-editor-client.js +7 -4
  131. package/dist/admin/surfaces/layouts/layout-editor-client.js.map +1 -1
  132. package/dist/admin/surfaces/media/media-client.d.ts.map +1 -1
  133. package/dist/admin/surfaces/media/media-client.js +10 -2
  134. package/dist/admin/surfaces/media/media-client.js.map +1 -1
  135. package/dist/admin/surfaces/settings/settings-site.d.ts.map +1 -1
  136. package/dist/admin/surfaces/settings/settings-site.js +39 -2
  137. package/dist/admin/surfaces/settings/settings-site.js.map +1 -1
  138. package/dist/admin/surfaces/settings/settings-sites.js +18 -0
  139. package/dist/admin/surfaces/settings/settings-sites.js.map +1 -1
  140. package/dist/admin/surfaces/trash/trash-index.d.ts.map +1 -1
  141. package/dist/admin/surfaces/trash/trash-index.js +45 -8
  142. package/dist/admin/surfaces/trash/trash-index.js.map +1 -1
  143. package/dist/admin/surfaces/users/users-data.d.ts +11 -0
  144. package/dist/admin/surfaces/users/users-data.d.ts.map +1 -1
  145. package/dist/admin/surfaces/users/users-data.js +20 -1
  146. package/dist/admin/surfaces/users/users-data.js.map +1 -1
  147. package/dist/admin/surfaces/webServices/web-services-data.d.ts +11 -1
  148. package/dist/admin/surfaces/webServices/web-services-data.d.ts.map +1 -1
  149. package/dist/admin/surfaces/webServices/web-services-data.js +13 -0
  150. package/dist/admin/surfaces/webServices/web-services-data.js.map +1 -1
  151. package/dist/admin/surfaces/webServices/webhooks.d.ts +3 -0
  152. package/dist/admin/surfaces/webServices/webhooks.d.ts.map +1 -0
  153. package/dist/admin/surfaces/webServices/webhooks.js +69 -0
  154. package/dist/admin/surfaces/webServices/webhooks.js.map +1 -0
  155. package/dist/admin/webhook-manager.d.ts +32 -0
  156. package/dist/admin/webhook-manager.d.ts.map +1 -0
  157. package/dist/admin/webhook-manager.js +62 -0
  158. package/dist/admin/webhook-manager.js.map +1 -0
  159. package/dist/api/admin-features-routes.d.ts.map +1 -1
  160. package/dist/api/admin-features-routes.js +30 -0
  161. package/dist/api/admin-features-routes.js.map +1 -1
  162. package/dist/api/api-key-routes.d.ts.map +1 -1
  163. package/dist/api/api-key-routes.js +6 -1
  164. package/dist/api/api-key-routes.js.map +1 -1
  165. package/dist/api/auth.d.ts +8 -0
  166. package/dist/api/auth.d.ts.map +1 -1
  167. package/dist/api/auth.js +11 -1
  168. package/dist/api/auth.js.map +1 -1
  169. package/dist/api/comment-routes.d.ts.map +1 -1
  170. package/dist/api/comment-routes.js +102 -47
  171. package/dist/api/comment-routes.js.map +1 -1
  172. package/dist/api/config-routes.d.ts +10 -2
  173. package/dist/api/config-routes.d.ts.map +1 -1
  174. package/dist/api/config-routes.js +46 -25
  175. package/dist/api/config-routes.js.map +1 -1
  176. package/dist/api/content-routes.d.ts.map +1 -1
  177. package/dist/api/content-routes.js +41 -0
  178. package/dist/api/content-routes.js.map +1 -1
  179. package/dist/api/content-schemas.d.ts.map +1 -1
  180. package/dist/api/content-schemas.js +34 -1
  181. package/dist/api/content-schemas.js.map +1 -1
  182. package/dist/api/content-type-routes.d.ts.map +1 -1
  183. package/dist/api/content-type-routes.js +58 -3
  184. package/dist/api/content-type-routes.js.map +1 -1
  185. package/dist/api/feed-routes.d.ts +180 -0
  186. package/dist/api/feed-routes.d.ts.map +1 -1
  187. package/dist/api/feed-routes.js +10 -2
  188. package/dist/api/feed-routes.js.map +1 -1
  189. package/dist/api/form-routes.d.ts +6 -0
  190. package/dist/api/form-routes.d.ts.map +1 -1
  191. package/dist/api/form-routes.js +93 -14
  192. package/dist/api/form-routes.js.map +1 -1
  193. package/dist/api/graphql/resolvers.d.ts +4 -4
  194. package/dist/api/index.d.ts.map +1 -1
  195. package/dist/api/index.js +12 -1
  196. package/dist/api/index.js.map +1 -1
  197. package/dist/api/media-routes.d.ts.map +1 -1
  198. package/dist/api/media-routes.js +18 -1
  199. package/dist/api/media-routes.js.map +1 -1
  200. package/dist/api/webhook-routes.d.ts.map +1 -1
  201. package/dist/api/webhook-routes.js +19 -2
  202. package/dist/api/webhook-routes.js.map +1 -1
  203. package/dist/api/workflow-routes.d.ts.map +1 -1
  204. package/dist/api/workflow-routes.js +163 -4
  205. package/dist/api/workflow-routes.js.map +1 -1
  206. package/dist/auth/roles.d.ts +28 -0
  207. package/dist/auth/roles.d.ts.map +1 -1
  208. package/dist/auth/roles.js +49 -0
  209. package/dist/auth/roles.js.map +1 -1
  210. package/dist/config/reserved-field-names.d.ts +29 -0
  211. package/dist/config/reserved-field-names.d.ts.map +1 -0
  212. package/dist/config/reserved-field-names.js +59 -0
  213. package/dist/config/reserved-field-names.js.map +1 -0
  214. package/dist/config/types.d.ts +31 -2
  215. package/dist/config/types.d.ts.map +1 -1
  216. package/dist/config/types.js.map +1 -1
  217. package/dist/db/analytics-queries.d.ts +1 -1
  218. package/dist/db/api-key-queries.d.ts +7 -2
  219. package/dist/db/api-key-queries.d.ts.map +1 -1
  220. package/dist/db/api-key-queries.js +8 -2
  221. package/dist/db/api-key-queries.js.map +1 -1
  222. package/dist/db/apply-snapshot.d.ts +58 -0
  223. package/dist/db/apply-snapshot.d.ts.map +1 -0
  224. package/dist/db/apply-snapshot.js +142 -0
  225. package/dist/db/apply-snapshot.js.map +1 -0
  226. package/dist/db/audit-queries.d.ts +3 -3
  227. package/dist/db/category-queries.d.ts +3 -3
  228. package/dist/db/changeset-audit-queries.d.ts +2 -2
  229. package/dist/db/changeset-queries.d.ts +5 -5
  230. package/dist/db/changeset-queries.d.ts.map +1 -1
  231. package/dist/db/changeset-queries.js +24 -7
  232. package/dist/db/changeset-queries.js.map +1 -1
  233. package/dist/db/content-queries.d.ts +6 -0
  234. package/dist/db/content-queries.d.ts.map +1 -1
  235. package/dist/db/content-queries.js +8 -0
  236. package/dist/db/content-queries.js.map +1 -1
  237. package/dist/db/content-type-queries.d.ts +30 -0
  238. package/dist/db/content-type-queries.d.ts.map +1 -1
  239. package/dist/db/content-type-queries.js +98 -1
  240. package/dist/db/content-type-queries.js.map +1 -1
  241. package/dist/db/dashboard-queries.d.ts.map +1 -1
  242. package/dist/db/dashboard-queries.js +5 -1
  243. package/dist/db/dashboard-queries.js.map +1 -1
  244. package/dist/db/dynamic-schema.d.ts.map +1 -1
  245. package/dist/db/dynamic-schema.js +2 -0
  246. package/dist/db/dynamic-schema.js.map +1 -1
  247. package/dist/db/extension-queries.d.ts +8 -8
  248. package/dist/db/feed-queries.d.ts +3 -3
  249. package/dist/db/index.d.ts +3 -0
  250. package/dist/db/index.d.ts.map +1 -1
  251. package/dist/db/index.js +7 -0
  252. package/dist/db/index.js.map +1 -1
  253. package/dist/db/media-queries.d.ts +31 -7
  254. package/dist/db/media-queries.d.ts.map +1 -1
  255. package/dist/db/media-queries.js +13 -1
  256. package/dist/db/media-queries.js.map +1 -1
  257. package/dist/db/membership-dedupe.d.ts +26 -0
  258. package/dist/db/membership-dedupe.d.ts.map +1 -0
  259. package/dist/db/membership-dedupe.js +68 -0
  260. package/dist/db/membership-dedupe.js.map +1 -0
  261. package/dist/db/revision-queries.d.ts +122 -0
  262. package/dist/db/revision-queries.d.ts.map +1 -0
  263. package/dist/db/revision-queries.js +213 -0
  264. package/dist/db/revision-queries.js.map +1 -0
  265. package/dist/db/schema-apply.d.ts +8 -0
  266. package/dist/db/schema-apply.d.ts.map +1 -1
  267. package/dist/db/schema-apply.js +17 -0
  268. package/dist/db/schema-apply.js.map +1 -1
  269. package/dist/db/schema-field-queries.d.ts +2 -0
  270. package/dist/db/schema-field-queries.d.ts.map +1 -1
  271. package/dist/db/schema-field-queries.js +4 -0
  272. package/dist/db/schema-field-queries.js.map +1 -1
  273. package/dist/db/site-plugin-queries.d.ts +2 -2
  274. package/dist/db/user-queries.d.ts +12 -0
  275. package/dist/db/user-queries.d.ts.map +1 -1
  276. package/dist/db/user-queries.js +18 -4
  277. package/dist/db/user-queries.js.map +1 -1
  278. package/dist/db/version-queries.d.ts +37 -0
  279. package/dist/db/version-queries.d.ts.map +1 -1
  280. package/dist/db/version-queries.js +36 -0
  281. package/dist/db/version-queries.js.map +1 -1
  282. package/dist/db/webhook-queries.d.ts +27 -5
  283. package/dist/db/webhook-queries.d.ts.map +1 -1
  284. package/dist/db/webhook-queries.js +17 -0
  285. package/dist/db/webhook-queries.js.map +1 -1
  286. package/dist/db/workflow-queries.d.ts +2 -2
  287. package/dist/experiments/schema.d.ts +1 -1
  288. package/dist/hooks/index.d.ts +1 -1
  289. package/dist/hooks/index.d.ts.map +1 -1
  290. package/dist/hooks/index.js +1 -1
  291. package/dist/hooks/index.js.map +1 -1
  292. package/dist/hooks/webhook-retry.d.ts +22 -1
  293. package/dist/hooks/webhook-retry.d.ts.map +1 -1
  294. package/dist/hooks/webhook-retry.js +38 -1
  295. package/dist/hooks/webhook-retry.js.map +1 -1
  296. package/dist/host/index.d.ts +28 -0
  297. package/dist/host/index.d.ts.map +1 -1
  298. package/dist/host/index.js +56 -1
  299. package/dist/host/index.js.map +1 -1
  300. package/dist/layout/comments-module.d.ts +18 -0
  301. package/dist/layout/comments-module.d.ts.map +1 -0
  302. package/dist/layout/comments-module.js +130 -0
  303. package/dist/layout/comments-module.js.map +1 -0
  304. package/dist/layout/feed-hydration.d.ts +75 -0
  305. package/dist/layout/feed-hydration.d.ts.map +1 -0
  306. package/dist/layout/feed-hydration.js +158 -0
  307. package/dist/layout/feed-hydration.js.map +1 -0
  308. package/dist/layout/index.d.ts +2 -1
  309. package/dist/layout/index.d.ts.map +1 -1
  310. package/dist/layout/index.js +2 -1
  311. package/dist/layout/index.js.map +1 -1
  312. package/dist/layout/module-render-context.d.ts +13 -0
  313. package/dist/layout/module-render-context.d.ts.map +1 -0
  314. package/dist/layout/module-render-context.js +15 -0
  315. package/dist/layout/module-render-context.js.map +1 -0
  316. package/dist/layout/modules-extended.d.ts.map +1 -1
  317. package/dist/layout/modules-extended.js +92 -13
  318. package/dist/layout/modules-extended.js.map +1 -1
  319. package/dist/layout/registry.d.ts.map +1 -1
  320. package/dist/layout/registry.js +22 -6
  321. package/dist/layout/registry.js.map +1 -1
  322. package/dist/layout/renderer.d.ts +17 -1
  323. package/dist/layout/renderer.d.ts.map +1 -1
  324. package/dist/layout/renderer.js +11 -4
  325. package/dist/layout/renderer.js.map +1 -1
  326. package/dist/nav/index.d.ts +1 -0
  327. package/dist/nav/index.d.ts.map +1 -1
  328. package/dist/nav/index.js +4 -0
  329. package/dist/nav/index.js.map +1 -1
  330. package/dist/nav/url-resolver.d.ts +10 -2
  331. package/dist/nav/url-resolver.d.ts.map +1 -1
  332. package/dist/nav/url-resolver.js +17 -3
  333. package/dist/nav/url-resolver.js.map +1 -1
  334. package/dist/schema/base.d.ts +37 -1
  335. package/dist/schema/base.d.ts.map +1 -1
  336. package/dist/schema/base.js +20 -2
  337. package/dist/schema/base.js.map +1 -1
  338. package/dist/schema/generate.d.ts +8 -0
  339. package/dist/schema/generate.d.ts.map +1 -1
  340. package/dist/schema/generate.js +7 -4
  341. package/dist/schema/generate.js.map +1 -1
  342. package/dist/schema/mapper.d.ts.map +1 -1
  343. package/dist/schema/mapper.js +2 -0
  344. package/dist/schema/mapper.js.map +1 -1
  345. package/dist/schema/mysql-tables.d.ts +34 -0
  346. package/dist/schema/mysql-tables.d.ts.map +1 -1
  347. package/dist/schema/mysql-tables.js +14 -2
  348. package/dist/schema/mysql-tables.js.map +1 -1
  349. package/dist/server.d.ts +1 -0
  350. package/dist/server.d.ts.map +1 -1
  351. package/dist/server.js +1 -0
  352. package/dist/server.js.map +1 -1
  353. package/dist/site/styles.css +384 -0
  354. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-queries.d.ts","sourceRoot":"","sources":["../../src/db/api-key-queries.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;AAM9E;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EAAE,GACpB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,cAAc,CAAA;CAAE,CAAC,CAWlD;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,CAAC,CAc5C;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC,CAgBrD;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAMlB"}
1
+ {"version":3,"file":"api-key-queries.d.ts","sourceRoot":"","sources":["../../src/db/api-key-queries.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAA;AAM9E;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EAAE,GACpB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,cAAc,CAAA;CAAE,CAAC,CAWlD;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,CAAC,CAc5C;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CAiB3D;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAMlB"}
@@ -40,8 +40,13 @@ export async function listApiKeys(db, userId) {
40
40
  return rows;
41
41
  }
42
42
  /**
43
- * Resolve a raw API key to its userId and scopes.
43
+ * Resolve a raw API key to its userId and declared scopes.
44
44
  * Also updates last_used_at. Returns null if not found.
45
+ *
46
+ * `scopes` is the key's authorization ceiling — callers MUST intersect it with
47
+ * the owner's role (see `effectiveApiKeyRole`) rather than authorizing off the
48
+ * owner alone (#54). It is normalized to a string[] (the `scopes` column is
49
+ * jsonb, hence typed `unknown` at the row level).
45
50
  */
46
51
  export async function resolveApiKey(db, rawKey) {
47
52
  const keyHash = hashKey(rawKey);
@@ -57,7 +62,8 @@ export async function resolveApiKey(db, rawKey) {
57
62
  .set({ lastUsedAt: new Date() })
58
63
  .where(eq(kywiApiKeys.id, row.id))
59
64
  .catch(() => { });
60
- return { userId: row.userId, scopes: row.scopes };
65
+ const scopes = Array.isArray(row.scopes) ? row.scopes : [];
66
+ return { userId: row.userId, scopes };
61
67
  }
62
68
  /**
63
69
  * Revoke an API key. The userId must match to prevent cross-user deletion.
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-queries.js","sourceRoot":"","sources":["../../src/db/api-key-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAM/C,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,EAAU,EACV,MAAc,EACd,IAAY,EACZ,MAAqB;IAErB,MAAM,MAAM,GAAG,QAAQ,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAA;IAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAErC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,WAAW,CAAC;SACnB,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;SACpD,SAAS,EAAE,CAAA;IACd,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IACrD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAU,EACV,MAAc;IAEd,MAAM,IAAI,GAAG,MAAM,EAAE;SAClB,MAAM,CAAC;QACN,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC;SACD,IAAI,CAAC,WAAW,CAAC;SACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACxC,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAU,EACV,MAAc;IAEd,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,EAAE;SACR,IAAI,CAAC,WAAW,CAAC;SACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACvC,KAAK,CAAC,CAAC,CAAC,CAAA;IACX,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IAErB,+CAA+C;IAC/C,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;SACnB,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;SAC/B,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;SACjC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAElB,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAA;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,EAAU,EACV,KAAa,EACb,MAAc;IAEd,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,WAAW,CAAC;SACnB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;SACrE,SAAS,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAA;IACpC,OAAO,GAAG,KAAK,SAAS,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"api-key-queries.js","sourceRoot":"","sources":["../../src/db/api-key-queries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import type { PgTableWithColumns } from 'drizzle-orm/pg-core';
2
+ import type { KywiDb } from './client.js';
3
+ /**
4
+ * Shared "apply a stored snapshot back onto the live content row" logic.
5
+ *
6
+ * A snapshot (the `snapshot` jsonb on kywi_content_versions) is the flattened
7
+ * content row at a point in time. Two lifecycle operations write one back onto
8
+ * the live row:
9
+ * - publishing a changeset `update` item (db/changeset-queries.ts, #43), and
10
+ * - approving a pending revision of published content (db/revision-queries.ts, #42).
11
+ *
12
+ * Neither may trust the raw snapshot verbatim: (a) JSON snapshots carry
13
+ * timestamps as ISO strings that drizzle's `timestamp` columns cannot serialise
14
+ * (they call `.toISOString()` on the value), and (b) identity/tree-placement
15
+ * columns (id, siteId, path, slug, parentId, …) are the row's spine and must not
16
+ * be rewritten from history. This module centralises that sanitisation so the
17
+ * changeset-publish and revision-approve paths behave identically.
18
+ */
19
+ /**
20
+ * Columns never applied from a stored snapshot. Three groups: row identity
21
+ * (id/siteId), tree placement + addressing (path, depth, parentId, slug,
22
+ * sortOrder — owned by the move/slug-cascade machinery, never restored from a
23
+ * content snapshot), and write bookkeeping (created*, updated*, deletedAt).
24
+ * `status` and `publishedAt` are skipped too: an apply is always a publish, so
25
+ * the caller sets them explicitly.
26
+ */
27
+ export declare const SNAPSHOT_SKIP_FIELDS: ReadonlySet<string>;
28
+ /**
29
+ * Pure: reduce a snapshot to the REAL kywi_content base columns that are safe to
30
+ * write back, with `date` columns coerced from ISO strings to `Date`. Custom
31
+ * (side-table) fields and every {@link SNAPSHOT_SKIP_FIELDS} key are dropped.
32
+ * Only keys present in the snapshot appear in the result, so an apply never
33
+ * clobbers a column the snapshot never captured.
34
+ */
35
+ export declare function sanitizeSnapshotForContentUpdate(snapshot: Record<string, unknown>, skip?: ReadonlySet<string>): Record<string, unknown>;
36
+ /**
37
+ * Pure: extract the custom-field subset of a snapshot (keys declared on the
38
+ * content type), coercing any `date`-typed custom column back to a `Date`. The
39
+ * `customTable` supplies the column types; when it is null nothing is extracted.
40
+ */
41
+ export declare function extractCustomFieldsFromSnapshot(snapshot: Record<string, unknown>, customFieldNames: readonly string[], customTable: PgTableWithColumns<any> | null): Record<string, unknown>;
42
+ /**
43
+ * Apply a stored snapshot onto the live content row using an existing
44
+ * transaction/handle. Writes the sanitised base columns and (when a customTable
45
+ * is supplied) the custom-field columns, then stamps `status`/`publishedAt`.
46
+ * Identity + tree-placement columns are never touched.
47
+ *
48
+ * `forceStatus` (default 'published') is the status the row lands in — an apply
49
+ * is always a publish of the proposed content. `publishedAt` is preserved via
50
+ * COALESCE so the first-published date survives (matching publishContent).
51
+ */
52
+ export declare function applyContentSnapshot(db: KywiDb, contentId: string, snapshot: Record<string, unknown>, opts?: {
53
+ forceStatus?: string;
54
+ userId?: string | null;
55
+ customTable?: PgTableWithColumns<any> | null;
56
+ customFieldNames?: readonly string[];
57
+ }): Promise<void>;
58
+ //# sourceMappingURL=apply-snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-snapshot.d.ts","sourceRoot":"","sources":["../../src/db/apply-snapshot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAiBnD,CAAA;AAoBF;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,IAAI,GAAE,WAAW,CAAC,MAAM,CAAwB,GAC/C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,IAAI,GAAE;IACJ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,WAAW,CAAC,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IAC5C,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC,GACL,OAAO,CAAC,IAAI,CAAC,CAwCf"}
@@ -0,0 +1,142 @@
1
+ import { eq, sql, getTableColumns } from 'drizzle-orm';
2
+ import { kywiContent } from '../schema/base.js';
3
+ /**
4
+ * Shared "apply a stored snapshot back onto the live content row" logic.
5
+ *
6
+ * A snapshot (the `snapshot` jsonb on kywi_content_versions) is the flattened
7
+ * content row at a point in time. Two lifecycle operations write one back onto
8
+ * the live row:
9
+ * - publishing a changeset `update` item (db/changeset-queries.ts, #43), and
10
+ * - approving a pending revision of published content (db/revision-queries.ts, #42).
11
+ *
12
+ * Neither may trust the raw snapshot verbatim: (a) JSON snapshots carry
13
+ * timestamps as ISO strings that drizzle's `timestamp` columns cannot serialise
14
+ * (they call `.toISOString()` on the value), and (b) identity/tree-placement
15
+ * columns (id, siteId, path, slug, parentId, …) are the row's spine and must not
16
+ * be rewritten from history. This module centralises that sanitisation so the
17
+ * changeset-publish and revision-approve paths behave identically.
18
+ */
19
+ /**
20
+ * Columns never applied from a stored snapshot. Three groups: row identity
21
+ * (id/siteId), tree placement + addressing (path, depth, parentId, slug,
22
+ * sortOrder — owned by the move/slug-cascade machinery, never restored from a
23
+ * content snapshot), and write bookkeeping (created*, updated*, deletedAt).
24
+ * `status` and `publishedAt` are skipped too: an apply is always a publish, so
25
+ * the caller sets them explicitly.
26
+ */
27
+ export const SNAPSHOT_SKIP_FIELDS = new Set([
28
+ 'id',
29
+ 'siteId',
30
+ 'createdAt',
31
+ 'createdBy',
32
+ 'updatedAt',
33
+ 'updatedBy',
34
+ 'deletedAt',
35
+ 'path',
36
+ 'depth',
37
+ 'parentId',
38
+ 'slug',
39
+ 'sortOrder',
40
+ 'contentTypeName',
41
+ 'baseType',
42
+ 'status',
43
+ 'publishedAt',
44
+ ]);
45
+ const BASE_COLUMNS = getTableColumns(kywiContent);
46
+ const DATE_COLUMN_NAMES = new Set(Object.entries(BASE_COLUMNS)
47
+ .filter(([, col]) => col.dataType === 'date')
48
+ .map(([name]) => name));
49
+ /**
50
+ * Coerce a snapshot value bound for a `date`-typed column back into a `Date`.
51
+ * ISO strings (how JSON stores them) become Date; an unparseable value → null.
52
+ */
53
+ function coerceDate(value) {
54
+ if (value == null)
55
+ return null;
56
+ if (value instanceof Date)
57
+ return value;
58
+ const parsed = new Date(String(value));
59
+ return Number.isNaN(parsed.getTime()) ? null : parsed;
60
+ }
61
+ /**
62
+ * Pure: reduce a snapshot to the REAL kywi_content base columns that are safe to
63
+ * write back, with `date` columns coerced from ISO strings to `Date`. Custom
64
+ * (side-table) fields and every {@link SNAPSHOT_SKIP_FIELDS} key are dropped.
65
+ * Only keys present in the snapshot appear in the result, so an apply never
66
+ * clobbers a column the snapshot never captured.
67
+ */
68
+ export function sanitizeSnapshotForContentUpdate(snapshot, skip = SNAPSHOT_SKIP_FIELDS) {
69
+ const out = {};
70
+ for (const key of Object.keys(BASE_COLUMNS)) {
71
+ if (skip.has(key) || !(key in snapshot))
72
+ continue;
73
+ const value = snapshot[key];
74
+ out[key] = DATE_COLUMN_NAMES.has(key) && !(value instanceof Date) ? coerceDate(value) : value;
75
+ }
76
+ return out;
77
+ }
78
+ /**
79
+ * Pure: extract the custom-field subset of a snapshot (keys declared on the
80
+ * content type), coercing any `date`-typed custom column back to a `Date`. The
81
+ * `customTable` supplies the column types; when it is null nothing is extracted.
82
+ */
83
+ export function extractCustomFieldsFromSnapshot(snapshot, customFieldNames, customTable) {
84
+ if (!customTable || customFieldNames.length === 0)
85
+ return {};
86
+ const columns = getTableColumns(customTable);
87
+ const out = {};
88
+ for (const name of customFieldNames) {
89
+ if (!(name in snapshot))
90
+ continue;
91
+ const value = snapshot[name];
92
+ const isDate = columns[name]?.dataType === 'date';
93
+ out[name] = isDate && value != null && !(value instanceof Date) ? coerceDate(value) : value;
94
+ }
95
+ return out;
96
+ }
97
+ /**
98
+ * Apply a stored snapshot onto the live content row using an existing
99
+ * transaction/handle. Writes the sanitised base columns and (when a customTable
100
+ * is supplied) the custom-field columns, then stamps `status`/`publishedAt`.
101
+ * Identity + tree-placement columns are never touched.
102
+ *
103
+ * `forceStatus` (default 'published') is the status the row lands in — an apply
104
+ * is always a publish of the proposed content. `publishedAt` is preserved via
105
+ * COALESCE so the first-published date survives (matching publishContent).
106
+ */
107
+ export async function applyContentSnapshot(db, contentId, snapshot, opts = {}) {
108
+ const forceStatus = opts.forceStatus ?? 'published';
109
+ const base = sanitizeSnapshotForContentUpdate(snapshot);
110
+ const setValues = {
111
+ ...base,
112
+ status: forceStatus,
113
+ updatedAt: new Date(),
114
+ };
115
+ if (opts.userId !== undefined && opts.userId !== null)
116
+ setValues.updatedBy = opts.userId;
117
+ if (forceStatus === 'published') {
118
+ setValues.publishedAt = sql `COALESCE(${kywiContent.publishedAt}, now())`;
119
+ }
120
+ await db
121
+ .update(kywiContent)
122
+ .set(setValues)
123
+ .where(eq(kywiContent.id, contentId));
124
+ const customFields = extractCustomFieldsFromSnapshot(snapshot, opts.customFieldNames ?? [], opts.customTable ?? null);
125
+ if (opts.customTable && Object.keys(customFields).length > 0) {
126
+ const result = await db
127
+ .update(opts.customTable)
128
+ .set(customFields)
129
+ .where(eq(opts.customTable.id, contentId));
130
+ // Insert the custom row if none existed yet (mirrors updateContent).
131
+ if (result?.rowCount === 0) {
132
+ const [row] = await db
133
+ .select({ siteId: kywiContent.siteId })
134
+ .from(kywiContent)
135
+ .where(eq(kywiContent.id, contentId));
136
+ if (row) {
137
+ await db.insert(opts.customTable).values({ id: contentId, siteId: row.siteId, ...customFields });
138
+ }
139
+ }
140
+ }
141
+ }
142
+ //# sourceMappingURL=apply-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-snapshot.js","sourceRoot":"","sources":["../../src/db/apply-snapshot.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,10 @@ export declare function createAuditEntry(db: KywiDb, data: {
12
12
  }): Promise<{
13
13
  id: string;
14
14
  siteId: string;
15
- action: string;
16
15
  createdAt: Date;
17
16
  contentId: string;
18
17
  userId: string;
18
+ action: string;
19
19
  fromStatus: string | null;
20
20
  toStatus: string | null;
21
21
  changedFields: unknown;
@@ -24,10 +24,10 @@ export declare function createAuditEntry(db: KywiDb, data: {
24
24
  export declare function listAuditEntries(db: KywiDb, contentId: string, limit?: number): Promise<{
25
25
  id: string;
26
26
  siteId: string;
27
- action: string;
28
27
  createdAt: Date;
29
28
  contentId: string;
30
29
  userId: string;
30
+ action: string;
31
31
  fromStatus: string | null;
32
32
  toStatus: string | null;
33
33
  changedFields: unknown;
@@ -36,10 +36,10 @@ export declare function listAuditEntries(db: KywiDb, contentId: string, limit?:
36
36
  export declare function listSiteAuditEntries(db: KywiDb, siteId: string, limit?: number): Promise<{
37
37
  id: string;
38
38
  siteId: string;
39
- action: string;
40
39
  createdAt: Date;
41
40
  contentId: string;
42
41
  userId: string;
42
+ action: string;
43
43
  fromStatus: string | null;
44
44
  toStatus: string | null;
45
45
  changedFields: unknown;
@@ -24,9 +24,9 @@ export declare function listCategories(db: KywiDb, siteId: string, parentId?: st
24
24
  sortOrder: number;
25
25
  updatedAt: Date;
26
26
  name: string;
27
- description: string | null;
28
27
  createdAt: Date;
29
28
  isActive: boolean;
29
+ description: string | null;
30
30
  isInterestGroup: boolean;
31
31
  notes: string | null;
32
32
  }[]>;
@@ -38,9 +38,9 @@ export declare function getCategoryById(db: KywiDb, id: string, siteId?: string)
38
38
  sortOrder: number;
39
39
  updatedAt: Date;
40
40
  name: string;
41
- description: string | null;
42
41
  createdAt: Date;
43
42
  isActive: boolean;
43
+ description: string | null;
44
44
  isInterestGroup: boolean;
45
45
  notes: string | null;
46
46
  } | null>;
@@ -62,9 +62,9 @@ export declare function createCategory(db: KywiDb, data: {
62
62
  sortOrder: number;
63
63
  updatedAt: Date;
64
64
  name: string;
65
- description: string | null;
66
65
  createdAt: Date;
67
66
  isActive: boolean;
67
+ description: string | null;
68
68
  isInterestGroup: boolean;
69
69
  notes: string | null;
70
70
  }>;
@@ -13,9 +13,9 @@ export declare function createChangesetAuditEntry(db: KywiDb, data: {
13
13
  }): Promise<{
14
14
  id: string;
15
15
  siteId: string;
16
- action: string;
17
16
  createdAt: Date;
18
17
  userId: string;
18
+ action: string;
19
19
  changesetId: string;
20
20
  detail: unknown;
21
21
  }>;
@@ -23,9 +23,9 @@ export declare function createChangesetAuditEntry(db: KywiDb, data: {
23
23
  export declare function listChangesetAudit(db: KywiDb, changesetId: string, limit?: number): Promise<{
24
24
  id: string;
25
25
  siteId: string;
26
- action: string;
27
26
  createdAt: Date;
28
27
  userId: string;
28
+ action: string;
29
29
  changesetId: string;
30
30
  detail: unknown;
31
31
  }[]>;
@@ -11,9 +11,9 @@ export declare function createChangeset(db: KywiDb, data: {
11
11
  publishedAt: Date | null;
12
12
  updatedAt: Date;
13
13
  name: string;
14
- description: string | null;
15
14
  createdAt: Date;
16
15
  createdBy: string;
16
+ description: string | null;
17
17
  scheduledPublishAt: Date | null;
18
18
  publishedBy: string | null;
19
19
  }>;
@@ -24,9 +24,9 @@ export declare function getChangeset(db: KywiDb, id: string, siteId?: string): P
24
24
  publishedAt: Date | null;
25
25
  updatedAt: Date;
26
26
  name: string;
27
- description: string | null;
28
27
  createdAt: Date;
29
28
  createdBy: string;
29
+ description: string | null;
30
30
  scheduledPublishAt: Date | null;
31
31
  publishedBy: string | null;
32
32
  } | null>;
@@ -37,9 +37,9 @@ export declare function listChangesets(db: KywiDb, siteId: string, status?: stri
37
37
  publishedAt: Date | null;
38
38
  updatedAt: Date;
39
39
  name: string;
40
- description: string | null;
41
40
  createdAt: Date;
42
41
  createdBy: string;
42
+ description: string | null;
43
43
  scheduledPublishAt: Date | null;
44
44
  publishedBy: string | null;
45
45
  }[]>;
@@ -67,18 +67,18 @@ export declare function addChangesetItem(db: KywiDb, data: {
67
67
  action: string;
68
68
  }): Promise<{
69
69
  id: string;
70
- action: string;
71
70
  createdAt: Date;
72
71
  contentId: string;
72
+ action: string;
73
73
  changesetId: string;
74
74
  versionId: string | null;
75
75
  }>;
76
76
  export declare function removeChangesetItem(db: KywiDb, itemId: string): Promise<void>;
77
77
  export declare function listChangesetItems(db: KywiDb, changesetId: string): Promise<{
78
78
  id: string;
79
- action: string;
80
79
  createdAt: Date;
81
80
  contentId: string;
81
+ action: string;
82
82
  changesetId: string;
83
83
  versionId: string | null;
84
84
  }[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"changeset-queries.d.ts","sourceRoot":"","sources":["../../src/db/changeset-queries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,wBAAsB,eAAe,CACnC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GAYhF;AAOD,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;UASzE;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;KAS/E;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,kBAAkB,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,EACnH,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;UAehB;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;;;;;;;GAYrF;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAInF;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;;;;;;;KAKvE;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,gBAmDpB;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,gBAyCpB"}
1
+ {"version":3,"file":"changeset-queries.d.ts","sourceRoot":"","sources":["../../src/db/changeset-queries.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,wBAAsB,eAAe,CACnC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GAYhF;AAOD,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;UASzE;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;KAS/E;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,kBAAkB,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,EACnH,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;UAehB;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;;;;;;;GAYrF;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAInF;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;;;;;;;KAKvE;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,gBAiEpB;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,gBAyCpB"}
@@ -1,5 +1,7 @@
1
1
  import { eq, and, sql } from 'drizzle-orm';
2
2
  import { kywiChangesets, kywiChangesetItems, kywiContent } from '../schema/base.js';
3
+ import { getVersionById } from './version-queries.js';
4
+ import { applyContentSnapshot } from './apply-snapshot.js';
3
5
  export async function createChangeset(db, data) {
4
6
  const [row] = await db
5
7
  .insert(kywiChangesets)
@@ -85,13 +87,28 @@ export async function publishChangeset(db, changesetId, publishedBy) {
85
87
  .from(kywiChangesetItems)
86
88
  .where(eq(kywiChangesetItems.changesetId, changesetId));
87
89
  for (const item of items) {
88
- if (item.action === 'update' && item.versionId) {
89
- // Apply the version update content status to published. COALESCE keeps
90
- // any existing publishedAt so a re-published node keeps its first date.
91
- await tx
92
- .update(kywiContent)
93
- .set({ status: 'published', publishedAt: sql `COALESCE(${kywiContent.publishedAt}, now())`, updatedAt: new Date() })
94
- .where(eq(kywiContent.id, item.contentId));
90
+ if (item.action === 'update') {
91
+ // Apply the attached version's snapshot onto the live content row, then
92
+ // publish it (#43). The prior code only flipped status to 'published',
93
+ // which for already-published content changed NOTHING — the "silent
94
+ // no-op" the toast falsely reported. When the item carries a versionId we
95
+ // now write that version's captured fields (title/body/…) back onto the
96
+ // row before publishing; a version-less update item still publishes the
97
+ // content's current state (a bundle "make live" with nothing to apply).
98
+ // COALESCE keeps any existing publishedAt so a re-published node keeps
99
+ // its first date.
100
+ const version = item.versionId ? await getVersionById(tx, item.versionId) : null;
101
+ if (version && version.contentId === item.contentId) {
102
+ await applyContentSnapshot(tx, item.contentId, version.snapshot, {
103
+ forceStatus: 'published',
104
+ });
105
+ }
106
+ else {
107
+ await tx
108
+ .update(kywiContent)
109
+ .set({ status: 'published', publishedAt: sql `COALESCE(${kywiContent.publishedAt}, now())`, updatedAt: new Date() })
110
+ .where(eq(kywiContent.id, item.contentId));
111
+ }
95
112
  }
96
113
  else if (item.action === 'delete') {
97
114
  // Soft-delete content
@@ -1 +1 @@
1
- {"version":3,"file":"changeset-queries.js","sourceRoot":"","sources":["../../src/db/changeset-queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"changeset-queries.js","sourceRoot":"","sources":["../../src/db/changeset-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG1D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAU,EACV,IAA+E;IAE/E,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,cAAc,CAAC;SACtB,MAAM,CAAC;QACN,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;QACrC,SAAS,EAAE,IAAI,CAAC,SAAS;KACnB,CAAC;SACR,SAAS,EAAE,CAAA;IACd,OAAO,GAAI,CAAA;AACb,CAAC;AAED,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,4EAA4E;AAC5E,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAU,EAAE,EAAU,EAAE,MAAe;IACxE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,EAAE;SACR,IAAI,CAAC,cAAc,CAAC;SACpB,KAAK,CAAC,MAAM,KAAK,SAAS;QACzB,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;QAC3B,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;SACrE,KAAK,CAAC,CAAC,CAAC,CAAA;IACX,OAAO,GAAG,IAAI,IAAI,CAAA;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAU,EAAE,MAAc,EAAE,MAAe;IAC9E,MAAM,UAAU,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACtD,IAAI,MAAM,EAAE,CAAC;QACX,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,EAAE;SACN,MAAM,EAAE;SACR,IAAI,CAAC,cAAc,CAAC;SACpB,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAU,EACV,EAAU,EACV,IAAmH,EACnH,MAAe;IAEf,MAAM,OAAO,GAA4B,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAA;IAClE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACrD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IAC1E,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS;QAAE,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAA;IAE/F,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,cAAc,CAAC;SACtB,GAAG,CAAC,OAAc,CAAC;SACnB,KAAK,CAAC,MAAM,KAAK,SAAS;QACzB,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC;QAC3B,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;SACrE,SAAS,EAAE,CAAA;IACd,OAAO,GAAG,IAAI,IAAI,CAAA;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAU,EACV,IAAoF;IAEpF,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,kBAAkB,CAAC;SAC1B,MAAM,CAAC;QACN,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;QACjC,MAAM,EAAE,IAAI,CAAC,MAAM;KACb,CAAC;SACR,SAAS,EAAE,CAAA;IACd,OAAO,GAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAU,EAAE,MAAc;IAClE,MAAM,EAAE;SACL,MAAM,CAAC,kBAAkB,CAAC;SAC1B,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAU,EAAE,WAAmB;IACtE,OAAO,EAAE;SACN,MAAM,EAAE;SACR,IAAI,CAAC,kBAAkB,CAAC;SACxB,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAU,EACV,WAAmB,EACnB,WAAmB;IAEnB,kDAAkD;IAClD,MAAM,IAAI,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,MAAM,EAAE;aACnB,MAAM,EAAE;aACR,IAAI,CAAC,kBAAkB,CAAC;aACxB,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAA;QAEzD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7B,wEAAwE;gBACxE,uEAAuE;gBACvE,oEAAoE;gBACpE,0EAA0E;gBAC1E,wEAAwE;gBACxE,wEAAwE;gBACxE,wEAAwE;gBACxE,uEAAuE;gBACvE,kBAAkB;gBAClB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBAChF,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBACpD,MAAM,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,QAAmC,EAAE;wBAC1F,WAAW,EAAE,WAAW;qBACzB,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE;yBACL,MAAM,CAAC,WAAW,CAAC;yBACnB,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,CAAA,YAAY,WAAW,CAAC,WAAW,UAAU,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAS,CAAC;yBACzH,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACpC,sBAAsB;gBACtB,MAAM,EAAE;qBACL,MAAM,CAAC,WAAW,CAAC;qBACnB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAS,CAAC;qBAC5D,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;YAC9C,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACpC,0BAA0B;gBAC1B,MAAM,EAAE;qBACL,MAAM,CAAC,WAAW,CAAC;qBACnB,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,CAAA,YAAY,WAAW,CAAC,WAAW,UAAU,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAS,CAAC;qBACzH,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;QAED,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,EAAE;aACzB,MAAM,CAAC,cAAc,CAAC;aACtB,GAAG,CAAC;YACH,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,IAAI,IAAI,EAAE;YACvB,WAAW;YACX,SAAS,EAAE,IAAI,IAAI,EAAE;SACf,CAAC;aACR,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;aACzC,SAAS,EAAE,CAAA;QAEd,OAAO,SAAU,CAAA;IACnB,CAAC,CAAA;IAED,oEAAoE;IACpE,IAAI,aAAa,IAAI,EAAE,IAAI,OAAQ,EAAU,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QACzE,OAAQ,EAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IACD,OAAO,IAAI,CAAC,EAAE,CAAC,CAAA;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAU,EACV,WAAmB;IAEnB,MAAM,IAAI,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,MAAM,EAAE;aACnB,MAAM,EAAE;aACR,IAAI,CAAC,kBAAkB,CAAC;aACxB,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAA;QAEzD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzD,uEAAuE;gBACvE,uEAAuE;gBACvE,0EAA0E;gBAC1E,uEAAuE;gBACvE,sEAAsE;gBACtE,MAAM,EAAE;qBACL,MAAM,CAAC,WAAW,CAAC;qBACnB,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAS,CAAC;qBACtD,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;YAC9C,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACpC,+BAA+B;gBAC/B,MAAM,EAAE;qBACL,MAAM,CAAC,WAAW,CAAC;qBACnB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAS,CAAC;qBACtD,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;YAC9C,CAAC;QACH,CAAC;QAED,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,EAAE;aACzB,MAAM,CAAC,cAAc,CAAC;aACtB,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAS,CAAC;aAC3D,KAAK,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;aACzC,SAAS,EAAE,CAAA;QAEd,OAAO,SAAU,CAAA;IACnB,CAAC,CAAA;IAED,IAAI,aAAa,IAAI,EAAE,IAAI,OAAQ,EAAU,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QACzE,OAAQ,EAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IACD,OAAO,IAAI,CAAC,EAAE,CAAC,CAAA;AACjB,CAAC"}
@@ -54,9 +54,15 @@ export declare function getContentById(db: KywiDb, customTable: PgTableWithColum
54
54
  * Get a single content node by slug path.
55
55
  * Optionally filter by locale; when no locale match is found the query
56
56
  * returns whatever row matches the slug+site (default locale fallback).
57
+ *
58
+ * `options.baseType` scopes the lookup to a single base type. `kywi_content.slug`
59
+ * is not unique across base types, so a Page at `/contact` and a Form named
60
+ * `contact` can collide — pass `baseType` (e.g. 'form') to resolve the intended
61
+ * row rather than whichever the query happens to return first (kywi-cms#39).
57
62
  */
58
63
  export declare function getContentBySlug(db: KywiDb, customTable: PgTableWithColumns<any> | null, slug: string, siteId: string, options?: {
59
64
  locale?: string;
65
+ baseType?: string;
60
66
  }): Promise<ContentWithCustomFields | null>;
61
67
  /**
62
68
  * Create a new content node with custom fields.
@@ -1 +1 @@
1
- {"version":3,"file":"content-queries.d.ts","sourceRoot":"","sources":["../../src/db/content-queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-queries.d.ts","sourceRoot":"","sources":["../../src/db/content-queries.ts"],"names":[],"mappings":"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"}
@@ -196,6 +196,11 @@ export async function getContentById(db, customTable, id, siteId) {
196
196
  * Get a single content node by slug path.
197
197
  * Optionally filter by locale; when no locale match is found the query
198
198
  * returns whatever row matches the slug+site (default locale fallback).
199
+ *
200
+ * `options.baseType` scopes the lookup to a single base type. `kywi_content.slug`
201
+ * is not unique across base types, so a Page at `/contact` and a Form named
202
+ * `contact` can collide — pass `baseType` (e.g. 'form') to resolve the intended
203
+ * row rather than whichever the query happens to return first (kywi-cms#39).
199
204
  */
200
205
  export async function getContentBySlug(db, customTable, slug, siteId, options) {
201
206
  const conditions = [
@@ -206,6 +211,9 @@ export async function getContentBySlug(db, customTable, slug, siteId, options) {
206
211
  if (options?.locale) {
207
212
  conditions.push(eq(kywiContent.locale, options.locale));
208
213
  }
214
+ if (options?.baseType) {
215
+ conditions.push(eq(kywiContent.baseType, options.baseType));
216
+ }
209
217
  const where = and(...conditions);
210
218
  let query;
211
219
  if (customTable) {
@@ -1 +1 @@
1
- {"version":3,"file":"content-queries.js","sourceRoot":"","sources":["../../src/db/content-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEzG,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAK/C;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAY,IAAI,IAAI,EAAE;IACjE,OAAO;QACL,gDAAgD;QAChD,EAAE;QACF,8EAA8E;QAC9E,0EAA0E;QAC1E,qEAAqE;QACrE,uEAAuE;QACvE,yEAAyE;QACzE,EAAE,CACA,GAAG,CAAA,GAAG,WAAW,CAAC,YAAY,UAAU,EACxC,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CACnC;QACD,6CAA6C;QAC7C,EAAE,CACA,GAAG,CAAA,GAAG,WAAW,CAAC,WAAW,UAAU,EACvC,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CACjC;KACF,CAAA;AACH,CAAC;AAID;;;;;GAKG;AACH,SAAS,uBAAuB,CAC9B,WAAuD;IAEvD,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAyB,EAAE,CAAA;IACzC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC5D,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,QAAQ;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;IAC5D,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,IAA6B,EAC7B,MAAsC,EACtC,WAA4C;IAE5C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAA;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAA;IAC5C,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,CAAA;IAC5D,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,YAAY,EAAE,CAAA;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAA8B,EAC9B,gBAA0B;IAE1B,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAA;IAChD,MAAM,UAAU,GAA4B,EAAE,CAAA;IAC9C,MAAM,YAAY,GAA4B,EAAE,CAAA;IAEhD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QAC3B,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACzB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,YAAoC,EACpC,WAA2C;IAE3C,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAErE,MAAM,UAAU,GAA4B,EAAE,CAAA;IAC9C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAI,WAAmB,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,GAAG,EAAE,CAAC;YACR,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAU,EACV,WAA8B,EAC9B,WAA2C,EAC3C,MAAc,EACd,UAA4B,EAC5B,IAAgB,EAChB,OAAqB,EACrB,eAA0B;IAE1B,MAAM,UAAU,GAAG;QACjB,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC;QACjD,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;QAC9B,GAAG,CAAA,GAAG,WAAW,CAAC,SAAS,UAAU;QACrC,GAAG,4BAA4B,EAAE;KAClC,CAAA;IAED,4EAA4E;IAC5E,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;IAC/D,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC7D,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,yBAAyB;IACzB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;QAChE,UAAU,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;IACnF,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC,CAAA;IAEhC,MAAM,UAAU,GAAI,WAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,SAAS,CAAA;IAChF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAE3E,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,EAAE;SAC3B,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;SAC1B,IAAI,CAAC,WAAW,CAAC;SACjB,KAAK,CAAC,KAAK,CAAC,CAAA;IAEf,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAA;IAE7C,IAAI,KAAK,CAAA;IACT,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,GAAG,EAAE;aACP,MAAM,EAAE;aACR,IAAI,CAAC,WAAW,CAAC;aACjB,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAG,WAAmB,CAAC,EAAE,CAAC,CAAC;aAClE,KAAK,CAAC,KAAK,CAAC;aACZ,OAAO,CAAC,OAAO,CAAC;aAChB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;aACvB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,EAAE;aACP,MAAM,EAAE;aACR,IAAI,CAAC,WAAW,CAAC;aACjB,KAAK,CAAC,KAAK,CAAC;aACZ,OAAO,CAAC,OAAO,CAAC;aAChB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;aACvB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAA;IAE3B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;QACpC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAA;YACpE,OAAO,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,EAAE,WAAW,CAAC,CAAA;QACnF,CAAC;QACD,OAAO,GAA8B,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACxB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAU,EACV,WAA2C,EAC3C,EAAU,EACV,MAAe;IAEf,MAAM,WAAW,GAAG,MAAM,KAAK,SAAS;QACtC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAA,GAAG,WAAW,CAAC,SAAS,UAAU,CAAC;QACpE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,CAAA,GAAG,WAAW,CAAC,SAAS,UAAU,CAAC,CAAA;IACtG,IAAI,KAAK,CAAA;IACT,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,GAAG,EAAE;aACP,MAAM,EAAE;aACR,IAAI,CAAC,WAAW,CAAC;aACjB,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAG,WAAmB,CAAC,EAAE,CAAC,CAAC;aAClE,KAAK,CAAC,WAAW,CAAC;aAClB,KAAK,CAAC,CAAC,CAAC,CAAA;IACb,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,EAAE;aACP,MAAM,EAAE;aACR,IAAI,CAAC,WAAW,CAAC;aACjB,KAAK,CAAC,WAAW,CAAC;aAClB,KAAK,CAAC,CAAC,CAAC,CAAA;IACb,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,CAAA;IACzB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IAErB,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAA;QAC3E,OAAO,eAAe,CAAE,GAAW,CAAC,YAAY,EAAG,GAAW,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,EAAE,WAAW,CAAC,CAAA;IACrG,CAAC;IACD,OAAO,GAA8B,CAAA;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAU,EACV,WAA2C,EAC3C,IAAY,EACZ,MAAc,EACd,OAA6B;IAE7B,MAAM,UAAU,GAAG;QACjB,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;QAC1B,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;QAC9B,GAAG,CAAA,GAAG,WAAW,CAAC,SAAS,UAAU;KACtC,CAAA;IAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC,CAAA;IAEhC,IAAI,KAAK,CAAA;IACT,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,GAAG,EAAE;aACP,MAAM,EAAE;aACR,IAAI,CAAC,WAAW,CAAC;aACjB,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,EAAG,WAAmB,CAAC,EAAE,CAAC,CAAC;aAClE,KAAK,CAAC,KAAK,CAAC;aACZ,KAAK,CAAC,CAAC,CAAC,CAAA;IACb,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,EAAE;aACP,MAAM,EAAE;aACR,IAAI,CAAC,WAAW,CAAC;aACjB,KAAK,CAAC,KAAK,CAAC;aACZ,KAAK,CAAC,CAAC,CAAC,CAAA;IACb,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,CAAA;IACzB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IAErB,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAA;QAC3E,OAAO,eAAe,CAAE,GAAW,CAAC,YAAY,EAAG,GAAW,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,EAAE,WAAW,CAAC,CAAA;IACrG,CAAC;IACD,OAAO,GAA8B,CAAA;AACvC,CAAC;AAED,4EAA4E;AAC5E,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;AAC5E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,oBAAoB,CACjC,EAAU,EACV,MAAc,EACd,QAAmC,EACnC,IAAY,EACZ,UAAmC;IAEnC,MAAM,GAAG,GAA0D,EAAE,CAAA;IAErE,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACpE,IAAI,UAAU,GAAG,GAAG,CAAA;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC,CAAA,CAAC,uCAAuC;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE;iBACtB,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC;iBAC5D,IAAI,CAAC,WAAW,CAAC;iBACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;iBACnC,KAAK,CAAC,CAAC,CAAC,CAAA;YACX,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,GAAG,MAAM,CAAC,IAAI,CAAA;gBACxB,WAAW,GAAG,MAAM,CAAC,KAAK,CAAA;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;YAAE,GAAG,CAAC,IAAI,GAAG,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QAC3E,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,WAAW,GAAG,CAAC,CAAA;IACjE,CAAC;IAED,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG;YACZ,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC;YAC9B,GAAG,CAAA,GAAG,WAAW,CAAC,SAAS,UAAU;YACrC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,WAAW,CAAC,QAAQ,UAAU;SACrF,CAAA;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;aACnB,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAQ,gBAAgB,WAAW,CAAC,SAAS,QAAQ,EAAE,CAAC;aAC9E,IAAI,CAAC,WAAW,CAAC;aACjB,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;QACvB,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAU,EACV,WAA8B,EAC9B,WAA2C,EAC3C,MAAc,EACd,IAA6B,EAC7B,MAAqB;IAErB,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC5D,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;IAE9E,6EAA6E;IAC7E,0EAA0E;IAC1E,+CAA+C;IAC/C,MAAM,YAAY,GAAG,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACtF,MAAM,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,KAAe,CAAC,CAAA;IAE3F,+EAA+E;IAC/E,6EAA6E;IAC7E,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAC1C,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,QAAqC,EAAE,IAAI,EAAE,UAAU,CAC/E,CAAA;IAED,MAAM,MAAM,GAAI,UAAU,CAAC,MAAiB,IAAI,OAAO,CAAA;IACvD,MAAM,YAAY,GAA4B;QAC5C,GAAG,UAAU;QACb,MAAM;QACN,IAAI;QACJ,GAAG,SAAS;QACZ,eAAe,EAAE,WAAW,CAAC,IAAI;QACjC,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,MAAM;QACN,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,MAAM;KAClB,CAAA;IACD,8EAA8E;IAC9E,4EAA4E;IAC5E,0CAA0C;IAC1C,IAAI,MAAM,KAAK,WAAW,IAAI,YAAY,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrE,YAAY,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAA;IACvC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE;SACvB,MAAM,CAAC,WAAW,CAAC;SACnB,MAAM,CAAC,YAAmB,CAAC;SAC3B,SAAS,EAAE,CAAA;IAEd,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAEzD,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;YAClC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM;YACN,GAAG,YAAY;SACT,CAAC,CAAA;IACX,CAAC;IAED,OAAO,eAAe,CACpB,OAAO,EACP,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,EACzF,WAAW,CACZ,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAU,EACV,WAA8B,EAC9B,WAA2C,EAC3C,EAAU,EACV,IAA6B,EAC7B,MAAqB;IAErB,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC5D,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;IAE9E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,SAAS,GAA4B,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAA;QACtG,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9E,SAAS,CAAC,WAAW,GAAG,GAAG,CAAA,YAAY,WAAW,CAAC,WAAW,UAAU,CAAA;QAC1E,CAAC;QACD,MAAM,EAAE;aACL,MAAM,CAAC,WAAW,CAAC;aACnB,GAAG,CAAC,SAAgB,CAAC;aACrB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,EAAE;aACpB,MAAM,CAAC,WAAW,CAAC;aACnB,GAAG,CAAC,YAAmB,CAAC;aACxB,KAAK,CAAC,EAAE,CAAE,WAAmB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAEzC,IAAK,MAAc,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;YACjH,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,YAAY,EAAS,CAAC,CAAA;YAC7F,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED;;GAEG;AACH,kFAAkF;AAClF,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAU,EACV,EAAU,EACV,MAAe;IAEf,MAAM,UAAU,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAA,GAAG,WAAW,CAAC,SAAS,UAAU,CAAC,CAAA;IAClF,IAAI,MAAM,KAAK,SAAS;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACzE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,WAAW,CAAC;SACnB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAS,CAAC;SACrC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;SACzB,SAAS,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAA;IAEpC,OAAO,GAAG,KAAK,SAAS,CAAA;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAU,EACV,EAAU,EACV,MAAe;IAEf,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS;QAChC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC;QACxB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/D,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,WAAW,CAAC;SACnB,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,CAAA,YAAY,WAAW,CAAC,WAAW,UAAU,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAS,CAAC;SACzH,KAAK,CAAC,KAAK,CAAC;SACZ,SAAS,EAAE,CAAA;IAEd,OAAO,GAAG,IAAI,IAAI,CAAA;AACpB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,EAAU,EACV,EAAU,EACV,MAAe;IAEf,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS;QAChC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC;QACxB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/D,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,WAAW,CAAC;SACnB,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAS,CAAC;SACtD,KAAK,CAAC,KAAK,CAAC;SACZ,SAAS,EAAE,CAAA;IAEd,OAAO,GAAG,IAAI,IAAI,CAAA;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAU,EAAE,EAAU;IACzD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,WAAW,CAAC;SACnB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAS,CAAC;SACtD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAA,GAAG,WAAW,CAAC,SAAS,cAAc,CAAC,CAAC;SAC7E,SAAS,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAA;IACpC,OAAO,GAAG,KAAK,SAAS,CAAA;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAAU,EAAE,EAAU,EAAE,MAAe;IAClF,MAAM,UAAU,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAA,GAAG,WAAW,CAAC,SAAS,cAAc,CAAC,CAAA;IACtF,IAAI,MAAM,KAAK,SAAS;QAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACzE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE;SACnB,MAAM,CAAC,WAAW,CAAC;SACnB,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;SACzB,SAAS,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAA;IACpC,OAAO,GAAG,KAAK,SAAS,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"content-queries.js","sourceRoot":"","sources":["../../src/db/content-queries.ts"],"names":[],"mappings":"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"}