@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,356 @@
1
+ function capitalizeFirst(str) {
2
+ return str.charAt(0).toUpperCase() + str.slice(1);
3
+ }
4
+ function generateGraphQLField(field, schemaTypes, parentName = '') {
5
+ const nullability = isFieldRequired(field) ? '!' : '';
6
+ const fieldType = getGraphQLType(field, schemaTypes, parentName);
7
+ return ` ${field.name}: ${fieldType}${nullability}`;
8
+ }
9
+ function getGraphQLType(field, schemaTypes, parentName = '') {
10
+ switch (field.type) {
11
+ case 'string':
12
+ case 'text':
13
+ case 'slug':
14
+ return 'String';
15
+ case 'number':
16
+ return 'Float';
17
+ case 'boolean':
18
+ return 'Boolean';
19
+ case 'image':
20
+ return 'Image';
21
+ case 'array':
22
+ return handleArrayField(field, schemaTypes, parentName);
23
+ case 'object':
24
+ return handleObjectField(field, schemaTypes, parentName);
25
+ case 'reference':
26
+ return handleReferenceField(field);
27
+ default:
28
+ return 'String';
29
+ }
30
+ }
31
+ function handleArrayField(field, schemaTypes, parentName = '') {
32
+ if (!field.of || field.of.length === 0) {
33
+ return '[String]';
34
+ }
35
+ // Check if all referenced types exist in schemaTypes
36
+ const validTypes = field.of.filter((item) => schemaTypes.find((s) => s.name === item.type));
37
+ if (validTypes.length === 0) {
38
+ return '[String]'; // Fallback if no valid types found
39
+ }
40
+ // If array contains only one type
41
+ if (validTypes.length === 1) {
42
+ const itemType = validTypes[0];
43
+ return `[${capitalizeFirst(itemType.type)}]`;
44
+ }
45
+ // For multiple types in array, create union type with parent prefix
46
+ const unionName = `${capitalizeFirst(parentName)}${capitalizeFirst(field.name)}Item`;
47
+ return `[${unionName}]`;
48
+ }
49
+ function handleObjectField(field, _schemaTypes, parentName = '') {
50
+ if (field.fields && field.fields.length > 0) {
51
+ // Inline object - create a unique type name with parent prefix
52
+ return capitalizeFirst(`${parentName}${field.name}Object`);
53
+ }
54
+ return 'String'; // JSON string fallback
55
+ }
56
+ function handleReferenceField(field) {
57
+ if (field.to && field.to.length === 1) {
58
+ return capitalizeFirst(field.to[0].type);
59
+ }
60
+ return 'String'; // ID reference for MVP
61
+ }
62
+ function isFieldRequired(field) {
63
+ if (!field.validation)
64
+ return false;
65
+ // Simple check - in production you'd parse the validation rules properly
66
+ return field.validation.toString().includes('required');
67
+ }
68
+ function generateObjectType(schemaType, allSchemaTypes) {
69
+ const typeName = capitalizeFirst(schemaType.name);
70
+ const fields = schemaType.fields
71
+ .map((field) => generateGraphQLField(field, allSchemaTypes, schemaType.name))
72
+ .join('\n');
73
+ return `type ${typeName} {
74
+ ${fields}
75
+ }`;
76
+ }
77
+ function generateDocumentType(schemaType, allSchemaTypes) {
78
+ const typeName = capitalizeFirst(schemaType.name);
79
+ const customFields = schemaType.fields
80
+ .map((field) => generateGraphQLField(field, allSchemaTypes, schemaType.name))
81
+ .join('\n');
82
+ return `type ${typeName} {
83
+ id: ID!
84
+ type: String!
85
+ status: String!
86
+ createdAt: String
87
+ updatedAt: String
88
+ publishedAt: String
89
+ ${customFields}
90
+ }`;
91
+ }
92
+ function generateInlineObjectTypes(schemaTypes) {
93
+ const inlineTypes = [];
94
+ function processFields(fields, parentName) {
95
+ fields.forEach((field) => {
96
+ if (field.type === 'object' && field.fields) {
97
+ const objectField = field;
98
+ const typeName = capitalizeFirst(`${parentName}${field.name}Object`);
99
+ const fieldDefs = objectField.fields
100
+ .map((f) => generateGraphQLField(f, schemaTypes, `${parentName}${field.name}`))
101
+ .join('\n');
102
+ inlineTypes.push(`type ${typeName} {
103
+ ${fieldDefs}
104
+ }`);
105
+ // Recursively process nested objects
106
+ processFields(objectField.fields, `${parentName}${field.name}`);
107
+ }
108
+ if (field.type === 'array') {
109
+ const arrayField = field;
110
+ if (arrayField.of && arrayField.of.length > 1) {
111
+ // Only create union for types that exist in schemaTypes
112
+ const validTypes = arrayField.of.filter((item) => schemaTypes.find((s) => s.name === item.type));
113
+ if (validTypes.length > 1) {
114
+ const unionName = `${capitalizeFirst(parentName)}${capitalizeFirst(field.name)}Item`;
115
+ const unionTypes = validTypes.map((item) => capitalizeFirst(item.type)).join(' | ');
116
+ inlineTypes.push(`union ${unionName} = ${unionTypes}`);
117
+ }
118
+ }
119
+ }
120
+ });
121
+ }
122
+ schemaTypes.forEach((schemaType) => {
123
+ processFields(schemaType.fields, schemaType.name);
124
+ });
125
+ return inlineTypes.join('\n\n');
126
+ }
127
+ // Generate filter input types
128
+ function generateFilterInputTypes() {
129
+ return `# Filter operators for string fields
130
+ input StringFilter {
131
+ equals: String
132
+ not_equals: String
133
+ in: [String!]
134
+ not_in: [String!]
135
+ contains: String
136
+ starts_with: String
137
+ ends_with: String
138
+ like: String
139
+ exists: Boolean
140
+ }
141
+
142
+ # Filter operators for number fields
143
+ input NumberFilter {
144
+ equals: Float
145
+ not_equals: Float
146
+ in: [Float!]
147
+ not_in: [Float!]
148
+ greater_than: Float
149
+ greater_than_equal: Float
150
+ less_than: Float
151
+ less_than_equal: Float
152
+ exists: Boolean
153
+ }
154
+
155
+ # Filter operators for boolean fields
156
+ input BooleanFilter {
157
+ equals: Boolean
158
+ not_equals: Boolean
159
+ exists: Boolean
160
+ }
161
+
162
+ # Filter operators for ID fields
163
+ input IDFilter {
164
+ equals: ID
165
+ not_equals: ID
166
+ in: [ID!]
167
+ not_in: [ID!]
168
+ exists: Boolean
169
+ }`;
170
+ }
171
+ // Generate where input type for a specific document type
172
+ function generateWhereInputType(schemaType, _allSchemaTypes) {
173
+ const typeName = capitalizeFirst(schemaType.name);
174
+ const whereTypeName = `${typeName}WhereInput`;
175
+ // Generate field filters
176
+ const fieldFilters = [];
177
+ schemaType.fields.forEach((field) => {
178
+ const filterType = getFilterType(field);
179
+ if (filterType) {
180
+ fieldFilters.push(` ${field.name}: ${filterType}`);
181
+ }
182
+ });
183
+ // Add standard document fields
184
+ fieldFilters.unshift(' id: IDFilter', ' type: StringFilter', ' status: StringFilter', ' createdAt: StringFilter', ' updatedAt: StringFilter', ' publishedAt: StringFilter');
185
+ // Add logical operators
186
+ fieldFilters.push(` AND: [${whereTypeName}!]`, ` OR: [${whereTypeName}!]`);
187
+ return `input ${whereTypeName} {
188
+ ${fieldFilters.join('\n')}
189
+ }`;
190
+ }
191
+ function getFilterType(field) {
192
+ switch (field.type) {
193
+ case 'string':
194
+ case 'text':
195
+ case 'slug':
196
+ return 'StringFilter';
197
+ case 'number':
198
+ return 'NumberFilter';
199
+ case 'boolean':
200
+ return 'BooleanFilter';
201
+ case 'reference':
202
+ return 'StringFilter'; // Reference IDs are strings
203
+ // Arrays, objects, and images don't have direct filters in GraphQL
204
+ default:
205
+ return null;
206
+ }
207
+ }
208
+ // Generate data input type for mutations
209
+ function generateDataInputType(schemaType, allSchemaTypes) {
210
+ const typeName = capitalizeFirst(schemaType.name);
211
+ const inputTypeName = `${typeName}DataInput`;
212
+ const fields = [];
213
+ schemaType.fields.forEach((field) => {
214
+ const inputFieldType = getInputFieldType(field, allSchemaTypes, schemaType.name);
215
+ if (inputFieldType) {
216
+ const required = isFieldRequired(field) ? '!' : '';
217
+ fields.push(` ${field.name}: ${inputFieldType}${required}`);
218
+ }
219
+ });
220
+ return `input ${inputTypeName} {
221
+ ${fields.join('\n')}
222
+ }`;
223
+ }
224
+ function getInputFieldType(field, _schemaTypes, _parentName) {
225
+ switch (field.type) {
226
+ case 'string':
227
+ case 'text':
228
+ case 'slug':
229
+ return 'String';
230
+ case 'number':
231
+ return 'Float';
232
+ case 'boolean':
233
+ return 'Boolean';
234
+ case 'reference':
235
+ return 'String'; // Reference IDs
236
+ case 'image':
237
+ return 'JSON'; // Images are complex objects
238
+ case 'array':
239
+ // For arrays, we'll use JSON for simplicity
240
+ // In a more advanced implementation, you'd create specific input types
241
+ return '[JSON]';
242
+ case 'object':
243
+ // For objects, we'll use JSON for simplicity
244
+ // In a more advanced implementation, you'd create specific input types
245
+ return 'JSON';
246
+ default:
247
+ return 'JSON';
248
+ }
249
+ }
250
+ function generateQueryFields(schemaTypes) {
251
+ const documentTypes = schemaTypes.filter((type) => type.type === 'document');
252
+ return documentTypes
253
+ .map((schemaType) => {
254
+ const typeName = capitalizeFirst(schemaType.name);
255
+ const whereInputType = `${typeName}WhereInput`;
256
+ return ` # Get a single ${schemaType.name} by ID
257
+ ${schemaType.name}(id: ID!, perspective: String, depth: Int): ${typeName}
258
+
259
+ # Get all ${schemaType.name} documents with filtering
260
+ all${typeName}(
261
+ where: ${whereInputType}
262
+ perspective: String
263
+ limit: Int
264
+ offset: Int
265
+ sort: String
266
+ depth: Int
267
+ ): [${typeName}!]!`;
268
+ })
269
+ .join('\n\n');
270
+ }
271
+ function generateMutationFields(schemaTypes) {
272
+ const documentTypes = schemaTypes.filter((type) => type.type === 'document');
273
+ return documentTypes
274
+ .map((schemaType) => {
275
+ const typeName = capitalizeFirst(schemaType.name);
276
+ const dataInputType = `${typeName}DataInput`;
277
+ return ` # Create a new ${schemaType.name}
278
+ create${typeName}(data: ${dataInputType}!, publish: Boolean): ${typeName}!
279
+
280
+ # Update an existing ${schemaType.name}
281
+ update${typeName}(id: ID!, data: JSON!, publish: Boolean): ${typeName}!
282
+
283
+ # Delete a ${schemaType.name}
284
+ delete${typeName}(id: ID!): DeleteResult!
285
+
286
+ # Publish a ${schemaType.name}
287
+ publish${typeName}(id: ID!): ${typeName}!
288
+
289
+ # Unpublish a ${schemaType.name}
290
+ unpublish${typeName}(id: ID!): ${typeName}!`;
291
+ })
292
+ .join('\n\n');
293
+ }
294
+ export function generateGraphQLSchema(schemaTypes) {
295
+ const documentTypes = schemaTypes.filter((type) => type.type === 'document');
296
+ const objectTypes = schemaTypes.filter((type) => type.type === 'object');
297
+ const documentTypeDefs = documentTypes
298
+ .map((schema) => generateDocumentType(schema, schemaTypes))
299
+ .join('\n\n');
300
+ const objectTypeDefs = objectTypes
301
+ .map((schema) => generateObjectType(schema, schemaTypes))
302
+ .join('\n\n');
303
+ const inlineTypeDefs = generateInlineObjectTypes(schemaTypes);
304
+ const filterInputTypes = generateFilterInputTypes();
305
+ const whereInputTypes = documentTypes
306
+ .map((schema) => generateWhereInputType(schema, schemaTypes))
307
+ .join('\n\n');
308
+ const dataInputTypes = documentTypes
309
+ .map((schema) => generateDataInputType(schema, schemaTypes))
310
+ .join('\n\n');
311
+ const queryFields = generateQueryFields(schemaTypes);
312
+ const mutationFields = generateMutationFields(schemaTypes);
313
+ const imageTypeDef = `type Image {
314
+ _type: String!
315
+ asset: ImageAsset
316
+ url: String
317
+ }
318
+
319
+ type ImageAsset {
320
+ _ref: String!
321
+ _type: String!
322
+ }`;
323
+ const scalarDefs = `# JSON scalar for flexible data
324
+ scalar JSON`;
325
+ const deleteResultType = `type DeleteResult {
326
+ success: Boolean!
327
+ }`;
328
+ const result = `
329
+ ${scalarDefs}
330
+
331
+ type Query {
332
+ ${queryFields}
333
+ }
334
+
335
+ type Mutation {
336
+ ${mutationFields}
337
+ }
338
+
339
+ ${deleteResultType}
340
+
341
+ ${imageTypeDef}
342
+
343
+ ${filterInputTypes}
344
+
345
+ ${whereInputTypes}
346
+
347
+ ${dataInputTypes}
348
+
349
+ ${documentTypeDefs}
350
+
351
+ ${objectTypeDefs}
352
+
353
+ ${inlineTypeDefs}
354
+ `.trim();
355
+ return result;
356
+ }
package/dist/hooks.d.ts CHANGED
@@ -5,6 +5,7 @@ import type { AssetService } from './services/asset-service.js';
5
5
  import type { StorageAdapter } from './storage/interfaces/storage.js';
