@endora-commerce/mod-cms 0.0.0-stage → 0.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -2
  3. package/dist/admin/api/cms-client.d.ts +77 -0
  4. package/dist/admin/api/cms-client.d.ts.map +1 -0
  5. package/dist/admin/api/cms-client.js +162 -0
  6. package/dist/admin/api/cms-client.js.map +1 -0
  7. package/dist/admin/components/AdminCatalogPreviewProvider.d.ts +6 -0
  8. package/dist/admin/components/AdminCatalogPreviewProvider.d.ts.map +1 -0
  9. package/dist/admin/components/AdminCatalogPreviewProvider.js +74 -0
  10. package/dist/admin/components/AdminCatalogPreviewProvider.js.map +1 -0
  11. package/dist/admin/components/AdminCmsAssetProvider.d.ts +9 -0
  12. package/dist/admin/components/AdminCmsAssetProvider.d.ts.map +1 -0
  13. package/dist/admin/components/AdminCmsAssetProvider.js +50 -0
  14. package/dist/admin/components/AdminCmsAssetProvider.js.map +1 -0
  15. package/dist/admin/components/BackgroundFields.d.ts +4 -0
  16. package/dist/admin/components/BackgroundFields.d.ts.map +1 -0
  17. package/dist/admin/components/BackgroundFields.js +40 -0
  18. package/dist/admin/components/BackgroundFields.js.map +1 -0
  19. package/dist/admin/components/ButtonLinkFields.d.ts +6 -0
  20. package/dist/admin/components/ButtonLinkFields.d.ts.map +1 -0
  21. package/dist/admin/components/ButtonLinkFields.js +127 -0
  22. package/dist/admin/components/ButtonLinkFields.js.map +1 -0
  23. package/dist/admin/components/CarouselPreviewNav.d.ts +12 -0
  24. package/dist/admin/components/CarouselPreviewNav.d.ts.map +1 -0
  25. package/dist/admin/components/CarouselPreviewNav.js +31 -0
  26. package/dist/admin/components/CarouselPreviewNav.js.map +1 -0
  27. package/dist/admin/components/CmsContentEditorLayout.d.ts +12 -0
  28. package/dist/admin/components/CmsContentEditorLayout.d.ts.map +1 -0
  29. package/dist/admin/components/CmsContentEditorLayout.js +9 -0
  30. package/dist/admin/components/CmsContentEditorLayout.js.map +1 -0
  31. package/dist/admin/components/ComponentDragHandle.d.ts +6 -0
  32. package/dist/admin/components/ComponentDragHandle.d.ts.map +1 -0
  33. package/dist/admin/components/ComponentDragHandle.js +119 -0
  34. package/dist/admin/components/ComponentDragHandle.js.map +1 -0
  35. package/dist/admin/components/ContentSliderActionBarExtras.d.ts +6 -0
  36. package/dist/admin/components/ContentSliderActionBarExtras.d.ts.map +1 -0
  37. package/dist/admin/components/ContentSliderActionBarExtras.js +109 -0
  38. package/dist/admin/components/ContentSliderActionBarExtras.js.map +1 -0
  39. package/dist/admin/components/HookBlockAttachmentsPanel.d.ts +9 -0
  40. package/dist/admin/components/HookBlockAttachmentsPanel.d.ts.map +1 -0
  41. package/dist/admin/components/HookBlockAttachmentsPanel.js +137 -0
  42. package/dist/admin/components/HookBlockAttachmentsPanel.js.map +1 -0
  43. package/dist/admin/components/PageBuilderActionBar.d.ts +10 -0
  44. package/dist/admin/components/PageBuilderActionBar.d.ts.map +1 -0
  45. package/dist/admin/components/PageBuilderActionBar.js +118 -0
  46. package/dist/admin/components/PageBuilderActionBar.js.map +1 -0
  47. package/dist/admin/components/PageBuilderDrawer.d.ts +16 -0
  48. package/dist/admin/components/PageBuilderDrawer.d.ts.map +1 -0
  49. package/dist/admin/components/PageBuilderDrawer.js +53 -0
  50. package/dist/admin/components/PageBuilderDrawer.js.map +1 -0
  51. package/dist/admin/components/PageBuilderEditor.d.ts +45 -0
  52. package/dist/admin/components/PageBuilderEditor.d.ts.map +1 -0
  53. package/dist/admin/components/PageBuilderEditor.js +632 -0
  54. package/dist/admin/components/PageBuilderEditor.js.map +1 -0
  55. package/dist/admin/components/PuckActionGuard.d.ts +12 -0
  56. package/dist/admin/components/PuckActionGuard.d.ts.map +1 -0
  57. package/dist/admin/components/PuckActionGuard.js +30 -0
  58. package/dist/admin/components/PuckActionGuard.js.map +1 -0
  59. package/dist/admin/components/RowLayoutPicker.d.ts +8 -0
  60. package/dist/admin/components/RowLayoutPicker.d.ts.map +1 -0
  61. package/dist/admin/components/RowLayoutPicker.js +17 -0
  62. package/dist/admin/components/RowLayoutPicker.js.map +1 -0
  63. package/dist/admin/components/SliderPreviewActionBarExtras.d.ts +6 -0
  64. package/dist/admin/components/SliderPreviewActionBarExtras.d.ts.map +1 -0
  65. package/dist/admin/components/SliderPreviewActionBarExtras.js +32 -0
  66. package/dist/admin/components/SliderPreviewActionBarExtras.js.map +1 -0
  67. package/dist/admin/components/admin-catalog-preview-map.d.ts +17 -0
  68. package/dist/admin/components/admin-catalog-preview-map.d.ts.map +1 -0
  69. package/dist/admin/components/admin-catalog-preview-map.js +18 -0
  70. package/dist/admin/components/admin-catalog-preview-map.js.map +1 -0
  71. package/dist/admin/components/build-viewports.d.ts +23 -0
  72. package/dist/admin/components/build-viewports.d.ts.map +1 -0
  73. package/dist/admin/components/build-viewports.js +23 -0
  74. package/dist/admin/components/build-viewports.js.map +1 -0
  75. package/dist/admin/components/cms-template-layout.d.ts +16 -0
  76. package/dist/admin/components/cms-template-layout.d.ts.map +1 -0
  77. package/dist/admin/components/cms-template-layout.js +53 -0
  78. package/dist/admin/components/cms-template-layout.js.map +1 -0
  79. package/dist/admin/components/page-builder-i18n.d.ts +27 -0
  80. package/dist/admin/components/page-builder-i18n.d.ts.map +1 -0
  81. package/dist/admin/components/page-builder-i18n.js +34 -0
  82. package/dist/admin/components/page-builder-i18n.js.map +1 -0
  83. package/dist/admin/components/puck-safe.d.ts +10 -0
  84. package/dist/admin/components/puck-safe.d.ts.map +1 -0
  85. package/dist/admin/components/puck-safe.js +22 -0
  86. package/dist/admin/components/puck-safe.js.map +1 -0
  87. package/dist/admin/components/scope-utils.d.ts +4 -0
  88. package/dist/admin/components/scope-utils.d.ts.map +1 -0
  89. package/dist/admin/components/scope-utils.js +7 -0
  90. package/dist/admin/components/scope-utils.js.map +1 -0
  91. package/dist/admin/editors/BlockEditor.d.ts +9 -0
  92. package/dist/admin/editors/BlockEditor.d.ts.map +1 -0
  93. package/dist/admin/editors/BlockEditor.js +217 -0
  94. package/dist/admin/editors/BlockEditor.js.map +1 -0
  95. package/dist/admin/editors/PageEditor.d.ts +9 -0
  96. package/dist/admin/editors/PageEditor.d.ts.map +1 -0
  97. package/dist/admin/editors/PageEditor.js +316 -0
  98. package/dist/admin/editors/PageEditor.js.map +1 -0
  99. package/dist/admin/editors/TemplateEditor.d.ts +9 -0
  100. package/dist/admin/editors/TemplateEditor.d.ts.map +1 -0
  101. package/dist/admin/editors/TemplateEditor.js +180 -0
  102. package/dist/admin/editors/TemplateEditor.js.map +1 -0
  103. package/dist/admin/index.d.ts +38 -0
  104. package/dist/admin/index.d.ts.map +1 -0
  105. package/dist/admin/index.js +144 -0
  106. package/dist/admin/index.js.map +1 -0
  107. package/dist/admin/pages/BlocksListPage.d.ts +9 -0
  108. package/dist/admin/pages/BlocksListPage.d.ts.map +1 -0
  109. package/dist/admin/pages/BlocksListPage.js +47 -0
  110. package/dist/admin/pages/BlocksListPage.js.map +1 -0
  111. package/dist/admin/pages/HooksPage.d.ts +9 -0
  112. package/dist/admin/pages/HooksPage.d.ts.map +1 -0
  113. package/dist/admin/pages/HooksPage.js +41 -0
  114. package/dist/admin/pages/HooksPage.js.map +1 -0
  115. package/dist/admin/pages/PagesListPage.d.ts +9 -0
  116. package/dist/admin/pages/PagesListPage.d.ts.map +1 -0
  117. package/dist/admin/pages/PagesListPage.js +51 -0
  118. package/dist/admin/pages/PagesListPage.js.map +1 -0
  119. package/dist/admin/pages/TemplatesListPage.d.ts +9 -0
  120. package/dist/admin/pages/TemplatesListPage.d.ts.map +1 -0
  121. package/dist/admin/pages/TemplatesListPage.js +47 -0
  122. package/dist/admin/pages/TemplatesListPage.js.map +1 -0
  123. package/dist/admin-ui/index.d.ts +90 -0
  124. package/dist/admin-ui/index.d.ts.map +1 -0
  125. package/dist/admin-ui/index.js +89 -0
  126. package/dist/admin-ui/index.js.map +1 -0
  127. package/dist/backend/cli/block-names.d.ts +92 -0
  128. package/dist/backend/cli/block-names.d.ts.map +1 -0
  129. package/dist/backend/cli/block-names.js +132 -0
  130. package/dist/backend/cli/block-names.js.map +1 -0
  131. package/dist/backend/entities/cms-block.entity.d.ts +20 -0
  132. package/dist/backend/entities/cms-block.entity.d.ts.map +1 -0
  133. package/dist/backend/entities/cms-block.entity.js +77 -0
  134. package/dist/backend/entities/cms-block.entity.js.map +1 -0
  135. package/dist/backend/entities/cms-hook-block-attachment.entity.d.ts +15 -0
  136. package/dist/backend/entities/cms-hook-block-attachment.entity.d.ts.map +1 -0
  137. package/dist/backend/entities/cms-hook-block-attachment.entity.js +46 -0
  138. package/dist/backend/entities/cms-hook-block-attachment.entity.js.map +1 -0
  139. package/dist/backend/entities/cms-hook.entity.d.ts +20 -0
  140. package/dist/backend/entities/cms-hook.entity.d.ts.map +1 -0
  141. package/dist/backend/entities/cms-hook.entity.js +73 -0
  142. package/dist/backend/entities/cms-hook.entity.js.map +1 -0
  143. package/dist/backend/entities/cms-page.entity.d.ts +43 -0
  144. package/dist/backend/entities/cms-page.entity.d.ts.map +1 -0
  145. package/dist/backend/entities/cms-page.entity.js +140 -0
  146. package/dist/backend/entities/cms-page.entity.js.map +1 -0
  147. package/dist/backend/entities/cms-template.entity.d.ts +20 -0
  148. package/dist/backend/entities/cms-template.entity.d.ts.map +1 -0
  149. package/dist/backend/entities/cms-template.entity.js +73 -0
  150. package/dist/backend/entities/cms-template.entity.js.map +1 -0
  151. package/dist/backend/index.d.ts +157 -0
  152. package/dist/backend/index.d.ts.map +1 -0
  153. package/dist/backend/index.js +317 -0
  154. package/dist/backend/index.js.map +1 -0
  155. package/dist/backend/plugin.d.ts +81 -0
  156. package/dist/backend/plugin.d.ts.map +1 -0
  157. package/dist/backend/plugin.js +81 -0
  158. package/dist/backend/plugin.js.map +1 -0
  159. package/dist/backend/routes.admin.d.ts +19 -0
  160. package/dist/backend/routes.admin.d.ts.map +1 -0
  161. package/dist/backend/routes.admin.js +164 -0
  162. package/dist/backend/routes.admin.js.map +1 -0
  163. package/dist/backend/routes.storefront.d.ts +6 -0
  164. package/dist/backend/routes.storefront.d.ts.map +1 -0
  165. package/dist/backend/routes.storefront.js +89 -0
  166. package/dist/backend/routes.storefront.js.map +1 -0
  167. package/dist/backend/services/asset-embed-resolver.d.ts +17 -0
  168. package/dist/backend/services/asset-embed-resolver.d.ts.map +1 -0
  169. package/dist/backend/services/asset-embed-resolver.js +40 -0
  170. package/dist/backend/services/asset-embed-resolver.js.map +1 -0
  171. package/dist/backend/services/asset-references.d.ts +4 -0
  172. package/dist/backend/services/asset-references.d.ts.map +1 -0
  173. package/dist/backend/services/asset-references.js +55 -0
  174. package/dist/backend/services/asset-references.js.map +1 -0
  175. package/dist/backend/services/cms-block-read-port.d.ts +27 -0
  176. package/dist/backend/services/cms-block-read-port.d.ts.map +1 -0
  177. package/dist/backend/services/cms-block-read-port.js +50 -0
  178. package/dist/backend/services/cms-block-read-port.js.map +1 -0
  179. package/dist/backend/services/cms-block-seed-port.d.ts +31 -0
  180. package/dist/backend/services/cms-block-seed-port.d.ts.map +1 -0
  181. package/dist/backend/services/cms-block-seed-port.js +68 -0
  182. package/dist/backend/services/cms-block-seed-port.js.map +1 -0
  183. package/dist/backend/services/cms-block-service.d.ts +38 -0
  184. package/dist/backend/services/cms-block-service.d.ts.map +1 -0
  185. package/dist/backend/services/cms-block-service.js +218 -0
  186. package/dist/backend/services/cms-block-service.js.map +1 -0
  187. package/dist/backend/services/cms-cache.d.ts +54 -0
  188. package/dist/backend/services/cms-cache.d.ts.map +1 -0
  189. package/dist/backend/services/cms-cache.js +113 -0
  190. package/dist/backend/services/cms-cache.js.map +1 -0
  191. package/dist/backend/services/cms-hook-service.d.ts +35 -0
  192. package/dist/backend/services/cms-hook-service.d.ts.map +1 -0
  193. package/dist/backend/services/cms-hook-service.js +216 -0
  194. package/dist/backend/services/cms-hook-service.js.map +1 -0
  195. package/dist/backend/services/cms-language-reference.d.ts +11 -0
  196. package/dist/backend/services/cms-language-reference.d.ts.map +1 -0
  197. package/dist/backend/services/cms-language-reference.js +26 -0
  198. package/dist/backend/services/cms-language-reference.js.map +1 -0
  199. package/dist/backend/services/cms-page-read-port.d.ts +23 -0
  200. package/dist/backend/services/cms-page-read-port.d.ts.map +1 -0
  201. package/dist/backend/services/cms-page-read-port.js +54 -0
  202. package/dist/backend/services/cms-page-read-port.js.map +1 -0
  203. package/dist/backend/services/cms-page-service.d.ts +104 -0
  204. package/dist/backend/services/cms-page-service.d.ts.map +1 -0
  205. package/dist/backend/services/cms-page-service.js +468 -0
  206. package/dist/backend/services/cms-page-service.js.map +1 -0
  207. package/dist/backend/services/cms-reference-registry.d.ts +30 -0
  208. package/dist/backend/services/cms-reference-registry.d.ts.map +1 -0
  209. package/dist/backend/services/cms-reference-registry.js +98 -0
  210. package/dist/backend/services/cms-reference-registry.js.map +1 -0
  211. package/dist/backend/services/cms-template-service.d.ts +37 -0
  212. package/dist/backend/services/cms-template-service.d.ts.map +1 -0
  213. package/dist/backend/services/cms-template-service.js +205 -0
  214. package/dist/backend/services/cms-template-service.js.map +1 -0
  215. package/dist/backend/services/content-tree-walker.d.ts +7 -0
  216. package/dist/backend/services/content-tree-walker.d.ts.map +1 -0
  217. package/dist/backend/services/content-tree-walker.js +89 -0
  218. package/dist/backend/services/content-tree-walker.js.map +1 -0
  219. package/dist/backend/services/page-builder-registry.d.ts +120 -0
  220. package/dist/backend/services/page-builder-registry.d.ts.map +1 -0
  221. package/dist/backend/services/page-builder-registry.js +220 -0
  222. package/dist/backend/services/page-builder-registry.js.map +1 -0
  223. package/dist/backend/services/seed-hooks.d.ts +22 -0
  224. package/dist/backend/services/seed-hooks.d.ts.map +1 -0
  225. package/dist/backend/services/seed-hooks.js +94 -0
  226. package/dist/backend/services/seed-hooks.js.map +1 -0
  227. package/dist/backend/services/storefront-resolver.d.ts +71 -0
  228. package/dist/backend/services/storefront-resolver.d.ts.map +1 -0
  229. package/dist/backend/services/storefront-resolver.js +329 -0
  230. package/dist/backend/services/storefront-resolver.js.map +1 -0
  231. package/dist/manifest.d.ts +225 -0
  232. package/dist/manifest.d.ts.map +1 -0
  233. package/dist/manifest.js +695 -0
  234. package/dist/manifest.js.map +1 -0
  235. package/dist/migrations/20260425T162418_cms_pages_init.d.ts +10 -0
  236. package/dist/migrations/20260425T162418_cms_pages_init.d.ts.map +1 -0
  237. package/dist/migrations/20260425T162418_cms_pages_init.js +30 -0
  238. package/dist/migrations/20260425T162418_cms_pages_init.js.map +1 -0
  239. package/dist/migrations/20260505T130214_cms_init.d.ts +28 -0
  240. package/dist/migrations/20260505T130214_cms_init.d.ts.map +1 -0
  241. package/dist/migrations/20260505T130214_cms_init.js +332 -0
  242. package/dist/migrations/20260505T130214_cms_init.js.map +1 -0
  243. package/dist/migrations/20260903T101741_cms_namespace_block_names.d.ts +6 -0
  244. package/dist/migrations/20260903T101741_cms_namespace_block_names.d.ts.map +1 -0
  245. package/dist/migrations/20260903T101741_cms_namespace_block_names.js +60 -0
  246. package/dist/migrations/20260903T101741_cms_namespace_block_names.js.map +1 -0
  247. package/dist/migrations/20260912T094733_cms_sales_channel_cms_pages.d.ts +27 -0
  248. package/dist/migrations/20260912T094733_cms_sales_channel_cms_pages.d.ts.map +1 -0
  249. package/dist/migrations/20260912T094733_cms_sales_channel_cms_pages.js +44 -0
  250. package/dist/migrations/20260912T094733_cms_sales_channel_cms_pages.js.map +1 -0
  251. package/dist/migrations/20260912T125709_cms_page_body_asset_ref_index.d.ts +32 -0
  252. package/dist/migrations/20260912T125709_cms_page_body_asset_ref_index.d.ts.map +1 -0
  253. package/dist/migrations/20260912T125709_cms_page_body_asset_ref_index.js +36 -0
  254. package/dist/migrations/20260912T125709_cms_page_body_asset_ref_index.js.map +1 -0
  255. package/dist/migrations/index.d.ts +31 -0
  256. package/dist/migrations/index.d.ts.map +1 -0
  257. package/dist/migrations/index.js +37 -0
  258. package/dist/migrations/index.js.map +1 -0
  259. package/docs/cms/extending-page-builder.md +256 -0
  260. package/docs/cms/index.md +233 -0
  261. package/i18n/en.json +231 -0
  262. package/i18n/pl.json +231 -0
  263. package/package.json +125 -3
  264. package/tailwind.css +16 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Migration } from '@mikro-orm/migrations';
