@aphexcms/cms-core 0.1.11 → 0.1.13

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 (399) hide show
  1. package/LICENSE +21 -0
  2. package/dist/api/assets.d.ts +48 -0
  3. package/dist/api/assets.d.ts.map +1 -0
  4. package/dist/api/assets.js +52 -0
  5. package/dist/api/client.d.ts +37 -0
  6. package/dist/api/client.d.ts.map +1 -0
  7. package/dist/api/client.js +125 -0
  8. package/dist/api/documents.d.ts +57 -0
  9. package/dist/api/documents.d.ts.map +1 -0
  10. package/dist/api/documents.js +85 -0
  11. package/dist/api/index.d.ts +7 -0
  12. package/dist/api/index.d.ts.map +1 -0
  13. package/dist/api/index.js +5 -0
  14. package/dist/api/organizations.d.ts +101 -0
  15. package/dist/api/organizations.d.ts.map +1 -0
  16. package/dist/api/organizations.js +92 -0
  17. package/dist/api/types.d.ts +45 -0
  18. package/dist/api/types.d.ts.map +1 -0
  19. package/dist/api/types.js +1 -0
  20. package/dist/auth/auth-errors.d.ts +7 -0
  21. package/dist/auth/auth-errors.d.ts.map +1 -0
  22. package/dist/auth/auth-errors.js +13 -0
  23. package/dist/auth/auth-hooks.d.ts +6 -0
  24. package/dist/auth/auth-hooks.d.ts.map +1 -0
  25. package/dist/auth/auth-hooks.js +122 -0
  26. package/dist/auth/provider.d.ts +17 -0
  27. package/dist/auth/provider.d.ts.map +1 -0
  28. package/dist/auth/provider.js +1 -0
  29. package/dist/cli/generate-types.js +218 -0
  30. package/dist/cli/index.js +86 -0
  31. package/dist/client/index.d.ts +24 -0
  32. package/dist/client/index.d.ts.map +1 -0
  33. package/{src/lib/client/index.ts → dist/client/index.js} +7 -18
  34. package/{src/lib → dist}/components/AdminApp.svelte +26 -55
  35. package/dist/components/AdminApp.svelte.d.ts +24 -0
  36. package/dist/components/AdminApp.svelte.d.ts.map +1 -0
  37. package/dist/components/admin/AdminLayout.svelte.d.ts +15 -0
  38. package/dist/components/admin/AdminLayout.svelte.d.ts.map +1 -0
  39. package/{src/lib → dist}/components/admin/DocumentEditor.svelte +60 -14
  40. package/dist/components/admin/DocumentEditor.svelte.d.ts +18 -0
  41. package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -0
  42. package/dist/components/admin/DocumentTypesList.svelte.d.ts +14 -0
  43. package/dist/components/admin/DocumentTypesList.svelte.d.ts.map +1 -0
  44. package/dist/components/admin/ObjectModal.svelte.d.ts +15 -0
  45. package/dist/components/admin/ObjectModal.svelte.d.ts.map +1 -0
  46. package/dist/components/admin/SchemaField.svelte.d.ts +19 -0
  47. package/dist/components/admin/SchemaField.svelte.d.ts.map +1 -0
  48. package/dist/components/admin/fields/ArrayField.svelte.d.ts +12 -0
  49. package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +1 -0
  50. package/dist/components/admin/fields/BooleanField.svelte.d.ts +13 -0
  51. package/dist/components/admin/fields/BooleanField.svelte.d.ts.map +1 -0
  52. package/dist/components/admin/fields/ImageField.svelte.d.ts +15 -0
  53. package/dist/components/admin/fields/ImageField.svelte.d.ts.map +1 -0
  54. package/dist/components/admin/fields/NumberField.svelte.d.ts +14 -0
  55. package/dist/components/admin/fields/NumberField.svelte.d.ts.map +1 -0
  56. package/{src/lib → dist}/components/admin/fields/ReferenceField.svelte +2 -3
  57. package/dist/components/admin/fields/ReferenceField.svelte.d.ts +12 -0
  58. package/dist/components/admin/fields/ReferenceField.svelte.d.ts.map +1 -0
  59. package/dist/components/admin/fields/SlugField.svelte.d.ts +15 -0
  60. package/dist/components/admin/fields/SlugField.svelte.d.ts.map +1 -0
  61. package/dist/components/admin/fields/StringField.svelte.d.ts +14 -0
  62. package/dist/components/admin/fields/StringField.svelte.d.ts.map +1 -0
  63. package/dist/components/admin/fields/TextareaField.svelte.d.ts +14 -0
  64. package/dist/components/admin/fields/TextareaField.svelte.d.ts.map +1 -0
  65. package/dist/components/fields/index.d.ts +9 -0
  66. package/dist/components/fields/index.d.ts.map +1 -0
  67. package/dist/components/index.d.ts +7 -0
  68. package/dist/components/index.d.ts.map +1 -0
  69. package/{src/lib/components/index.ts → dist/components/index.js} +1 -5
  70. package/dist/components/layout/OrganizationSwitcher.svelte.d.ts +11 -0
  71. package/dist/components/layout/OrganizationSwitcher.svelte.d.ts.map +1 -0
  72. package/dist/components/layout/Sidebar.svelte.d.ts +14 -0
  73. package/dist/components/layout/Sidebar.svelte.d.ts.map +1 -0
  74. package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts +11 -0
  75. package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts.map +1 -0
  76. package/dist/components/layout/sidebar/NavMain.svelte.d.ts +19 -0
  77. package/dist/components/layout/sidebar/NavMain.svelte.d.ts.map +1 -0
  78. package/dist/components/layout/sidebar/NavSecondary.svelte.d.ts +9 -0
  79. package/dist/components/layout/sidebar/NavSecondary.svelte.d.ts.map +1 -0
  80. package/dist/components/layout/sidebar/NavUser.svelte.d.ts +9 -0
  81. package/dist/components/layout/sidebar/NavUser.svelte.d.ts.map +1 -0
  82. package/dist/config.d.ts +3 -0
  83. package/dist/config.d.ts.map +1 -0
  84. package/dist/config.js +15 -0
  85. package/dist/db/adapters/index.d.ts +1 -0
  86. package/dist/db/adapters/index.d.ts.map +1 -0
  87. package/{src/lib/db/adapters/index.ts → dist/db/adapters/index.js} +1 -0
  88. package/dist/db/index.d.ts +2 -0
  89. package/dist/db/index.d.ts.map +1 -0
  90. package/{src/lib/db/index.ts → dist/db/index.js} +1 -2
  91. package/dist/db/interfaces/asset.d.ts +73 -0
  92. package/dist/db/interfaces/asset.d.ts.map +1 -0
  93. package/dist/db/interfaces/asset.js +1 -0
  94. package/dist/db/interfaces/document.d.ts +61 -0
  95. package/dist/db/interfaces/document.d.ts.map +1 -0
  96. package/dist/db/interfaces/document.js +1 -0
  97. package/dist/db/interfaces/index.d.ts +73 -0
  98. package/dist/db/interfaces/index.d.ts.map +1 -0
  99. package/dist/db/interfaces/index.js +1 -0
  100. package/dist/db/interfaces/organization.d.ts +27 -0
  101. package/dist/db/interfaces/organization.d.ts.map +1 -0
  102. package/dist/db/interfaces/organization.js +1 -0
  103. package/dist/db/interfaces/schema.d.ts +21 -0
  104. package/dist/db/interfaces/schema.d.ts.map +1 -0
  105. package/dist/db/interfaces/schema.js +1 -0
  106. package/dist/db/interfaces/user.d.ts +15 -0
  107. package/dist/db/interfaces/user.d.ts.map +1 -0
  108. package/dist/db/interfaces/user.js +1 -0
  109. package/dist/db/utils/reference-resolver.d.ts +18 -0
  110. package/dist/db/utils/reference-resolver.d.ts.map +1 -0
  111. package/dist/db/utils/reference-resolver.js +80 -0
  112. package/dist/define.d.ts +3 -0
  113. package/dist/define.d.ts.map +1 -0
  114. package/dist/define.js +4 -0
  115. package/dist/email/index.d.ts +2 -0
  116. package/dist/email/index.d.ts.map +1 -0
  117. package/{src/lib/email/index.ts → dist/email/index.js} +1 -2
  118. package/dist/email/interfaces/email.d.ts +42 -0
  119. package/dist/email/interfaces/email.d.ts.map +1 -0
  120. package/dist/email/interfaces/email.js +1 -0
  121. package/dist/engine.d.ts +26 -0
  122. package/dist/engine.d.ts.map +1 -0
  123. package/dist/engine.js +66 -0
  124. package/dist/field-validation/rule.d.ts +51 -0
  125. package/dist/field-validation/rule.d.ts.map +1 -0
  126. package/dist/field-validation/rule.js +221 -0
  127. package/dist/field-validation/utils.d.ts +39 -0
  128. package/dist/field-validation/utils.d.ts.map +1 -0
  129. package/dist/field-validation/utils.js +99 -0
  130. package/dist/hooks.d.ts +25 -0
  131. package/dist/hooks.d.ts.map +1 -0
  132. package/dist/hooks.js +164 -0
  133. package/dist/index.d.ts +2 -0
  134. package/dist/index.d.ts.map +1 -0
  135. package/{src/lib/index.ts → dist/index.js} +1 -2
  136. package/dist/is-mobile.svelte.d.ts +5 -0
  137. package/dist/is-mobile.svelte.d.ts.map +1 -0
  138. package/{src/lib/is-mobile.svelte.ts → dist/is-mobile.svelte.js} +3 -5
  139. package/dist/lib/auth/provider.js +1 -0
  140. package/dist/lib/db/index.js +4 -0
  141. package/dist/lib/db/interfaces/asset.js +1 -0
  142. package/dist/lib/db/interfaces/document.js +1 -0
  143. package/dist/lib/db/interfaces/index.js +1 -0
  144. package/dist/lib/db/interfaces/organization.js +1 -0
  145. package/dist/lib/db/interfaces/schema.js +1 -0
  146. package/dist/lib/db/interfaces/user.js +1 -0
  147. package/dist/lib/email/index.js +4 -0
  148. package/dist/lib/email/interfaces/email.js +1 -0
  149. package/dist/lib/field-validation/rule.js +221 -0
  150. package/dist/lib/field-validation/utils.js +99 -0
  151. package/dist/lib/storage/interfaces/index.js +2 -0
  152. package/dist/lib/storage/interfaces/storage.js +1 -0
  153. package/dist/lib/types/asset.js +2 -0
  154. package/dist/lib/types/auth.js +41 -0
  155. package/dist/lib/types/config.js +1 -0
  156. package/dist/lib/types/document.js +1 -0
  157. package/dist/lib/types/filters.js +5 -0
  158. package/dist/lib/types/index.js +9 -0
  159. package/dist/lib/types/organization.js +3 -0
  160. package/dist/lib/types/schemas.js +1 -0
  161. package/dist/lib/types/sidebar.js +1 -0
  162. package/dist/lib/types/user.js +1 -0
  163. package/dist/local-api/auth-helpers.d.ts +65 -0
  164. package/dist/local-api/auth-helpers.d.ts.map +1 -0
  165. package/dist/local-api/auth-helpers.js +102 -0
  166. package/dist/local-api/collection-api.d.ts +138 -0
  167. package/dist/local-api/collection-api.d.ts.map +1 -0
  168. package/dist/local-api/collection-api.js +276 -0
  169. package/dist/local-api/index.d.ts +108 -0
  170. package/dist/local-api/index.d.ts.map +1 -0
  171. package/dist/local-api/index.js +157 -0
  172. package/dist/local-api/permissions.d.ts +45 -0
  173. package/dist/local-api/permissions.d.ts.map +1 -0
  174. package/dist/local-api/permissions.js +117 -0
  175. package/dist/local-api/types.d.ts +65 -0
  176. package/dist/local-api/types.d.ts.map +1 -0
  177. package/dist/local-api/types.js +4 -0
  178. package/dist/routes/assets-by-id.d.ts +5 -0
  179. package/dist/routes/assets-by-id.d.ts.map +1 -0
  180. package/dist/routes/assets-by-id.js +138 -0
  181. package/dist/routes/assets-cdn.d.ts +3 -0
  182. package/dist/routes/assets-cdn.d.ts.map +1 -0
  183. package/dist/routes/assets-cdn.js +155 -0
  184. package/dist/routes/assets.d.ts +4 -0
  185. package/dist/routes/assets.d.ts.map +1 -0
  186. package/dist/routes/assets.js +94 -0
  187. package/dist/routes/documents-by-id.d.ts +5 -0
  188. package/dist/routes/documents-by-id.d.ts.map +1 -0
  189. package/dist/routes/documents-by-id.js +163 -0
  190. package/dist/routes/documents-publish.d.ts +4 -0
  191. package/dist/routes/documents-publish.d.ts.map +1 -0
  192. package/dist/routes/documents-publish.js +136 -0
  193. package/dist/routes/documents-query.d.ts +24 -0
  194. package/dist/routes/documents-query.d.ts.map +1 -0
  195. package/dist/routes/documents-query.js +95 -0
  196. package/dist/routes/documents.d.ts +4 -0
  197. package/dist/routes/documents.d.ts.map +1 -0
  198. package/dist/routes/documents.js +136 -0
  199. package/dist/routes/index.d.ts +8 -0
  200. package/dist/routes/index.d.ts.map +1 -0
  201. package/dist/routes/index.js +12 -0
  202. package/dist/routes/organizations-by-id.d.ts +5 -0
  203. package/dist/routes/organizations-by-id.d.ts.map +1 -0
  204. package/dist/routes/organizations-by-id.js +187 -0
  205. package/dist/routes/organizations-invitations.d.ts +4 -0
  206. package/dist/routes/organizations-invitations.d.ts.map +1 -0
  207. package/dist/routes/organizations-invitations.js +125 -0
  208. package/dist/routes/organizations-members.d.ts +5 -0
  209. package/dist/routes/organizations-members.d.ts.map +1 -0
  210. package/dist/routes/organizations-members.js +206 -0
  211. package/dist/routes/organizations-switch.d.ts +3 -0
  212. package/dist/routes/organizations-switch.d.ts.map +1 -0
  213. package/dist/routes/organizations-switch.js +53 -0
  214. package/dist/routes/organizations.d.ts +4 -0
  215. package/dist/routes/organizations.d.ts.map +1 -0
  216. package/dist/routes/organizations.js +109 -0
  217. package/dist/routes/schemas-by-type.d.ts +3 -0
  218. package/dist/routes/schemas-by-type.d.ts.map +1 -0
  219. package/dist/routes/schemas-by-type.js +25 -0
  220. package/dist/routes/schemas.d.ts +3 -0
  221. package/dist/routes/schemas.d.ts.map +1 -0
  222. package/dist/routes/schemas.js +11 -0
  223. package/dist/routes-exports.d.ts +14 -0
  224. package/dist/routes-exports.d.ts.map +1 -0
  225. package/dist/routes-exports.js +19 -0
  226. package/dist/schema-context.svelte.d.ts +10 -0
  227. package/dist/schema-context.svelte.d.ts.map +1 -0
  228. package/dist/schema-context.svelte.js +18 -0
  229. package/dist/schema-utils/cleanup.d.ts +21 -0
  230. package/dist/schema-utils/cleanup.d.ts.map +1 -0
  231. package/dist/schema-utils/cleanup.js +80 -0
  232. package/dist/schema-utils/index.d.ts +4 -0
  233. package/dist/schema-utils/index.d.ts.map +1 -0
  234. package/dist/schema-utils/index.js +4 -0
  235. package/dist/schema-utils/utils.d.ts +30 -0
  236. package/dist/schema-utils/utils.d.ts.map +1 -0
  237. package/dist/schema-utils/utils.js +37 -0
  238. package/dist/schema-utils/validator.d.ts +6 -0
  239. package/dist/schema-utils/validator.d.ts.map +1 -0
  240. package/dist/schema-utils/validator.js +45 -0
  241. package/dist/server/index.d.ts +17 -0
  242. package/dist/server/index.d.ts.map +1 -0
  243. package/dist/server/index.js +30 -0
  244. package/dist/services/asset-service.d.ts +86 -0
  245. package/dist/services/asset-service.d.ts.map +1 -0
  246. package/dist/services/asset-service.js +187 -0
  247. package/dist/services/index.d.ts +3 -0
  248. package/dist/services/index.d.ts.map +1 -0
  249. package/dist/services/index.js +4 -0
  250. package/dist/storage/adapters/index.d.ts +2 -0
  251. package/dist/storage/adapters/index.d.ts.map +1 -0
  252. package/dist/storage/adapters/index.js +2 -0
  253. package/dist/storage/adapters/local-storage-adapter.d.ts +54 -0
  254. package/dist/storage/adapters/local-storage-adapter.d.ts.map +1 -0
  255. package/dist/storage/adapters/local-storage-adapter.js +187 -0
  256. package/dist/storage/index.d.ts +3 -0
  257. package/dist/storage/index.d.ts.map +1 -0
  258. package/{src/lib/storage/index.ts → dist/storage/index.js} +2 -4
  259. package/dist/storage/interfaces/index.d.ts +2 -0
  260. package/dist/storage/interfaces/index.d.ts.map +1 -0
  261. package/dist/storage/interfaces/index.js +2 -0
  262. package/dist/storage/interfaces/storage.d.ts +91 -0
  263. package/dist/storage/interfaces/storage.d.ts.map +1 -0
  264. package/dist/storage/interfaces/storage.js +1 -0
  265. package/dist/storage/providers/storage.d.ts +43 -0
  266. package/dist/storage/providers/storage.d.ts.map +1 -0
  267. package/dist/storage/providers/storage.js +64 -0
  268. package/dist/types/asset.d.ts +73 -0
  269. package/dist/types/asset.d.ts.map +1 -0
  270. package/dist/types/asset.js +2 -0
  271. package/dist/types/auth.d.ts +50 -0
  272. package/dist/types/auth.d.ts.map +1 -0
  273. package/dist/types/auth.js +41 -0
  274. package/dist/types/config.d.ts +64 -0
  275. package/dist/types/config.d.ts.map +1 -0
  276. package/dist/types/config.js +1 -0
  277. package/dist/types/document.d.ts +35 -0
  278. package/dist/types/document.d.ts.map +1 -0
  279. package/dist/types/document.js +1 -0
  280. package/dist/types/filters.d.ts +173 -0
  281. package/dist/types/filters.d.ts.map +1 -0
  282. package/dist/types/filters.js +5 -0
  283. package/dist/types/index.d.ts +10 -0
  284. package/dist/types/index.d.ts.map +1 -0
  285. package/dist/types/index.js +9 -0
  286. package/dist/types/organization.d.ts +105 -0
  287. package/dist/types/organization.d.ts.map +1 -0
  288. package/dist/types/organization.js +3 -0
  289. package/dist/types/schemas.d.ts +114 -0
  290. package/dist/types/schemas.d.ts.map +1 -0
  291. package/dist/types/schemas.js +1 -0
  292. package/dist/types/sidebar.d.ts +33 -0
  293. package/dist/types/sidebar.d.ts.map +1 -0
  294. package/dist/types/sidebar.js +1 -0
  295. package/dist/types/user.d.ts +14 -0
  296. package/dist/types/user.d.ts.map +1 -0
  297. package/dist/types/user.js +1 -0
  298. package/dist/utils/content-hash.d.ts +22 -0
  299. package/dist/utils/content-hash.d.ts.map +1 -0
  300. package/dist/utils/content-hash.js +67 -0
  301. package/dist/utils/image-url.d.ts +88 -0
  302. package/dist/utils/image-url.d.ts.map +1 -0
  303. package/dist/utils/image-url.js +165 -0
  304. package/dist/utils/index.d.ts +6 -0
  305. package/dist/utils/index.d.ts.map +1 -0
  306. package/dist/utils/index.js +9 -0
  307. package/dist/utils/slug.d.ts +13 -0
  308. package/dist/utils/slug.d.ts.map +1 -0
  309. package/dist/utils/slug.js +30 -0
  310. package/dist/utils.d.ts +13 -0
  311. package/dist/utils.d.ts.map +1 -0
  312. package/dist/utils.js +5 -0
  313. package/package.json +101 -95
  314. package/src/lib/api/assets.ts +0 -75
  315. package/src/lib/api/client.ts +0 -150
  316. package/src/lib/api/documents.ts +0 -102
  317. package/src/lib/api/index.ts +0 -7
  318. package/src/lib/api/organizations.ts +0 -154
  319. package/src/lib/api/types.ts +0 -34
  320. package/src/lib/auth/auth-errors.ts +0 -23
  321. package/src/lib/auth/auth-hooks.ts +0 -132
  322. package/src/lib/auth/provider.ts +0 -25
  323. package/src/lib/config.ts +0 -18
  324. package/src/lib/db/interfaces/asset.ts +0 -61
  325. package/src/lib/db/interfaces/document.ts +0 -53
  326. package/src/lib/db/interfaces/index.ts +0 -98
  327. package/src/lib/db/interfaces/organization.ts +0 -51
  328. package/src/lib/db/interfaces/schema.ts +0 -13
  329. package/src/lib/db/interfaces/user.ts +0 -16
  330. package/src/lib/db/utils/reference-resolver.ts +0 -119
  331. package/src/lib/define.ts +0 -7
  332. package/src/lib/email/interfaces/email.ts +0 -45
  333. package/src/lib/engine.ts +0 -85
  334. package/src/lib/field-validation/rule.ts +0 -287
  335. package/src/lib/field-validation/utils.ts +0 -91
  336. package/src/lib/hooks.ts +0 -142
  337. package/src/lib/routes/assets-by-id.ts +0 -161
  338. package/src/lib/routes/assets-cdn.ts +0 -185
  339. package/src/lib/routes/assets.ts +0 -116
  340. package/src/lib/routes/documents-by-id.ts +0 -188
  341. package/src/lib/routes/documents-publish.ts +0 -211
  342. package/src/lib/routes/documents.ts +0 -172
  343. package/src/lib/routes/index.ts +0 -13
  344. package/src/lib/routes/organizations-by-id.ts +0 -258
  345. package/src/lib/routes/organizations-invitations.ts +0 -183
  346. package/src/lib/routes/organizations-members.ts +0 -301
  347. package/src/lib/routes/organizations-switch.ts +0 -74
  348. package/src/lib/routes/organizations.ts +0 -147
  349. package/src/lib/routes/schemas-by-type.ts +0 -35
  350. package/src/lib/routes/schemas.ts +0 -19
  351. package/src/lib/routes-exports.ts +0 -42
  352. package/src/lib/schema-context.svelte.ts +0 -24
  353. package/src/lib/schema-utils/cleanup.ts +0 -116
  354. package/src/lib/schema-utils/index.ts +0 -4
  355. package/src/lib/schema-utils/utils.ts +0 -47
  356. package/src/lib/schema-utils/validator.ts +0 -58
  357. package/src/lib/server/index.ts +0 -40
  358. package/src/lib/services/asset-service.ts +0 -256
  359. package/src/lib/services/index.ts +0 -6
  360. package/src/lib/storage/adapters/index.ts +0 -2
  361. package/src/lib/storage/adapters/local-storage-adapter.ts +0 -215
  362. package/src/lib/storage/interfaces/index.ts +0 -2
  363. package/src/lib/storage/interfaces/storage.ts +0 -114
  364. package/src/lib/storage/providers/storage.ts +0 -83
  365. package/src/lib/types/asset.ts +0 -81
  366. package/src/lib/types/auth.ts +0 -80
  367. package/src/lib/types/config.ts +0 -45
  368. package/src/lib/types/document.ts +0 -38
  369. package/src/lib/types/index.ts +0 -8
  370. package/src/lib/types/organization.ts +0 -119
  371. package/src/lib/types/schemas.ts +0 -156
  372. package/src/lib/types/sidebar.ts +0 -37
  373. package/src/lib/types/user.ts +0 -17
  374. package/src/lib/utils/content-hash.ts +0 -75
  375. package/src/lib/utils/image-url.ts +0 -204
  376. package/src/lib/utils/index.ts +0 -12
  377. package/src/lib/utils/slug.ts +0 -33
  378. package/src/lib/utils.ts +0 -13
  379. /package/{src/lib → dist}/app.d.ts +0 -0
  380. /package/{src/lib → dist}/auth/MULTI_TENANCY_PLAN.md +0 -0
  381. /package/{src/lib → dist}/components/admin/AdminLayout.svelte +0 -0
  382. /package/{src/lib → dist}/components/admin/DocumentTypesList.svelte +0 -0
  383. /package/{src/lib → dist}/components/admin/ObjectModal.svelte +0 -0
  384. /package/{src/lib → dist}/components/admin/SchemaField.svelte +0 -0
  385. /package/{src/lib → dist}/components/admin/fields/ArrayField.svelte +0 -0
  386. /package/{src/lib → dist}/components/admin/fields/BooleanField.svelte +0 -0
  387. /package/{src/lib → dist}/components/admin/fields/ImageField.svelte +0 -0
  388. /package/{src/lib → dist}/components/admin/fields/NumberField.svelte +0 -0
  389. /package/{src/lib → dist}/components/admin/fields/SlugField.svelte +0 -0
  390. /package/{src/lib → dist}/components/admin/fields/StringField.svelte +0 -0
  391. /package/{src/lib → dist}/components/admin/fields/TextareaField.svelte +0 -0
  392. /package/{src/lib/components/fields/index.ts → dist/components/fields/index.js} +0 -0
  393. /package/{src/lib → dist}/components/layout/OrganizationSwitcher.svelte +0 -0
  394. /package/{src/lib → dist}/components/layout/Sidebar.svelte +0 -0
  395. /package/{src/lib → dist}/components/layout/sidebar/AppSidebar.svelte +0 -0
  396. /package/{src/lib → dist}/components/layout/sidebar/NavMain.svelte +0 -0
  397. /package/{src/lib → dist}/components/layout/sidebar/NavSecondary.svelte +0 -0
  398. /package/{src/lib → dist}/components/layout/sidebar/NavUser.svelte +0 -0
  399. /package/{src/lib → dist}/plugins/README.md +0 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Benjamin Sinidol
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,48 @@
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 UpdateAssetData {
11
+ title?: string;
12
+ description?: string;
13
+ alt?: string;
14
+ creditLine?: string;
15
+ }
16
+ export declare class AssetsApi {
17
+ /**
18
+ * List assets with optional filters
19
+ */
20
+ static list(filters?: AssetFilters): Promise<ApiResponse<Asset[]>>;
21
+ /**
22
+ * Get asset by ID
23
+ */
24
+ static getById(id: string): Promise<ApiResponse<Asset>>;
25
+ /**
26
+ * Upload a new asset (multipart/form-data)
27
+ * Note: Use FormData for file uploads
28
+ */
29
+ static upload(formData: FormData): Promise<ApiResponse<Asset>>;
30
+ /**
31
+ * Update asset metadata
32
+ */
33
+ static update(id: string, data: UpdateAssetData): Promise<ApiResponse<Asset>>;
34
+ /**
35
+ * Delete an asset
36
+ */
37
+ static delete(id: string): Promise<ApiResponse<{
38
+ success: boolean;
39
+ }>>;
40
+ }
41
+ export declare const assets: {
42
+ list: typeof AssetsApi.list;
43
+ getById: typeof AssetsApi.getById;
44
+ upload: typeof AssetsApi.upload;
45
+ update: typeof AssetsApi.update;
46
+ delete: typeof AssetsApi.delete;
47
+ };
48
+ //# 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,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;CAG3E;AAGD,eAAO,MAAM,MAAM;;;;;;CAMlB,CAAC"}
@@ -0,0 +1,52 @@
1
+ // Assets API client - manage uploaded files and images
2
+ import { apiClient } from './client.js';
3
+ export class AssetsApi {
4
+ /**
5
+ * List assets with optional filters
6
+ */
7
+ static async list(filters) {
8
+ const params = new URLSearchParams();
9
+ if (filters) {
10
+ Object.entries(filters).forEach(([key, value]) => {
11
+ if (value !== undefined) {
12
+ params.append(key, String(value));
13
+ }
14
+ });
15
+ }
16
+ const query = params.toString();
17
+ return apiClient.get(`/assets${query ? `?${query}` : ''}`);
18
+ }
19
+ /**
20
+ * Get asset by ID
21
+ */
22
+ static async getById(id) {
23
+ return apiClient.get(`/assets/${id}`);
24
+ }
25
+ /**
26
+ * Upload a new asset (multipart/form-data)
27
+ * Note: Use FormData for file uploads
28
+ */
29
+ static async upload(formData) {
30
+ return apiClient.post('/assets', formData);
31
+ }
32
+ /**
33
+ * Update asset metadata
34
+ */
35
+ static async update(id, data) {
36
+ return apiClient.patch(`/assets/${id}`, data);
37
+ }
38
+ /**
39
+ * Delete an asset
40
+ */
41
+ static async delete(id) {
42
+ return apiClient.delete(`/assets/${id}`);
43
+ }
44
+ }
45
+ // Export convenience functions for direct use
46
+ export const assets = {
47
+ list: AssetsApi.list.bind(AssetsApi),
48
+ getById: AssetsApi.getById.bind(AssetsApi),
49
+ upload: AssetsApi.upload.bind(AssetsApi),
50
+ update: AssetsApi.update.bind(AssetsApi),
51
+ delete: AssetsApi.delete.bind(AssetsApi)
52
+ };
@@ -0,0 +1,37 @@
1
+ import type { ApiResponse } from './types.js';
2
+ export declare class ApiError extends Error {
3
+ status: number;
4
+ response: any;
5
+ constructor(status: number, response: any, message?: string);
6
+ }
7
+ export declare class ApiClient {
8
+ private baseUrl;
9
+ private timeout;
10
+ constructor(baseUrl?: string, timeout?: number);
11
+ /**
12
+ * Make HTTP request with proper error handling
13
+ */
14
+ private request;
15
+ /**
16
+ * GET request
17
+ */
18
+ get<T>(endpoint: string, params?: Record<string, any>): Promise<ApiResponse<T>>;
19
+ /**
20
+ * POST request
21
+ */
22
+ post<T>(endpoint: string, body?: any): Promise<ApiResponse<T>>;
23
+ /**
24
+ * PUT request
25
+ */
26
+ put<T>(endpoint: string, body?: any): Promise<ApiResponse<T>>;
27
+ /**
28
+ * DELETE request
29
+ */
30
+ delete<T>(endpoint: string, body?: any): Promise<ApiResponse<T>>;
31
+ /**
32
+ * PATCH request
33
+ */
34
+ patch<T>(endpoint: string, body?: any): Promise<ApiResponse<T>>;
35
+ }
36
+ export declare const apiClient: ApiClient;
37
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/lib/api/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAM3C,qBAAa,QAAS,SAAQ,KAAK;IAE1B,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,GAAG;gBADb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,GAAG,EACpB,OAAO,CAAC,EAAE,MAAM;CAKjB;AAED,qBAAa,SAAS;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,SAAmB,EAAE,OAAO,SAAkB;IAKjE;;OAEG;YACW,OAAO;IAoDrB;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAmBrF;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAQpE;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAQnE;;OAEG;IACG,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAOtE;;OAEG;IACG,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAOrE;AAGD,eAAO,MAAM,SAAS,WAAkB,CAAC"}
@@ -0,0 +1,125 @@
1
+ // Default configuration
2
+ const DEFAULT_BASE_URL = '/api';
3
+ const DEFAULT_TIMEOUT = 10000; // 10 seconds
4
+ export class ApiError extends Error {
5
+ status;
6
+ response;
7
+ constructor(status, response, message) {
8
+ super(message || `API Error: ${status}`);
9
+ this.status = status;
10
+ this.response = response;
11
+ this.name = 'ApiError';
12
+ }
13
+ }
14
+ export class ApiClient {
15
+ baseUrl;
16
+ timeout;
17
+ constructor(baseUrl = DEFAULT_BASE_URL, timeout = DEFAULT_TIMEOUT) {
18
+ this.baseUrl = baseUrl;
19
+ this.timeout = timeout;
20
+ }
21
+ /**
22
+ * Make HTTP request with proper error handling
23
+ */
24
+ async request(endpoint, options = {}) {
25
+ const url = `${this.baseUrl}${endpoint}`;
26
+ // Set up request with defaults
27
+ // Don't set Content-Type for FormData (browser will set it with boundary)
28
+ const headers = {};
29
+ if (!(options.body instanceof FormData)) {
30
+ headers['Content-Type'] = 'application/json';
31
+ }
32
+ const requestOptions = {
33
+ headers: {
34
+ ...headers,
35
+ ...options.headers
36
+ },
37
+ ...options
38
+ };
39
+ // Add timeout
40
+ const controller = new AbortController();
41
+ const timeoutId = setTimeout(() => controller.abort(), this.timeout);
42
+ requestOptions.signal = controller.signal;
43
+ try {
44
+ const response = await fetch(url, requestOptions);
45
+ clearTimeout(timeoutId);
46
+ const data = await response.json();
47
+ // Handle HTTP errors
48
+ if (!response.ok) {
49
+ throw new ApiError(response.status, data, data.message || data.error);
50
+ }
51
+ // Handle API-level errors
52
+ if (!data.success) {
53
+ throw new ApiError(response.status, data, data.message || data.error);
54
+ }
55
+ return data;
56
+ }
57
+ catch (error) {
58
+ clearTimeout(timeoutId);
59
+ if (error instanceof ApiError) {
60
+ throw error;
61
+ }
62
+ // Handle fetch errors (network, timeout, etc.)
63
+ throw new ApiError(0, null, error instanceof Error ? error.message : 'Network error');
64
+ }
65
+ }
66
+ /**
67
+ * GET request
68
+ */
69
+ async get(endpoint, params) {
70
+ let url = endpoint;
71
+ if (params) {
72
+ const searchParams = new URLSearchParams();
73
+ Object.entries(params).forEach(([key, value]) => {
74
+ if (value !== undefined && value !== null) {
75
+ searchParams.append(key, String(value));
76
+ }
77
+ });
78
+ if (searchParams.toString()) {
79
+ url += `?${searchParams.toString()}`;
80
+ }
81
+ }
82
+ return this.request(url, { method: 'GET' });
83
+ }
84
+ /**
85
+ * POST request
86
+ */
87
+ async post(endpoint, body) {
88
+ return this.request(endpoint, {
89
+ method: 'POST',
90
+ // Don't stringify FormData - pass it directly
91
+ body: body instanceof FormData ? body : body ? JSON.stringify(body) : undefined
92
+ });
93
+ }
94
+ /**
95
+ * PUT request
96
+ */
97
+ async put(endpoint, body) {
98
+ return this.request(endpoint, {
99
+ method: 'PUT',
100
+ // Don't stringify FormData - pass it directly
101
+ body: body instanceof FormData ? body : body ? JSON.stringify(body) : undefined
102
+ });
103
+ }
104
+ /**
105
+ * DELETE request
106
+ */
107
+ async delete(endpoint, body) {
108
+ return this.request(endpoint, {
109
+ method: 'DELETE',
110
+ body: body ? JSON.stringify(body) : undefined
111
+ });
112
+ }
113
+ /**
114
+ * PATCH request
115
+ */
116
+ async patch(endpoint, body) {
117
+ return this.request(endpoint, {
118
+ method: 'PATCH',
119
+ // Don't stringify FormData - pass it directly
120
+ body: body instanceof FormData ? body : body ? JSON.stringify(body) : undefined
121
+ });
122
+ }
123
+ }
124
+ // Export singleton instance
125
+ export const apiClient = new ApiClient();
@@ -0,0 +1,57 @@
1
+ import type { Document, DocumentListParams, CreateDocumentData, UpdateDocumentData, ApiResponse } from './types.js';
2
+ export declare class DocumentsApi {
3
+ /**
4
+ * List documents with optional filtering
5
+ * NOTE: Requires 'type' parameter - use getByType() for convenience
6
+ */
7
+ static list(params?: DocumentListParams): Promise<ApiResponse<Document[]>>;
8
+ /**
9
+ * Get document by ID
10
+ */
11
+ static getById(id: string): Promise<ApiResponse<Document>>;
12
+ /**
13
+ * Create new document
14
+ */
15
+ static create(data: CreateDocumentData): Promise<ApiResponse<Document>>;
16
+ /**
17
+ * Update document draft by ID (auto-save)
18
+ */
19
+ static updateById(id: string, data: UpdateDocumentData): Promise<ApiResponse<Document>>;
20
+ /**
21
+ * Publish document (copy draft -> published)
22
+ */
23
+ static publish(id: string): Promise<ApiResponse<Document>>;
24
+ /**
25
+ * Unpublish document (revert to draft only)
26
+ */
27
+ static unpublish(id: string): Promise<ApiResponse<Document>>;
28
+ /**
29
+ * Delete document by ID
30
+ */
31
+ static deleteById(id: string): Promise<ApiResponse<void>>;
32
+ /**
33
+ * Get documents by type (convenience method)
34
+ */
35
+ static getByType(docType: string, params?: Omit<DocumentListParams, 'docType'>): Promise<ApiResponse<Document[]>>;
36
+ /**
37
+ * Get published documents only (convenience method)
38
+ */
39
+ static getPublished(params?: Omit<DocumentListParams, 'status'>): Promise<ApiResponse<Document[]>>;
40
+ /**
41
+ * Get draft documents only (convenience method)
42
+ */
43
+ static getDrafts(params?: Omit<DocumentListParams, 'status'>): Promise<ApiResponse<Document[]>>;
44
+ }
45
+ export declare const documents: {
46
+ list: typeof DocumentsApi.list;
47
+ getById: typeof DocumentsApi.getById;
48
+ create: typeof DocumentsApi.create;
49
+ updateById: typeof DocumentsApi.updateById;
50
+ publish: typeof DocumentsApi.publish;
51
+ unpublish: typeof DocumentsApi.unpublish;
52
+ deleteById: typeof DocumentsApi.deleteById;
53
+ getByType: typeof DocumentsApi.getByType;
54
+ getPublished: typeof DocumentsApi.getPublished;
55
+ getDrafts: typeof DocumentsApi.getDrafts;
56
+ };
57
+ //# sourceMappingURL=documents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/lib/api/documents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,MAAM,SAAS,CAAC;AAEjB,qBAAa,YAAY;IACxB;;;OAGG;WACU,IAAI,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IAYpF;;OAEG;WACU,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAIhE;;OAEG;WACU,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAI7E;;OAEG;WACU,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAI7F;;OAEG;WACU,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAIhE;;OAEG;WACU,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAIlE;;OAEG;WACU,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAI/D;;OAEG;WACU,SAAS,CACrB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAM,GAC9C,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IAInC;;OAEG;WACU,YAAY,CACxB,MAAM,GAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAM,GAC7C,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IAInC;;OAEG;WACU,SAAS,CACrB,MAAM,GAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAM,GAC7C,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;CAGnC;AAGD,eAAO,MAAM,SAAS;;;;;;;;;;;CAWrB,CAAC"}
@@ -0,0 +1,85 @@
1
+ // Documents API client - composable document operations
2
+ import { apiClient } from './client.js';
3
+ export class DocumentsApi {
4
+ /**
5
+ * List documents with optional filtering
6
+ * NOTE: Requires 'type' parameter - use getByType() for convenience
7
+ */
8
+ static async list(params = {}) {
9
+ // Support both 'type' and legacy 'docType' parameter
10
+ const queryParams = {
11
+ ...params,
12
+ type: params.type || params.docType
13
+ };
14
+ // Remove docType to avoid confusion
15
+ delete queryParams.docType;
16
+ return apiClient.get('/documents', queryParams);
17
+ }
18
+ /**
19
+ * Get document by ID
20
+ */
21
+ static async getById(id) {
22
+ return apiClient.get(`/documents/${id}`);
23
+ }
24
+ /**
25
+ * Create new document
26
+ */
27
+ static async create(data) {
28
+ return apiClient.post('/documents', data);
29
+ }
30
+ /**
31
+ * Update document draft by ID (auto-save)
32
+ */
33
+ static async updateById(id, data) {
34
+ return apiClient.put(`/documents/${id}`, data);
35
+ }
36
+ /**
37
+ * Publish document (copy draft -> published)
38
+ */
39
+ static async publish(id) {
40
+ return apiClient.post(`/documents/${id}/publish`);
41
+ }
42
+ /**
43
+ * Unpublish document (revert to draft only)
44
+ */
45
+ static async unpublish(id) {
46
+ return apiClient.delete(`/documents/${id}/publish`);
47
+ }
48
+ /**
49
+ * Delete document by ID
50
+ */
51
+ static async deleteById(id) {
52
+ return apiClient.delete(`/documents/${id}`);
53
+ }
54
+ /**
55
+ * Get documents by type (convenience method)
56
+ */
57
+ static async getByType(docType, params = {}) {
58
+ return this.list({ ...params, docType });
59
+ }
60
+ /**
61
+ * Get published documents only (convenience method)
62
+ */
63
+ static async getPublished(params = {}) {
64
+ return this.list({ ...params, status: 'published' });
65
+ }
66
+ /**
67
+ * Get draft documents only (convenience method)
68
+ */
69
+ static async getDrafts(params = {}) {
70
+ return this.list({ ...params, status: 'draft' });
71
+ }
72
+ }
73
+ // Export convenience functions for direct use
74
+ export const documents = {
75
+ list: DocumentsApi.list.bind(DocumentsApi),
76
+ getById: DocumentsApi.getById.bind(DocumentsApi),
77
+ create: DocumentsApi.create.bind(DocumentsApi),
78
+ updateById: DocumentsApi.updateById.bind(DocumentsApi),
79
+ publish: DocumentsApi.publish.bind(DocumentsApi),
80
+ unpublish: DocumentsApi.unpublish.bind(DocumentsApi),
81
+ deleteById: DocumentsApi.deleteById.bind(DocumentsApi),
82
+ getByType: DocumentsApi.getByType.bind(DocumentsApi),
83
+ getPublished: DocumentsApi.getPublished.bind(DocumentsApi),
84
+ getDrafts: DocumentsApi.getDrafts.bind(DocumentsApi)
85
+ };
@@ -0,0 +1,7 @@
1
+ export { type ApiClient, ApiError, apiClient } from './client.js';
2
+ export { type ApiResponse } from './types.js';
3
+ export { documents } from './documents.js';
4
+ export { organizations } from './organizations.js';
5
+ export { assets } from './assets.js';
6
+ export type * from '../types/index.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/api/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,mBAAmB,gBAAgB,CAAC"}
@@ -0,0 +1,5 @@
1
+ // API Client exports
2
+ export { ApiError, apiClient } from './client.js';
3
+ export { documents } from './documents.js';
4
+ export { organizations } from './organizations.js';
5
+ export { assets } from './assets.js';
@@ -0,0 +1,101 @@
1
+ import type { Organization, OrganizationMember, OrganizationRole } from '../types/organization.js';
2
+ import type { ApiResponse } from './types.js';
3
+ export interface CreateOrganizationData {
4
+ name: string;
5
+ slug: string;
6
+ metadata?: any;
7
+ parentOrganizationId?: string;
8
+ }
9
+ export interface OrganizationListItem extends Organization {
10
+ role: OrganizationRole;
11
+ joinedAt: Date;
12
+ isActive: boolean;
13
+ }
14
+ export interface SwitchOrganizationData {
15
+ organizationId: string;
16
+ }
17
+ export interface InviteMemberData {
18
+ email: string;
19
+ role: OrganizationRole;
20
+ }
21
+ export interface UpdateMemberRoleData {
22
+ userId: string;
23
+ role: OrganizationRole;
24
+ }
25
+ export interface RemoveMemberData {
26
+ userId: string;
27
+ }
28
+ export interface CancelInvitationData {
29
+ invitationId: string;
30
+ }
31
+ export interface UpdateOrganizationData {
32
+ name?: string;
33
+ slug?: string;
34
+ metadata?: any;
35
+ }
36
+ export declare class OrganizationsApi {
37
+ /**
38
+ * List user's organizations
39
+ */
40
+ static list(): Promise<ApiResponse<OrganizationListItem[]>>;
41
+ /**
42
+ * Create new organization (super_admin only)
43
+ */
44
+ static create(data: CreateOrganizationData): Promise<ApiResponse<Organization>>;
45
+ /**
46
+ * Switch to a different organization
47
+ */
48
+ static switch(data: SwitchOrganizationData): Promise<ApiResponse<{
49
+ success: boolean;
50
+ }>>;
51
+ /**
52
+ * Get organization by ID
53
+ */
54
+ static getById(id: string): Promise<ApiResponse<Organization>>;
55
+ /**
56
+ * Get active organization
57
+ */
58
+ static getActive(): Promise<ApiResponse<Organization>>;
59
+ /**
60
+ * Get organization members
61
+ */
62
+ static getMembers(): Promise<ApiResponse<OrganizationMember[]>>;
63
+ /**
64
+ * Invite a member to the organization
65
+ */
66
+ static inviteMember(data: InviteMemberData): Promise<ApiResponse<OrganizationMember>>;
67
+ /**
68
+ * Remove a member from the organization
69
+ */
70
+ static removeMember(data: RemoveMemberData): Promise<ApiResponse<{
71
+ success: boolean;
72
+ }>>;
73
+ /**
74
+ * Update a member's role
75
+ */
76
+ static updateMemberRole(data: UpdateMemberRoleData): Promise<ApiResponse<OrganizationMember>>;
77
+ /**
78
+ * Update organization settings
79
+ */
80
+ static update(id: string, data: UpdateOrganizationData): Promise<ApiResponse<Organization>>;
81
+ /**
82
+ * Cancel a pending invitation
83
+ */
84
+ static cancelInvitation(data: CancelInvitationData): Promise<ApiResponse<{
85
+ success: boolean;
86
+ }>>;
87
+ }
88
+ export declare const organizations: {
89
+ list: typeof OrganizationsApi.list;
90
+ create: typeof OrganizationsApi.create;
91
+ switch: typeof OrganizationsApi.switch;
92
+ getById: typeof OrganizationsApi.getById;
93
+ getActive: typeof OrganizationsApi.getActive;
94
+ update: typeof OrganizationsApi.update;
95
+ getMembers: typeof OrganizationsApi.getMembers;
96
+ inviteMember: typeof OrganizationsApi.inviteMember;
97
+ removeMember: typeof OrganizationsApi.removeMember;
98
+ updateMemberRole: typeof OrganizationsApi.updateMemberRole;
99
+ cancelInvitation: typeof OrganizationsApi.cancelInvitation;
100
+ };
101
+ //# sourceMappingURL=organizations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizations.d.ts","sourceRoot":"","sources":["../../src/lib/api/organizations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACzD,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACtC,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,gBAAgB,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACpC,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;CACf;AAED,qBAAa,gBAAgB;IAC5B;;OAEG;WACU,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAIjE;;OAEG;WACU,MAAM,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAIrF;;OAEG;WACU,MAAM,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAI7F;;OAEG;WACU,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAIpE;;OAEG;WACU,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAY5D;;OAEG;WACU,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAIrE;;OAEG;WACU,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAI3F;;OAEG;WACU,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAI7F;;OAEG;WACU,gBAAgB,CAC5B,IAAI,EAAE,oBAAoB,GACxB,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAI3C;;OAEG;WACU,MAAM,CAClB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,sBAAsB,GAC1B,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAIrC;;OAEG;WACU,gBAAgB,CAC5B,IAAI,EAAE,oBAAoB,GACxB,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAG7C;AAGD,eAAO,MAAM,aAAa;;;;;;;;;;;;CAYzB,CAAC"}
@@ -0,0 +1,92 @@
1
+ // Organizations API client - composable organization operations
2
+ import { apiClient } from './client.js';
3
+ export class OrganizationsApi {
4
+ /**
5
+ * List user's organizations
6
+ */
7
+ static async list() {
8
+ return apiClient.get('/organizations');
9
+ }
10
+ /**
11
+ * Create new organization (super_admin only)
12
+ */
13
+ static async create(data) {
14
+ return apiClient.post('/organizations', data);
15
+ }
16
+ /**
17
+ * Switch to a different organization
18
+ */
19
+ static async switch(data) {
20
+ return apiClient.post('/organizations/switch', data);
21
+ }
22
+ /**
23
+ * Get organization by ID
24
+ */
25
+ static async getById(id) {
26
+ return apiClient.get(`/organizations/${id}`);
27
+ }
28
+ /**
29
+ * Get active organization
30
+ */
31
+ static async getActive() {
32
+ const result = await this.list();
33
+ const active = result.data?.find((org) => org.isActive);
34
+ if (!active) {
35
+ throw new Error('No active organization found');
36
+ }
37
+ return {
38
+ success: true,
39
+ data: active
40
+ };
41
+ }
42
+ /**
43
+ * Get organization members
44
+ */
45
+ static async getMembers() {
46
+ return apiClient.get('/organizations/members');
47
+ }
48
+ /**
49
+ * Invite a member to the organization
50
+ */
51
+ static async inviteMember(data) {
52
+ return apiClient.post('/organizations/invitations', data);
53
+ }
54
+ /**
55
+ * Remove a member from the organization
56
+ */
57
+ static async removeMember(data) {
58
+ return apiClient.delete('/organizations/members', data);
59
+ }
60
+ /**
61
+ * Update a member's role
62
+ */
63
+ static async updateMemberRole(data) {
64
+ return apiClient.patch('/organizations/members', data);
65
+ }
66
+ /**
67
+ * Update organization settings
68
+ */
69
+ static async update(id, data) {
70
+ return apiClient.patch(`/organizations/${id}`, data);
71
+ }
72
+ /**
73
+ * Cancel a pending invitation
74
+ */
75
+ static async cancelInvitation(data) {
76
+ return apiClient.delete('/organizations/invitations', data);
77
+ }
78
+ }
79
+ // Export convenience functions for direct use
80
+ export const organizations = {
81
+ list: OrganizationsApi.list.bind(OrganizationsApi),
82
+ create: OrganizationsApi.create.bind(OrganizationsApi),
83
+ switch: OrganizationsApi.switch.bind(OrganizationsApi),
84
+ getById: OrganizationsApi.getById.bind(OrganizationsApi),
85
+ getActive: OrganizationsApi.getActive.bind(OrganizationsApi),
86
+ update: OrganizationsApi.update.bind(OrganizationsApi),
87
+ getMembers: OrganizationsApi.getMembers.bind(OrganizationsApi),
88
+ inviteMember: OrganizationsApi.inviteMember.bind(OrganizationsApi),
89
+ removeMember: OrganizationsApi.removeMember.bind(OrganizationsApi),
90
+ updateMemberRole: OrganizationsApi.updateMemberRole.bind(OrganizationsApi),
91
+ cancelInvitation: OrganizationsApi.cancelInvitation.bind(OrganizationsApi)
92
+ };