@aphexcms/cms-core 0.2.2 → 1.0.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 (616) hide show
  1. package/dist/api/api-keys.d.ts +37 -0
  2. package/dist/api/api-keys.d.ts.map +1 -0
  3. package/dist/api/api-keys.js +20 -0
  4. package/dist/api/assets.d.ts +27 -0
  5. package/dist/api/assets.d.ts.map +1 -1
  6. package/dist/api/assets.js +22 -1
  7. package/dist/api/index.d.ts +8 -0
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/api/index.js +4 -0
  10. package/dist/api/instance.d.ts +17 -0
  11. package/dist/api/instance.d.ts.map +1 -0
  12. package/dist/api/instance.js +21 -0
  13. package/dist/api/invitations.d.ts +37 -0
  14. package/dist/api/invitations.d.ts.map +1 -0
  15. package/dist/api/invitations.js +27 -0
  16. package/dist/api/organizations.d.ts +7 -0
  17. package/dist/api/organizations.d.ts.map +1 -1
  18. package/dist/api/organizations.js +7 -0
  19. package/dist/api/types.d.ts +1 -1
  20. package/dist/api/types.d.ts.map +1 -1
  21. package/dist/api/user.d.ts +23 -0
  22. package/dist/api/user.d.ts.map +1 -0
  23. package/dist/api/user.js +20 -0
  24. package/dist/auth/auth-errors.d.ts +1 -1
  25. package/dist/auth/auth-errors.d.ts.map +1 -1
  26. package/dist/auth/auth-hooks.d.ts.map +1 -1
  27. package/dist/auth/auth-hooks.js +39 -23
  28. package/dist/auth/provider.d.ts +2 -2
  29. package/dist/auth/provider.d.ts.map +1 -1
  30. package/dist/cli/generate-types.d.ts +14 -0
  31. package/dist/cli/generate-types.d.ts.map +1 -0
  32. package/dist/cli/generate-types.js +15 -7
  33. package/dist/cli/generate-types.js.map +1 -0
  34. package/dist/cli/index.d.ts +7 -0
  35. package/dist/cli/index.d.ts.map +1 -0
  36. package/dist/cli/index.js +1 -0
  37. package/dist/cli/index.js.map +1 -0
  38. package/dist/client/index.d.ts +1 -0
  39. package/dist/client/index.d.ts.map +1 -1
  40. package/dist/client/index.js +2 -0
  41. package/dist/components/AdminApp.svelte +160 -63
  42. package/dist/components/AdminApp.svelte.d.ts +1 -1
  43. package/dist/components/AdminApp.svelte.d.ts.map +1 -1
  44. package/dist/components/admin/AdminLayout.svelte.d.ts +3 -3
  45. package/dist/components/admin/AssetBrowserModal.svelte +66 -0
  46. package/dist/components/admin/AssetBrowserModal.svelte.d.ts +15 -0
  47. package/dist/components/admin/AssetBrowserModal.svelte.d.ts.map +1 -0
  48. package/dist/components/admin/DocumentEditor.svelte +137 -69
  49. package/dist/components/admin/DocumentEditor.svelte.d.ts +1 -1
  50. package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -1
  51. package/dist/components/admin/DocumentsSkeleton.svelte +40 -0
  52. package/dist/components/admin/DocumentsSkeleton.svelte.d.ts +7 -0
  53. package/dist/components/admin/DocumentsSkeleton.svelte.d.ts.map +1 -0
  54. package/dist/components/admin/MediaBrowser.svelte +1398 -0
  55. package/dist/components/admin/MediaBrowser.svelte.d.ts +23 -0
  56. package/dist/components/admin/MediaBrowser.svelte.d.ts.map +1 -0
  57. package/dist/components/admin/ObjectModal.svelte +3 -4
  58. package/dist/components/admin/ObjectModal.svelte.d.ts +1 -1
  59. package/dist/components/admin/ObjectModal.svelte.d.ts.map +1 -1
  60. package/dist/components/admin/SchemaField.svelte +109 -81
  61. package/dist/components/admin/SchemaField.svelte.d.ts +1 -1
  62. package/dist/components/admin/SchemaField.svelte.d.ts.map +1 -1
  63. package/dist/components/admin/fields/ArrayField.svelte +611 -277
  64. package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +1 -1
  65. package/dist/components/admin/fields/DateField.svelte +3 -2
  66. package/dist/components/admin/fields/DateField.svelte.d.ts.map +1 -1
  67. package/dist/components/admin/fields/DateTimeField.svelte +3 -2
  68. package/dist/components/admin/fields/DateTimeField.svelte.d.ts.map +1 -1
  69. package/dist/components/admin/fields/ImageField.svelte +217 -120
  70. package/dist/components/admin/fields/ImageField.svelte.d.ts +1 -0
  71. package/dist/components/admin/fields/ImageField.svelte.d.ts.map +1 -1
  72. package/dist/components/admin/fields/ReferenceField.svelte +11 -6
  73. package/dist/components/admin/fields/ReferenceField.svelte.d.ts.map +1 -1
  74. package/dist/components/admin/fields/StringField.svelte +2 -1
  75. package/dist/components/admin/fields/StringField.svelte.d.ts.map +1 -1
  76. package/dist/components/index.d.ts +2 -0
  77. package/dist/components/index.d.ts.map +1 -1
  78. package/dist/components/index.js +2 -0
  79. package/dist/components/layout/OrganizationSwitcher.svelte +109 -45
  80. package/dist/components/layout/OrganizationSwitcher.svelte.d.ts.map +1 -1
  81. package/dist/components/layout/Sidebar.svelte +36 -14
  82. package/dist/components/layout/Sidebar.svelte.d.ts +2 -1
  83. package/dist/components/layout/Sidebar.svelte.d.ts.map +1 -1
  84. package/dist/components/layout/sidebar/AppSidebar.svelte +1 -1
  85. package/dist/components/layout/sidebar/NavMain.svelte +1 -1
  86. package/dist/components/layout/sidebar/NavMain.svelte.d.ts +1 -1
  87. package/dist/components/layout/sidebar/NavMain.svelte.d.ts.map +1 -1
  88. package/dist/components/layout/sidebar/NavSecondary.svelte +3 -3
  89. package/dist/components/layout/sidebar/NavUser.svelte +22 -10
  90. package/dist/components/layout/sidebar/NavUser.svelte.d.ts +2 -2
  91. package/dist/components/layout/sidebar/NavUser.svelte.d.ts.map +1 -1
  92. package/dist/db/interfaces/document.d.ts +20 -0
  93. package/dist/db/interfaces/document.d.ts.map +1 -1
  94. package/dist/db/interfaces/index.d.ts +3 -1
  95. package/dist/db/interfaces/index.d.ts.map +1 -1
  96. package/dist/db/interfaces/instance.d.ts +7 -0
  97. package/dist/db/interfaces/instance.d.ts.map +1 -0
  98. package/dist/db/interfaces/instance.js +1 -0
  99. package/dist/db/interfaces/organization.d.ts +1 -0
  100. package/dist/db/interfaces/organization.d.ts.map +1 -1
  101. package/dist/engine.d.ts.map +1 -1
  102. package/dist/engine.js +4 -3
  103. package/dist/field-validation/date-utils.d.ts.map +1 -1
  104. package/dist/field-validation/date-utils.js +12 -11
  105. package/dist/field-validation/rule.d.ts.map +1 -1
  106. package/dist/field-validation/rule.js +11 -10
  107. package/dist/field-validation/utils.d.ts.map +1 -1
  108. package/dist/field-validation/utils.js +16 -15
  109. package/dist/graphql/index.d.ts +23 -0
  110. package/dist/graphql/index.d.ts.map +1 -0
  111. package/dist/graphql/index.js +85 -0
  112. package/dist/graphql/resolvers.d.ts +4 -0
  113. package/dist/graphql/resolvers.d.ts.map +1 -0
  114. package/dist/graphql/resolvers.js +542 -0
  115. package/dist/graphql/schema.d.ts +3 -0
  116. package/dist/graphql/schema.d.ts.map +1 -0
  117. package/dist/graphql/schema.js +356 -0
  118. package/dist/hooks.d.ts +2 -0
  119. package/dist/hooks.d.ts.map +1 -1
  120. package/dist/hooks.js +62 -9
  121. package/dist/lib/api/api-keys.d.ts +37 -0
  122. package/dist/lib/api/api-keys.d.ts.map +1 -0
  123. package/dist/lib/api/api-keys.js +21 -0
  124. package/dist/lib/api/api-keys.js.map +1 -0
  125. package/dist/lib/api/assets.d.ts +75 -0
  126. package/dist/lib/api/assets.d.ts.map +1 -0
  127. package/dist/lib/api/assets.js +74 -0
  128. package/dist/lib/api/assets.js.map +1 -0
  129. package/dist/lib/api/client.d.ts +37 -0
  130. package/dist/lib/api/client.d.ts.map +1 -0
  131. package/dist/lib/api/client.js +132 -0
  132. package/dist/lib/api/client.js.map +1 -0
  133. package/dist/lib/api/documents.d.ts +57 -0
  134. package/dist/lib/api/documents.d.ts.map +1 -0
  135. package/dist/lib/api/documents.js +86 -0
  136. package/dist/lib/api/documents.js.map +1 -0
  137. package/dist/lib/api/index.d.ts +15 -0
  138. package/dist/lib/api/index.d.ts.map +1 -0
  139. package/dist/lib/api/index.js +10 -0
  140. package/dist/lib/api/index.js.map +1 -0
  141. package/dist/lib/api/instance.d.ts +17 -0
  142. package/dist/lib/api/instance.d.ts.map +1 -0
  143. package/dist/lib/api/instance.js +22 -0
  144. package/dist/lib/api/instance.js.map +1 -0
  145. package/dist/lib/api/invitations.d.ts +37 -0
  146. package/dist/lib/api/invitations.d.ts.map +1 -0
  147. package/dist/lib/api/invitations.js +28 -0
  148. package/dist/lib/api/invitations.js.map +1 -0
  149. package/dist/lib/api/organizations.d.ts +108 -0
  150. package/dist/lib/api/organizations.d.ts.map +1 -0
  151. package/dist/lib/api/organizations.js +100 -0
  152. package/dist/lib/api/organizations.js.map +1 -0
  153. package/dist/lib/api/types.d.ts +47 -0
  154. package/dist/lib/api/types.d.ts.map +1 -0
  155. package/dist/lib/api/types.js +2 -0
  156. package/dist/lib/api/types.js.map +1 -0
  157. package/dist/lib/api/user.d.ts +23 -0
  158. package/dist/lib/api/user.d.ts.map +1 -0
  159. package/dist/lib/api/user.js +21 -0
  160. package/dist/lib/api/user.js.map +1 -0
  161. package/dist/lib/auth/auth-errors.d.ts +7 -0
  162. package/dist/lib/auth/auth-errors.d.ts.map +1 -0
  163. package/dist/lib/auth/auth-errors.js +14 -0
  164. package/dist/lib/auth/auth-errors.js.map +1 -0
  165. package/dist/lib/auth/auth-hooks.d.ts +6 -0
  166. package/dist/lib/auth/auth-hooks.d.ts.map +1 -0
  167. package/dist/lib/auth/auth-hooks.js +139 -0
  168. package/dist/lib/auth/auth-hooks.js.map +1 -0
  169. package/dist/lib/auth/provider.d.ts +17 -0
  170. package/dist/lib/auth/provider.d.ts.map +1 -0
  171. package/dist/lib/auth/provider.js +1 -0
  172. package/dist/lib/auth/provider.js.map +1 -0
  173. package/dist/lib/client/index.d.ts +24 -0
  174. package/dist/lib/client/index.d.ts.map +1 -0
  175. package/dist/lib/client/index.js +33 -0
  176. package/dist/lib/client/index.js.map +1 -0
  177. package/dist/lib/components/fields/index.d.ts +9 -0
  178. package/dist/lib/components/fields/index.d.ts.map +1 -0
  179. package/dist/lib/components/fields/index.js +10 -0
  180. package/dist/lib/components/fields/index.js.map +1 -0
  181. package/dist/lib/components/index.d.ts +8 -0
  182. package/dist/lib/components/index.d.ts.map +1 -0
  183. package/dist/lib/components/index.js +14 -0
  184. package/dist/lib/components/index.js.map +1 -0
  185. package/dist/lib/config.d.ts +3 -0
  186. package/dist/lib/config.d.ts.map +1 -0
  187. package/dist/lib/config.js +16 -0
  188. package/dist/lib/config.js.map +1 -0
  189. package/dist/lib/db/adapters/index.d.ts +1 -0
  190. package/dist/lib/db/adapters/index.d.ts.map +1 -0
  191. package/dist/lib/db/adapters/index.js +5 -0
  192. package/dist/lib/db/adapters/index.js.map +1 -0
  193. package/dist/lib/db/index.d.ts +2 -0
  194. package/dist/lib/db/index.d.ts.map +1 -0
  195. package/dist/lib/db/index.js +1 -0
  196. package/dist/lib/db/index.js.map +1 -0
  197. package/dist/lib/db/interfaces/asset.d.ts +73 -0
  198. package/dist/lib/db/interfaces/asset.d.ts.map +1 -0
  199. package/dist/lib/db/interfaces/asset.js +1 -0
  200. package/dist/lib/db/interfaces/asset.js.map +1 -0
  201. package/dist/lib/db/interfaces/document.d.ts +79 -0
  202. package/dist/lib/db/interfaces/document.d.ts.map +1 -0
  203. package/dist/lib/db/interfaces/document.js +1 -0
  204. package/dist/lib/db/interfaces/document.js.map +1 -0
  205. package/dist/lib/db/interfaces/index.d.ts +76 -0
  206. package/dist/lib/db/interfaces/index.d.ts.map +1 -0
  207. package/dist/lib/db/interfaces/index.js +1 -0
  208. package/dist/lib/db/interfaces/index.js.map +1 -0
  209. package/dist/lib/db/interfaces/instance.d.ts +7 -0
  210. package/dist/lib/db/interfaces/instance.d.ts.map +1 -0
  211. package/dist/lib/db/interfaces/instance.js +2 -0
  212. package/dist/lib/db/interfaces/instance.js.map +1 -0
  213. package/dist/lib/db/interfaces/organization.d.ts +28 -0
  214. package/dist/lib/db/interfaces/organization.d.ts.map +1 -0
  215. package/dist/lib/db/interfaces/organization.js +1 -0
  216. package/dist/lib/db/interfaces/organization.js.map +1 -0
  217. package/dist/lib/db/interfaces/schema.d.ts +21 -0
  218. package/dist/lib/db/interfaces/schema.d.ts.map +1 -0
  219. package/dist/lib/db/interfaces/schema.js +1 -0
  220. package/dist/lib/db/interfaces/schema.js.map +1 -0
  221. package/dist/lib/db/interfaces/user.d.ts +17 -0
  222. package/dist/lib/db/interfaces/user.d.ts.map +1 -0
  223. package/dist/lib/db/interfaces/user.js +1 -0
  224. package/dist/lib/db/interfaces/user.js.map +1 -0
  225. package/dist/lib/db/utils/reference-resolver.d.ts +18 -0
  226. package/dist/lib/db/utils/reference-resolver.d.ts.map +1 -0
  227. package/dist/lib/db/utils/reference-resolver.js +81 -0
  228. package/dist/lib/db/utils/reference-resolver.js.map +1 -0
  229. package/dist/lib/define.d.ts +3 -0
  230. package/dist/lib/define.d.ts.map +1 -0
  231. package/dist/lib/define.js +5 -0
  232. package/dist/lib/define.js.map +1 -0
  233. package/dist/lib/email/index.d.ts +2 -0
  234. package/dist/lib/email/index.d.ts.map +1 -0
  235. package/dist/lib/email/index.js +1 -0
  236. package/dist/lib/email/index.js.map +1 -0
  237. package/dist/lib/email/interfaces/email.d.ts +42 -0
  238. package/dist/lib/email/interfaces/email.d.ts.map +1 -0
  239. package/dist/lib/email/interfaces/email.js +1 -0
  240. package/dist/lib/email/interfaces/email.js.map +1 -0
  241. package/dist/lib/engine.d.ts +26 -0
  242. package/dist/lib/engine.d.ts.map +1 -0
  243. package/dist/lib/engine.js +71 -0
  244. package/dist/lib/engine.js.map +1 -0
  245. package/dist/lib/field-validation/date-utils.d.ts +30 -0
  246. package/dist/lib/field-validation/date-utils.d.ts.map +1 -0
  247. package/dist/lib/field-validation/date-utils.js +13 -11
  248. package/dist/lib/field-validation/date-utils.js.map +1 -0
  249. package/dist/lib/field-validation/rule.d.ts +55 -0
  250. package/dist/lib/field-validation/rule.d.ts.map +1 -0
  251. package/dist/lib/field-validation/rule.js +12 -10
  252. package/dist/lib/field-validation/rule.js.map +1 -0
  253. package/dist/lib/field-validation/utils.d.ts +43 -0
  254. package/dist/lib/field-validation/utils.d.ts.map +1 -0
  255. package/dist/lib/field-validation/utils.js +17 -15
  256. package/dist/lib/field-validation/utils.js.map +1 -0
  257. package/dist/lib/graphql/index.d.ts +23 -0
  258. package/dist/lib/graphql/index.d.ts.map +1 -0
  259. package/dist/lib/graphql/index.js +86 -0
  260. package/dist/lib/graphql/index.js.map +1 -0
  261. package/dist/lib/graphql/resolvers.d.ts +4 -0
  262. package/dist/lib/graphql/resolvers.d.ts.map +1 -0
  263. package/dist/lib/graphql/resolvers.js +543 -0
  264. package/dist/lib/graphql/resolvers.js.map +1 -0
  265. package/dist/lib/graphql/schema.d.ts +3 -0
  266. package/dist/lib/graphql/schema.d.ts.map +1 -0
  267. package/dist/lib/graphql/schema.js +357 -0
  268. package/dist/lib/graphql/schema.js.map +1 -0
  269. package/dist/lib/hooks.d.ts +27 -0
  270. package/dist/lib/hooks.d.ts.map +1 -0
  271. package/dist/lib/hooks.js +235 -0
  272. package/dist/lib/hooks.js.map +1 -0
  273. package/dist/lib/index.d.ts +2 -0
  274. package/dist/lib/index.d.ts.map +1 -0
  275. package/dist/lib/index.js +5 -0
  276. package/dist/lib/index.js.map +1 -0
  277. package/dist/lib/is-mobile.svelte.d.ts +5 -0
  278. package/dist/lib/is-mobile.svelte.d.ts.map +1 -0
  279. package/dist/lib/is-mobile.svelte.js +8 -0
  280. package/dist/lib/is-mobile.svelte.js.map +1 -0
  281. package/dist/lib/local-api/auth-helpers.d.ts +65 -0
  282. package/dist/lib/local-api/auth-helpers.d.ts.map +1 -0
  283. package/dist/lib/local-api/auth-helpers.js +103 -0
  284. package/dist/lib/local-api/auth-helpers.js.map +1 -0
  285. package/dist/lib/local-api/collection-api.d.ts +150 -0
  286. package/dist/lib/local-api/collection-api.d.ts.map +1 -0
  287. package/dist/lib/local-api/collection-api.js +311 -0
  288. package/dist/lib/local-api/collection-api.js.map +1 -0
  289. package/dist/lib/local-api/index.d.ts +108 -0
  290. package/dist/lib/local-api/index.d.ts.map +1 -0
  291. package/dist/lib/local-api/index.js +158 -0
  292. package/dist/lib/local-api/index.js.map +1 -0
  293. package/dist/lib/local-api/permissions.d.ts +45 -0
  294. package/dist/lib/local-api/permissions.d.ts.map +1 -0
  295. package/dist/lib/local-api/permissions.js +117 -0
  296. package/dist/lib/local-api/permissions.js.map +1 -0
  297. package/dist/lib/local-api/types.d.ts +65 -0
  298. package/dist/lib/local-api/types.d.ts.map +1 -0
  299. package/dist/lib/local-api/types.js +5 -0
  300. package/dist/lib/local-api/types.js.map +1 -0
  301. package/dist/lib/routes/assets-bulk.d.ts +3 -0
  302. package/dist/lib/routes/assets-bulk.d.ts.map +1 -0
  303. package/dist/lib/routes/assets-bulk.js +49 -0
  304. package/dist/lib/routes/assets-bulk.js.map +1 -0
  305. package/dist/lib/routes/assets-by-id.d.ts +5 -0
  306. package/dist/lib/routes/assets-by-id.d.ts.map +1 -0
  307. package/dist/lib/routes/assets-by-id.js +106 -0
  308. package/dist/lib/routes/assets-by-id.js.map +1 -0
  309. package/dist/lib/routes/assets-cdn.d.ts +3 -0
  310. package/dist/lib/routes/assets-cdn.d.ts.map +1 -0
  311. package/dist/lib/routes/assets-cdn.js +125 -0
  312. package/dist/lib/routes/assets-cdn.js.map +1 -0
  313. package/dist/lib/routes/assets-references-counts.d.ts +7 -0
  314. package/dist/lib/routes/assets-references-counts.d.ts.map +1 -0
  315. package/dist/lib/routes/assets-references-counts.js +32 -0
  316. package/dist/lib/routes/assets-references-counts.js.map +1 -0
  317. package/dist/lib/routes/assets-references.d.ts +7 -0
  318. package/dist/lib/routes/assets-references.d.ts.map +1 -0
  319. package/dist/lib/routes/assets-references.js +35 -0
  320. package/dist/lib/routes/assets-references.js.map +1 -0
  321. package/dist/lib/routes/assets.d.ts +4 -0
  322. package/dist/lib/routes/assets.d.ts.map +1 -0
  323. package/dist/lib/routes/assets.js +121 -0
  324. package/dist/lib/routes/assets.js.map +1 -0
  325. package/dist/lib/routes/documents-by-id.d.ts +5 -0
  326. package/dist/lib/routes/documents-by-id.d.ts.map +1 -0
  327. package/dist/lib/routes/documents-by-id.js +176 -0
  328. package/dist/lib/routes/documents-by-id.js.map +1 -0
  329. package/dist/lib/routes/documents-publish.d.ts +4 -0
  330. package/dist/lib/routes/documents-publish.d.ts.map +1 -0
  331. package/dist/lib/routes/documents-publish.js +138 -0
  332. package/dist/lib/routes/documents-publish.js.map +1 -0
  333. package/dist/lib/routes/documents-query.d.ts +26 -0
  334. package/dist/lib/routes/documents-query.d.ts.map +1 -0
  335. package/dist/lib/routes/documents-query.js +101 -0
  336. package/dist/lib/routes/documents-query.js.map +1 -0
  337. package/dist/lib/routes/documents.d.ts +4 -0
  338. package/dist/lib/routes/documents.d.ts.map +1 -0
  339. package/dist/lib/routes/documents.js +154 -0
  340. package/dist/lib/routes/documents.js.map +1 -0
  341. package/dist/lib/routes/index.d.ts +9 -0
  342. package/dist/lib/routes/index.d.ts.map +1 -0
  343. package/dist/lib/routes/index.js +15 -0
  344. package/dist/lib/routes/index.js.map +1 -0
  345. package/dist/lib/routes/organizations-by-id.d.ts +5 -0
  346. package/dist/lib/routes/organizations-by-id.d.ts.map +1 -0
  347. package/dist/lib/routes/organizations-by-id.js +189 -0
  348. package/dist/lib/routes/organizations-by-id.js.map +1 -0
  349. package/dist/lib/routes/organizations-invitations.d.ts +4 -0
  350. package/dist/lib/routes/organizations-invitations.d.ts.map +1 -0
  351. package/dist/lib/routes/organizations-invitations.js +127 -0
  352. package/dist/lib/routes/organizations-invitations.js.map +1 -0
  353. package/dist/lib/routes/organizations-members.d.ts +5 -0
  354. package/dist/lib/routes/organizations-members.d.ts.map +1 -0
  355. package/dist/lib/routes/organizations-members.js +208 -0
  356. package/dist/lib/routes/organizations-members.js.map +1 -0
  357. package/dist/lib/routes/organizations-switch.d.ts +3 -0
  358. package/dist/lib/routes/organizations-switch.d.ts.map +1 -0
  359. package/dist/lib/routes/organizations-switch.js +55 -0
  360. package/dist/lib/routes/organizations-switch.js.map +1 -0
  361. package/dist/lib/routes/organizations.d.ts +4 -0
  362. package/dist/lib/routes/organizations.d.ts.map +1 -0
  363. package/dist/lib/routes/organizations.js +111 -0
  364. package/dist/lib/routes/organizations.js.map +1 -0
  365. package/dist/lib/routes/schemas-by-type.d.ts +3 -0
  366. package/dist/lib/routes/schemas-by-type.d.ts.map +1 -0
  367. package/dist/lib/routes/schemas-by-type.js +27 -0
  368. package/dist/lib/routes/schemas-by-type.js.map +1 -0
  369. package/dist/lib/routes/schemas.d.ts +3 -0
  370. package/dist/lib/routes/schemas.d.ts.map +1 -0
  371. package/dist/lib/routes/schemas.js +12 -0
  372. package/dist/lib/routes/schemas.js.map +1 -0
  373. package/dist/lib/routes/user-preferences.d.ts +4 -0
  374. package/dist/lib/routes/user-preferences.d.ts.map +1 -0
  375. package/dist/lib/routes/user-preferences.js +79 -0
  376. package/dist/lib/routes/user-preferences.js.map +1 -0
  377. package/dist/lib/routes-exports.d.ts +17 -0
  378. package/dist/lib/routes-exports.d.ts.map +1 -0
  379. package/dist/lib/routes-exports.js +23 -0
  380. package/dist/lib/routes-exports.js.map +1 -0
  381. package/dist/lib/schema/index.d.ts +6 -0
  382. package/dist/lib/schema/index.d.ts.map +1 -0
  383. package/dist/lib/schema/index.js +12 -0
  384. package/dist/lib/schema/index.js.map +1 -0
  385. package/dist/lib/schema-context.svelte.d.ts +10 -0
  386. package/dist/lib/schema-context.svelte.d.ts.map +1 -0
  387. package/dist/lib/schema-context.svelte.js +19 -0
  388. package/dist/lib/schema-context.svelte.js.map +1 -0
  389. package/dist/lib/schema-utils/cleanup.d.ts +21 -0
  390. package/dist/lib/schema-utils/cleanup.d.ts.map +1 -0
  391. package/dist/lib/schema-utils/cleanup.js +81 -0
  392. package/dist/lib/schema-utils/cleanup.js.map +1 -0
  393. package/dist/lib/schema-utils/index.d.ts +4 -0
  394. package/dist/lib/schema-utils/index.d.ts.map +1 -0
  395. package/dist/lib/schema-utils/index.js +5 -0
  396. package/dist/lib/schema-utils/index.js.map +1 -0
  397. package/dist/lib/schema-utils/utils.d.ts +34 -0
  398. package/dist/lib/schema-utils/utils.d.ts.map +1 -0
  399. package/dist/lib/schema-utils/utils.js +59 -0
  400. package/dist/lib/schema-utils/utils.js.map +1 -0
  401. package/dist/lib/schema-utils/validator.d.ts +10 -0
  402. package/dist/lib/schema-utils/validator.d.ts.map +1 -0
  403. package/dist/lib/schema-utils/validator.js +167 -0
  404. package/dist/lib/schema-utils/validator.js.map +1 -0
  405. package/dist/lib/server/index.d.ts +19 -0
  406. package/dist/lib/server/index.d.ts.map +1 -0
  407. package/dist/lib/server/index.js +35 -0
  408. package/dist/lib/server/index.js.map +1 -0
  409. package/dist/lib/services/asset-service.d.ts +86 -0
  410. package/dist/lib/services/asset-service.d.ts.map +1 -0
  411. package/dist/lib/services/asset-service.js +189 -0
  412. package/dist/lib/services/asset-service.js.map +1 -0
  413. package/dist/lib/services/index.d.ts +3 -0
  414. package/dist/lib/services/index.d.ts.map +1 -0
  415. package/dist/lib/services/index.js +5 -0
  416. package/dist/lib/services/index.js.map +1 -0
  417. package/dist/lib/storage/adapters/index.d.ts +2 -0
  418. package/dist/lib/storage/adapters/index.d.ts.map +1 -0
  419. package/dist/lib/storage/adapters/index.js +3 -0
  420. package/dist/lib/storage/adapters/index.js.map +1 -0
  421. package/dist/lib/storage/adapters/local-storage-adapter.d.ts +54 -0
  422. package/dist/lib/storage/adapters/local-storage-adapter.d.ts.map +1 -0
  423. package/dist/lib/storage/adapters/local-storage-adapter.js +189 -0
  424. package/dist/lib/storage/adapters/local-storage-adapter.js.map +1 -0
  425. package/dist/lib/storage/index.d.ts +3 -0
  426. package/dist/lib/storage/index.d.ts.map +1 -0
  427. package/dist/lib/storage/index.js +7 -0
  428. package/dist/lib/storage/index.js.map +1 -0
  429. package/dist/lib/storage/interfaces/index.d.ts +2 -0
  430. package/dist/lib/storage/interfaces/index.d.ts.map +1 -0
  431. package/dist/lib/storage/interfaces/index.js +1 -0
  432. package/dist/lib/storage/interfaces/index.js.map +1 -0
  433. package/dist/lib/storage/interfaces/storage.d.ts +91 -0
  434. package/dist/lib/storage/interfaces/storage.d.ts.map +1 -0
  435. package/dist/lib/storage/interfaces/storage.js +1 -0
  436. package/dist/lib/storage/interfaces/storage.js.map +1 -0
  437. package/dist/lib/storage/providers/storage.d.ts +43 -0
  438. package/dist/lib/storage/providers/storage.d.ts.map +1 -0
  439. package/dist/lib/storage/providers/storage.js +65 -0
  440. package/dist/lib/storage/providers/storage.js.map +1 -0
  441. package/dist/lib/types/asset.d.ts +73 -0
  442. package/dist/lib/types/asset.d.ts.map +1 -0
  443. package/dist/lib/types/asset.js +1 -0
  444. package/dist/lib/types/asset.js.map +1 -0
  445. package/dist/lib/types/auth.d.ts +62 -0
  446. package/dist/lib/types/auth.d.ts.map +1 -0
  447. package/dist/lib/types/auth.js +7 -5
  448. package/dist/lib/types/auth.js.map +1 -0
  449. package/dist/lib/types/config.d.ts +77 -0
  450. package/dist/lib/types/config.d.ts.map +1 -0
  451. package/dist/lib/types/config.js +1 -0
  452. package/dist/lib/types/config.js.map +1 -0
  453. package/dist/lib/types/document.d.ts +35 -0
  454. package/dist/lib/types/document.d.ts.map +1 -0
  455. package/dist/lib/types/document.js +1 -0
  456. package/dist/lib/types/document.js.map +1 -0
  457. package/dist/lib/types/filters.d.ts +186 -0
  458. package/dist/lib/types/filters.d.ts.map +1 -0
  459. package/dist/lib/types/filters.js +1 -0
  460. package/dist/lib/types/filters.js.map +1 -0
  461. package/dist/lib/types/index.d.ts +11 -0
  462. package/dist/lib/types/index.d.ts.map +1 -0
  463. package/dist/lib/types/index.js +2 -0
  464. package/dist/lib/types/index.js.map +1 -0
  465. package/dist/lib/types/instance.d.ts +5 -0
  466. package/dist/lib/types/instance.d.ts.map +1 -0
  467. package/dist/lib/types/instance.js +3 -0
  468. package/dist/lib/types/instance.js.map +1 -0
  469. package/dist/lib/types/organization.d.ts +108 -0
  470. package/dist/lib/types/organization.d.ts.map +1 -0
  471. package/dist/lib/types/organization.js +1 -0
  472. package/dist/lib/types/organization.js.map +1 -0
  473. package/dist/lib/types/schemas.d.ts +179 -0
  474. package/dist/lib/types/schemas.d.ts.map +1 -0
  475. package/dist/lib/types/schemas.js +1 -0
  476. package/dist/lib/types/schemas.js.map +1 -0
  477. package/dist/lib/types/sidebar.d.ts +34 -0
  478. package/dist/lib/types/sidebar.d.ts.map +1 -0
  479. package/dist/lib/types/sidebar.js +1 -0
  480. package/dist/lib/types/sidebar.js.map +1 -0
  481. package/dist/lib/types/user.d.ts +14 -0
  482. package/dist/lib/types/user.d.ts.map +1 -0
  483. package/dist/lib/types/user.js +1 -0
  484. package/dist/lib/types/user.js.map +1 -0
  485. package/dist/lib/utils/asset-actions.d.ts +9 -0
  486. package/dist/lib/utils/asset-actions.d.ts.map +1 -0
  487. package/dist/lib/utils/asset-actions.js +28 -0
  488. package/dist/lib/utils/asset-actions.js.map +1 -0
  489. package/dist/lib/utils/content-hash.d.ts +22 -0
  490. package/dist/lib/utils/content-hash.d.ts.map +1 -0
  491. package/dist/lib/utils/content-hash.js +68 -0
  492. package/dist/lib/utils/content-hash.js.map +1 -0
  493. package/dist/lib/utils/default-orderings.d.ts +10 -0
  494. package/dist/lib/utils/default-orderings.d.ts.map +1 -0
  495. package/dist/lib/utils/default-orderings.js +64 -0
  496. package/dist/lib/utils/default-orderings.js.map +1 -0
  497. package/dist/lib/utils/element-events.d.ts +15 -0
  498. package/dist/lib/utils/element-events.d.ts.map +1 -0
  499. package/dist/lib/utils/element-events.js +17 -0
  500. package/dist/lib/utils/element-events.js.map +1 -0
  501. package/dist/lib/utils/field-defaults.d.ts +8 -0
  502. package/dist/lib/utils/field-defaults.d.ts.map +1 -0
  503. package/dist/lib/utils/field-defaults.js +21 -0
  504. package/dist/lib/utils/field-defaults.js.map +1 -0
  505. package/dist/lib/utils/image-url.d.ts +88 -0
  506. package/dist/lib/utils/image-url.d.ts.map +1 -0
  507. package/dist/lib/utils/image-url.js +167 -0
  508. package/dist/lib/utils/image-url.js.map +1 -0
  509. package/dist/lib/utils/index.d.ts +8 -0
  510. package/dist/lib/utils/index.d.ts.map +1 -0
  511. package/dist/lib/utils/index.js +13 -0
  512. package/dist/lib/utils/index.js.map +1 -0
  513. package/dist/lib/utils/initial-value-helpers.d.ts +50 -0
  514. package/dist/lib/utils/initial-value-helpers.d.ts.map +1 -0
  515. package/dist/lib/utils/initial-value-helpers.js +71 -0
  516. package/dist/lib/utils/initial-value-helpers.js.map +1 -0
  517. package/dist/lib/utils/logger.d.ts +9 -0
  518. package/dist/lib/utils/logger.d.ts.map +1 -0
  519. package/dist/lib/utils/logger.js +30 -0
  520. package/dist/lib/utils/logger.js.map +1 -0
  521. package/dist/lib/utils/slug.d.ts +13 -0
  522. package/dist/lib/utils/slug.d.ts.map +1 -0
  523. package/dist/lib/utils/slug.js +31 -0
  524. package/dist/lib/utils/slug.js.map +1 -0
  525. package/dist/lib/utils.d.ts +13 -0
  526. package/dist/lib/utils.d.ts.map +1 -0
  527. package/dist/lib/utils.js +6 -0
  528. package/dist/lib/utils.js.map +1 -0
  529. package/dist/local-api/index.d.ts.map +1 -1
  530. package/dist/local-api/permissions.d.ts.map +1 -1
  531. package/dist/local-api/permissions.js +3 -4
  532. package/dist/routes/assets-bulk.d.ts +3 -0
  533. package/dist/routes/assets-bulk.d.ts.map +1 -0
  534. package/dist/routes/assets-bulk.js +48 -0
  535. package/dist/routes/assets-by-id.d.ts.map +1 -1
  536. package/dist/routes/assets-by-id.js +22 -55
  537. package/dist/routes/assets-cdn.d.ts.map +1 -1
  538. package/dist/routes/assets-cdn.js +12 -50
  539. package/dist/routes/assets-references-counts.d.ts +7 -0
  540. package/dist/routes/assets-references-counts.d.ts.map +1 -0
  541. package/dist/routes/assets-references-counts.js +31 -0
  542. package/dist/routes/assets-references.d.ts +7 -0
  543. package/dist/routes/assets-references.d.ts.map +1 -0
  544. package/dist/routes/assets-references.js +34 -0
  545. package/dist/routes/assets.d.ts.map +1 -1
  546. package/dist/routes/assets.js +27 -6
  547. package/dist/routes/documents-by-id.d.ts.map +1 -1
  548. package/dist/routes/documents-by-id.js +4 -3
  549. package/dist/routes/documents-publish.d.ts.map +1 -1
  550. package/dist/routes/documents-publish.js +3 -2
  551. package/dist/routes/documents-query.d.ts.map +1 -1
  552. package/dist/routes/documents-query.js +2 -1
  553. package/dist/routes/documents.d.ts.map +1 -1
  554. package/dist/routes/documents.js +3 -2
  555. package/dist/routes/organizations-by-id.d.ts.map +1 -1
  556. package/dist/routes/organizations-by-id.js +4 -3
  557. package/dist/routes/organizations-invitations.d.ts.map +1 -1
  558. package/dist/routes/organizations-invitations.js +5 -4
  559. package/dist/routes/organizations-members.d.ts.map +1 -1
  560. package/dist/routes/organizations-members.js +7 -6
  561. package/dist/routes/organizations-switch.d.ts.map +1 -1
  562. package/dist/routes/organizations-switch.js +2 -1
  563. package/dist/routes/organizations.d.ts.map +1 -1
  564. package/dist/routes/organizations.js +3 -2
  565. package/dist/routes/schemas-by-type.d.ts.map +1 -1
  566. package/dist/routes/schemas-by-type.js +3 -2
  567. package/dist/routes/user-preferences.d.ts.map +1 -1
  568. package/dist/routes/user-preferences.js +3 -2
  569. package/dist/routes-exports.d.ts +3 -0
  570. package/dist/routes-exports.d.ts.map +1 -1
  571. package/dist/routes-exports.js +3 -0
  572. package/dist/schema/index.d.ts +6 -0
  573. package/dist/schema/index.d.ts.map +1 -0
  574. package/dist/schema/index.js +11 -0
  575. package/dist/schema-utils/validator.d.ts.map +1 -1
  576. package/dist/schema-utils/validator.js +4 -3
  577. package/dist/server/index.d.ts +2 -0
  578. package/dist/server/index.d.ts.map +1 -1
  579. package/dist/server/index.js +4 -0
  580. package/dist/services/asset-service.d.ts.map +1 -1
  581. package/dist/services/asset-service.js +8 -7
  582. package/dist/storage/adapters/local-storage-adapter.d.ts.map +1 -1
  583. package/dist/storage/adapters/local-storage-adapter.js +5 -4
  584. package/dist/types/auth.d.ts +13 -1
  585. package/dist/types/auth.d.ts.map +1 -1
  586. package/dist/types/auth.js +6 -5
  587. package/dist/types/config.d.ts +14 -1
  588. package/dist/types/config.d.ts.map +1 -1
  589. package/dist/types/document.d.ts +1 -1
  590. package/dist/types/document.d.ts.map +1 -1
  591. package/dist/types/index.d.ts +1 -0
  592. package/dist/types/index.d.ts.map +1 -1
  593. package/dist/types/index.js +1 -0
  594. package/dist/types/instance.d.ts +5 -0
  595. package/dist/types/instance.d.ts.map +1 -0
  596. package/dist/types/instance.js +2 -0
  597. package/dist/types/schemas.d.ts +1 -1
  598. package/dist/types/schemas.d.ts.map +1 -1
  599. package/dist/types/sidebar.d.ts +1 -0
  600. package/dist/types/sidebar.d.ts.map +1 -1
  601. package/dist/utils/asset-actions.d.ts +9 -0
  602. package/dist/utils/asset-actions.d.ts.map +1 -0
  603. package/dist/utils/asset-actions.js +27 -0
  604. package/dist/utils/element-events.d.ts +15 -0
  605. package/dist/utils/element-events.d.ts.map +1 -0
  606. package/dist/utils/element-events.js +16 -0
  607. package/dist/utils/image-url.d.ts.map +1 -1
  608. package/dist/utils/image-url.js +10 -9
  609. package/dist/utils/index.d.ts +1 -0
  610. package/dist/utils/index.d.ts.map +1 -1
  611. package/dist/utils/index.js +2 -0
  612. package/dist/utils/logger.d.ts +9 -0
  613. package/dist/utils/logger.d.ts.map +1 -0
  614. package/dist/utils/logger.js +29 -0
  615. package/package.json +132 -103
  616. package/LICENSE +0 -21
