@communecter/cocolight-api-client 1.0.154 → 1.0.156

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 (331) 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/BaseEntity.d.ts +24 -0
  138. package/types/api/EndpointApi.d.ts +4 -4
  139. package/types/api/EndpointApi.types.d.ts +3 -3
  140. package/types/utils/OfflineClientManager.d.ts +8 -0
  141. package/dist/1035.cocolight-api-client.mjs.js +0 -1
  142. package/dist/1483.cocolight-api-client.mjs.js +0 -1
  143. package/dist/1491.cocolight-api-client.mjs.js +0 -1
  144. package/dist/1494.cocolight-api-client.mjs.js +0 -1
  145. package/dist/1641.cocolight-api-client.mjs.js +0 -1
  146. package/dist/1678.cocolight-api-client.mjs.js +0 -1
  147. package/dist/2041.cocolight-api-client.mjs.js +0 -1
  148. package/dist/2302.cocolight-api-client.mjs.js +0 -1
  149. package/dist/2313.cocolight-api-client.mjs.js +0 -1
  150. package/dist/2379.cocolight-api-client.mjs.js +0 -1
  151. package/dist/2439.cocolight-api-client.mjs.js +0 -1
  152. package/dist/2594.cocolight-api-client.mjs.js +0 -1
  153. package/dist/2766.cocolight-api-client.mjs.js +0 -1
  154. package/dist/2812.cocolight-api-client.mjs.js +0 -1
  155. package/dist/2918.cocolight-api-client.mjs.js +0 -1
  156. package/dist/3028.cocolight-api-client.mjs.js +0 -1
  157. package/dist/3330.cocolight-api-client.mjs.js +0 -1
  158. package/dist/3371.cocolight-api-client.mjs.js +0 -1
  159. package/dist/3401.cocolight-api-client.mjs.js +0 -1
  160. package/dist/3516.cocolight-api-client.mjs.js +0 -1
  161. package/dist/3593.cocolight-api-client.mjs.js +0 -1
  162. package/dist/3764.cocolight-api-client.mjs.js +0 -1
  163. package/dist/3873.cocolight-api-client.mjs.js +0 -1
  164. package/dist/3911.cocolight-api-client.mjs.js +0 -1
  165. package/dist/4031.cocolight-api-client.mjs.js +0 -1
  166. package/dist/4152.cocolight-api-client.mjs.js +0 -1
  167. package/dist/4203.cocolight-api-client.mjs.js +0 -1
  168. package/dist/424.cocolight-api-client.mjs.js +0 -1
  169. package/dist/435.cocolight-api-client.mjs.js +0 -1
  170. package/dist/4402.cocolight-api-client.mjs.js +0 -1
  171. package/dist/4425.cocolight-api-client.mjs.js +0 -1
  172. package/dist/4472.cocolight-api-client.mjs.js +0 -1
  173. package/dist/4914.cocolight-api-client.mjs.js +0 -1
  174. package/dist/4959.cocolight-api-client.mjs.js +0 -1
  175. package/dist/5100.cocolight-api-client.mjs.js +0 -1
  176. package/dist/5111.cocolight-api-client.mjs.js +0 -1
  177. package/dist/5286.cocolight-api-client.mjs.js +0 -1
  178. package/dist/5380.cocolight-api-client.mjs.js +0 -1
  179. package/dist/5383.cocolight-api-client.mjs.js +0 -1
  180. package/dist/5480.cocolight-api-client.mjs.js +0 -1
  181. package/dist/5541.cocolight-api-client.mjs.js +0 -1
  182. package/dist/5839.cocolight-api-client.mjs.js +0 -1
  183. package/dist/5862.cocolight-api-client.mjs.js +0 -1
  184. package/dist/5869.cocolight-api-client.mjs.js +0 -1
  185. package/dist/588.cocolight-api-client.mjs.js +0 -1
  186. package/dist/601.cocolight-api-client.mjs.js +0 -1
  187. package/dist/6012.cocolight-api-client.mjs.js +0 -1
  188. package/dist/6200.cocolight-api-client.mjs.js +0 -1
  189. package/dist/6369.cocolight-api-client.mjs.js +0 -1
  190. package/dist/7009.cocolight-api-client.mjs.js +0 -1
  191. package/dist/725.cocolight-api-client.mjs.js +0 -1
  192. package/dist/7339.cocolight-api-client.mjs.js +0 -1
  193. package/dist/7398.cocolight-api-client.mjs.js +0 -1
  194. package/dist/7888.cocolight-api-client.mjs.js +0 -1
  195. package/dist/7975.cocolight-api-client.mjs.js +0 -1
  196. package/dist/809.cocolight-api-client.mjs.js +0 -1
  197. package/dist/8300.cocolight-api-client.mjs.js +0 -1
  198. package/dist/8317.cocolight-api-client.mjs.js +0 -1
  199. package/dist/8525.cocolight-api-client.mjs.js +0 -1
  200. package/dist/8894.cocolight-api-client.mjs.js +0 -1
  201. package/dist/9301.cocolight-api-client.mjs.js +0 -1
  202. package/dist/9438.cocolight-api-client.mjs.js +0 -1
  203. package/dist/9478.cocolight-api-client.mjs.js +0 -1
  204. package/dist/9568.cocolight-api-client.mjs.js +0 -1
  205. package/dist/cocolight-api-client.mjs.js +0 -1
  206. package/src/Api.ts +0 -348
  207. package/src/ApiClient.ts +0 -1994
  208. package/src/EJSONType.ts +0 -103
  209. package/src/api/Action.ts +0 -665
  210. package/src/api/Answer.ts +0 -1392
  211. package/src/api/Badge.ts +0 -143
  212. package/src/api/BaseEntity.ts +0 -6338
  213. package/src/api/Classified.ts +0 -175
  214. package/src/api/Comment.ts +0 -280
  215. package/src/api/EndpointApi.ts +0 -2270
  216. package/src/api/EndpointApi.types.ts +0 -6566
  217. package/src/api/EntityRegistry.ts +0 -324
  218. package/src/api/Event.ts +0 -360
  219. package/src/api/Form.ts +0 -282
  220. package/src/api/News.ts +0 -547
  221. package/src/api/Notifications.ts +0 -196
  222. package/src/api/Organization.ts +0 -771
  223. package/src/api/Poi.ts +0 -242
  224. package/src/api/Project.ts +0 -545
  225. package/src/api/User.ts +0 -1889
  226. package/src/api/UserApi.ts +0 -192
  227. package/src/api/serverDataType/Action.ts +0 -177
  228. package/src/api/serverDataType/Answer.ts +0 -106
  229. package/src/api/serverDataType/Classified.ts +0 -152
  230. package/src/api/serverDataType/Comment.ts +0 -88
  231. package/src/api/serverDataType/Country.ts +0 -1
  232. package/src/api/serverDataType/Event.ts +0 -112
  233. package/src/api/serverDataType/Form.ts +0 -157
  234. package/src/api/serverDataType/News.ts +0 -138
  235. package/src/api/serverDataType/Notification.ts +0 -81
  236. package/src/api/serverDataType/Organization.ts +0 -111
  237. package/src/api/serverDataType/Poi.ts +0 -75
  238. package/src/api/serverDataType/Project.ts +0 -115
  239. package/src/api/serverDataType/User.ts +0 -112
  240. package/src/api/serverDataType/Zone.ts +0 -33
  241. package/src/api/serverDataType/common.ts +0 -84
  242. package/src/costum/normalize.ts +0 -7
  243. package/src/costum/registry.ts +0 -138
  244. package/src/costum/runtime-map.ts +0 -221
  245. package/src/costum/runtime.ts +0 -274
  246. package/src/costum/schemas/CercleTravailleursSociauxLiberauxLaPlumeSociale.ts +0 -19
  247. package/src/costum/schemas/FabEn.ts +0 -19
  248. package/src/costum/schemas/LivingLabInnovationSocialeBraspanon.ts +0 -19
  249. package/src/costum/schemas/alfph.ts +0 -27
  250. package/src/costum/schemas/campagne.ts +0 -19
  251. package/src/costum/schemas/chtitube.ts +0 -19
  252. package/src/costum/schemas/circuitCourt.ts +0 -19
  253. package/src/costum/schemas/cmcasHauteBretagne.ts +0 -19
  254. package/src/costum/schemas/coFinancementTierslieux.ts +0 -27
  255. package/src/costum/schemas/coeurNumerique.ts +0 -19
  256. package/src/costum/schemas/communLundi.ts +0 -19
  257. package/src/costum/schemas/cressReunion.ts +0 -35
  258. package/src/costum/schemas/cressReunionNetwork.ts +0 -35
  259. package/src/costum/schemas/ctenat.ts +0 -43
  260. package/src/costum/schemas/cyberReunion.ts +0 -19
  261. package/src/costum/schemas/ekisphere.ts +0 -35
  262. package/src/costum/schemas/equipementsSportifs974.ts +0 -19
  263. package/src/costum/schemas/federationDesCae.ts +0 -19
  264. package/src/costum/schemas/formationGenerique.ts +0 -35
  265. package/src/costum/schemas/franceTierslieux.ts +0 -19
  266. package/src/costum/schemas/hinaura.ts +0 -27
  267. package/src/costum/schemas/hubmayotte.ts +0 -19
  268. package/src/costum/schemas/hubnouvellecaledonie.ts +0 -19
  269. package/src/costum/schemas/hubpolynesiefrancaise.ts +0 -19
  270. package/src/costum/schemas/hubreunion.ts +0 -19
  271. package/src/costum/schemas/hubterritoires.ts +0 -19
  272. package/src/costum/schemas/hubwallisetfutuna.ts +0 -19
  273. package/src/costum/schemas/hva.ts +0 -27
  274. package/src/costum/schemas/ibv2.ts +0 -19
  275. package/src/costum/schemas/institutBleu.ts +0 -19
  276. package/src/costum/schemas/journalInsoumisChambery.ts +0 -27
  277. package/src/costum/schemas/kpacite.ts +0 -19
  278. package/src/costum/schemas/laCompagnieDesTierslieux.ts +0 -43
  279. package/src/costum/schemas/laMaisonDesFaiseurs.ts +0 -19
  280. package/src/costum/schemas/laReunionPourUnNumeriqueInclusif.ts +0 -19
  281. package/src/costum/schemas/laSemaineDesTierslieux.ts +0 -19
  282. package/src/costum/schemas/labEnCommuns.ts +0 -19
  283. package/src/costum/schemas/lakou.ts +0 -27
  284. package/src/costum/schemas/lesCommunsDesTierslieux.ts +0 -19
  285. package/src/costum/schemas/mayottePourUnNumeriqueInclusif.ts +0 -19
  286. package/src/costum/schemas/meir.ts +0 -27
  287. package/src/costum/schemas/navigatorDesTierslieux.ts +0 -19
  288. package/src/costum/schemas/notragora.ts +0 -27
  289. package/src/costum/schemas/nouvellecaledoniePourUnNumeriqueInclusif.ts +0 -19
  290. package/src/costum/schemas/openAtlas.ts +0 -19
  291. package/src/costum/schemas/polynesieFrancaisePourUnNumeriqueInclusif.ts +0 -19
  292. package/src/costum/schemas/prdr.ts +0 -19
  293. package/src/costum/schemas/reseauTierslieux.ts +0 -19
  294. package/src/costum/schemas/rfflabs.ts +0 -19
  295. package/src/costum/schemas/ries.ts +0 -19
  296. package/src/costum/schemas/siteDuPactePourLaTransition.ts +0 -27
  297. package/src/costum/schemas/sportSanteBienetre.ts +0 -43
  298. package/src/costum/schemas/suppa.ts +0 -19
  299. package/src/costum/schemas/terramies.ts +0 -19
  300. package/src/costum/schemas/testeTplFormation.ts +0 -35
  301. package/src/costum/schemas/tierslieuxbelgique.ts +0 -19
  302. package/src/costum/schemas/tierslieuxorg1.ts +0 -35
  303. package/src/costum/schemas/transiter.ts +0 -35
  304. package/src/costum/schemas/vhelioPeiTour2025.ts +0 -19
  305. package/src/costum/schemas/wallisetfutunaPourUnNumeriqueInclusif.ts +0 -19
  306. package/src/costum/symbol.ts +0 -26
  307. package/src/costum/types.ts +0 -895
  308. package/src/endpoints.module.ts +0 -4253
  309. package/src/error.ts +0 -86
  310. package/src/forms/entityForm.ts +0 -142
  311. package/src/index.ts +0 -161
  312. package/src/mixin/UserMixin.ts +0 -4
  313. package/src/types/api-responses.ts +0 -217
  314. package/src/types/entities.ts +0 -58
  315. package/src/types/error-guards.ts +0 -230
  316. package/src/types/index.ts +0 -41
  317. package/src/types/payloads.ts +0 -21
  318. package/src/types/transforms.ts +0 -119
  319. package/src/utils/FileOfflineStorageStrategy.node.ts +0 -50
  320. package/src/utils/FileStorageStrategy.node.ts +0 -63
  321. package/src/utils/MultiServerFileStorageStrategy.node.ts +0 -67
  322. package/src/utils/MultiServerTokenStorageStrategy.ts +0 -139
  323. package/src/utils/OfflineClientManager.ts +0 -216
  324. package/src/utils/OfflineQueueStorageStrategy.ts +0 -47
  325. package/src/utils/TokenStorage.ts +0 -77
  326. package/src/utils/compat.ts +0 -12
  327. package/src/utils/createDefaultMultiServerTokenStorageStrategy.ts +0 -35
  328. package/src/utils/createDefaultOfflineStrategy.ts +0 -34
  329. package/src/utils/createDefaultTokenStorageStrategy.ts +0 -33
  330. package/src/utils/reactive.ts +0 -243
  331. 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
- }