@aphexcms/cms-core 0.1.1 → 0.1.4

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 (336) hide show
  1. package/dist/api/assets.d.ts +48 -0
  2. package/dist/api/assets.d.ts.map +1 -0
  3. package/dist/api/assets.js +52 -0
  4. package/dist/api/client.d.ts +37 -0
  5. package/dist/api/client.d.ts.map +1 -0
  6. package/dist/api/client.js +125 -0
  7. package/dist/api/documents.d.ts +56 -0
  8. package/dist/api/documents.d.ts.map +1 -0
  9. package/dist/api/documents.js +77 -0
  10. package/{src/api/index.ts → dist/api/index.d.ts} +1 -1
  11. package/dist/api/index.d.ts.map +1 -0
  12. package/dist/api/index.js +5 -0
  13. package/dist/api/organizations.d.ts +101 -0
  14. package/dist/api/organizations.d.ts.map +1 -0
  15. package/dist/api/organizations.js +92 -0
  16. package/dist/api/types.d.ts +23 -0
  17. package/dist/api/types.d.ts.map +1 -0
  18. package/dist/api/types.js +1 -0
  19. package/dist/auth/auth-errors.d.ts +7 -0
  20. package/dist/auth/auth-errors.d.ts.map +1 -0
  21. package/dist/auth/auth-errors.js +13 -0
  22. package/dist/auth/auth-hooks.d.ts +6 -0
  23. package/dist/auth/auth-hooks.d.ts.map +1 -0
  24. package/dist/auth/auth-hooks.js +108 -0
  25. package/dist/auth/provider.d.ts +17 -0
  26. package/dist/auth/provider.d.ts.map +1 -0
  27. package/dist/auth/provider.js +1 -0
  28. package/dist/client/index.d.ts +24 -0
  29. package/dist/client/index.d.ts.map +1 -0
  30. package/{src/client/index.ts → dist/client/index.js} +0 -16
  31. package/{src → dist}/components/AdminApp.svelte +7 -8
  32. package/dist/components/AdminApp.svelte.d.ts +24 -0
  33. package/dist/components/AdminApp.svelte.d.ts.map +1 -0
  34. package/dist/components/admin/AdminLayout.svelte.d.ts +15 -0
  35. package/dist/components/admin/AdminLayout.svelte.d.ts.map +1 -0
  36. package/dist/components/admin/DocumentEditor.svelte.d.ts +18 -0
  37. package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -0
  38. package/dist/components/admin/DocumentTypesList.svelte.d.ts +14 -0
  39. package/dist/components/admin/DocumentTypesList.svelte.d.ts.map +1 -0
  40. package/dist/components/admin/ObjectModal.svelte.d.ts +15 -0
  41. package/dist/components/admin/ObjectModal.svelte.d.ts.map +1 -0
  42. package/dist/components/admin/SchemaField.svelte.d.ts +19 -0
  43. package/dist/components/admin/SchemaField.svelte.d.ts.map +1 -0
  44. package/dist/components/admin/fields/ArrayField.svelte.d.ts +12 -0
  45. package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +1 -0
  46. package/dist/components/admin/fields/BooleanField.svelte.d.ts +13 -0
  47. package/dist/components/admin/fields/BooleanField.svelte.d.ts.map +1 -0
  48. package/dist/components/admin/fields/ImageField.svelte.d.ts +15 -0
  49. package/dist/components/admin/fields/ImageField.svelte.d.ts.map +1 -0
  50. package/dist/components/admin/fields/NumberField.svelte.d.ts +14 -0
  51. package/dist/components/admin/fields/NumberField.svelte.d.ts.map +1 -0
  52. package/dist/components/admin/fields/ReferenceField.svelte.d.ts +12 -0
  53. package/dist/components/admin/fields/ReferenceField.svelte.d.ts.map +1 -0
  54. package/dist/components/admin/fields/SlugField.svelte.d.ts +15 -0
  55. package/dist/components/admin/fields/SlugField.svelte.d.ts.map +1 -0
  56. package/dist/components/admin/fields/StringField.svelte.d.ts +14 -0
  57. package/dist/components/admin/fields/StringField.svelte.d.ts.map +1 -0
  58. package/dist/components/admin/fields/TextareaField.svelte.d.ts +14 -0
  59. package/dist/components/admin/fields/TextareaField.svelte.d.ts.map +1 -0
  60. package/dist/components/fields/index.d.ts +9 -0
  61. package/dist/components/fields/index.d.ts.map +1 -0
  62. package/dist/components/index.d.ts +7 -0
  63. package/dist/components/index.d.ts.map +1 -0
  64. package/{src/components/index.ts → dist/components/index.js} +0 -4
  65. package/dist/components/layout/OrganizationSwitcher.svelte.d.ts +11 -0
  66. package/dist/components/layout/OrganizationSwitcher.svelte.d.ts.map +1 -0
  67. package/{src → dist}/components/layout/Sidebar.svelte +7 -7
  68. package/dist/components/layout/Sidebar.svelte.d.ts +14 -0
  69. package/dist/components/layout/Sidebar.svelte.d.ts.map +1 -0
  70. package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts +11 -0
  71. package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts.map +1 -0
  72. package/dist/components/layout/sidebar/NavMain.svelte.d.ts +19 -0
  73. package/dist/components/layout/sidebar/NavMain.svelte.d.ts.map +1 -0
  74. package/dist/components/layout/sidebar/NavSecondary.svelte.d.ts +9 -0
  75. package/dist/components/layout/sidebar/NavSecondary.svelte.d.ts.map +1 -0
  76. package/dist/components/layout/sidebar/NavUser.svelte.d.ts +9 -0
  77. package/dist/components/layout/sidebar/NavUser.svelte.d.ts.map +1 -0
  78. package/dist/config.d.ts +3 -0
  79. package/dist/config.d.ts.map +1 -0
  80. package/dist/config.js +15 -0
  81. package/dist/db/adapters/index.d.ts +1 -0
  82. package/dist/db/adapters/index.d.ts.map +1 -0
  83. package/{src/db/adapters/index.ts → dist/db/adapters/index.js} +1 -0
  84. package/dist/db/index.d.ts +2 -0
  85. package/dist/db/index.d.ts.map +1 -0
  86. package/{src/db/index.ts → dist/db/index.js} +0 -1
  87. package/dist/db/interfaces/asset.d.ts +51 -0
  88. package/dist/db/interfaces/asset.d.ts.map +1 -0
  89. package/dist/db/interfaces/asset.js +1 -0
  90. package/dist/db/interfaces/document.d.ts +36 -0
  91. package/dist/db/interfaces/document.d.ts.map +1 -0
  92. package/dist/db/interfaces/document.js +1 -0
  93. package/dist/db/interfaces/index.d.ts +73 -0
  94. package/dist/db/interfaces/index.d.ts.map +1 -0
  95. package/dist/db/interfaces/index.js +1 -0
  96. package/dist/db/interfaces/organization.d.ts +27 -0
  97. package/dist/db/interfaces/organization.d.ts.map +1 -0
  98. package/dist/db/interfaces/organization.js +1 -0
  99. package/dist/db/interfaces/schema.d.ts +21 -0
  100. package/dist/db/interfaces/schema.d.ts.map +1 -0
  101. package/dist/db/interfaces/schema.js +1 -0
  102. package/dist/db/interfaces/user.d.ts +15 -0
  103. package/dist/db/interfaces/user.d.ts.map +1 -0
  104. package/dist/db/interfaces/user.js +1 -0
  105. package/dist/db/utils/reference-resolver.d.ts +18 -0
  106. package/dist/db/utils/reference-resolver.d.ts.map +1 -0
  107. package/dist/db/utils/reference-resolver.js +80 -0
  108. package/dist/define.d.ts +3 -0
  109. package/dist/define.d.ts.map +1 -0
  110. package/dist/define.js +4 -0
  111. package/dist/email/index.d.ts +2 -0
  112. package/dist/email/index.d.ts.map +1 -0
  113. package/{src/email/index.ts → dist/email/index.js} +0 -1
  114. package/dist/email/interfaces/email.d.ts +42 -0
  115. package/dist/email/interfaces/email.d.ts.map +1 -0
  116. package/dist/email/interfaces/email.js +1 -0
  117. package/dist/engine.d.ts +26 -0
  118. package/dist/engine.d.ts.map +1 -0
  119. package/dist/engine.js +66 -0
  120. package/dist/field-validation/rule.d.ts +51 -0
  121. package/dist/field-validation/rule.d.ts.map +1 -0
  122. package/dist/field-validation/rule.js +221 -0
  123. package/dist/field-validation/utils.d.ts +21 -0
  124. package/dist/field-validation/utils.d.ts.map +1 -0
  125. package/dist/field-validation/utils.js +66 -0
  126. package/dist/hooks.d.ts +23 -0
  127. package/dist/hooks.d.ts.map +1 -0
  128. package/dist/hooks.js +96 -0
  129. package/dist/index.d.ts +2 -0
  130. package/dist/index.d.ts.map +1 -0
  131. package/{src/index.ts → dist/index.js} +0 -1
  132. package/dist/routes/assets-by-id.d.ts +5 -0
  133. package/dist/routes/assets-by-id.d.ts.map +1 -0
  134. package/dist/routes/assets-by-id.js +138 -0
  135. package/dist/routes/assets-cdn.d.ts +3 -0
  136. package/dist/routes/assets-cdn.d.ts.map +1 -0
  137. package/dist/routes/assets-cdn.js +155 -0
  138. package/dist/routes/assets.d.ts +4 -0
  139. package/dist/routes/assets.d.ts.map +1 -0
  140. package/dist/routes/assets.js +94 -0
  141. package/dist/routes/documents-by-id.d.ts +5 -0
  142. package/dist/routes/documents-by-id.d.ts.map +1 -0
  143. package/dist/routes/documents-by-id.js +142 -0
  144. package/dist/routes/documents-publish.d.ts +4 -0
  145. package/dist/routes/documents-publish.d.ts.map +1 -0
  146. package/dist/routes/documents-publish.js +151 -0
  147. package/dist/routes/documents.d.ts +4 -0
  148. package/dist/routes/documents.d.ts.map +1 -0
  149. package/dist/routes/documents.js +131 -0
  150. package/dist/routes/index.d.ts +6 -0
  151. package/dist/routes/index.d.ts.map +1 -0
  152. package/{src/routes/index.ts → dist/routes/index.js} +0 -3
  153. package/dist/routes/organizations-by-id.d.ts +5 -0
  154. package/dist/routes/organizations-by-id.d.ts.map +1 -0
  155. package/dist/routes/organizations-by-id.js +187 -0
  156. package/dist/routes/organizations-invitations.d.ts +4 -0
  157. package/dist/routes/organizations-invitations.d.ts.map +1 -0
  158. package/dist/routes/organizations-invitations.js +125 -0
  159. package/dist/routes/organizations-members.d.ts +5 -0
  160. package/dist/routes/organizations-members.d.ts.map +1 -0
  161. package/dist/routes/organizations-members.js +206 -0
  162. package/dist/routes/organizations-switch.d.ts +3 -0
  163. package/dist/routes/organizations-switch.d.ts.map +1 -0
  164. package/dist/routes/organizations-switch.js +53 -0
  165. package/dist/routes/organizations.d.ts +4 -0
  166. package/dist/routes/organizations.d.ts.map +1 -0
  167. package/dist/routes/organizations.js +108 -0
  168. package/dist/routes/schemas-by-type.d.ts +3 -0
  169. package/dist/routes/schemas-by-type.d.ts.map +1 -0
  170. package/dist/routes/schemas-by-type.js +25 -0
  171. package/dist/routes/schemas.d.ts +3 -0
  172. package/dist/routes/schemas.d.ts.map +1 -0
  173. package/dist/routes/schemas.js +11 -0
  174. package/dist/routes-exports.d.ts +14 -0
  175. package/dist/routes-exports.d.ts.map +1 -0
  176. package/{src/routes-exports.ts → dist/routes-exports.js} +5 -28
  177. package/dist/schema-context.svelte.d.ts +10 -0
  178. package/dist/schema-context.svelte.d.ts.map +1 -0
  179. package/dist/schema-context.svelte.js +18 -0
  180. package/dist/schema-utils/cleanup.d.ts +21 -0
  181. package/dist/schema-utils/cleanup.d.ts.map +1 -0
  182. package/dist/schema-utils/cleanup.js +80 -0
  183. package/dist/schema-utils/index.d.ts +4 -0
  184. package/dist/schema-utils/index.d.ts.map +1 -0
  185. package/dist/schema-utils/utils.d.ts +30 -0
  186. package/dist/schema-utils/utils.d.ts.map +1 -0
  187. package/dist/schema-utils/utils.js +37 -0
  188. package/dist/schema-utils/validator.d.ts +6 -0
  189. package/dist/schema-utils/validator.d.ts.map +1 -0
  190. package/dist/schema-utils/validator.js +45 -0
  191. package/dist/server/index.d.ts +16 -0
  192. package/dist/server/index.d.ts.map +1 -0
  193. package/{src/server/index.ts → dist/server/index.js} +2 -14
  194. package/dist/services/asset-service.d.ts +86 -0
  195. package/dist/services/asset-service.d.ts.map +1 -0
  196. package/dist/services/asset-service.js +187 -0
  197. package/{src/services/index.ts → dist/services/index.d.ts} +1 -4
  198. package/dist/services/index.d.ts.map +1 -0
  199. package/dist/services/index.js +4 -0
  200. package/dist/storage/adapters/index.d.ts +2 -0
  201. package/dist/storage/adapters/index.d.ts.map +1 -0
  202. package/dist/storage/adapters/local-storage-adapter.d.ts +54 -0
  203. package/dist/storage/adapters/local-storage-adapter.d.ts.map +1 -0
  204. package/dist/storage/adapters/local-storage-adapter.js +187 -0
  205. package/dist/storage/index.d.ts +3 -0
  206. package/dist/storage/index.d.ts.map +1 -0
  207. package/{src/storage/index.ts → dist/storage/index.js} +0 -2
  208. package/dist/storage/interfaces/index.d.ts +2 -0
  209. package/dist/storage/interfaces/index.d.ts.map +1 -0
  210. package/dist/storage/interfaces/storage.d.ts +91 -0
  211. package/dist/storage/interfaces/storage.d.ts.map +1 -0
  212. package/dist/storage/interfaces/storage.js +1 -0
  213. package/dist/storage/providers/storage.d.ts +43 -0
  214. package/dist/storage/providers/storage.d.ts.map +1 -0
  215. package/dist/storage/providers/storage.js +64 -0
  216. package/dist/types/asset.d.ts +73 -0
  217. package/dist/types/asset.d.ts.map +1 -0
  218. package/dist/types/asset.js +2 -0
  219. package/dist/types/auth.d.ts +50 -0
  220. package/dist/types/auth.d.ts.map +1 -0
  221. package/dist/types/auth.js +41 -0
  222. package/dist/types/config.d.ts +47 -0
  223. package/dist/types/config.d.ts.map +1 -0
  224. package/dist/types/config.js +1 -0
  225. package/dist/types/document.d.ts +34 -0
  226. package/dist/types/document.d.ts.map +1 -0
  227. package/dist/types/document.js +1 -0
  228. package/dist/types/index.d.ts +9 -0
  229. package/dist/types/index.d.ts.map +1 -0
  230. package/dist/types/organization.d.ts +105 -0
  231. package/dist/types/organization.d.ts.map +1 -0
  232. package/dist/types/organization.js +3 -0
  233. package/dist/types/schemas.d.ts +114 -0
  234. package/dist/types/schemas.d.ts.map +1 -0
  235. package/dist/types/schemas.js +1 -0
  236. package/dist/types/sidebar.d.ts +33 -0
  237. package/dist/types/sidebar.d.ts.map +1 -0
  238. package/dist/types/sidebar.js +1 -0
  239. package/dist/types/user.d.ts +14 -0
  240. package/dist/types/user.d.ts.map +1 -0
  241. package/dist/types/user.js +1 -0
  242. package/dist/utils/content-hash.d.ts +22 -0
  243. package/dist/utils/content-hash.d.ts.map +1 -0
  244. package/dist/utils/content-hash.js +67 -0
  245. package/dist/utils/image-url.d.ts +88 -0
  246. package/dist/utils/image-url.d.ts.map +1 -0
  247. package/dist/utils/image-url.js +165 -0
  248. package/dist/utils/index.d.ts +6 -0
  249. package/dist/utils/index.d.ts.map +1 -0
  250. package/{src/utils/index.ts → dist/utils/index.js} +0 -3
  251. package/dist/utils/slug.d.ts +13 -0
  252. package/dist/utils/slug.d.ts.map +1 -0
  253. package/dist/utils/slug.js +30 -0
  254. package/package.json +12 -25
  255. package/src/api/assets.ts +0 -75
  256. package/src/api/client.ts +0 -150
  257. package/src/api/documents.ts +0 -102
  258. package/src/api/organizations.ts +0 -154
  259. package/src/api/types.ts +0 -34
  260. package/src/auth/auth-errors.ts +0 -23
  261. package/src/auth/auth-hooks.ts +0 -132
  262. package/src/auth/provider.ts +0 -25
  263. package/src/config.ts +0 -18
  264. package/src/db/interfaces/asset.ts +0 -61
  265. package/src/db/interfaces/document.ts +0 -53
  266. package/src/db/interfaces/index.ts +0 -98
  267. package/src/db/interfaces/organization.ts +0 -51
  268. package/src/db/interfaces/schema.ts +0 -13
  269. package/src/db/interfaces/user.ts +0 -16
  270. package/src/db/utils/reference-resolver.ts +0 -119
  271. package/src/define.ts +0 -7
  272. package/src/email/interfaces/email.ts +0 -45
  273. package/src/engine.ts +0 -85
  274. package/src/field-validation/rule.ts +0 -287
  275. package/src/field-validation/utils.ts +0 -91
  276. package/src/hooks.ts +0 -142
  277. package/src/lib/is-mobile.svelte.ts +0 -9
  278. package/src/lib/utils.ts +0 -13
  279. package/src/routes/assets-by-id.ts +0 -161
  280. package/src/routes/assets-cdn.ts +0 -185
  281. package/src/routes/assets.ts +0 -116
  282. package/src/routes/documents-by-id.ts +0 -188
  283. package/src/routes/documents-publish.ts +0 -211
  284. package/src/routes/documents.ts +0 -172
  285. package/src/routes/organizations-by-id.ts +0 -258
  286. package/src/routes/organizations-invitations.ts +0 -183
  287. package/src/routes/organizations-members.ts +0 -301
  288. package/src/routes/organizations-switch.ts +0 -74
  289. package/src/routes/organizations.ts +0 -146
  290. package/src/routes/schemas-by-type.ts +0 -35
  291. package/src/routes/schemas.ts +0 -19
  292. package/src/schema-context.svelte.ts +0 -24
  293. package/src/schema-utils/cleanup.ts +0 -116
  294. package/src/schema-utils/utils.ts +0 -47
  295. package/src/schema-utils/validator.ts +0 -58
  296. package/src/services/asset-service.ts +0 -256
  297. package/src/storage/adapters/local-storage-adapter.ts +0 -215
  298. package/src/storage/interfaces/storage.ts +0 -114
  299. package/src/storage/providers/storage.ts +0 -83
  300. package/src/types/asset.ts +0 -81
  301. package/src/types/auth.ts +0 -80
  302. package/src/types/config.ts +0 -45
  303. package/src/types/document.ts +0 -38
  304. package/src/types/organization.ts +0 -119
  305. package/src/types/schemas.ts +0 -151
  306. package/src/types/sidebar.ts +0 -37
  307. package/src/types/user.ts +0 -17
  308. package/src/utils/content-hash.ts +0 -75
  309. package/src/utils/image-url.ts +0 -204
  310. package/src/utils/slug.ts +0 -33
  311. /package/{src → dist}/app.d.ts +0 -0
  312. /package/{src → dist}/auth/MULTI_TENANCY_PLAN.md +0 -0
  313. /package/{src → dist}/components/admin/AdminLayout.svelte +0 -0
  314. /package/{src → dist}/components/admin/DocumentEditor.svelte +0 -0
  315. /package/{src → dist}/components/admin/DocumentTypesList.svelte +0 -0
  316. /package/{src → dist}/components/admin/ObjectModal.svelte +0 -0
  317. /package/{src → dist}/components/admin/SchemaField.svelte +0 -0
  318. /package/{src → dist}/components/admin/fields/ArrayField.svelte +0 -0
  319. /package/{src → dist}/components/admin/fields/BooleanField.svelte +0 -0
  320. /package/{src → dist}/components/admin/fields/ImageField.svelte +0 -0
  321. /package/{src → dist}/components/admin/fields/NumberField.svelte +0 -0
  322. /package/{src → dist}/components/admin/fields/ReferenceField.svelte +0 -0
  323. /package/{src → dist}/components/admin/fields/SlugField.svelte +0 -0
  324. /package/{src → dist}/components/admin/fields/StringField.svelte +0 -0
  325. /package/{src → dist}/components/admin/fields/TextareaField.svelte +0 -0
  326. /package/{src/components/fields/index.ts → dist/components/fields/index.js} +0 -0
  327. /package/{src → dist}/components/layout/OrganizationSwitcher.svelte +0 -0
  328. /package/{src → dist}/components/layout/sidebar/AppSidebar.svelte +0 -0
  329. /package/{src → dist}/components/layout/sidebar/NavMain.svelte +0 -0
  330. /package/{src → dist}/components/layout/sidebar/NavSecondary.svelte +0 -0
  331. /package/{src → dist}/components/layout/sidebar/NavUser.svelte +0 -0
  332. /package/{src → dist}/plugins/README.md +0 -0
  333. /package/{src/schema-utils/index.ts → dist/schema-utils/index.js} +0 -0
  334. /package/{src/storage/adapters/index.ts → dist/storage/adapters/index.js} +0 -0
  335. /package/{src/storage/interfaces/index.ts → dist/storage/interfaces/index.js} +0 -0
  336. /package/{src/types/index.ts → dist/types/index.js} +0 -0