@@ -0,0 +1,88 @@
1
+ import type { ImageValue, ImageAsset, Asset } from '../types/asset.js';
2
+ export interface ImageUrlBuilderOptions {
3
+ width?: number;
4
+ height?: number;
5
+ quality?: number;
6
+ format?: 'jpg' | 'jpeg' | 'png' | 'webp' | 'avif';
7
+ fit?: 'cover' | 'contain' | 'fill' | 'inside' | 'outside';
8
+ auto?: 'format';
9
+ }
10
+ export interface ImageUrlBuilderConfig {
11
+ baseUrl?: string;
12
+ /**
13
+ * Function to sign asset URLs for secure, time-limited access
14
+ * Used for multi-tenant access without exposing API keys
15
+ */
16
+ signAssetUrl?: (assetId: string) => string;
17
+ }
18
+ export declare class ImageUrlBuilder {
19
+ private _source;
20
+ private _options;
21
+ /**
22
+ * Set the image source
23
+ */
24
+ image(source: ImageValue | ImageAsset | string | Asset | null | undefined): this;
25
+ /**
26
+ * Set width (for future dynamic image rendering)
27
+ */
28
+ width(width: number): this;
29
+ /**
30
+ * Set height (for future dynamic image rendering)
31
+ */
32
+ height(height: number): this;
33
+ /**
34
+ * Set both width and height (for future dynamic image rendering)
35
+ */
36
+ size(width: number, height: number): this;
37
+ /**
38
+ * Set quality (for future dynamic image rendering)
39
+ */
40
+ quality(quality: number): this;
41
+ /**
42
+ * Set format (for future dynamic image rendering)
43
+ */
44
+ format(format: 'jpg' | 'jpeg' | 'png' | 'webp' | 'avif'): this;
45
+ /**
46
+ * Set fit mode (for future dynamic image rendering)
47
+ */
48
+ fit(fit: 'cover' | 'contain' | 'fill' | 'inside' | 'outside'): this;
49
+ /**
50
+ * Enable automatic format selection (for future dynamic image rendering)
51
+ */
52
+ auto(mode: 'format'): this;
53
+ /**
54
+ * Build the final URL
55
+ * Returns /api/assets/{id}?dl=1 which redirects to the actual S3/R2 URL
56
+ * Transformations (.width(), .quality(), etc) are stored but not yet applied
57
+ *
58
+ * For multi-tenant access, use signAssetUrl config to generate signed URLs
59
+ * TODO: Add dynamic image rendering support
60
+ */
61
+ url(): string | null;
62
+ /**
63
+ * Alias for url()
64
+ */
65
+ toString(): string | null;
66
+ }
67
+ /**
68
+ * Factory function to create an image URL builder
69
+ *
70
+ * Note: Currently returns direct S3/R2 URLs without transformations.
71
+ * The baseUrl parameter is accepted for future compatibility but not currently used
72
+ * since assets already contain their full public URLs.
73
+ *
74
+ * For multi-tenant access with API keys, provide a signAssetUrl function:
75
+ * const urlFor = imageUrlBuilder({
76
+ * signAssetUrl: (assetId) => `/api/assets/${assetId}?token=${generateToken(assetId)}`
77
+ * })
78
+ *
79
+ * Usage:
80
+ * const urlFor = imageUrlBuilder({ baseUrl: 'https://yourdomain.com' })
81
+ * const url = urlFor(image).url() // Returns asset.url directly
82
+ *
83
+ * Future usage with transformations:
84
+ * const url = urlFor(image).width(800).quality(80).url()
85
+ * // Will return transformed image once dynamic rendering is implemented
86
+ */
87
+ export declare function imageUrlBuilder(): (source?: ImageValue | ImageAsset | string | Asset | null) => ImageUrlBuilder;
88
+ //# sourceMappingURL=image-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-url.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/image-url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGpE,MAAM,WAAW,sBAAsB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IAClD,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1D,IAAI,CAAC,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AA8BD,qBAAa,eAAe;IAC3B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAA8B;IAE9C;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAKhF;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK5B;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAMzC;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAK9D;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI;IAKnE;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAK1B;;;;;;;OAOG;IACH,GAAG,IAAI,MAAM,GAAG,IAAI;IA0CpB;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI;CAGzB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,KACtB,SAAS,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,qBAOhE"}
@@ -0,0 +1,167 @@
1
+ import { cmsLogger } from './logger.js';
2
+ /**
3
+ * Helper to extract URL from various image source types
4
+ * Works with GraphQL responses that include resolved asset data
5
+ */
6
+ function extractUrl(source) {
7
+ if (!source)
8
+ return null;
9
+ // Direct URL string
10
+ if (typeof source === 'string') {
11
+ return source;
12
+ }
13
+ // Asset object with url property
14
+ if (typeof source === 'object' && 'url' in source && source.url) {
15
+ return source.url;
16
+ }
17
+ // ImageValue with resolved asset (from GraphQL)
18
+ if (typeof source === 'object' && 'asset' in source && source.asset) {
19
+ // Check if asset is resolved (has url property)
20
+ if (typeof source.asset === 'object' && 'url' in source.asset) {
21
+ return source.asset.url;
22
+ }
23
+ }
24
+ return null;
25
+ }
26
+ export class ImageUrlBuilder {
27
+ _source = null;
28
+ _options = {};
29
+ /**
30
+ * Set the image source
31
+ */
32
+ image(source) {
33
+ this._source = source;
34
+ return this;
35
+ }
36
+ /**
37
+ * Set width (for future dynamic image rendering)
38
+ */
39
+ width(width) {
40
+ this._options.width = width;
41
+ return this;
42
+ }
43
+ /**
44
+ * Set height (for future dynamic image rendering)
45
+ */
46
+ height(height) {
47
+ this._options.height = height;
48
+ return this;
49
+ }
50
+ /**
51
+ * Set both width and height (for future dynamic image rendering)
52
+ */
53
+ size(width, height) {
54
+ this._options.width = width;
55
+ this._options.height = height;
56
+ return this;
57
+ }
58
+ /**
59
+ * Set quality (for future dynamic image rendering)
60
+ */
61
+ quality(quality) {
62
+ this._options.quality = Math.max(1, Math.min(100, quality));
63
+ return this;
64
+ }
65
+ /**
66
+ * Set format (for future dynamic image rendering)
67
+ */
68
+ format(format) {
69
+ this._options.format = format;
70
+ return this;
71
+ }
72
+ /**
73
+ * Set fit mode (for future dynamic image rendering)
74
+ */
75
+ fit(fit) {
76
+ this._options.fit = fit;
77
+ return this;
78
+ }
79
+ /**
80
+ * Enable automatic format selection (for future dynamic image rendering)
81
+ */
82
+ auto(mode) {
83
+ this._options.auto = mode;
84
+ return this;
85
+ }
86
+ /**
87
+ * Build the final URL
88
+ * Returns /api/assets/{id}?dl=1 which redirects to the actual S3/R2 URL
89
+ * Transformations (.width(), .quality(), etc) are stored but not yet applied
90
+ *
91
+ * For multi-tenant access, use signAssetUrl config to generate signed URLs
92
+ * TODO: Add dynamic image rendering support
93
+ */
94
+ url() {
95
+ cmsLogger.debug('[ImageUrlBuilder] url() called with source:', JSON.stringify(this._source));
96
+ if (!this._source) {
97
+ cmsLogger.debug('[ImageUrlBuilder] No source provided');
98
+ return null;
99
+ }
100
+ // First try to extract a direct URL (if asset was already resolved)
101
+ const directUrl = extractUrl(this._source);
102
+ if (directUrl) {
103
+ cmsLogger.debug('[ImageUrlBuilder] Using direct URL from resolved asset:', directUrl);
104
+ return directUrl;
105
+ }
106
+ // Otherwise, build an API URL from the asset reference
107
+ let assetId = null;
108
+ if (typeof this._source === 'string') {
109
+ cmsLogger.debug('[ImageUrlBuilder] Source is string:', this._source);
110
+ assetId = this._source;
111
+ }
112
+ else if (typeof this._source === 'object') {
113
+ cmsLogger.debug('[ImageUrlBuilder] Source is object, checking for asset._ref or _ref');
114
+ if ('asset' in this._source && this._source.asset?._ref) {
115
+ assetId = this._source.asset._ref;
116
+ cmsLogger.debug('[ImageUrlBuilder] Found asset._ref:', assetId);
117
+ }
118
+ else if ('_ref' in this._source) {
119
+ assetId = this._source._ref;
120
+ cmsLogger.debug('[ImageUrlBuilder] Found _ref:', assetId);
121
+ }
122
+ }
123
+ if (!assetId) {
124
+ cmsLogger.warn('[ImageUrlBuilder] Could not extract asset ID from source:', this._source);
125
+ return null;
126
+ }
127
+ const finalUrl = `/media/${assetId}/image`;
128
+ cmsLogger.debug('[ImageUrlBuilder] Building CDN URL:', finalUrl);
129
+ return finalUrl;
130
+ }
131
+ /**
132
+ * Alias for url()
133
+ */
134
+ toString() {
135
+ return this.url();
136
+ }
137
+ }
138
+ /**
139
+ * Factory function to create an image URL builder
140
+ *
141
+ * Note: Currently returns direct S3/R2 URLs without transformations.
142
+ * The baseUrl parameter is accepted for future compatibility but not currently used
143
+ * since assets already contain their full public URLs.
144
+ *
145
+ * For multi-tenant access with API keys, provide a signAssetUrl function:
146
+ * const urlFor = imageUrlBuilder({
147
+ * signAssetUrl: (assetId) => `/api/assets/${assetId}?token=${generateToken(assetId)}`
148
+ * })
149
+ *
150
+ * Usage:
151
+ * const urlFor = imageUrlBuilder({ baseUrl: 'https://yourdomain.com' })
152
+ * const url = urlFor(image).url() // Returns asset.url directly
153
+ *
154
+ * Future usage with transformations:
155
+ * const url = urlFor(image).width(800).quality(80).url()
156
+ * // Will return transformed image once dynamic rendering is implemented
157
+ */
158
+ export function imageUrlBuilder() {
159
+ return (source) => {
160
+ const builder = new ImageUrlBuilder();
161
+ if (source) {
162
+ builder.image(source);
163
+ }
164
+ return builder;
165
+ };
166
+ }
167
+ //# sourceMappingURL=image-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-url.js","sourceRoot":"","sources":["../../../src/lib/utils/image-url.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAoBrC;;;GAGG;AACH,SAAS,UAAU,CAAC,MAAW;IAC9B,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,oBAAoB;IACpB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO,MAAM,CAAC;IACf,CAAC;IAED,iCAAiC;IACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;QACjE,OAAO,MAAM,CAAC,GAAG,CAAC;IACnB,CAAC;IAED,gDAAgD;IAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACrE,gDAAgD;QAChD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC/D,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QACzB,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,OAAO,eAAe;IACnB,OAAO,GAAQ,IAAI,CAAC;IACpB,QAAQ,GAA2B,EAAE,CAAC;IAE9C;;OAEG;IACH,KAAK,CAAC,MAAmE;QACxE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAa;QAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5B,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAc;QACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAC9B,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,KAAa,EAAE,MAAc;QACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAC9B,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,OAAe;QACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAgD;QACtD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAC9B,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAwD;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;QACxB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAc;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACH,GAAG;QACF,SAAS,CAAC,KAAK,CAAC,6CAA6C,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7F,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,SAAS,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,oEAAoE;QACpE,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,SAAS,EAAE,CAAC;YACf,SAAS,CAAC,KAAK,CAAC,yDAAyD,EAAE,SAAS,CAAC,CAAC;YACtF,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,uDAAuD;QACvD,IAAI,OAAO,GAAkB,IAAI,CAAC;QAElC,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACtC,SAAS,CAAC,KAAK,CAAC,qCAAqC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;aAAM,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC7C,SAAS,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACvF,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;gBACzD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;gBAClC,SAAS,CAAC,KAAK,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC5B,SAAS,CAAC,KAAK,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;YAC3D,CAAC;QACF,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,SAAS,CAAC,IAAI,CAAC,2DAA2D,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1F,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,OAAO,QAAQ,CAAC;QAC3C,SAAS,CAAC,KAAK,CAAC,qCAAqC,EAAE,QAAQ,CAAC,CAAC;QACjE,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,QAAQ;QACP,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACnB,CAAC;CACD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,eAAe;IAC9B,OAAO,CAAC,MAAwD,EAAE,EAAE;QACnE,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACtC,IAAI,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { cmsLogger, setLogLevel, type LogLevel } from './logger.js';
2
+ export * from '../schema-utils/index.js';
3
+ export * from '../field-validation/utils.js';
4
+ export * from './content-hash.js';
5
+ export * from './slug.js';
6
+ export * from './image-url.js';
7
+ export * from './initial-value-helpers.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGjE,cAAc,uBAAuB,CAAC;AAGtC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,13 @@
1
+ // Aphex CMS Utilities
2
+ // Logger
3
+ export { cmsLogger, setLogLevel } from './logger.js';
4
+ // Schema utilities
5
+ export * from '../schema-utils/index.js';
6
+ // Validation utilities
7
+ export * from '../field-validation/utils.js';
8
+ // Other utilities
9
+ export * from './content-hash.js';
10
+ export * from './slug.js';
11
+ export * from './image-url.js';
12
+ export * from './initial-value-helpers.js';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,WAAW,EAAiB,MAAM,UAAU,CAAC;AAEjE,mBAAmB;AACnB,cAAc,uBAAuB,CAAC;AAEtC,uBAAuB;AACvB,cAAc,2BAA2B,CAAC;AAE1C,kBAAkB;AAClB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Helper functions for initialValue date/datetime patterns
3
+ * These can be used directly as initialValue in field definitions
4
+ *
5
+ * Note: Returns values in storage format (ISO),
6
+ * which will be converted to the user's configured display format by the field components
7
+ */
8
+ /**
9
+ * Returns the current date in YYYY-MM-DD format (storage format)
10
+ * Usage: initialValue: currentDate
11
+ */
12
+ export declare function currentDate(): string;
13
+ /**
14
+ * Returns a specific date offset from today
15
+ * Usage: initialValue: () => dateFromToday(7) // 7 days from now
16
+ * Usage: initialValue: () => dateFromToday(-7) // 7 days ago
17
+ */
18
+ export declare function dateFromToday(days: number): string;
19
+ /**
20
+ * Returns the first day of the current month
21
+ * Usage: initialValue: firstDayOfMonth
22
+ */
23
+ export declare function firstDayOfMonth(): string;
24
+ /**
25
+ * Returns the last day of the current month
26
+ * Usage: initialValue: lastDayOfMonth
27
+ */
28
+ export declare function lastDayOfMonth(): string;
29
+ /**
30
+ * Returns the current datetime in ISO UTC format (storage format)
31
+ * Usage: initialValue: currentDateTime
32
+ */
33
+ export declare function currentDateTime(): string;
34
+ /**
35
+ * Returns a datetime offset from now in ISO UTC format
36
+ * Usage: initialValue: () => dateTimeFromNow(1, 'hour') // 1 hour from now
37
+ * Usage: initialValue: () => dateTimeFromNow(-30, 'minute') // 30 minutes ago
38
+ */
39
+ export declare function dateTimeFromNow(amount: number, unit: 'minute' | 'hour' | 'day' | 'week' | 'month' | 'year'): string;
40
+ /**
41
+ * Returns the start of the current day in ISO UTC format
42
+ * Usage: initialValue: startOfToday
43
+ */
44
+ export declare function startOfToday(): string;
45
+ /**
46
+ * Returns the end of the current day in ISO UTC format
47
+ * Usage: initialValue: endOfToday
48
+ */
49
+ export declare function endOfToday(): string;
50
+ //# sourceMappingURL=initial-value-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initial-value-helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/initial-value-helpers.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AAIH;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAID;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GACzD,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}
@@ -0,0 +1,71 @@
1
+ import dayjs from 'dayjs';
2
+ import utc from 'dayjs/plugin/utc.js';
3
+ dayjs.extend(utc);
4
+ /**
5
+ * Helper functions for initialValue date/datetime patterns
6
+ * These can be used directly as initialValue in field definitions
7
+ *
8
+ * Note: Returns values in storage format (ISO),
9
+ * which will be converted to the user's configured display format by the field components
10
+ */
11
+ // ==================== Date Helpers ====================
12
+ /**
13
+ * Returns the current date in YYYY-MM-DD format (storage format)
14
+ * Usage: initialValue: currentDate
15
+ */
16
+ export function currentDate() {
17
+ return dayjs().format('YYYY-MM-DD');
18
+ }
19
+ /**
20
+ * Returns a specific date offset from today
21
+ * Usage: initialValue: () => dateFromToday(7) // 7 days from now
22
+ * Usage: initialValue: () => dateFromToday(-7) // 7 days ago
23
+ */
24
+ export function dateFromToday(days) {
25
+ return dayjs().add(days, 'day').format('YYYY-MM-DD');
26
+ }
27
+ /**
28
+ * Returns the first day of the current month
29
+ * Usage: initialValue: firstDayOfMonth
30
+ */
31
+ export function firstDayOfMonth() {
32
+ return dayjs().startOf('month').format('YYYY-MM-DD');
33
+ }
34
+ /**
35
+ * Returns the last day of the current month
36
+ * Usage: initialValue: lastDayOfMonth
37
+ */
38
+ export function lastDayOfMonth() {
39
+ return dayjs().endOf('month').format('YYYY-MM-DD');
40
+ }
41
+ // ==================== DateTime Helpers ====================
42
+ /**
43
+ * Returns the current datetime in ISO UTC format (storage format)
44
+ * Usage: initialValue: currentDateTime
45
+ */
46
+ export function currentDateTime() {
47
+ return dayjs().utc().format('YYYY-MM-DDTHH:mm:ss[Z]');
48
+ }
49
+ /**
50
+ * Returns a datetime offset from now in ISO UTC format
51
+ * Usage: initialValue: () => dateTimeFromNow(1, 'hour') // 1 hour from now
52
+ * Usage: initialValue: () => dateTimeFromNow(-30, 'minute') // 30 minutes ago
53
+ */
54
+ export function dateTimeFromNow(amount, unit) {
55
+ return dayjs().add(amount, unit).utc().format('YYYY-MM-DDTHH:mm:ss[Z]');
56
+ }
57
+ /**
58
+ * Returns the start of the current day in ISO UTC format
59
+ * Usage: initialValue: startOfToday
60
+ */
61
+ export function startOfToday() {
62
+ return dayjs().startOf('day').utc().format('YYYY-MM-DDTHH:mm:ss[Z]');
63
+ }
64
+ /**
65
+ * Returns the end of the current day in ISO UTC format
66
+ * Usage: initialValue: endOfToday
67
+ */
68
+ export function endOfToday() {
69
+ return dayjs().endOf('day').utc().format('YYYY-MM-DDTHH:mm:ss[Z]');
70
+ }
71
+ //# sourceMappingURL=initial-value-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initial-value-helpers.js","sourceRoot":"","sources":["../../../src/lib/utils/initial-value-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,kBAAkB,CAAC;AAEnC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAElB;;;;;;GAMG;AAEH,yDAAyD;AAEzD;;;GAGG;AACH,MAAM,UAAU,WAAW;IAC1B,OAAO,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACzC,OAAO,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC9B,OAAO,KAAK,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC7B,OAAO,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACpD,CAAC;AAED,6DAA6D;AAE7D;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC9B,OAAO,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC9B,MAAc,EACd,IAA2D;IAE3D,OAAO,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC3B,OAAO,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACzB,OAAO,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACpE,CAAC"}
@@ -0,0 +1,9 @@
1
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'none';
2
+ export declare function setLogLevel(level: LogLevel): void;
3
+ export declare const cmsLogger: {
4
+ debug: (...args: any[]) => void;
5
+ info: (...args: any[]) => void;
6
+ warn: (...args: any[]) => void;
7
+ error: (...args: any[]) => void;
8
+ };
9
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAQpE,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,QAE1C;AAoBD,eAAO,MAAM,SAAS;qBAjBJ,GAAG,EAAE;oBAAL,GAAG,EAAE;oBAAL,GAAG,EAAE;qBAAL,GAAG,EAAE;CAsBtB,CAAC"}
@@ -0,0 +1,30 @@
1
+ const LEVELS = { debug: 0, info: 1, warn: 2, error: 3, none: 4 };
2
+ // Default based on environment; overridden by CMSConfig.logLevel via setLogLevel()
3
+ let currentLevel = typeof process !== 'undefined' && process.env?.NODE_ENV === 'production' ? 'warn' : 'debug';
4
+ export function setLogLevel(level) {
5
+ currentLevel = level;
6
+ }
7
+ function createMethod(level, consoleFn) {
8
+ return (...args) => {
9
+ if (LEVELS[currentLevel] > LEVELS[level])
10
+ return;
11
+ if (args.length > 0 &&
12
+ typeof args[0] === 'object' &&
13
+ args[0] !== null &&
14
+ !(args[0] instanceof Error)) {
15
+ const ctx = args[0];
16
+ const rest = args.slice(1);
17
+ consoleFn(`[${level.toUpperCase()}]`, ...rest, ctx);
18
+ }
19
+ else {
20
+ consoleFn(`[${level.toUpperCase()}]`, ...args);
21
+ }
22
+ };
23
+ }
24
+ export const cmsLogger = {
25
+ debug: createMethod('debug', console.log),
26
+ info: createMethod('info', console.log),
27
+ warn: createMethod('warn', console.warn),
28
+ error: createMethod('error', console.error)
29
+ };
30
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/lib/utils/logger.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,GAA6B,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAE3F,mFAAmF;AACnF,IAAI,YAAY,GACf,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AAE7F,MAAM,UAAU,WAAW,CAAC,KAAe;IAC1C,YAAY,GAAG,KAAK,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,SAAmC;IACzE,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACzB,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO;QACjD,IACC,IAAI,CAAC,MAAM,GAAG,CAAC;YACf,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC3B,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI;YAChB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,EAC1B,CAAC;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,SAAS,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACP,SAAS,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACxB,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;IACzC,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;IACvC,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;IACxC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;CAC3C,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Generate a URL-friendly slug from a string
3
+ * @param text - The text to convert to a slug
4
+ * @returns A URL-safe slug string
5
+ */
6
+ export declare function generateSlug(text: string): string;
7
+ /**
8
+ * Validate if a string is a valid slug
9
+ * @param slug - The slug to validate
10
+ * @returns Boolean indicating if the slug is valid
11
+ */
12
+ export declare function isValidSlug(slug: string): boolean;
13
+ //# sourceMappingURL=slug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slug.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/slug.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAajD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOjD"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Generate a URL-friendly slug from a string
3
+ * @param text - The text to convert to a slug
4
+ * @returns A URL-safe slug string
5
+ */
6
+ export function generateSlug(text) {
7
+ if (!text)
8
+ return '';
9
+ return (text
10
+ .toString()
11
+ .toLowerCase()
12
+ .trim()
13
+ // Replace spaces and multiple special characters with single hyphens
14
+ .replace(/[^a-z0-9]+/g, '-')
15
+ // Remove leading and trailing hyphens
16
+ .replace(/^-+|-+$/g, ''));
17
+ }
18
+ /**
19
+ * Validate if a string is a valid slug
20
+ * @param slug - The slug to validate
21
+ * @returns Boolean indicating if the slug is valid
22
+ */
23
+ export function isValidSlug(slug) {
24
+ if (!slug)
25
+ return false;
26
+ // Valid slug: lowercase letters, numbers, and hyphens only
27
+ // Cannot start or end with hyphen
28
+ const slugPattern = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
29
+ return slugPattern.test(slug);
30
+ }
31
+ //# sourceMappingURL=slug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slug.js","sourceRoot":"","sources":["../../../src/lib/utils/slug.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACxC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,OAAO,CACN,IAAI;SACF,QAAQ,EAAE;SACV,WAAW,EAAE;SACb,IAAI,EAAE;QACP,qEAAqE;SACpE,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;QAC5B,sCAAsC;SACrC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CACzB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACvC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,2DAA2D;IAC3D,kCAAkC;IAClC,MAAM,WAAW,GAAG,4BAA4B,CAAC;IACjD,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ export type WithoutChild<T> = T extends {
4
+ child?: any;
5
+ } ? Omit<T, 'child'> : T;
6
+ export type WithoutChildren<T> = T extends {
7
+ children?: any;
8
+ } ? Omit<T, 'children'> : T;
9
+ export type WithoutChildrenOrChild<T> = WithoutChildren<WithoutChild<T>>;
10
+ export type WithElementRef<T, U extends HTMLElement = HTMLElement> = T & {
11
+ ref?: U | null;
12
+ };
13
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAGD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AAE/E,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;AACxF,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;CAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
6
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACzC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/local-api/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAE3B,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;CAGjD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,QAAQ;IAQnB,OAAO,CAAC,MAAM;IAPR,WAAW,EAAE,WAAW,CAAM;IACrC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,OAAO,CAA0B;gBAGhC,MAAM,EAAE,SAAS,EACzB,WAAW,EAAE,eAAe,EAC5B,aAAa,CAAC,EAAE,eAAe;IAmBhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgC7B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAOlB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;CAGzD;AAKD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,eAAe,EAC5B,aAAa,CAAC,EAAE,eAAe,GAC7B,QAAQ,CAGV;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAKtC;AAGD,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACnE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/local-api/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAE3B,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;CAGjD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,QAAQ;IAQnB,OAAO,CAAC,MAAM;IAPR,WAAW,EAAE,WAAW,CAAqB;IACpD,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,OAAO,CAA0B;gBAGhC,MAAM,EAAE,SAAS,EACzB,WAAW,EAAE,eAAe,EAC5B,aAAa,CAAC,EAAE,eAAe;IAmBhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgC7B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAOlB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;CAGzD;AAKD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,eAAe,EAC5B,aAAa,CAAC,EAAE,eAAe,GAC7B,QAAQ,CAGV;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAKtC;AAGD,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACnE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/lib/local-api/permissions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAGxB,SAAS,EAAE,MAAM;aACjB,QAAQ,EAAE,MAAM;gBAFhC,OAAO,EAAE,MAAM,EACC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM;CAKjC;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBADP,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAGzC;;;OAGG;IACH,IAAI,MAAM,IAAI,SAAS,CAEtB;IAED;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9E;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B/E;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BhF;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjF;;OAEG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;CAShD"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/lib/local-api/permissions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAGxB,SAAS,EAAE,MAAM;aACjB,QAAQ,EAAE,MAAM;gBAFhC,OAAO,EAAE,MAAM,EACC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM;CAKjC;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBADP,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAGzC;;;OAGG;IACH,IAAI,MAAM,IAAI,SAAS,CAEtB;IAED;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9E;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B/E;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BhF;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BjF;;OAEG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;CAShD"}
@@ -79,10 +79,9 @@ export class PermissionChecker {
79
79
  if (!context.user) {
80
80
  throw new PermissionError('Authentication required for delete operations', 'delete', collectionName);
81
81
  }
82
- // Check if user has sufficient role (admin or super_admin)
83
- // Editors can create/update but not delete
84
- if (context.user.role === 'viewer' || context.user.role === 'editor') {
85
- throw new PermissionError('Delete permission denied. Only admins can delete resources.', 'delete', collectionName);
82
+ // Viewers have read-only access
83
+ if (context.user.role === 'viewer') {
84
+ throw new PermissionError('Delete permission denied. Viewers have read-only access.', 'delete', collectionName);
86
85
  }
87
86
  // Additional per-collection permission logic can be added here in the future
88
87
  return;
@@ -0,0 +1,3 @@
1
+ import type { RequestHandler } from '@sveltejs/kit';
2
+ export declare const DELETE: RequestHandler;
3
+ //# sourceMappingURL=assets-bulk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets-bulk.d.ts","sourceRoot":"","sources":["../../src/lib/routes/assets-bulk.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,eAAO,MAAM,MAAM,EAAE,cAwDpB,CAAC"}