@communecter/cocolight-api-client 1.0.155 → 1.0.157

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 (337) hide show
  1. package/dist/1035.cocolight-api-client.browser.js +1 -1
  2. package/dist/1035.cocolight-api-client.cjs +1 -1
  3. package/dist/1483.cocolight-api-client.browser.js +1 -1
  4. package/dist/1483.cocolight-api-client.cjs +1 -1
  5. package/dist/1491.cocolight-api-client.browser.js +1 -1
  6. package/dist/1491.cocolight-api-client.cjs +1 -1
  7. package/dist/1494.cocolight-api-client.browser.js +1 -1
  8. package/dist/1494.cocolight-api-client.cjs +1 -1
  9. package/dist/1641.cocolight-api-client.browser.js +1 -1
  10. package/dist/1641.cocolight-api-client.cjs +1 -1
  11. package/dist/1678.cocolight-api-client.browser.js +1 -1
  12. package/dist/1678.cocolight-api-client.cjs +1 -1
  13. package/dist/2041.cocolight-api-client.browser.js +1 -1
  14. package/dist/2041.cocolight-api-client.cjs +1 -1
  15. package/dist/2302.cocolight-api-client.browser.js +1 -1
  16. package/dist/2302.cocolight-api-client.cjs +1 -1
  17. package/dist/2313.cocolight-api-client.browser.js +1 -1
  18. package/dist/2313.cocolight-api-client.cjs +1 -1
  19. package/dist/2379.cocolight-api-client.browser.js +1 -1
  20. package/dist/2379.cocolight-api-client.cjs +1 -1
  21. package/dist/2439.cocolight-api-client.browser.js +1 -1
  22. package/dist/2439.cocolight-api-client.cjs +1 -1
  23. package/dist/2594.cocolight-api-client.browser.js +1 -1
  24. package/dist/2594.cocolight-api-client.cjs +1 -1
  25. package/dist/2766.cocolight-api-client.browser.js +1 -1
  26. package/dist/2766.cocolight-api-client.cjs +1 -1
  27. package/dist/2812.cocolight-api-client.browser.js +1 -1
  28. package/dist/2812.cocolight-api-client.cjs +1 -1
  29. package/dist/2918.cocolight-api-client.browser.js +1 -1
  30. package/dist/2918.cocolight-api-client.cjs +1 -1
  31. package/dist/3028.cocolight-api-client.browser.js +1 -1
  32. package/dist/3028.cocolight-api-client.cjs +1 -1
  33. package/dist/3330.cocolight-api-client.browser.js +1 -1
  34. package/dist/3330.cocolight-api-client.cjs +1 -1
  35. package/dist/3371.cocolight-api-client.browser.js +1 -1
  36. package/dist/3371.cocolight-api-client.cjs +1 -1
  37. package/dist/3401.cocolight-api-client.browser.js +1 -1
  38. package/dist/3401.cocolight-api-client.cjs +1 -1
  39. package/dist/3516.cocolight-api-client.browser.js +1 -1
  40. package/dist/3516.cocolight-api-client.cjs +1 -1
  41. package/dist/3593.cocolight-api-client.browser.js +1 -1
  42. package/dist/3593.cocolight-api-client.cjs +1 -1
  43. package/dist/3764.cocolight-api-client.browser.js +1 -1
  44. package/dist/3764.cocolight-api-client.cjs +1 -1
  45. package/dist/3873.cocolight-api-client.browser.js +1 -1
  46. package/dist/3873.cocolight-api-client.cjs +1 -1
  47. package/dist/3911.cocolight-api-client.browser.js +1 -1
  48. package/dist/3911.cocolight-api-client.cjs +1 -1
  49. package/dist/4031.cocolight-api-client.browser.js +1 -1
  50. package/dist/4031.cocolight-api-client.cjs +1 -1
  51. package/dist/4152.cocolight-api-client.browser.js +1 -1
  52. package/dist/4152.cocolight-api-client.cjs +1 -1
  53. package/dist/4203.cocolight-api-client.browser.js +1 -1
  54. package/dist/4203.cocolight-api-client.cjs +1 -1
  55. package/dist/424.cocolight-api-client.browser.js +1 -1
  56. package/dist/424.cocolight-api-client.cjs +1 -1
  57. package/dist/435.cocolight-api-client.browser.js +1 -1
  58. package/dist/435.cocolight-api-client.cjs +1 -1
  59. package/dist/4402.cocolight-api-client.browser.js +1 -1
  60. package/dist/4402.cocolight-api-client.cjs +1 -1
  61. package/dist/4425.cocolight-api-client.browser.js +1 -1
  62. package/dist/4425.cocolight-api-client.cjs +1 -1
  63. package/dist/4472.cocolight-api-client.browser.js +1 -1
  64. package/dist/4472.cocolight-api-client.cjs +1 -1
  65. package/dist/4914.cocolight-api-client.browser.js +1 -1
  66. package/dist/4914.cocolight-api-client.cjs +1 -1
  67. package/dist/4959.cocolight-api-client.browser.js +1 -1
  68. package/dist/4959.cocolight-api-client.cjs +1 -1
  69. package/dist/5100.cocolight-api-client.browser.js +1 -1
  70. package/dist/5100.cocolight-api-client.cjs +1 -1
  71. package/dist/5111.cocolight-api-client.browser.js +1 -1
  72. package/dist/5111.cocolight-api-client.cjs +1 -1
  73. package/dist/5286.cocolight-api-client.browser.js +1 -1
  74. package/dist/5286.cocolight-api-client.cjs +1 -1
  75. package/dist/5380.cocolight-api-client.browser.js +1 -1
  76. package/dist/5380.cocolight-api-client.cjs +1 -1
  77. package/dist/5383.cocolight-api-client.browser.js +1 -1
  78. package/dist/5383.cocolight-api-client.cjs +1 -1
  79. package/dist/5480.cocolight-api-client.browser.js +1 -1
  80. package/dist/5480.cocolight-api-client.cjs +1 -1
  81. package/dist/5541.cocolight-api-client.browser.js +1 -1
  82. package/dist/5541.cocolight-api-client.cjs +1 -1
  83. package/dist/5839.cocolight-api-client.browser.js +1 -1
  84. package/dist/5839.cocolight-api-client.cjs +1 -1
  85. package/dist/5862.cocolight-api-client.browser.js +1 -1
  86. package/dist/5862.cocolight-api-client.cjs +1 -1
  87. package/dist/5869.cocolight-api-client.browser.js +1 -1
  88. package/dist/5869.cocolight-api-client.cjs +1 -1
  89. package/dist/588.cocolight-api-client.browser.js +1 -1
  90. package/dist/588.cocolight-api-client.cjs +1 -1
  91. package/dist/601.cocolight-api-client.browser.js +1 -1
  92. package/dist/601.cocolight-api-client.cjs +1 -1
  93. package/dist/6012.cocolight-api-client.browser.js +1 -1
  94. package/dist/6012.cocolight-api-client.cjs +1 -1
  95. package/dist/6200.cocolight-api-client.browser.js +1 -1
  96. package/dist/6200.cocolight-api-client.cjs +1 -1
  97. package/dist/6369.cocolight-api-client.browser.js +1 -1
  98. package/dist/6369.cocolight-api-client.cjs +1 -1
  99. package/dist/7009.cocolight-api-client.browser.js +1 -1
  100. package/dist/7009.cocolight-api-client.cjs +1 -1
  101. package/dist/725.cocolight-api-client.browser.js +1 -1
  102. package/dist/725.cocolight-api-client.cjs +1 -1
  103. package/dist/7320.cocolight-api-client.browser.js +1 -1
  104. package/dist/7339.cocolight-api-client.browser.js +1 -1
  105. package/dist/7339.cocolight-api-client.cjs +1 -1
  106. package/dist/7398.cocolight-api-client.browser.js +1 -1
  107. package/dist/7398.cocolight-api-client.cjs +1 -1
  108. package/dist/7888.cocolight-api-client.browser.js +1 -1
  109. package/dist/7888.cocolight-api-client.cjs +1 -1
  110. package/dist/7975.cocolight-api-client.browser.js +1 -1
  111. package/dist/7975.cocolight-api-client.cjs +1 -1
  112. package/dist/809.cocolight-api-client.browser.js +1 -1
  113. package/dist/809.cocolight-api-client.cjs +1 -1
  114. package/dist/8300.cocolight-api-client.browser.js +1 -1
  115. package/dist/8300.cocolight-api-client.cjs +1 -1
  116. package/dist/8317.cocolight-api-client.browser.js +1 -1
  117. package/dist/8317.cocolight-api-client.cjs +1 -1
  118. package/dist/8525.cocolight-api-client.browser.js +1 -1
  119. package/dist/8525.cocolight-api-client.cjs +1 -1
  120. package/dist/8894.cocolight-api-client.browser.js +1 -1
  121. package/dist/8894.cocolight-api-client.cjs +1 -1
  122. package/dist/9301.cocolight-api-client.browser.js +1 -1
  123. package/dist/9301.cocolight-api-client.cjs +1 -1
  124. package/dist/9438.cocolight-api-client.browser.js +1 -1
  125. package/dist/9438.cocolight-api-client.cjs +1 -1
  126. package/dist/9478.cocolight-api-client.browser.js +1 -1
  127. package/dist/9478.cocolight-api-client.cjs +1 -1
  128. package/dist/9568.cocolight-api-client.browser.js +1 -1
  129. package/dist/9568.cocolight-api-client.cjs +1 -1
  130. package/dist/cocolight-api-client.browser.js +6 -6
  131. package/dist/cocolight-api-client.cjs +1 -1
  132. package/dist/cocolight-api-client.vite.mjs.js +1 -1
  133. package/dist/cocolight-api-client.vite.mjs.js.map +1 -1
  134. package/package.json +7 -17
  135. package/types/Api.d.ts +1 -0
  136. package/types/ApiClient.d.ts +10 -1
  137. package/types/api/Answer.d.ts +27 -9
  138. package/types/api/BaseEntity.d.ts +77 -0
  139. package/types/api/EndpointApi.d.ts +51 -3
  140. package/types/api/EndpointApi.types.d.ts +112 -1
  141. package/types/api/User.d.ts +20 -0
  142. package/types/costum/types.d.ts +0 -2
  143. package/types/endpoints.module.d.ts +3039 -1009
  144. package/types/index.d.ts +1 -0
  145. package/types/utils/OfflineClientManager.d.ts +8 -0
  146. package/types/utils/adminImportExport.d.ts +29 -0
  147. package/dist/1035.cocolight-api-client.mjs.js +0 -1
  148. package/dist/1483.cocolight-api-client.mjs.js +0 -1
  149. package/dist/1491.cocolight-api-client.mjs.js +0 -1
  150. package/dist/1494.cocolight-api-client.mjs.js +0 -1
  151. package/dist/1641.cocolight-api-client.mjs.js +0 -1
  152. package/dist/1678.cocolight-api-client.mjs.js +0 -1
  153. package/dist/2041.cocolight-api-client.mjs.js +0 -1
  154. package/dist/2302.cocolight-api-client.mjs.js +0 -1
  155. package/dist/2313.cocolight-api-client.mjs.js +0 -1
  156. package/dist/2379.cocolight-api-client.mjs.js +0 -1
  157. package/dist/2439.cocolight-api-client.mjs.js +0 -1
  158. package/dist/2594.cocolight-api-client.mjs.js +0 -1
  159. package/dist/2766.cocolight-api-client.mjs.js +0 -1
  160. package/dist/2812.cocolight-api-client.mjs.js +0 -1
  161. package/dist/2918.cocolight-api-client.mjs.js +0 -1
  162. package/dist/3028.cocolight-api-client.mjs.js +0 -1
  163. package/dist/3330.cocolight-api-client.mjs.js +0 -1
  164. package/dist/3371.cocolight-api-client.mjs.js +0 -1
  165. package/dist/3401.cocolight-api-client.mjs.js +0 -1
  166. package/dist/3516.cocolight-api-client.mjs.js +0 -1
  167. package/dist/3593.cocolight-api-client.mjs.js +0 -1
  168. package/dist/3764.cocolight-api-client.mjs.js +0 -1
  169. package/dist/3873.cocolight-api-client.mjs.js +0 -1
  170. package/dist/3911.cocolight-api-client.mjs.js +0 -1
  171. package/dist/4031.cocolight-api-client.mjs.js +0 -1
  172. package/dist/4152.cocolight-api-client.mjs.js +0 -1
  173. package/dist/4203.cocolight-api-client.mjs.js +0 -1
  174. package/dist/424.cocolight-api-client.mjs.js +0 -1
  175. package/dist/435.cocolight-api-client.mjs.js +0 -1
  176. package/dist/4402.cocolight-api-client.mjs.js +0 -1
  177. package/dist/4425.cocolight-api-client.mjs.js +0 -1
  178. package/dist/4472.cocolight-api-client.mjs.js +0 -1
  179. package/dist/4914.cocolight-api-client.mjs.js +0 -1
  180. package/dist/4959.cocolight-api-client.mjs.js +0 -1
  181. package/dist/5100.cocolight-api-client.mjs.js +0 -1
  182. package/dist/5111.cocolight-api-client.mjs.js +0 -1
  183. package/dist/5286.cocolight-api-client.mjs.js +0 -1
  184. package/dist/5380.cocolight-api-client.mjs.js +0 -1
  185. package/dist/5383.cocolight-api-client.mjs.js +0 -1
  186. package/dist/5480.cocolight-api-client.mjs.js +0 -1
  187. package/dist/5541.cocolight-api-client.mjs.js +0 -1
  188. package/dist/5839.cocolight-api-client.mjs.js +0 -1
  189. package/dist/5862.cocolight-api-client.mjs.js +0 -1
  190. package/dist/5869.cocolight-api-client.mjs.js +0 -1
  191. package/dist/588.cocolight-api-client.mjs.js +0 -1
  192. package/dist/601.cocolight-api-client.mjs.js +0 -1
  193. package/dist/6012.cocolight-api-client.mjs.js +0 -1
  194. package/dist/6200.cocolight-api-client.mjs.js +0 -1
  195. package/dist/6369.cocolight-api-client.mjs.js +0 -1
  196. package/dist/7009.cocolight-api-client.mjs.js +0 -1
  197. package/dist/725.cocolight-api-client.mjs.js +0 -1
  198. package/dist/7339.cocolight-api-client.mjs.js +0 -1
  199. package/dist/7398.cocolight-api-client.mjs.js +0 -1
  200. package/dist/7888.cocolight-api-client.mjs.js +0 -1
  201. package/dist/7975.cocolight-api-client.mjs.js +0 -1
  202. package/dist/809.cocolight-api-client.mjs.js +0 -1
  203. package/dist/8300.cocolight-api-client.mjs.js +0 -1
  204. package/dist/8317.cocolight-api-client.mjs.js +0 -1
  205. package/dist/8525.cocolight-api-client.mjs.js +0 -1
  206. package/dist/8894.cocolight-api-client.mjs.js +0 -1
  207. package/dist/9301.cocolight-api-client.mjs.js +0 -1
  208. package/dist/9438.cocolight-api-client.mjs.js +0 -1
  209. package/dist/9478.cocolight-api-client.mjs.js +0 -1
  210. package/dist/9568.cocolight-api-client.mjs.js +0 -1
  211. package/dist/cocolight-api-client.mjs.js +0 -1
  212. package/src/Api.ts +0 -348
  213. package/src/ApiClient.ts +0 -1994
  214. package/src/EJSONType.ts +0 -103
  215. package/src/api/Action.ts +0 -665
  216. package/src/api/Answer.ts +0 -1392
  217. package/src/api/Badge.ts +0 -143
  218. package/src/api/BaseEntity.ts +0 -6384
  219. package/src/api/Classified.ts +0 -175
  220. package/src/api/Comment.ts +0 -280
  221. package/src/api/EndpointApi.ts +0 -2270
  222. package/src/api/EndpointApi.types.ts +0 -6566
  223. package/src/api/EntityRegistry.ts +0 -324
  224. package/src/api/Event.ts +0 -360
  225. package/src/api/Form.ts +0 -282
  226. package/src/api/News.ts +0 -547
  227. package/src/api/Notifications.ts +0 -196
  228. package/src/api/Organization.ts +0 -771
  229. package/src/api/Poi.ts +0 -242
  230. package/src/api/Project.ts +0 -545
  231. package/src/api/User.ts +0 -1889
  232. package/src/api/UserApi.ts +0 -192
  233. package/src/api/serverDataType/Action.ts +0 -177
  234. package/src/api/serverDataType/Answer.ts +0 -106
  235. package/src/api/serverDataType/Classified.ts +0 -152
  236. package/src/api/serverDataType/Comment.ts +0 -88
  237. package/src/api/serverDataType/Country.ts +0 -1
  238. package/src/api/serverDataType/Event.ts +0 -112
  239. package/src/api/serverDataType/Form.ts +0 -157
  240. package/src/api/serverDataType/News.ts +0 -138
  241. package/src/api/serverDataType/Notification.ts +0 -81
  242. package/src/api/serverDataType/Organization.ts +0 -111
  243. package/src/api/serverDataType/Poi.ts +0 -75
  244. package/src/api/serverDataType/Project.ts +0 -115
  245. package/src/api/serverDataType/User.ts +0 -112
  246. package/src/api/serverDataType/Zone.ts +0 -33
  247. package/src/api/serverDataType/common.ts +0 -84
  248. package/src/costum/normalize.ts +0 -7
  249. package/src/costum/registry.ts +0 -138
  250. package/src/costum/runtime-map.ts +0 -221
  251. package/src/costum/runtime.ts +0 -274
  252. package/src/costum/schemas/CercleTravailleursSociauxLiberauxLaPlumeSociale.ts +0 -19
  253. package/src/costum/schemas/FabEn.ts +0 -19
  254. package/src/costum/schemas/LivingLabInnovationSocialeBraspanon.ts +0 -19
  255. package/src/costum/schemas/alfph.ts +0 -27
  256. package/src/costum/schemas/campagne.ts +0 -19
  257. package/src/costum/schemas/chtitube.ts +0 -19
  258. package/src/costum/schemas/circuitCourt.ts +0 -19
  259. package/src/costum/schemas/cmcasHauteBretagne.ts +0 -19
  260. package/src/costum/schemas/coFinancementTierslieux.ts +0 -27
  261. package/src/costum/schemas/coeurNumerique.ts +0 -19
  262. package/src/costum/schemas/communLundi.ts +0 -19
  263. package/src/costum/schemas/cressReunion.ts +0 -35
  264. package/src/costum/schemas/cressReunionNetwork.ts +0 -35
  265. package/src/costum/schemas/ctenat.ts +0 -43
  266. package/src/costum/schemas/cyberReunion.ts +0 -19
  267. package/src/costum/schemas/ekisphere.ts +0 -35
  268. package/src/costum/schemas/equipementsSportifs974.ts +0 -19
  269. package/src/costum/schemas/federationDesCae.ts +0 -19
  270. package/src/costum/schemas/formationGenerique.ts +0 -35
  271. package/src/costum/schemas/franceTierslieux.ts +0 -19
  272. package/src/costum/schemas/hinaura.ts +0 -27
  273. package/src/costum/schemas/hubmayotte.ts +0 -19
  274. package/src/costum/schemas/hubnouvellecaledonie.ts +0 -19
  275. package/src/costum/schemas/hubpolynesiefrancaise.ts +0 -19
  276. package/src/costum/schemas/hubreunion.ts +0 -19
  277. package/src/costum/schemas/hubterritoires.ts +0 -19
  278. package/src/costum/schemas/hubwallisetfutuna.ts +0 -19
  279. package/src/costum/schemas/hva.ts +0 -27
  280. package/src/costum/schemas/ibv2.ts +0 -19
  281. package/src/costum/schemas/institutBleu.ts +0 -19
  282. package/src/costum/schemas/journalInsoumisChambery.ts +0 -27
  283. package/src/costum/schemas/kpacite.ts +0 -19
  284. package/src/costum/schemas/laCompagnieDesTierslieux.ts +0 -43
  285. package/src/costum/schemas/laMaisonDesFaiseurs.ts +0 -19
  286. package/src/costum/schemas/laReunionPourUnNumeriqueInclusif.ts +0 -19
  287. package/src/costum/schemas/laSemaineDesTierslieux.ts +0 -19
  288. package/src/costum/schemas/labEnCommuns.ts +0 -19
  289. package/src/costum/schemas/lakou.ts +0 -27
  290. package/src/costum/schemas/lesCommunsDesTierslieux.ts +0 -19
  291. package/src/costum/schemas/mayottePourUnNumeriqueInclusif.ts +0 -19
  292. package/src/costum/schemas/meir.ts +0 -27
  293. package/src/costum/schemas/navigatorDesTierslieux.ts +0 -19
  294. package/src/costum/schemas/notragora.ts +0 -27
  295. package/src/costum/schemas/nouvellecaledoniePourUnNumeriqueInclusif.ts +0 -19
  296. package/src/costum/schemas/openAtlas.ts +0 -19
  297. package/src/costum/schemas/polynesieFrancaisePourUnNumeriqueInclusif.ts +0 -19
  298. package/src/costum/schemas/prdr.ts +0 -19
  299. package/src/costum/schemas/reseauTierslieux.ts +0 -19
  300. package/src/costum/schemas/rfflabs.ts +0 -19
  301. package/src/costum/schemas/ries.ts +0 -19
  302. package/src/costum/schemas/siteDuPactePourLaTransition.ts +0 -27
  303. package/src/costum/schemas/sportSanteBienetre.ts +0 -43
  304. package/src/costum/schemas/suppa.ts +0 -19
  305. package/src/costum/schemas/terramies.ts +0 -19
  306. package/src/costum/schemas/testeTplFormation.ts +0 -35
  307. package/src/costum/schemas/tierslieuxbelgique.ts +0 -19
  308. package/src/costum/schemas/tierslieuxorg1.ts +0 -35
  309. package/src/costum/schemas/transiter.ts +0 -35
  310. package/src/costum/schemas/vhelioPeiTour2025.ts +0 -19
  311. package/src/costum/schemas/wallisetfutunaPourUnNumeriqueInclusif.ts +0 -19
  312. package/src/costum/symbol.ts +0 -26
  313. package/src/costum/types.ts +0 -895
  314. package/src/endpoints.module.ts +0 -4253
  315. package/src/error.ts +0 -86
  316. package/src/forms/entityForm.ts +0 -142
  317. package/src/index.ts +0 -161
  318. package/src/mixin/UserMixin.ts +0 -4
  319. package/src/types/api-responses.ts +0 -217
  320. package/src/types/entities.ts +0 -58
  321. package/src/types/error-guards.ts +0 -230
  322. package/src/types/index.ts +0 -41
  323. package/src/types/payloads.ts +0 -21
  324. package/src/types/transforms.ts +0 -119
  325. package/src/utils/FileOfflineStorageStrategy.node.ts +0 -50
  326. package/src/utils/FileStorageStrategy.node.ts +0 -63
  327. package/src/utils/MultiServerFileStorageStrategy.node.ts +0 -67
  328. package/src/utils/MultiServerTokenStorageStrategy.ts +0 -139
  329. package/src/utils/OfflineClientManager.ts +0 -216
  330. package/src/utils/OfflineQueueStorageStrategy.ts +0 -47
  331. package/src/utils/TokenStorage.ts +0 -77
  332. package/src/utils/compat.ts +0 -12
  333. package/src/utils/createDefaultMultiServerTokenStorageStrategy.ts +0 -35
  334. package/src/utils/createDefaultOfflineStrategy.ts +0 -34
  335. package/src/utils/createDefaultTokenStorageStrategy.ts +0 -33
  336. package/src/utils/reactive.ts +0 -243
  337. package/src/utils/stream-utils.node.ts +0 -12