@@ -1,16 +1,12 @@
1
1
  // Aphex CMS Components
2
2
  // All admin interface components -- is this being used?
3
-
4
3
  // Main admin app
5
4
  export { default as AdminApp } from './AdminApp.svelte';
6
-
7
5
  // Sidebar
8
6
  export { default as Sidebar } from './layout/Sidebar.svelte';
9
-
10
7
  // Admin components (will be migrated from your current structure)
11
8
  export { default as DocumentEditor } from './admin/DocumentEditor.svelte';
12
9
  export { default as DocumentTypesList } from './admin/DocumentTypesList.svelte';
13
10
  export { default as SchemaField } from './admin/SchemaField.svelte';
14
-
15
11
  // Field components
16
12
  export * from './fields/index.js';
@@ -0,0 +1,11 @@
1
+ import type { SidebarOrganization } from '../../types/sidebar.js';
2
+ type Props = {
3
+ organizations?: SidebarOrganization[];
4
+ activeOrganization?: SidebarOrganization;
5
+ canCreateOrganization?: boolean;
6
+ onOpenChange?: (open: boolean) => void;
7
+ };
8
+ declare const OrganizationSwitcher: import("svelte").Component<Props, {}, "">;
9
+ type OrganizationSwitcher = ReturnType<typeof OrganizationSwitcher>;
10
+ export default OrganizationSwitcher;
11
+ //# sourceMappingURL=OrganizationSwitcher.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrganizationSwitcher.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/layout/OrganizationSwitcher.svelte.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,KAAK,KAAK,GAAG;IACZ,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACtC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;IACzC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC,CAAC;AAqJH,QAAA,MAAM,oBAAoB,2CAAwC,CAAC;AACnE,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,eAAe,oBAAoB,CAAC"}
@@ -8,16 +8,16 @@
8
8
  import { page } from '$app/state';