6
6
  import type { EmailAdapter } from './email/index.js';
7
7
  import type { AuthProvider } from './auth/provider.js';
8
+ import type { GraphQLSettings } from './graphql/index.js';
8
9
  import { CMSEngine } from './engine.js';
9
10
  import { type LocalAPI } from './local-api/index.js';
10
11
  export interface CMSInstances {
@@ -16,6 +17,7 @@ export interface CMSInstances {
16
17
  cmsEngine: CMSEngine;
17
18
  localAPI: LocalAPI;
18
19
  auth?: AuthProvider;
20
+ graphqlSettings?: GraphQLSettings | null;
19
21
  pluginRoutes?: Map<string, {
20
22
  handler: (event: any) => Promise<Response> | Response;
21
23
  pluginName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAA8B,MAAM,eAAe,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIpD,OAAO,EAAa,SAAS,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlE,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,CACjB,MAAM,EACN;QAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAC7E,CAAC;CACF;AAgFD,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAgIvD"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAA8B,MAAM,eAAe,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKvD,OAAO,EAAa,SAAS,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlE,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,YAAY,CAAC,EAAE,GAAG,CACjB,MAAM,EACN;QAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAC7E,CAAC;CACF;AAgFD,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CA+LvD"}
package/dist/hooks.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { handleAuthHook } from './auth/auth-hooks.js';
2
+ import { cmsLogger, setLogLevel } from './utils/logger.js';
2
3
  import { createStorageAdapter as createStorageAdapterProvider } from './storage/providers/storage.js';
3
4
  import { AssetService as AssetServiceClass } from './services/asset-service.js';
4
5
  import { createCMS } from './engine.js';
@@ -69,12 +70,15 @@ async function resolvePlugin(pluginConfig) {
69
70
  throw new Error(`Invalid plugin configuration: ${JSON.stringify(pluginConfig)}`);
70
71
  }
71
72
  export function createCMSHook(config) {
73
+ // Apply log level from config (if provided)
74
+ if (config.logLevel)
75
+ setLogLevel(config.logLevel);
72
76
  return async ({ event, resolve }) => {
73
77
  // Note: In dev mode, /storage/ might be accessible via Vite dev server
74
78
  // In production, only /static/ folder is served - /storage/ is private
75
79
  // Initialize CMS instances once at application startup
76
80
  if (!cmsInstances) {
77
- console.log('🚀 Initializing CMS...');
81
+ cmsLogger.info('[CMS]', 'Initializing...');
78
82
  const databaseAdapter = config.database;
79
83
  // Use the storage adapter from config, or create the default local one.
80
84
  const storageAdapter = config.storage ?? createDefaultStorageAdapter();
@@ -88,7 +92,7 @@ export function createCMSHook(config) {
88
92
  await cmsEngine.initialize();
89
93
  }
90
94
  catch (error) {
91
- console.error(' Failed to initialize CMS:', error);
95
+ cmsLogger.error('[CMS]', 'Failed to initialize:', error);
92
96
  schemaError = error instanceof Error ? error : new Error(String(error));
93
97
  }
94
98
  // Build plugin route map and install plugins (do this ONCE at startup)
@@ -99,7 +103,7 @@ export function createCMSHook(config) {
99
103
  try {
100
104
  // Resolve plugin config to actual CMSPlugin instance (may involve dynamic import)
101
105
  const plugin = await resolvePlugin(pluginConfig);
102
- console.log(`🔌 Loading plugin: ${plugin.name}@${plugin.version}`);
106
+ cmsLogger.info('[CMS]', `Loading plugin: ${plugin.name}@${plugin.version}`);
103
107
  // Build route map before installation
104
108
  if (plugin.routes) {
105
109
  for (const [path, handler] of Object.entries(plugin.routes)) {
@@ -119,15 +123,63 @@ export function createCMSHook(config) {
119
123
  pluginRoutes
120
124
  };
121
125
  // Install the plugin
122
- console.log(`🔌 Installing plugin: ${plugin.name}`);
126
+ cmsLogger.info('[CMS]', `Installing plugin: ${plugin.name}`);
123
127
  await plugin.install(tempInstances);
124
128
  }
125
129
  catch (error) {
126
- console.error(`❌ Failed to load/install plugin:`, error);
130
+ cmsLogger.error('[CMS]', 'Failed to load/install plugin:', error);
127
131
  throw error;
128
132
  }
129
133
  }
130
134
  }
135
+ // Initialize built-in GraphQL (enabled by default, opt-out with graphql: false)
136
+ let graphqlSettings = null;
137
+ // Check if a plugin already registered the GraphQL route (backward compat)
138
+ const hasGraphQLPlugin = Array.from(pluginRoutes.values()).some((r) => r.pluginName === '@aphexcms/graphql-plugin');
139
+ if (config.graphql !== false && !hasGraphQLPlugin) {
140
+ try {
141
+ const { createGraphQLHandler } = await import('./graphql/index.js');
142
+ const graphqlConfig = typeof config.graphql === 'object' ? config.graphql : {};
143
+ const result = await createGraphQLHandler({
144
+ config,
145
+ databaseAdapter,
146
+ assetService,
147
+ storageAdapter,
148
+ emailAdapter,
149
+ cmsEngine,
150
+ localAPI,
151
+ auth: config.auth?.provider,
152
+ pluginRoutes
153
+ }, config.schemaTypes, graphqlConfig);
154
+ // Register GraphQL route (normalize path to always have leading /)
155
+ const rawPath = graphqlConfig.path ?? '/api/graphql';
156
+ const endpoint = rawPath.startsWith('/') ? rawPath : `/${rawPath}`;
157
+ pluginRoutes.set(endpoint, {
158
+ handler: result.handler,
159
+ pluginName: 'built-in:graphql'
160
+ });
161
+ graphqlSettings = result.settings;
162
+ }
163
+ catch (error) {
164
+ cmsLogger.error('[CMS]', 'Failed to initialize GraphQL:', error);
165
+ // Non-fatal: CMS works without GraphQL
166
+ }
167
+ }
168
+ else if (hasGraphQLPlugin) {
169
+ // Extract settings from the installed plugin for UI access
170
+ for (const pluginConfig of config.plugins || []) {
171
+ if (typeof pluginConfig === 'object' && 'config' in pluginConfig) {
172
+ const plugin = pluginConfig;
173
+ if (plugin.name === '@aphexcms/graphql-plugin' && plugin.config) {
174
+ graphqlSettings = {
175
+ endpoint: plugin.config.endpoint ?? '/api/graphql',
176
+ enableGraphiQL: plugin.config.enableGraphiQL ?? true
177
+ };
178
+ break;
179
+ }
180
+ }
181
+ }
182
+ }
131
183
  cmsInstances = {
132
184
  config,
133
185
  databaseAdapter: databaseAdapter,
@@ -137,20 +189,21 @@ export function createCMSHook(config) {
137
189
  cmsEngine: cmsEngine,
138
190
  localAPI: localAPI,
139
191
  auth: config.auth?.provider,
192
+ graphqlSettings,
140
193
  pluginRoutes
141
194
  };
142
195
  }
143
196
  else if (checkSchemasDirty()) {
144
197
  // HMR: Schemas changed, re-sync with database
145
198
  try {
146
- console.log('🔄 Syncing changed schemas to database...');
199
+ cmsLogger.info('[CMS]', 'Syncing changed schemas to database...');
147
200
  cmsInstances.cmsEngine.updateConfig(config);
148
201
  await cmsInstances.cmsEngine.initialize();
149
202
  schemaError = null; // Clear any previous errors
150
- console.log(' Schema sync complete');
203
+ cmsLogger.info('[CMS]', 'Schema sync complete');
151
204
  }
152
205
  catch (error) {
153
- console.error(' Failed to sync schemas:', error);
206
+ cmsLogger.error('[CMS]', 'Failed to sync schemas:', error);
154
207
  schemaError = error instanceof Error ? error : new Error(String(error));
155
208
  // Don't crash the app, just store the error
156
209
  // The old schemas in DB will remain until the error is fixed
@@ -172,7 +225,7 @@ export function createCMSHook(config) {
172
225
  if (cmsInstances.pluginRoutes && cmsInstances.pluginRoutes.size > 0) {
173
226
  const pluginRoute = cmsInstances.pluginRoutes.get(event.url.pathname);
174
227
  if (pluginRoute) {
175
- console.log(`🔌 Plugin ${pluginRoute.pluginName} handling route: ${event.url.pathname}`);
228
+ cmsLogger.debug('[CMS]', `Plugin ${pluginRoute.pluginName} handling route: ${event.url.pathname}`);
176
229
  return pluginRoute.handler(event);
177
230
  }
178
231
  }
@@ -0,0 +1,37 @@
1
+ import type { ApiResponse } from './types.js';
2
+ export interface ApiKey {
3
+ id: string;
4
+ name: string | null;
5
+ key?: string;
6
+ permissions: ('read' | 'write')[];
7
+ createdAt: Date | null;
8
+ lastRequest: Date | null;
9
+ expiresAt: Date | null;
10
+ }
11
+ export interface CreateApiKeyData {
12
+ name: string;
13
+ permissions: ('read' | 'write')[];
14
+ expiresInDays?: number;
15
+ }
16
+ export interface CreateApiKeyResponse {
17
+ apiKey: ApiKey & {
18
+ key: string;
19
+ };
20
+ }
21
+ export declare class ApiKeysApi {
22
+ /**
23
+ * Create a new API key
24
+ */
25
+ static create(data: CreateApiKeyData): Promise<ApiResponse<CreateApiKeyResponse>>;
26
+ /**
27
+ * Delete an API key
28
+ */
29
+ static remove(id: string): Promise<ApiResponse<{
30
+ success: boolean;
31
+ }>>;
32
+ }
33
+ export declare const apiKeys: {
34
+ create: typeof ApiKeysApi.create;
35
+ remove: typeof ApiKeysApi.remove;
36
+ };
37
+ //# sourceMappingURL=api-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../../src/lib/api/api-keys.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,MAAM;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IAClC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACjC;AAED,qBAAa,UAAU;IACtB;;OAEG;WACU,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAIvF;;OAEG;WACU,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAG3E;AAED,eAAO,MAAM,OAAO;;;CAGnB,CAAC"}
@@ -0,0 +1,21 @@
1
+ // API Keys client - composable API key operations
2
+ import { apiClient } from './client.js';
3
+ export class ApiKeysApi {
4
+ /**
5
+ * Create a new API key
6
+ */
7
+ static async create(data) {
8
+ return apiClient.post('/settings/api-keys', data);
9
+ }
10
+ /**
11
+ * Delete an API key
12
+ */
13
+ static async remove(id) {
14
+ return apiClient.delete(`/settings/api-keys/${id}`);
15
+ }
16
+ }
17
+ export const apiKeys = {
18
+ create: ApiKeysApi.create.bind(ApiKeysApi),
19
+ remove: ApiKeysApi.remove.bind(ApiKeysApi)
20
+ };
21
+ //# sourceMappingURL=api-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-keys.js","sourceRoot":"","sources":["../../../src/lib/api/api-keys.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAuBrC,MAAM,OAAO,UAAU;IACtB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAsB;QACzC,OAAO,SAAS,CAAC,IAAI,CAAuB,oBAAoB,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAU;QAC7B,OAAO,SAAS,CAAC,MAAM,CAAuB,sBAAsB,EAAE,EAAE,CAAC,CAAC;IAC3E,CAAC;CACD;AAED,MAAM,CAAC,MAAM,OAAO,GAAG;IACtB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;IAC1C,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;CAC1C,CAAC"}
@@ -0,0 +1,75 @@
1
+ import type { Asset } from '../types/asset.js';
2
+ import type { ApiResponse } from './types.js';
3
+ export interface AssetFilters {
4
+ assetType?: 'image' | 'file';
5
+ mimeType?: string;
6
+ search?: string;
7
+ limit?: number;
8
+ offset?: number;
9
+ }
10
+ export interface AssetReference {
11
+ documentId: string;
12
+ type: string;
13
+ title: string;
14
+ status: string | null;
15
+ }
16
+ export interface UpdateAssetData {
17
+ title?: string;
18
+ description?: string;
19
+ alt?: string;
20
+ creditLine?: string;
21
+ }
22
+ export declare class AssetsApi {
23
+ /**
24
+ * List assets with optional filters
25
+ */
26
+ static list(filters?: AssetFilters): Promise<ApiResponse<Asset[]>>;
27
+ /**
28
+ * Get asset by ID
29
+ */
30
+ static getById(id: string): Promise<ApiResponse<Asset>>;
31
+ /**
32
+ * Upload a new asset (multipart/form-data)
33
+ * Note: Use FormData for file uploads
34
+ */
35
+ static upload(formData: FormData): Promise<ApiResponse<Asset>>;
36
+ /**
37
+ * Update asset metadata
38
+ */
39
+ static update(id: string, data: UpdateAssetData): Promise<ApiResponse<Asset>>;
40
+ /**
41
+ * Delete an asset
42
+ */
43
+ static delete(id: string): Promise<ApiResponse<{
44
+ success: boolean;
45
+ }>>;
46
+ /**
47
+ * Bulk delete assets
48
+ */
49
+ static deleteBulk(ids: string[]): Promise<ApiResponse<{
50
+ deleted: number;
51
+ failed: number;
52
+ }>>;
53
+ /**
54
+ * Get documents that reference a specific asset
55
+ */
56
+ static getReferences(id: string): Promise<ApiResponse<{
57
+ references: AssetReference[];
58
+ total: number;
59
+ }>>;
60
+ /**
61
+ * Get reference counts for multiple assets in batch
62
+ */
63
+ static getReferenceCounts(ids: string[]): Promise<ApiResponse<Record<string, number>>>;
64
+ }
65
+ export declare const assets: {
66
+ list: typeof AssetsApi.list;
67
+ getById: typeof AssetsApi.getById;
68
+ upload: typeof AssetsApi.upload;
69
+ update: typeof AssetsApi.update;
70
+ delete: typeof AssetsApi.delete;
71
+ deleteBulk: typeof AssetsApi.deleteBulk;
72
+ getReferences: typeof AssetsApi.getReferences;
73
+ getReferenceCounts: typeof AssetsApi.getReferenceCounts;
74
+ };
75
+ //# sourceMappingURL=assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../src/lib/api/assets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC5B,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;CAChB;AAED,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,SAAS;IACrB;;OAEG;WACU,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IAaxE;;OAEG;WACU,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAI7D;;;OAGG;WACU,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAIpE;;OAEG;WACU,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAInF;;OAEG;WACU,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAI3E;;OAEG;WACU,UAAU,CACtB,GAAG,EAAE,MAAM,EAAE,GACX,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAI5D;;OAEG;WACU,aAAa,CACzB,EAAE,EAAE,MAAM,GACR,OAAO,CAAC,WAAW,CAAC;QAAE,UAAU,EAAE,cAAc,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAMxE;;OAEG;WACU,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAG5F;AAGD,eAAO,MAAM,MAAM;;;;;;;;;CASlB,CAAC"}