package/src/Api.ts DELETED
@@ -1,348 +0,0 @@
1
- // Api.ts
2
- import { Action } from "./api/Action.js";
3
- import { Answer } from "./api/Answer.js";
4
- import { Badge } from "./api/Badge.js";
5
- import { Classified } from "./api/Classified.js";
6
- import { Comment } from "./api/Comment.js";
7
- import EndpointApi from "./api/EndpointApi.js";
8
- import { createFromCollection, registerEntity } from "./api/EntityRegistry.js";
9
- import { Event } from "./api/Event.js";
10
- import { Form } from "./api/Form.js";
11
- import { News } from "./api/News.js";
12
- import { Organization } from "./api/Organization.js";
13
- import { Poi } from "./api/Poi.js";
14
- import { Project } from "./api/Project.js";
15
- import { User } from "./api/User.js";
16
- import { UserApi } from "./api/UserApi.js";
17
- import { ApiAuthenticationError, ApiClientError, ApiError, ApiResponseError } from "./error.js";
18
-
19
- import type { SearchTagsData } from "./api/EndpointApi.types.js";
20
- import type ApiClient from "./ApiClient.js";
21
- import type { ApiClientOptions } from "./ApiClient.js";
22
- import type { GetElementsKeyResponse } from "./types/api-responses.js";
23
- import type { EntityData, EntityTypes } from "./types/entities.js";
24
-
25
- registerEntity("User", User);
26
- registerEntity("Organization", Organization);
27
- registerEntity("Project", Project);
28
- registerEntity("Event", Event);
29
- registerEntity("Poi", Poi);
30
- registerEntity("Badge", Badge);
31
- registerEntity("EndpointApi", EndpointApi);
32
- // registerEntity("UserApi", UserApi);
33
- registerEntity("News", News);
34
- registerEntity("Comment", Comment);
35
- registerEntity("Answer", Answer);
36
- registerEntity("Form", Form);
37
- registerEntity("Classified", Classified);
38
- registerEntity("Action", Action);
39
-
40
-
41
-
42
- export default class Api {
43
- private _loggedUser: User | null;
44
- private _client: ApiClient;
45
-
46
- /**
47
- * Authentifie l'utilisateur et retourne une instance d'Api.
48
- */
49
- static async userLogin(
50
- email: string,
51
- password: string,
52
- options: ApiClientOptions | ApiClient
53
- ): Promise<Api> {
54
- const userApi = Api.userApi(options);
55
- return await Api.userApiLogin(userApi, email, password);
56
- }
57
-
58
- /**
59
- * Crée une instance de UserApi avec les options fournies.
60
- */
61
- static userApi(options: ApiClientOptions | ApiClient): UserApi {
62
- try {
63
- const userApi = new UserApi(options);
64
- return userApi;
65
- } catch (error) {
66
- console.error("[Api.userApi] Erreur lors de la création d'un objet utilisateur :", (error as Error).message);
67
- throw error;
68
- }
69
- }
70
-
71
- /**
72
- * Connecte un utilisateur avec un UserApi existant.
73
- */
74
- static async userApiLogin(
75
- userApi: UserApi,
76
- email: string,
77
- password: string
78
- ): Promise<Api> {
79
- try {
80
-
81
- if (!userApi) {
82
- throw new ApiError("userApi is not defined", 500);
83
- }
84
- if(!userApi.client) {
85
- throw new ApiError("userApi.client is not defined", 500);
86
- }
87
-
88
- if(userApi.client.isConnected) {
89
- // Si l'utilisateur est déjà connecté, on le récupère
90
- // et on ne fait pas de login
91
- const loggedUser = await userApi.meIsconnected();
92
- return new Api(loggedUser, userApi.client);
93
- } else {
94
- if (!email || !password) {
95
- throw new ApiError("email and password are required", 400);
96
- }
97
- const loggedUser = await userApi.login(email, password);
98
- return new Api(loggedUser, userApi.client);
99
- }
100
-
101
- } catch (error) {
102
- if(error instanceof ApiClientError) {
103
- if(error?.details?.error) {
104
- throw new ApiAuthenticationError(error.details.error, error.status, error.details);
105
- }
106
- }
107
- throw error;
108
- }
109
- }
110
-
111
- /**
112
- * Construit une instance d'Api.
113
- */
114
- constructor(loggedUser: User | null, client: ApiClient) {
115
- this._loggedUser = loggedUser;
116
- this._client = client;
117
- }
118
-
119
- /**
120
- * Retourne l'utilisateur connecté.
121
- */
122
- async me(): Promise<User> {
123
- if (!this._loggedUser) {
124
- throw new ApiAuthenticationError("Accès refusé : utilisateur non authentifié.", 401);
125
- }
126
- await this._loggedUser.get();
127
- return this._loggedUser;
128
- }
129
-
130
- /**
131
- * Crée une instance User (autre que le connecté).
132
- */
133
- async user(userData: EntityData): Promise<User> {
134
- try {
135
- if (!userData.id && !userData.slug) {
136
- return new User(this._client, userData, { EndpointApi, Organization, Project, Event, Poi, Badge, News, Comment, Answer, Form, Classified, Action });
137
- } else {
138
- const user = new User(this._client, userData, { EndpointApi, Organization, Project, Event, Poi, Badge, News, Comment, Answer, Form, Classified, Action });
139
- await user.get();
140
- return user;
141
- }
142
- } catch (error) {
143
- console.error("[Api.user] Erreur lors de la création d'un objet utilisateur public :", (error as Error).message);
144
- throw error;
145
- }
146
- }
147
-
148
-
149
- /**
150
- * Creates an Organization object and optionally retrieves its profile.
151
- */
152
- async organization(organizationData: EntityData): Promise<Organization> {
153
- try {
154
- const organization = new Organization(this._client, organizationData, { EndpointApi, User, Project, Event, Poi, Badge, News, Comment, Answer, Form, Classified, Action });
155
- if (!organizationData.id && !organizationData.slug) {
156
- throw new Error("Vous devez fournir un id ou un slug pour créer une instance Organization.");
157
- }
158
- await organization.get();
159
- return organization;
160
- } catch (error) {
161
- console.error("[Api.organization] Erreur lors de la création d'un objet organisation :", (error as Error).message);
162
- throw error;
163
- }
164
- }
165
-
166
- /**
167
- * Creates a new Project instance and optionally retrieves its profile.
168
- */
169
- async project(projectData: EntityData): Promise<Project> {
170
- try {
171
- const project = new Project(this._client, projectData, { EndpointApi, User, Organization, Event, Poi, Badge, News, Comment, Answer, Form, Classified, Action });
172
- if (!projectData.id && !projectData.slug) {
173
- throw new Error("Vous devez fournir un id ou un slug pour créer une instance Project.");
174
- }
175
- await project.get();
176
- return project;
177
- } catch (error) {
178
- console.error("[Api.project] Erreur lors de la création d'un objet projet :", (error as Error).message);
179
- throw error;
180
- }
181
- }
182
-
183
- /**
184
- * Creates a new Event instance and optionally retrieves its profile.
185
- */
186
- async event(eventData: EntityData): Promise<Event> {
187
- try {
188
- const event = new Event(this._client, eventData, { EndpointApi, User, Organization, Project, Poi, Badge, News, Comment, Answer, Form, Classified, Action });
189
- if (!eventData.id && !eventData.slug) {
190
- throw new Error("Vous devez fournir un id ou un slug pour créer une instance Event.");
191
- }
192
- await event.get();
193
- return event;
194
- } catch (error) {
195
- console.error("[Api.event] Erreur lors de la création d'un objet événement :", (error as Error).message);
196
- throw error;
197
- }
198
- }
199
-
200
- /**
201
- * Creates a new Poi instance and optionally retrieves its profile.
202
- */
203
- async poi(poiData: EntityData): Promise<Poi> {
204
- try {
205
- const poi = new Poi(this._client, poiData, { EndpointApi, User, Organization, Project, Event, Poi, Badge, News, Comment, Answer, Form, Classified, Action });
206
- if (!poiData.id && !poiData.slug) {
207
- throw new Error("Vous devez fournir un id ou un slug pour créer une instance Poi.");
208
- }
209
- await poi.get();
210
- return poi;
211
- } catch (error) {
212
- console.error("[Api.poi] Erreur lors de la création d'un objet poi :", (error as Error).message);
213
- throw error;
214
- }
215
- }
216
-
217
- /**
218
- * Creates a new Answer instance and optionally retrieves answer data.
219
- */
220
- async answer(answerData: { id: string }): Promise<Answer> {
221
- try {
222
- const answer = new Answer(this._client, answerData, { EndpointApi, User, Organization, Project, Event, Poi, Badge, News, Comment, Answer, Form, Classified, Action });
223
- if (!answerData.id) {
224
- throw new Error("Vous devez fournir un id pour créer une instance Answer.");
225
- }
226
- await answer.get();
227
- return answer;
228
- } catch (error) {
229
- console.error("[Api.answer] Erreur lors de la création d'un objet Answer :", (error as Error).message);
230
- throw error;
231
- }
232
- }
233
-
234
- /**
235
- * Creates a new Form instance and optionally retrieves form data.
236
- */
237
- async form(formData: { id: string }): Promise<Form> {
238
- try {
239
- const form = new Form(this._client, formData, { EndpointApi, User, Organization, Project, Event, Poi, Badge, News, Comment, Answer, Form, Classified, Action });
240
- if (!formData.id) {
241
- throw new Error("Vous devez fournir un id pour créer une instance Form.");
242
- }
243
- await form.get();
244
- return form;
245
- } catch (error) {
246
- console.error("[Api.form] Erreur lors de la création d'un objet Form :", (error as Error).message);
247
- throw error;
248
- }
249
- }
250
-
251
- async classified(classifiedData: EntityData): Promise<Classified> {
252
- try {
253
- const classified = new Classified(this._client, classifiedData, { EndpointApi, User, Organization, Project, Event, Poi, Badge, News, Comment, Answer, Form, Classified, Action });
254
- if (!classifiedData.id && !classifiedData.slug) {
255
- throw new Error("Vous devez fournir un id ou un slug pour créer une instance Classified.");
256
- }
257
- await classified.get();
258
- return classified;
259
- } catch (error) {
260
- console.error("[Api.classified] Erreur lors de la création d'un objet Classified :", (error as Error).message);
261
- throw error;
262
- }
263
- }
264
-
265
- /**
266
- * Retourne une entité à partir d'un slug.
267
- */
268
- async entitySlug(slug: string): Promise<EntityTypes> {
269
- if (!slug) {
270
- throw new ApiError("slug requis", 400);
271
- }
272
- try {
273
- const data = await this.endpointApi.getElementsKey({
274
- pathParams:{
275
- slug: slug
276
- }
277
- }) as GetElementsKeyResponse;
278
-
279
- if(data.contextId && data.contextType) {
280
- const entity = createFromCollection(data.contextType, this._client, { id: data.contextId });
281
- if (!entity) {
282
- throw new ApiResponseError(`Le type d'entité pour le slug ${slug} n'est pas reconnu`, 200, data as object);
283
- }
284
- await entity.get();
285
- // On sait que c'est l'un des types concrets → on caste
286
- return entity as EntityTypes;
287
- } else {
288
- throw new ApiResponseError(`Le slug ${slug} n'est pas valide`, 200, data as object);
289
- }
290
- } catch (error) {
291
- if(error instanceof ApiResponseError) {
292
- throw new ApiResponseError(`Impossible de récupérer l'identifiant pour le slug ${slug}`, error.status, error.responseData);
293
- } else {
294
- throw error;
295
- }
296
- }
297
-
298
- }
299
-
300
- /**
301
- * Retourne l'instance d'ApiClient.
302
- */
303
- get client(): ApiClient {
304
- return this._client;
305
- }
306
-
307
- /**
308
- * Retourne l'instance d'EndpointApi.
309
- */
310
- get endpointApi(): EndpointApi {
311
- return new EndpointApi(this._client);
312
- }
313
-
314
- /**
315
- * Recherche des tags correspondant à un mot-clé.
316
- *
317
- * Wrap de `SEARCH_TAGS` (auth=none) — accessible même non connecté.
318
- * Méthode exposée sur la facade `Api` (pas d'entité hôte naturelle pour
319
- * un index global de tags).
320
- *
321
- * @param q - Mot-clé de recherche (au moins 1 caractère).
322
- * @returns Tableau de résultats : soit `[{tag}]` si aucun match (echo du
323
- * terme), soit `[{_id, tag, field_length}, ...]` avec les tags
324
- * existants triés par `field_length`.
325
- * @throws {ApiError} 400 si `q` vide.
326
- *
327
- * @example
328
- * const results = await api.searchTags("permac");
329
- * results.forEach(t => console.log(t.tag, t.field_length));
330
- */
331
- async searchTags(q: string): Promise<unknown> {
332
- if (typeof q !== "string" || q.length === 0) {
333
- throw new ApiError("Le mot-clé `q` est requis pour searchTags.", 400);
334
- }
335
- const payload: SearchTagsData = { pathParams: { q } };
336
- return this.endpointApi.searchTags(payload);
337
- }
338
-
339
- /**
340
- * Déconnecte l'utilisateur et réinitialise la session.
341
- */
342
- logout(): void {
343
- this._loggedUser = null;
344
- this._client.resetSession();
345
- this._client._logger.info("UserApi: User logged out");
346
- }
347
-
348
- }