9
9
  import type { SidebarData } from '../../types/sidebar.js';
10
10
  import AppSidebar from './sidebar/AppSidebar.svelte';
11
- import { activeTabState } from '$lib/stores/activeTab.svelte.js';
12
11
 
13
12
  type Props = {
14
13
  data: SidebarData;
15
14
  onSignOut?: () => void | Promise<void>;
16
15
  children: any;
17
16
  enableGraphiQL?: boolean;
17
+ activeTab?: { value: 'structure' | 'vision' };
18
18
  };
19
19
 
20
- let { data, onSignOut, children, enableGraphiQL = false }: Props = $props();
20
+ let { data, onSignOut, children, enableGraphiQL = false, activeTab }: Props = $props();
21
21
 
22
22
  // Only show tabs on the main /admin page
23
23
  const showTabs = $derived(page.url.pathname === '/admin');
@@ -38,15 +38,15 @@
38
38
  </div>
39
39
 
40
40
  <!-- Center: Structure/Vision Tabs (only on /admin page) -->
41
- {#if showTabs && activeTabState}
41
+ {#if showTabs && activeTab}
42
42
  <div
43
43
  class="bg-muted text-muted-foreground mx-auto inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]"
44
44
  >
45
45
  <button
46
46
  onclick={() => {
47
- if (activeTabState) activeTabState.value = 'structure';
47
+ if (activeTab) activeTab.value = 'structure';
48
48
  }}
49
- class="{activeTabState.value === 'structure'
49
+ class="{activeTab.value === 'structure'
50
50
  ? 'bg-background text-foreground shadow'
51
51
  : 'text-muted-foreground'} ring-offset-background focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"
52
52
  >
@@ -55,9 +55,9 @@
55
55
  {#if enableGraphiQL}
56
56
  <button
57
57
  onclick={() => {
58
- if (activeTabState) activeTabState.value = 'vision';
58
+ if (activeTab) activeTab.value = 'vision';
59
59
  }}
60
- class="{activeTabState.value === 'vision'
60
+ class="{activeTab.value === 'vision'
61
61
  ? 'bg-background text-foreground shadow'
62
62
  : 'text-muted-foreground'} ring-offset-background focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"
63
63
  >
@@ -0,0 +1,14 @@
1
+ import type { SidebarData } from '../../types/sidebar.js';
2
+ type Props = {
3
+ data: SidebarData;
4
+ onSignOut?: () => void | Promise<void>;
5
+ children: any;
6
+ enableGraphiQL?: boolean;
7
+ activeTab?: {
8
+ value: 'structure' | 'vision';
9
+ };
10
+ };
11
+ declare const Sidebar: import("svelte").Component<Props, {}, "">;
12
+ type Sidebar = ReturnType<typeof Sidebar>;
13
+ export default Sidebar;
14
+ //# sourceMappingURL=Sidebar.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/layout/Sidebar.svelte.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIzD,KAAK,KAAK,GAAG;IACZ,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,QAAQ,EAAE,GAAG,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,WAAW,GAAG,QAAQ,CAAA;KAAE,CAAC;CAC9C,CAAC;AAuEH,QAAA,MAAM,OAAO,2CAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { Sidebar } from '@aphexcms/ui/shadcn/sidebar';
2
+ import type { SidebarData } from '../../../types/sidebar.js';
3
+ import type { ComponentProps } from 'svelte';
4
+ type Props = ComponentProps<typeof Sidebar> & {
5
+ data: SidebarData;
6
+ onSignOut?: () => void | Promise<void>;
7
+ };
8
+ declare const AppSidebar: import("svelte").Component<Props, {}, "">;
9
+ type AppSidebar = ReturnType<typeof AppSidebar>;
10
+ export default AppSidebar;
11
+ //# sourceMappingURL=AppSidebar.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppSidebar.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/layout/sidebar/AppSidebar.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,OAAO,EAKP,MAAM,6BAA6B,CAAC;AAItC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAG5C,KAAK,KAAK,GAAG,cAAc,CAAC,OAAO,OAAO,CAAC,GAAG;IAC7C,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,CAAC;AAqDH,QAAA,MAAM,UAAU,2CAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type Icon as IconType } from 'lucide-svelte';
2
+ type NavItem = {
3
+ title: string;
4
+ url: string;
5
+ icon?: typeof IconType;
6
+ isActive?: boolean;
7
+ items?: {
8
+ title: string;
9
+ url: string;
10
+ }[];
11
+ };
12
+ type Props = {
13
+ items: NavItem[];
14
+ label?: string;
15
+ };
16
+ declare const NavMain: import("svelte").Component<Props, {}, "">;
17
+ type NavMain = ReturnType<typeof NavMain>;
18
+ export default NavMain;
19
+ //# sourceMappingURL=NavMain.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavMain.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/layout/sidebar/NavMain.svelte.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAgB,KAAK,IAAI,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGnE,KAAK,OAAO,GAAG;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,QAAQ,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;KACZ,EAAE,CAAC;CACJ,CAAC;AAEF,KAAK,KAAK,GAAG;IACZ,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAsEH,QAAA,MAAM,OAAO,2CAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
@@ -0,0 +1,9 @@
1
+ type Props = {
2
+ enableGraphiQL?: boolean;
3
+ activeTab?: 'structure' | 'vision';
4
+ onTabChange?: (tab: 'structure' | 'vision') => void;
5
+ };
6
+ declare const NavSecondary: import("svelte").Component<Props, {}, "activeTab">;
7
+ type NavSecondary = ReturnType<typeof NavSecondary>;
8
+ export default NavSecondary;
9
+ //# sourceMappingURL=NavSecondary.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavSecondary.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/layout/sidebar/NavSecondary.svelte.ts"],"names":[],"mappings":"AAcC,KAAK,KAAK,GAAG;IACZ,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC;CACpD,CAAC;AAkDH,QAAA,MAAM,YAAY,oDAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { AuthUser } from '../../../types/user.js';
2
+ type Props = {
3
+ user: AuthUser;
4
+ onSignOut?: () => void | Promise<void>;
5
+ };
6
+ declare const NavUser: import("svelte").Component<Props, {}, "">;
7
+ type NavUser = ReturnType<typeof NavUser>;
8
+ export default NavUser;
9
+ //# sourceMappingURL=NavUser.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavUser.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/layout/sidebar/NavUser.svelte.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGtD,KAAK,KAAK,GAAG;IACZ,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,CAAC;AA+DH,QAAA,MAAM,OAAO,2CAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CMSConfig } from './types/index.js';
2
+ export declare function createCMSConfig(config: CMSConfig): CMSConfig;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/lib/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAc5D"}
package/dist/config.js ADDED
@@ -0,0 +1,15 @@
1
+ export function createCMSConfig(config) {
2
+ return {
3
+ // Start with the user's config and apply defaults for missing properties
4
+ ...config,
5
+ storage: config.storage ?? null, // Default to null if not provided
6
+ customization: {
7
+ branding: {
8
+ title: 'Aphex CMS',
9
+ ...config.customization?.branding
10
+ },
11
+ ...config.customization
12
+ },
13
+ plugins: config.plugins ?? []
14
+ };
15
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/db/adapters/index.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  // Database adapters are now in separate packages
2
3
  // e.g., @aphexcms/postgresql-adapter, @aphexcms/mongodb-adapter
3
4
  // This file is kept for backwards compatibility but exports nothing - and potentially default adapters or something. maybe sqlite?
@@ -0,0 +1,2 @@
1
+ export * from './interfaces/index.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/db/index.ts"],"names":[],"mappings":"AAIA,cAAc,uBAAuB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  // Aphex CMS Database Layer
2
2
  // Ports and adapters for database operations
3
-
4
3
  // Interfaces
5
4
  export * from './interfaces/index.js';
@@ -0,0 +1,51 @@
1
+ import type { Asset } from '../../types/index.js';
2
+ export interface AssetFilters {
3
+ organizationId: string;
4
+ assetType?: 'image' | 'file';
5
+ mimeType?: string;
6
+ search?: string;
7
+ limit?: number;
8
+ offset?: number;
9
+ filterOrganizationIds?: string[];
10
+ }
11
+ export interface CreateAssetData {
12
+ organizationId: string;
13
+ assetType: 'image' | 'file';
14
+ filename: string;
15
+ originalFilename: string;
16
+ mimeType: string;
17
+ size: number;
18
+ url: string;
19
+ path: string;
20
+ storageAdapter: string;
21
+ width?: number;
22
+ height?: number;
23
+ metadata?: any;
24
+ title?: string;
25
+ description?: string;
26
+ alt?: string;
27
+ creditLine?: string;
28
+ createdBy?: string;
29
+ }
30
+ export interface UpdateAssetData {
31
+ url?: string;
32
+ title?: string;
33
+ description?: string;
34
+ alt?: string;
35
+ creditLine?: string;
36
+ updatedBy?: string;
37
+ }
38
+ /**
39
+ * Asset adapter interface for asset-specific operations
40
+ */
41
+ export interface AssetAdapter {
42
+ createAsset(data: CreateAssetData): Promise<Asset>;
43
+ findAssetById(organizationId: string, id: string): Promise<Asset | null>;
44
+ findAssets(organizationId: string, filters?: Omit<AssetFilters, 'organizationId'>): Promise<Asset[]>;
45
+ updateAsset(organizationId: string, id: string, data: UpdateAssetData): Promise<Asset | null>;
46
+ deleteAsset(organizationId: string, id: string): Promise<boolean>;
47
+ countAssets(organizationId: string): Promise<number>;
48
+ countAssetsByType(organizationId: string): Promise<Record<string, number>>;
49
+ getTotalAssetsSize(organizationId: string): Promise<number>;
50
+ }
51
+ //# sourceMappingURL=asset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/lib/db/interfaces/asset.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,WAAW,YAAY;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAE5B,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACnD,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACzE,UAAU,CACT,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAC5C,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACpB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC9F,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGlE,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5D"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,36 @@
1
+ import type { Document } from '../../types/index.js';
2
+ export interface DocumentFilters {
3
+ organizationId: string;
4
+ type?: string;
5
+ status?: string;
6
+ limit?: number;
7
+ offset?: number;
8
+ depth?: number;
9
+ filterOrganizationIds?: string[];
10
+ }
11
+ export interface CreateDocumentData {
12
+ organizationId: string;
13
+ type: string;
14
+ draftData: any;
15
+ createdBy?: string;
16
+ }
17
+ export interface UpdateDocumentData {
18
+ draftData?: any;
19
+ status?: string;
20
+ updatedBy?: string;
21
+ }
22
+ /**
23
+ * Document adapter interface for document-specific operations
24
+ */
25
+ export interface DocumentAdapter {
26
+ findManyDoc(organizationId: string, filters?: Omit<DocumentFilters, 'organizationId'>): Promise<Document[]>;
27
+ findByDocId(organizationId: string, id: string, depth?: number): Promise<Document | null>;
28
+ createDocument(data: CreateDocumentData): Promise<Document>;
29
+ updateDocDraft(organizationId: string, id: string, data: any, updatedBy?: string): Promise<Document | null>;
30
+ deleteDocById(organizationId: string, id: string): Promise<boolean>;
31
+ publishDoc(organizationId: string, id: string): Promise<Document | null>;
32
+ unpublishDoc(organizationId: string, id: string): Promise<Document | null>;
33
+ countDocsByType(organizationId: string, type: string): Promise<number>;
34
+ getDocCountsByType(organizationId: string): Promise<Record<string, number>>;
35
+ }
36
+ //# sourceMappingURL=document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/lib/db/interfaces/document.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,eAAe;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAClC,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAE/B,WAAW,CACV,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,GAC/C,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvB,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC1F,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5D,cAAc,CACb,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,GAAG,EACT,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAC5B,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGpE,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACzE,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAG3E,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC5E"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,73 @@
1
+ import type { DocumentAdapter } from './document.js';
2
+ import type { AssetAdapter } from './asset.js';
3
+ import type { UserProfileAdapter } from './user.js';
4
+ import type { SchemaAdapter } from './schema.js';
5
+ import type { OrganizationAdapter } from './organization.js';
6
+ export type { DocumentAdapter, DocumentFilters, CreateDocumentData, UpdateDocumentData } from './document.js';
7
+ export type { AssetAdapter, CreateAssetData, UpdateAssetData } from './asset.js';
8
+ export type { UserProfileAdapter, NewUserProfileData } from './user.js';
9
+ export type { SchemaAdapter } from './schema.js';
10
+ export type { OrganizationAdapter } from './organization.js';
11
+ /**
12
+ * Combined database adapter interface
13
+ * Extends all entity-specific adapters for full database functionality
14
+ */
15
+ export interface DatabaseAdapter extends DocumentAdapter, AssetAdapter, UserProfileAdapter, SchemaAdapter, OrganizationAdapter {
16
+ connect?(): Promise<void>;
17
+ disconnect?(): Promise<void>;
18
+ isHealthy(): Promise<boolean>;
19
+ /**
20
+ * Initialize RLS (enable/disable) on tables - call after migrations
21
+ */
22
+ initializeRLS?(): Promise<void>;
23
+ /**
24
+ * Execute a function within a transaction with organization context set for RLS
25
+ * Ensures proper isolation with connection pooling
26
+ */
27
+ withOrgContext?<T>(organizationId: string, fn: () => Promise<T>): Promise<T>;
28
+ /**
29
+ * Get all child organizations for a parent (for hierarchy support)
30
+ */
31
+ getChildOrganizations?(parentOrganizationId: string): Promise<string[]>;
32
+ /**
33
+ * Check if any user profiles exist in the system (for first-user detection)
34
+ */
35
+ hasAnyUserProfiles?(): Promise<boolean>;
36
+ }
37
+ /**
38
+ * Database provider factory interface
39
+ * Providers are pre-configured and create adapters on demand
40
+ */
41
+ export interface DatabaseProvider {
42
+ name: string;
43
+ createAdapter(): DatabaseAdapter;
44
+ }
45
+ /**
46
+ * Generic database configuration
47
+ */
48
+ export interface DatabaseConfig {
49
+ connectionString?: string;
50
+ client?: any;
51
+ options?: {
52
+ maxConnections?: number;
53
+ timeout?: number;
54
+ ssl?: boolean;
55
+ [key: string]: any;
56
+ };
57
+ }
58
+ /**
59
+ * Database transaction interface (optional for advanced providers)
60
+ */
61
+ export interface DatabaseTransaction {
62
+ commit(): Promise<void>;
63
+ rollback(): Promise<void>;
64
+ isActive(): boolean;
65
+ }
66
+ /**
67
+ * Extended database adapter with transaction support
68
+ */
69
+ export interface TransactionalDatabaseAdapter extends DatabaseAdapter {
70
+ beginTransaction(): Promise<DatabaseTransaction>;
71
+ withTransaction<T>(fn: (adapter: DatabaseAdapter) => Promise<T>): Promise<T>;
72
+ }
73
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/db/interfaces/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,YAAY,EACX,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,eAChB,SAAQ,eAAe,EACtB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,mBAAmB;IAEpB,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAG7B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAG9B;;OAEG;IACH,aAAa,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;;OAGG;IACH,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7E;;OAEG;IACH,qBAAqB,CAAC,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAExE;;OAEG;IACH,kBAAkB,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,IAAI,eAAe,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE;QACT,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACnB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,QAAQ,IAAI,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,eAAe;IACpE,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjD,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7E"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,27 @@
1
+ import type { Organization, NewOrganization, OrganizationMember, NewOrganizationMember, Invitation, NewInvitation, UserSession, OrganizationMembership } from '../../types/organization.js';
2
+ export interface OrganizationAdapter {
3
+ createOrganization(data: NewOrganization): Promise<Organization>;
4
+ findOrganizationById(id: string): Promise<Organization | null>;
5
+ findOrganizationBySlug(slug: string): Promise<Organization | null>;
6
+ updateOrganization(id: string, data: Partial<Omit<Organization, 'id' | 'createdAt' | 'createdBy'>>): Promise<Organization | null>;
7
+ deleteOrganization(id: string): Promise<boolean>;
8
+ addMember(data: NewOrganizationMember): Promise<OrganizationMember>;
9
+ removeMember(organizationId: string, userId: string): Promise<boolean>;
10
+ removeAllMembers(organizationId: string): Promise<boolean>;
11
+ updateMemberRole(organizationId: string, userId: string, role: 'owner' | 'admin' | 'editor' | 'viewer'): Promise<OrganizationMember | null>;
12
+ findUserMembership(userId: string, organizationId: string): Promise<OrganizationMember | null>;
13
+ findUserOrganizations(userId: string): Promise<OrganizationMembership[]>;
14
+ findOrganizationMembers(organizationId: string): Promise<OrganizationMember[]>;
15
+ createInvitation(data: NewInvitation): Promise<Invitation>;
16
+ findInvitationByToken(token: string): Promise<Invitation | null>;
17
+ findOrganizationInvitations(organizationId: string): Promise<Invitation[]>;
18
+ findInvitationsByEmail(email: string): Promise<Invitation[]>;
19
+ acceptInvitation(token: string, userId: string): Promise<OrganizationMember>;
20
+ deleteInvitation(id: string): Promise<boolean>;
21
+ removeAllInvitations(organizationId: string): Promise<boolean>;
22
+ cleanupExpiredInvitations(): Promise<number>;
23
+ updateUserSession(userId: string, organizationId: string): Promise<void>;
24
+ findUserSession(userId: string): Promise<UserSession | null>;
25
+ deleteUserSession(userId: string): Promise<boolean>;
26
+ }
27
+ //# sourceMappingURL=organization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../../src/lib/db/interfaces/organization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EACV,aAAa,EACb,WAAW,EACX,sBAAsB,EACtB,MAAM,6BAA6B,CAAC;AAErC,MAAM,WAAW,mBAAmB;IAEnC,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjE,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC/D,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACnE,kBAAkB,CACjB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,CAAC,GACjE,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAChC,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGjD,SAAS,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpE,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,gBAAgB,CACf,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAC3C,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACtC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IAC/F,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACzE,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAG/E,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3D,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACjE,2BAA2B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3E,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7D,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7E,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAG7C,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC7D,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ import type { SchemaType } from '../../types/index.js';
2
+ /**
3
+ * Defines database operations for managing schemas.
4
+ */
5
+ export interface SchemaAdapter {
6
+ registerSchemaType(schemaType: SchemaType): Promise<void>;
7
+ getSchemaType(name: string): Promise<SchemaType | null>;
8
+ listSchemas(): Promise<SchemaType[]>;
9
+ listDocumentTypes(): Promise<Array<{
10
+ name: string;
11
+ title: string;
12
+ description?: string;
13
+ }>>;
14
+ listObjectTypes(): Promise<Array<{
15
+ name: string;
16
+ title: string;
17
+ description?: string;
18
+ }>>;
19
+ deleteSchemaType(name: string): Promise<void>;
20
+ }
21
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/lib/db/interfaces/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACxD,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACrC,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC3F,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACzF,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { UserProfile } from '../../types/index.js';
2
+ export interface NewUserProfileData {
3
+ userId: string;
4
+ role?: 'super_admin' | 'admin' | 'editor' | 'viewer';
5
+ preferences?: Record<string, any>;
6
+ }
7
+ /**
8
+ * Defines database operations for managing user profiles.
9
+ */
10
+ export interface UserProfileAdapter {
11
+ createUserProfile(data: NewUserProfileData): Promise<UserProfile>;
12
+ findUserProfileById(userId: string): Promise<UserProfile | null>;
13
+ deleteUserProfile(userId: string): Promise<boolean>;
14
+ }
15
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/lib/db/interfaces/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAClE,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACjE,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import type { Document } from '../../types/index.js';
2
+ import type { DocumentAdapter } from '../interfaces/document.js';
3
+ interface ResolveOptions {
4
+ depth: number;
5
+ currentDepth?: number;
6
+ visited?: Set<string>;
7
+ }
8
+ /**
9
+ * Recursively resolves reference fields in a document
10
+ * @param document - The document to resolve references for
11
+ * @param adapter - Document adapter for fetching referenced documents
12
+ * @param organizationId - Organization ID for filtering referenced documents
13
+ * @param options - Resolution options (depth, tracking)
14
+ * @returns Document with resolved references
15
+ */
16
+ export declare function resolveReferences(document: Document, adapter: DocumentAdapter, organizationId: string, options: ResolveOptions): Promise<Document>;
17
+ export {};
18
+ //# sourceMappingURL=reference-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-resolver.d.ts","sourceRoot":"","sources":["../../../src/lib/db/utils/reference-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,UAAU,cAAc;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,QAAQ,CAAC,CA2CnB"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Recursively resolves reference fields in a document
3
+ * @param document - The document to resolve references for
4
+ * @param adapter - Document adapter for fetching referenced documents
5
+ * @param organizationId - Organization ID for filtering referenced documents
6
+ * @param options - Resolution options (depth, tracking)
7
+ * @returns Document with resolved references
8
+ */
9
+ export async function resolveReferences(document, adapter, organizationId, options) {
10
+ const { depth, currentDepth = 0, visited = new Set() } = options;
11
+ // Base case: no more depth to resolve or already visited (circular reference)
12
+ if (currentDepth >= depth || visited.has(document.id)) {
13
+ return document;
14
+ }
15
+ // Mark as visited
16
+ visited.add(document.id);
17
+ // Clone the document to avoid mutations
18
+ const resolvedDocument = { ...document };
19
+ // Resolve references in draftData
20
+ if (document.draftData) {
21
+ resolvedDocument.draftData = await resolveDataReferences(document.draftData, adapter, organizationId, {
22
+ depth,
23
+ currentDepth: currentDepth + 1,
24
+ visited
25
+ });
26
+ }
27
+ // Resolve references in publishedData
28
+ if (document.publishedData) {
29
+ resolvedDocument.publishedData = await resolveDataReferences(document.publishedData, adapter, organizationId, {
30
+ depth,
31
+ currentDepth: currentDepth + 1,
32
+ visited
33
+ });
34
+ }
35
+ return resolvedDocument;
36
+ }
37
+ /**
38
+ * Resolves references within document data (recursive)
39
+ */
40
+ async function resolveDataReferences(data, adapter, organizationId, options) {
41
+ if (!data || typeof data !== 'object') {
42
+ return data;
43
+ }
44
+ // Handle arrays
45
+ if (Array.isArray(data)) {
46
+ return Promise.all(data.map((item) => resolveDataReferences(item, adapter, organizationId, options)));
47
+ }
48
+ // Clone object
49
+ const resolved = {};
50
+ for (const [key, value] of Object.entries(data)) {
51
+ // Check if this looks like a reference field (string ID)
52
+ if (typeof value === 'string' && key !== '_type' && key !== '_key') {
53
+ // Try to fetch the referenced document
54
+ try {
55
+ const referencedDoc = await adapter.findByDocId(organizationId, value);
56
+ if (referencedDoc) {
57
+ // Recursively resolve nested references
58
+ resolved[key] = await resolveReferences(referencedDoc, adapter, organizationId, options);
59
+ }
60
+ else {
61
+ // Reference not found, keep the ID
62
+ resolved[key] = value;
63
+ }
64
+ }
65
+ catch (error) {
66
+ // On error, keep the original value
67
+ resolved[key] = value;
68
+ }
69
+ }
70
+ else if (value && typeof value === 'object') {
71
+ // Recursively resolve nested objects/arrays
72
+ resolved[key] = await resolveDataReferences(value, adapter, organizationId, options);
73
+ }
74
+ else {
75
+ // Primitive value, keep as is
76
+ resolved[key] = value;
77
+ }
78
+ }
79
+ return resolved;
80
+ }
@@ -0,0 +1,3 @@
1
+ import type { CMSConfig } from './types/index.js';
2
+ export declare function defineCMSConfig(config: CMSConfig): CMSConfig;
3
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/lib/define.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAE5D"}
package/dist/define.js ADDED
@@ -0,0 +1,4 @@
1
+ // CMS config helper
2
+ export function defineCMSConfig(config) {
3
+ return config;
4
+ }