2
+ /**
3
+ * CMS pages init (T234 / FR-100). One table; `path` is the natural unique
4
+ * key. Status enum drives the admin lifecycle.
5
+ */
6
+ export declare class Migration20260425T162418CmsPagesInit extends Migration {
7
+ up(): Promise<void>;
8
+ down(): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=20260425T162418_cms_pages_init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260425T162418_cms_pages_init.d.ts","sourceRoot":"","sources":["../../src/migrations/20260425T162418_cms_pages_init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;GAGG;AACH,qBAAa,oCAAqC,SAAQ,SAAS;IAClD,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrC"}
@@ -0,0 +1,30 @@
1
+ import { Migration } from '@mikro-orm/migrations';
2
+ /**
3
+ * CMS pages init (T234 / FR-100). One table; `path` is the natural unique
4
+ * key. Status enum drives the admin lifecycle.
5
+ */
6
+ export class Migration20260425T162418CmsPagesInit extends Migration {
7
+ async up() {
8
+ this.addSql(`
9
+ create table "cms_pages" (
10
+ "id" uuid not null,
11
+ "path" varchar(180) not null,
12
+ "status" varchar(16) not null default 'draft',
13
+ "title" jsonb not null default '{}'::jsonb,
14
+ "body" jsonb not null default '{}'::jsonb,
15
+ "published_at" timestamptz null,
16
+ "archived_at" timestamptz null,
17
+ "created_at" timestamptz not null,
18
+ "updated_at" timestamptz not null,
19
+ constraint "cms_pages_pkey" primary key ("id"),
20
+ constraint "cms_pages_path_unique" unique ("path")
21
+ );
22
+ `);
23
+ this.addSql('create index "cms_pages_path_index" on "cms_pages" ("path");');
24
+ this.addSql('create index "cms_pages_status_index" on "cms_pages" ("status");');
25
+ }
26
+ async down() {
27
+ this.addSql('drop table if exists "cms_pages" cascade;');
28
+ }
29
+ }
30
+ //# sourceMappingURL=20260425T162418_cms_pages_init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260425T162418_cms_pages_init.js","sourceRoot":"","sources":["../../src/migrations/20260425T162418_cms_pages_init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;GAGG;AACH,MAAM,OAAO,oCAAqC,SAAQ,SAAS;IACxD,KAAK,CAAC,EAAE;QACf,IAAI,CAAC,MAAM,CAAC;;;;;;;;;;;;;;KAcX,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,8DAA8D,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,CAAC,kEAAkE,CAAC,CAAC;IAClF,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,IAAI,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ import { Migration } from '@mikro-orm/migrations';
2
+ /**
3
+ * CMS module — feature 014 / data-model.md.
4
+ *
5
+ * Schema changes (one atomic migration):
6
+ * - extends `cms_pages` with the new column set (name, slug, active,
7
+ * description, meta_*, content, languages, version) while keeping the
8
+ * legacy `path`, `title`, `body` columns for one release.
9
+ * - adds four new tables: `cms_blocks`, `cms_templates`, `cms_hooks`,
10
+ * `cms_hook_block_attachments`.
11
+ * - adds four channel-join tables, each carrying the slug or code denorm
12
+ * so per-channel uniqueness is DB-enforceable.
13
+ * - GIN indexes on the three content JSONB columns so the asset-ref scan
14
+ * stays fast (research R12).
15
+ * - backfills migrated `cms_pages` rows: slug=path, name=best-effort
16
+ * from title, active=(status='published'), content envelope built
17
+ * from the legacy body strings.
18
+ * - binds every migrated page to the platform's default sales channel.
19
+ * - seeds the 23 base Hook codes with `is_system=true`.
20
+ *
21
+ * The migration is idempotent: re-running against a partially-applied
22
+ * state skips already-present rows.
23
+ */
24
+ export declare class Migration20260505T130214CmsInit extends Migration {
25
+ up(): Promise<void>;
26
+ down(): Promise<void>;
27
+ }
28
+ //# sourceMappingURL=20260505T130214_cms_init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260505T130214_cms_init.d.ts","sourceRoot":"","sources":["../../src/migrations/20260505T130214_cms_init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,+BAAgC,SAAQ,SAAS;IAC7C,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;IAmTnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA0BrC"}
@@ -0,0 +1,332 @@
1
+ import { Migration } from '@mikro-orm/migrations';
2
+ /**
3
+ * CMS module — feature 014 / data-model.md.
4
+ *
5
+ * Schema changes (one atomic migration):
6
+ * - extends `cms_pages` with the new column set (name, slug, active,
7
+ * description, meta_*, content, languages, version) while keeping the
8
+ * legacy `path`, `title`, `body` columns for one release.
9
+ * - adds four new tables: `cms_blocks`, `cms_templates`, `cms_hooks`,
10
+ * `cms_hook_block_attachments`.
11
+ * - adds four channel-join tables, each carrying the slug or code denorm
12
+ * so per-channel uniqueness is DB-enforceable.
13
+ * - GIN indexes on the three content JSONB columns so the asset-ref scan
14
+ * stays fast (research R12).
15
+ * - backfills migrated `cms_pages` rows: slug=path, name=best-effort
16
+ * from title, active=(status='published'), content envelope built
17
+ * from the legacy body strings.
18
+ * - binds every migrated page to the platform's default sales channel.
19
+ * - seeds the 23 base Hook codes with `is_system=true`.
20
+ *
21
+ * The migration is idempotent: re-running against a partially-applied
22
+ * state skips already-present rows.
23
+ */
24
+ export class Migration20260505T130214CmsInit extends Migration {
25
+ async up() {
26
+ // ────────────────────────────────────────────────────────────────────
27
+ // 1) cms_blocks
28
+ // ────────────────────────────────────────────────────────────────────
29
+ this.addSql(`
30
+ create table "cms_blocks" (
31
+ "id" uuid not null,
32
+ "name" varchar(200) not null,
33
+ "code" varchar(180) not null,
34
+ "active" boolean not null default true,
35
+ "description" text null,
36
+ "content" jsonb not null default '{"schema_version":1,"languages":{}}'::jsonb,
37
+ "languages" jsonb not null default '[]'::jsonb,
38
+ "version" int not null default 1,
39
+ "created_at" timestamptz not null,
40
+ "updated_at" timestamptz not null,
41
+ constraint "cms_blocks_pkey" primary key ("id")
42
+ );
43
+ `);
44
+ this.addSql('create index "cms_blocks_code_index" on "cms_blocks" ("code");');
45
+ this.addSql('create index "idx_cms_blocks_content_asset_refs" on "cms_blocks" using gin ("content" jsonb_path_ops);');
46
+ this.addSql('create index "cms_blocks_active_index" on "cms_blocks" ("active") where "active" = true;');
47
+ // ────────────────────────────────────────────────────────────────────
48
+ // 2) cms_templates
49
+ // ────────────────────────────────────────────────────────────────────
50
+ this.addSql(`
51
+ create table "cms_templates" (
52
+ "id" uuid not null,
53
+ "name" varchar(200) not null,
54
+ "code" varchar(180) not null,
55
+ "description" text null,
56
+ "content" jsonb not null default '{"schema_version":1,"languages":{}}'::jsonb,
57
+ "languages" jsonb not null default '[]'::jsonb,
58
+ "version" int not null default 1,
59
+ "created_at" timestamptz not null,
60
+ "updated_at" timestamptz not null,
61
+ constraint "cms_templates_pkey" primary key ("id")
62
+ );
63
+ `);
64
+ this.addSql('create index "cms_templates_code_index" on "cms_templates" ("code");');
65
+ this.addSql('create index "idx_cms_templates_content_asset_refs" on "cms_templates" using gin ("content" jsonb_path_ops);');
66
+ // ────────────────────────────────────────────────────────────────────
67
+ // 3) cms_hooks
68
+ // ────────────────────────────────────────────────────────────────────
69
+ this.addSql(`
70
+ create table "cms_hooks" (
71
+ "id" uuid not null,
72
+ "name" varchar(200) not null,
73
+ "code" varchar(180) not null,
74
+ "active" boolean not null default true,
75
+ "description" text null,
76
+ "is_system" boolean not null default false,
77
+ "version" int not null default 1,
78
+ "created_at" timestamptz not null,
79
+ "updated_at" timestamptz not null,
80
+ constraint "cms_hooks_pkey" primary key ("id"),
81
+ constraint "cms_hooks_code_unique" unique ("code")
82
+ );
83
+ `);
84
+ this.addSql('create index "cms_hooks_active_index" on "cms_hooks" ("active") where "active" = true;');
85
+ // ────────────────────────────────────────────────────────────────────
86
+ // 4) cms_hook_block_attachments
87
+ // ────────────────────────────────────────────────────────────────────
88
+ this.addSql(`
89
+ create table "cms_hook_block_attachments" (
90
+ "hook_id" uuid not null,
91
+ "block_id" uuid not null,
92
+ "position" int not null default 0,
93
+ "created_at" timestamptz not null,
94
+ constraint "cms_hook_block_attachments_pkey" primary key ("hook_id", "block_id"),
95
+ constraint "cms_hook_block_attachments_hook_fk" foreign key ("hook_id")
96
+ references "cms_hooks" ("id") on delete cascade,
97
+ constraint "cms_hook_block_attachments_block_fk" foreign key ("block_id")
98
+ references "cms_blocks" ("id") on delete restrict
99
+ );
100
+ `);
101
+ this.addSql('create index "idx_cms_hook_attachments_order" on "cms_hook_block_attachments" ("hook_id", "position", "block_id");');
102
+ // ────────────────────────────────────────────────────────────────────
103
+ // 5) channel-join tables (4)
104
+ // ────────────────────────────────────────────────────────────────────
105
+ this.addSql(`
106
+ create table "cms_page_sales_channels" (
107
+ "page_id" uuid not null,
108
+ "sales_channel_id" uuid not null,
109
+ "slug" varchar(180) not null,
110
+ constraint "cms_page_sales_channels_pkey" primary key ("page_id", "sales_channel_id"),
111
+ constraint "cms_page_sales_channels_slug_unique" unique ("sales_channel_id", "slug"),
112
+ constraint "cms_page_sales_channels_page_fk" foreign key ("page_id")
113
+ references "cms_pages" ("id") on delete cascade,
114
+ constraint "cms_page_sales_channels_channel_fk" foreign key ("sales_channel_id")
115
+ references "sales_channels" ("id") on delete cascade
116
+ );
117
+ `);
118
+ this.addSql(`
119
+ create table "cms_block_sales_channels" (
120
+ "block_id" uuid not null,
121
+ "sales_channel_id" uuid not null,
122
+ "code" varchar(180) not null,
123
+ constraint "cms_block_sales_channels_pkey" primary key ("block_id", "sales_channel_id"),
124
+ constraint "cms_block_sales_channels_code_unique" unique ("sales_channel_id", "code"),
125
+ constraint "cms_block_sales_channels_block_fk" foreign key ("block_id")
126
+ references "cms_blocks" ("id") on delete cascade,
127
+ constraint "cms_block_sales_channels_channel_fk" foreign key ("sales_channel_id")
128
+ references "sales_channels" ("id") on delete cascade
129
+ );
130
+ `);
131
+ this.addSql(`
132
+ create table "cms_template_sales_channels" (
133
+ "template_id" uuid not null,
134
+ "sales_channel_id" uuid not null,
135
+ "code" varchar(180) not null,
136
+ constraint "cms_template_sales_channels_pkey" primary key ("template_id", "sales_channel_id"),
137
+ constraint "cms_template_sales_channels_code_unique" unique ("sales_channel_id", "code"),
138
+ constraint "cms_template_sales_channels_template_fk" foreign key ("template_id")
139
+ references "cms_templates" ("id") on delete cascade,
140
+ constraint "cms_template_sales_channels_channel_fk" foreign key ("sales_channel_id")
141
+ references "sales_channels" ("id") on delete cascade
142
+ );
143
+ `);
144
+ this.addSql(`
145
+ create table "cms_hook_sales_channels" (
146
+ "hook_id" uuid not null,
147
+ "sales_channel_id" uuid not null,
148
+ constraint "cms_hook_sales_channels_pkey" primary key ("hook_id", "sales_channel_id"),
149
+ constraint "cms_hook_sales_channels_hook_fk" foreign key ("hook_id")
150
+ references "cms_hooks" ("id") on delete cascade,
151
+ constraint "cms_hook_sales_channels_channel_fk" foreign key ("sales_channel_id")
152
+ references "sales_channels" ("id") on delete cascade
153
+ );
154
+ `);
155
+ // ────────────────────────────────────────────────────────────────────
156
+ // 6) cms_pages — extension columns
157
+ // ────────────────────────────────────────────────────────────────────
158
+ this.addSql(`alter table "cms_pages"
159
+ add column "name" varchar(200) not null default '',
160
+ add column "slug" varchar(180) not null default '',
161
+ add column "active" boolean not null default true,
162
+ add column "description" text null,
163
+ add column "meta_title" jsonb null,
164
+ add column "meta_description" jsonb null,
165
+ add column "meta_keywords" jsonb null,
166
+ add column "content" jsonb not null default '{"schema_version":1,"languages":{}}'::jsonb,
167
+ add column "languages" jsonb not null default '[]'::jsonb,
168
+ add column "version" int not null default 1;
169
+ `);
170
+ this.addSql('create index "cms_pages_slug_index" on "cms_pages" ("slug");');
171
+ this.addSql('create index "idx_cms_pages_content_asset_refs" on "cms_pages" using gin ("content" jsonb_path_ops);');
172
+ this.addSql('create index "cms_pages_active_status_index" on "cms_pages" ("active", "status");');
173
+ // ────────────────────────────────────────────────────────────────────
174
+ // 7) Backfill cms_pages — best-effort
175
+ // ────────────────────────────────────────────────────────────────────
176
+ // slug = path
177
+ // name = title['en-US'] ?? first available value, falling back to path
178
+ // active = (status='published')
179
+ // content = { schema_version: 1, languages: { <lang>: { root: {}, content: [{ type: 'Text', props: { tiptapContent: <legacy html> } }] } } }
180
+ // languages = array of non-empty body keys
181
+ this.addSql(`
182
+ update "cms_pages"
183
+ set
184
+ "slug" = coalesce(nullif("slug", ''), "path"),
185
+ "name" = coalesce(
186
+ nullif("name", ''),
187
+ coalesce(("title" ->> 'en-US')::text, '')
188
+ ),
189
+ "active" = case when "status" = 'published' then true else false end
190
+ where "slug" = '' or "name" = '';
191
+ `);
192
+ // 7b) Build content envelope from legacy body for every row whose
193
+ // content is still the empty default. Done in plain SQL via jsonb_object_agg
194
+ // over the body's per-language values.
195
+ this.addSql(`
196
+ update "cms_pages"
197
+ set "content" = jsonb_build_object(
198
+ 'schema_version', 1,
199
+ 'languages', coalesce(
200
+ (
201
+ select jsonb_object_agg(
202
+ k,
203
+ jsonb_build_object(
204
+ 'root', '{}'::jsonb,
205
+ 'content', jsonb_build_array(
206
+ jsonb_build_object(
207
+ 'type', 'Text',
208
+ 'props', jsonb_build_object(
209
+ 'id', 'text-legacy-' || k,
210
+ 'tiptapHtml', v
211
+ )
212
+ )
213
+ ),
214
+ 'zones', '{}'::jsonb
215
+ )
216
+ )
217
+ from jsonb_each_text("body") as t(k, v)
218
+ where v <> ''
219
+ ),
220
+ '{}'::jsonb
221
+ )
222
+ )
223
+ where "content" = '{"schema_version":1,"languages":{}}'::jsonb
224
+ and "body" <> '{}'::jsonb;
225
+ `);
226
+ // 7c) languages array = non-empty body keys
227
+ this.addSql(`
228
+ update "cms_pages"
229
+ set "languages" = coalesce(
230
+ (
231
+ select jsonb_agg(k)
232
+ from jsonb_each_text("body") as t(k, v)
233
+ where v <> ''
234
+ ),
235
+ '[]'::jsonb
236
+ )
237
+ where "languages" = '[]'::jsonb and "body" <> '{}'::jsonb;
238
+ `);
239
+ // ────────────────────────────────────────────────────────────────────
240
+ // 8) Bind every migrated cms_pages row to the default sales channel
241
+ // ────────────────────────────────────────────────────────────────────
242
+ // Pick the first sales channel by created_at as the "default"; in
243
+ // production this will be the system_default = true row but we don't
244
+ // require that here (foundation seed tests sometimes create only one
245
+ // channel without flagging it).
246
+ this.addSql(`
247
+ insert into "cms_page_sales_channels" ("page_id", "sales_channel_id", "slug")
248
+ select p."id", c."id", p."slug"
249
+ from "cms_pages" p
250
+ cross join lateral (
251
+ select "id" from "sales_channels" order by "created_at" asc limit 1
252
+ ) c
253
+ where not exists (
254
+ select 1 from "cms_page_sales_channels" x where x."page_id" = p."id"
255
+ );
256
+ `);
257
+ // ────────────────────────────────────────────────────────────────────
258
+ // 9) Seed the 23 base Hook codes (research R8)
259
+ // ────────────────────────────────────────────────────────────────────
260
+ const seededHooks = [
261
+ ['header.top', 'Header Top', 'Top-of-page strip — phone number, free-shipping notice, etc.'],
262
+ ['homepage.top', 'Homepage Top', 'Above the homepage content.'],
263
+ ['homepage.bottom', 'Homepage Bottom', 'Below the homepage content.'],
264
+ ['footer.before', 'Footer Before', ''],
265
+ ['footer.top', 'Footer Top', ''],
266
+ ['footer.bottom', 'Footer Bottom', ''],
267
+ ['footer.after', 'Footer After', ''],
268
+ ['footer.copyright', 'Footer Copyright', ''],
269
+ ['category.top', 'Category Page Top', ''],
270
+ ['category.bottom', 'Category Page Bottom', ''],
271
+ ['product.top', 'Product Page Top', ''],
272
+ ['product.bottom', 'Product Page Bottom', ''],
273
+ ['product.buttons.after', 'Product Page After Buttons Set', ''],
274
+ ['search.top', 'Search Page Top', ''],
275
+ ['search.bottom', 'Search Page Bottom', ''],
276
+ ['page.top', 'Every Page Top', ''],
277
+ ['page.bottom', 'Every Page Bottom', ''],
278
+ ['cms.page.top', 'Every CMS Page Top', ''],
279
+ ['cms.page.bottom', 'Every CMS Page Bottom', ''],
280
+ ['login.top', 'Login Page Top', ''],
281
+ ['login.bottom', 'Login Page Bottom', ''],
282
+ ['register.top', 'Register Page Top', ''],
283
+ ['register.bottom', 'Register Page Bottom', ''],
284
+ ];
285
+ for (const [code, name, description] of seededHooks) {
286
+ const desc = description.length > 0 ? `'${description.replace(/'/g, "''")}'` : 'null';
287
+ this.addSql(`
288
+ insert into "cms_hooks" ("id", "name", "code", "active", "description", "is_system", "version", "created_at", "updated_at")
289
+ values (gen_random_uuid(), '${name.replace(/'/g, "''")}', '${code}', true, ${desc}, true, 1, now(), now())
290
+ on conflict ("code") do nothing;
291
+ `);
292
+ }
293
+ // 9b) Bind every seeded Hook to every existing sales channel.
294
+ this.addSql(`
295
+ insert into "cms_hook_sales_channels" ("hook_id", "sales_channel_id")
296
+ select h."id", c."id"
297
+ from "cms_hooks" h
298
+ cross join "sales_channels" c
299
+ where h."is_system" = true
300
+ and not exists (
301
+ select 1 from "cms_hook_sales_channels" x
302
+ where x."hook_id" = h."id" and x."sales_channel_id" = c."id"
303
+ );
304
+ `);
305
+ }
306
+ async down() {
307
+ this.addSql('drop table if exists "cms_hook_sales_channels" cascade;');
308
+ this.addSql('drop table if exists "cms_template_sales_channels" cascade;');
309
+ this.addSql('drop table if exists "cms_block_sales_channels" cascade;');
310
+ this.addSql('drop table if exists "cms_page_sales_channels" cascade;');
311
+ this.addSql('drop table if exists "cms_hook_block_attachments" cascade;');
312
+ this.addSql('drop table if exists "cms_hooks" cascade;');
313
+ this.addSql('drop table if exists "cms_templates" cascade;');
314
+ this.addSql('drop table if exists "cms_blocks" cascade;');
315
+ this.addSql('drop index if exists "cms_pages_active_status_index";');
316
+ this.addSql('drop index if exists "idx_cms_pages_content_asset_refs";');
317
+ this.addSql('drop index if exists "cms_pages_slug_index";');
318
+ this.addSql(`alter table "cms_pages"
319
+ drop column if exists "version",
320
+ drop column if exists "languages",
321
+ drop column if exists "content",
322
+ drop column if exists "meta_keywords",
323
+ drop column if exists "meta_description",
324
+ drop column if exists "meta_title",
325
+ drop column if exists "description",
326
+ drop column if exists "active",
327
+ drop column if exists "slug",
328
+ drop column if exists "name";
329
+ `);
330
+ }
331
+ }
332
+ //# sourceMappingURL=20260505T130214_cms_init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260505T130214_cms_init.js","sourceRoot":"","sources":["../../src/migrations/20260505T130214_cms_init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Migration } from '@mikro-orm/migrations';
2
+ export declare class Migration20260903T101741CmsNamespaceBlockNames extends Migration {
3
+ up(): Promise<void>;
4
+ down(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=20260903T101741_cms_namespace_block_names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260903T101741_cms_namespace_block_names.d.ts","sourceRoot":"","sources":["../../src/migrations/20260903T101741_cms_namespace_block_names.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAmDlD,qBAAa,8CAA+C,SAAQ,SAAS;IAC5D,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;IAQnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAOrC"}
@@ -0,0 +1,60 @@
1
+ import { Migration } from '@mikro-orm/migrations';
2
+ import { FROZEN_BLOCK_RENAMES, FROZEN_BLOCK_RENAMES_INVERSE, applyRenameFunctionSql, createRenameFunctionSql, dropRenameFunctionSql, } from '@endora-commerce/page-builder-core/migration';
3
+ /**
4
+ * Namespace the Page Builder block names stored in `cms`'s 3 `jsonb` columns
5
+ * — feature 096, T404 (`contracts/block-name-migration.md`).
6
+ *
7
+ * **The rewrite is structural, never textual.** Twelve of the 74 renamed names
8
+ * are ordinary English words that occur throughout shop content — `Row`,
9
+ * `Text`, `Image`, `Map`, `Button` among them — so a text substitution over the
10
+ * column would corrupt a `RawHtml` block's markup and every `alt` attribute in
11
+ * the shop. `pg_temp.rename_block_names_cms` descends the document and replaces the value of a
12
+ * `type` property in a **node** position and nothing else; the walk is
13
+ * generated from `FROZEN_BLOCK_RENAMES` by
14
+ * `@endora-commerce/page-builder-core/migration`, so five migrations share one
15
+ * definition of what a node is.
16
+ *
17
+ * **This migration belongs to `cms` because `cms` owns these tables**,
18
+ * not because it owns the new names (`contracts/block-name-migration.md` §2).
19
+ * Some of the names it writes belong to other modules; that creates no
20
+ * obligation on them and **no new manifest `dependencies` edge**, because a
21
+ * block name is a string value inside a JSONB document — not a foreign key and
22
+ * not a table identifier.
23
+ *
24
+ * **It cannot fail on its input.** A name the map does not hold is left
25
+ * byte-identical: an already-namespaced one and an unrecognised one alike,
26
+ * because the map's domain is bare and its codomain is dotted, so the two sets
27
+ * are disjoint. That is also what makes a second run rewrite nothing — FR-013
28
+ * is a property of the map rather than an outcome a branch has to remember to
29
+ * produce, and no dot test appears in this SQL.
30
+ *
31
+ * `down()` applies the inverse over the identical walk and is **exact for the
32
+ * frozen set**. It is partial by construction: a name with no pre-migration
33
+ * form — a block authored after the upgrade, a third party's `acme.Banner` —
34
+ * has nothing to return to and is left alone. That is correct, and it is why
35
+ * the operator pre-flight (§6) is a backup rather than a `down()`.
36
+ */
37
+ /**
38
+ * Named per module: the five rename migrations may run on one pooled session,
39
+ * and a second `create function` over the same name fails. Each drops its own
40
+ * when it is done, and a rollback removes it with everything else — `pg_temp`
41
+ * DDL is transactional.
42
+ */
43
+ const FN = 'rename_block_names_cms';
44
+ export class Migration20260903T101741CmsNamespaceBlockNames extends Migration {
45
+ async up() {
46
+ this.addSql(createRenameFunctionSql(FN, FROZEN_BLOCK_RENAMES));
47
+ this.addSql(applyRenameFunctionSql(FN, 'cms_pages', 'content'));
48
+ this.addSql(applyRenameFunctionSql(FN, 'cms_blocks', 'content'));
49
+ this.addSql(applyRenameFunctionSql(FN, 'cms_templates', 'content'));
50
+ this.addSql(dropRenameFunctionSql(FN));
51
+ }
52
+ async down() {
53
+ this.addSql(createRenameFunctionSql(FN, FROZEN_BLOCK_RENAMES_INVERSE));
54
+ this.addSql(applyRenameFunctionSql(FN, 'cms_pages', 'content'));
55
+ this.addSql(applyRenameFunctionSql(FN, 'cms_blocks', 'content'));
56
+ this.addSql(applyRenameFunctionSql(FN, 'cms_templates', 'content'));
57
+ this.addSql(dropRenameFunctionSql(FN));
58
+ }
59
+ }
60
+ //# sourceMappingURL=20260903T101741_cms_namespace_block_names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260903T101741_cms_namespace_block_names.js","sourceRoot":"","sources":["../../src/migrations/20260903T101741_cms_namespace_block_names.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,8CAA8C,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH;;;;;GAKG;AACH,MAAM,EAAE,GAAG,wBAAwB,CAAC;AAEpC,MAAM,OAAO,8CAA+C,SAAQ,SAAS;IAClE,KAAK,CAAC,EAAE;QACf,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;CACF"}
@@ -0,0 +1,27 @@
1
+ import { Migration } from '@mikro-orm/migrations';
2
+ /**
3
+ * The `sales_channel_cms_pages` sales-channel bridge — the CMS pages a channel serves.
4
+ *
5
+ * It was created by the platform's frozen `Migration20260430T170044CoreSalesChannelsPromote`
6
+ * until `specs/120-migration-closure-bridge-ownership/` Phase 2. Under D-226 a
7
+ * bridge between an always-present near side (`sales_channels`, a kernel table)
8
+ * and a switchable far side belongs to the far side, so this module creates it:
9
+ * an instance that does not install `cms` no longer has a migration corpus
10
+ * naming a table nothing builds.
11
+ *
12
+ * `if not exists`, because every database that has already applied the frozen
13
+ * migration has this table. The storage keys on the class name and holds no
14
+ * checksum, so nothing is re-offered there and this migration is the no-op it
15
+ * reads as; on a fresh database it is the creation.
16
+ *
17
+ * The statements are the frozen ones verbatim — same columns, same primary key,
18
+ * same two foreign keys, same index — so the two paths reach one schema. Its
19
+ * position needs nothing declared: `sales_channels` is the kernel's and
20
+ * `cms_pages` is created inside the frozen prefix, which every
21
+ * above-watermark migration runs after.
22
+ */
23
+ export declare class Migration20260912T094733CmsSalesChannelCmsPages extends Migration {
24
+ up(): Promise<void>;
25
+ down(): Promise<void>;
26
+ }
27
+ //# sourceMappingURL=20260912T094733_cms_sales_channel_cms_pages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260912T094733_cms_sales_channel_cms_pages.d.ts","sourceRoot":"","sources":["../../src/migrations/20260912T094733_cms_sales_channel_cms_pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,+CAAgD,SAAQ,SAAS;IAC7D,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrC"}
@@ -0,0 +1,44 @@
1
+ import { Migration } from '@mikro-orm/migrations';
2
+ /**
3
+ * The `sales_channel_cms_pages` sales-channel bridge — the CMS pages a channel serves.
4
+ *
5
+ * It was created by the platform's frozen `Migration20260430T170044CoreSalesChannelsPromote`
6
+ * until `specs/120-migration-closure-bridge-ownership/` Phase 2. Under D-226 a
7
+ * bridge between an always-present near side (`sales_channels`, a kernel table)
8
+ * and a switchable far side belongs to the far side, so this module creates it:
9
+ * an instance that does not install `cms` no longer has a migration corpus
10
+ * naming a table nothing builds.
11
+ *
12
+ * `if not exists`, because every database that has already applied the frozen
13
+ * migration has this table. The storage keys on the class name and holds no
14
+ * checksum, so nothing is re-offered there and this migration is the no-op it
15
+ * reads as; on a fresh database it is the creation.
16
+ *
17
+ * The statements are the frozen ones verbatim — same columns, same primary key,
18
+ * same two foreign keys, same index — so the two paths reach one schema. Its
19
+ * position needs nothing declared: `sales_channels` is the kernel's and
20
+ * `cms_pages` is created inside the frozen prefix, which every
21
+ * above-watermark migration runs after.
22
+ */
23
+ export class Migration20260912T094733CmsSalesChannelCmsPages extends Migration {
24
+ async up() {
25
+ this.addSql(`
26
+ create table if not exists "sales_channel_cms_pages" (
27
+ "sales_channel_id" uuid not null,
28
+ "cms_page_id" uuid not null,
29
+ constraint "sales_channel_cms_pages_pkey"
30
+ primary key ("sales_channel_id", "cms_page_id"),
31
+ constraint "sales_channel_cms_pages_channel_fk"
32
+ foreign key ("sales_channel_id") references "sales_channels" ("id") on delete cascade,
33
+ constraint "sales_channel_cms_pages_cms_page_fk"
34
+ foreign key ("cms_page_id") references "cms_pages" ("id") on delete cascade
35
+ );
36
+ `);
37
+ this.addSql('create index if not exists "sales_channel_cms_pages_cms_page_id_index" ' +
38
+ 'on "sales_channel_cms_pages" ("cms_page_id");');
39
+ }
40
+ async down() {
41
+ this.addSql('drop table if exists "sales_channel_cms_pages" cascade;');
42
+ }
43
+ }
44
+ //# sourceMappingURL=20260912T094733_cms_sales_channel_cms_pages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20260912T094733_cms_sales_channel_cms_pages.js","sourceRoot":"","sources":["../../src/migrations/20260912T094733_cms_sales_channel_cms_pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,+CAAgD,SAAQ,SAAS;IACnE,KAAK,CAAC,EAAE;QACf,IAAI,CAAC,MAAM,CAAC;;;;;;;;;;;KAWX,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CACT,yEAAyE;YACvE,+CAA+C,CAClD,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,IAAI,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC;IACzE,CAAC;CACF"}