@communecter/cocolight-api-client 1.0.184 → 1.0.186

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 (301) hide show
  1. package/dist/1012.cocolight-api-client.browser.js +1 -0
  2. package/dist/1012.cocolight-api-client.cjs +1 -0
  3. package/dist/1014.cocolight-api-client.browser.js +1 -0
  4. package/dist/1014.cocolight-api-client.cjs +1 -0
  5. package/dist/1035.cocolight-api-client.browser.js +1 -1
  6. package/dist/1035.cocolight-api-client.cjs +1 -1
  7. package/dist/1273.cocolight-api-client.browser.js +1 -1
  8. package/dist/1273.cocolight-api-client.cjs +1 -1
  9. package/dist/1483.cocolight-api-client.browser.js +1 -1
  10. package/dist/1483.cocolight-api-client.cjs +1 -1
  11. package/dist/1491.cocolight-api-client.browser.js +1 -1
  12. package/dist/1491.cocolight-api-client.cjs +1 -1
  13. package/dist/1494.cocolight-api-client.browser.js +1 -1
  14. package/dist/1494.cocolight-api-client.cjs +1 -1
  15. package/dist/1560.cocolight-api-client.browser.js +1 -0
  16. package/dist/1560.cocolight-api-client.cjs +1 -0
  17. package/dist/1641.cocolight-api-client.browser.js +1 -1
  18. package/dist/1641.cocolight-api-client.cjs +1 -1
  19. package/dist/1872.cocolight-api-client.browser.js +1 -0
  20. package/dist/1872.cocolight-api-client.cjs +1 -0
  21. package/dist/1906.cocolight-api-client.browser.js +1 -0
  22. package/dist/1906.cocolight-api-client.cjs +1 -0
  23. package/dist/2041.cocolight-api-client.browser.js +1 -1
  24. package/dist/2041.cocolight-api-client.cjs +1 -1
  25. package/dist/2179.cocolight-api-client.browser.js +1 -0
  26. package/dist/2179.cocolight-api-client.cjs +1 -0
  27. package/dist/2186.cocolight-api-client.browser.js +1 -0
  28. package/dist/2186.cocolight-api-client.cjs +1 -0
  29. package/dist/2203.cocolight-api-client.browser.js +1 -0
  30. package/dist/2203.cocolight-api-client.cjs +1 -0
  31. package/dist/2302.cocolight-api-client.browser.js +1 -1
  32. package/dist/2302.cocolight-api-client.cjs +1 -1
  33. package/dist/2313.cocolight-api-client.browser.js +1 -1
  34. package/dist/2313.cocolight-api-client.cjs +1 -1
  35. package/dist/232.cocolight-api-client.browser.js +1 -0
  36. package/dist/232.cocolight-api-client.cjs +1 -0
  37. package/dist/2379.cocolight-api-client.browser.js +1 -1
  38. package/dist/2379.cocolight-api-client.cjs +1 -1
  39. package/dist/2439.cocolight-api-client.browser.js +1 -1
  40. package/dist/2439.cocolight-api-client.cjs +1 -1
  41. package/dist/2463.cocolight-api-client.browser.js +1 -0
  42. package/dist/2463.cocolight-api-client.cjs +1 -0
  43. package/dist/2766.cocolight-api-client.browser.js +1 -1
  44. package/dist/2766.cocolight-api-client.cjs +1 -1
  45. package/dist/2812.cocolight-api-client.browser.js +1 -1
  46. package/dist/2812.cocolight-api-client.cjs +1 -1
  47. package/dist/2863.cocolight-api-client.browser.js +1 -0
  48. package/dist/2863.cocolight-api-client.cjs +1 -0
  49. package/dist/2918.cocolight-api-client.browser.js +1 -1
  50. package/dist/2918.cocolight-api-client.cjs +1 -1
  51. package/dist/2940.cocolight-api-client.browser.js +1 -0
  52. package/dist/2940.cocolight-api-client.cjs +1 -0
  53. package/dist/3028.cocolight-api-client.browser.js +1 -1
  54. package/dist/3028.cocolight-api-client.cjs +1 -1
  55. package/dist/3088.cocolight-api-client.browser.js +1 -0
  56. package/dist/3088.cocolight-api-client.cjs +1 -0
  57. package/dist/3211.cocolight-api-client.browser.js +1 -0
  58. package/dist/3211.cocolight-api-client.cjs +1 -0
  59. package/dist/3236.cocolight-api-client.browser.js +1 -0
  60. package/dist/3236.cocolight-api-client.cjs +1 -0
  61. package/dist/3330.cocolight-api-client.browser.js +1 -1
  62. package/dist/3330.cocolight-api-client.cjs +1 -1
  63. package/dist/3371.cocolight-api-client.browser.js +1 -1
  64. package/dist/3371.cocolight-api-client.cjs +1 -1
  65. package/dist/3442.cocolight-api-client.browser.js +1 -0
  66. package/dist/3442.cocolight-api-client.cjs +1 -0
  67. package/dist/3516.cocolight-api-client.browser.js +1 -1
  68. package/dist/3516.cocolight-api-client.cjs +1 -1
  69. package/dist/3652.cocolight-api-client.browser.js +1 -0
  70. package/dist/3652.cocolight-api-client.cjs +1 -0
  71. package/dist/3693.cocolight-api-client.browser.js +1 -0
  72. package/dist/3693.cocolight-api-client.cjs +1 -0
  73. package/dist/373.cocolight-api-client.browser.js +1 -0
  74. package/dist/373.cocolight-api-client.cjs +1 -0
  75. package/dist/3735.cocolight-api-client.browser.js +1 -0
  76. package/dist/3735.cocolight-api-client.cjs +1 -0
  77. package/dist/3764.cocolight-api-client.browser.js +1 -1
  78. package/dist/3764.cocolight-api-client.cjs +1 -1
  79. package/dist/3784.cocolight-api-client.browser.js +1 -0
  80. package/dist/3784.cocolight-api-client.cjs +1 -0
  81. package/dist/3873.cocolight-api-client.browser.js +1 -1
  82. package/dist/3873.cocolight-api-client.cjs +1 -1
  83. package/dist/3900.cocolight-api-client.browser.js +1 -0
  84. package/dist/3900.cocolight-api-client.cjs +1 -0
  85. package/dist/3903.cocolight-api-client.browser.js +1 -0
  86. package/dist/3903.cocolight-api-client.cjs +1 -0
  87. package/dist/3911.cocolight-api-client.browser.js +1 -1
  88. package/dist/3911.cocolight-api-client.cjs +1 -1
  89. package/dist/3969.cocolight-api-client.browser.js +1 -0
  90. package/dist/3969.cocolight-api-client.cjs +1 -0
  91. package/dist/4031.cocolight-api-client.browser.js +1 -1
  92. package/dist/4031.cocolight-api-client.cjs +1 -1
  93. package/dist/4152.cocolight-api-client.browser.js +1 -1
  94. package/dist/4152.cocolight-api-client.cjs +1 -1
  95. package/dist/4203.cocolight-api-client.browser.js +1 -1
  96. package/dist/4203.cocolight-api-client.cjs +1 -1
  97. package/dist/424.cocolight-api-client.browser.js +1 -1
  98. package/dist/424.cocolight-api-client.cjs +1 -1
  99. package/dist/4327.cocolight-api-client.browser.js +1 -0
  100. package/dist/4327.cocolight-api-client.cjs +1 -0
  101. package/dist/435.cocolight-api-client.browser.js +1 -1
  102. package/dist/435.cocolight-api-client.cjs +1 -1
  103. package/dist/4364.cocolight-api-client.browser.js +1 -0
  104. package/dist/4364.cocolight-api-client.cjs +1 -0
  105. package/dist/4402.cocolight-api-client.browser.js +1 -1
  106. package/dist/4402.cocolight-api-client.cjs +1 -1
  107. package/dist/4425.cocolight-api-client.browser.js +1 -1
  108. package/dist/4425.cocolight-api-client.cjs +1 -1
  109. package/dist/4451.cocolight-api-client.browser.js +1 -0
  110. package/dist/4451.cocolight-api-client.cjs +1 -0
  111. package/dist/4472.cocolight-api-client.browser.js +1 -1
  112. package/dist/4472.cocolight-api-client.cjs +1 -1
  113. package/dist/4914.cocolight-api-client.browser.js +1 -1
  114. package/dist/4914.cocolight-api-client.cjs +1 -1
  115. package/dist/4959.cocolight-api-client.browser.js +1 -1
  116. package/dist/4959.cocolight-api-client.cjs +1 -1
  117. package/dist/5100.cocolight-api-client.browser.js +1 -1
  118. package/dist/5100.cocolight-api-client.cjs +1 -1
  119. package/dist/5255.cocolight-api-client.browser.js +1 -1
  120. package/dist/5255.cocolight-api-client.cjs +1 -1
  121. package/dist/5281.cocolight-api-client.browser.js +1 -0
  122. package/dist/5281.cocolight-api-client.cjs +1 -0
  123. package/dist/5286.cocolight-api-client.browser.js +1 -1
  124. package/dist/5286.cocolight-api-client.cjs +1 -1
  125. package/dist/5377.cocolight-api-client.browser.js +1 -0
  126. package/dist/5377.cocolight-api-client.cjs +1 -0
  127. package/dist/5383.cocolight-api-client.browser.js +1 -1
  128. package/dist/5383.cocolight-api-client.cjs +1 -1
  129. package/dist/5411.cocolight-api-client.browser.js +1 -0
  130. package/dist/5411.cocolight-api-client.cjs +1 -0
  131. package/dist/5480.cocolight-api-client.browser.js +1 -1
  132. package/dist/5480.cocolight-api-client.cjs +1 -1
  133. package/dist/5541.cocolight-api-client.browser.js +1 -1
  134. package/dist/5541.cocolight-api-client.cjs +1 -1
  135. package/dist/5843.cocolight-api-client.browser.js +1 -0
  136. package/dist/5843.cocolight-api-client.cjs +1 -0
  137. package/dist/5862.cocolight-api-client.browser.js +1 -1
  138. package/dist/5862.cocolight-api-client.cjs +1 -1
  139. package/dist/5869.cocolight-api-client.browser.js +1 -1
  140. package/dist/5869.cocolight-api-client.cjs +1 -1
  141. package/dist/588.cocolight-api-client.browser.js +1 -1
  142. package/dist/588.cocolight-api-client.cjs +1 -1
  143. package/dist/5905.cocolight-api-client.browser.js +1 -0
  144. package/dist/5905.cocolight-api-client.cjs +1 -0
  145. package/dist/5911.cocolight-api-client.browser.js +1 -0
  146. package/dist/5911.cocolight-api-client.cjs +1 -0
  147. package/dist/6.cocolight-api-client.browser.js +1 -0
  148. package/dist/6.cocolight-api-client.cjs +1 -0
  149. package/dist/601.cocolight-api-client.browser.js +1 -1
  150. package/dist/601.cocolight-api-client.cjs +1 -1
  151. package/dist/6012.cocolight-api-client.browser.js +1 -1
  152. package/dist/6012.cocolight-api-client.cjs +1 -1
  153. package/dist/6030.cocolight-api-client.browser.js +1 -0
  154. package/dist/6030.cocolight-api-client.cjs +1 -0
  155. package/dist/6153.cocolight-api-client.browser.js +1 -0
  156. package/dist/6153.cocolight-api-client.cjs +1 -0
  157. package/dist/6172.cocolight-api-client.browser.js +1 -0
  158. package/dist/6172.cocolight-api-client.cjs +1 -0
  159. package/dist/6200.cocolight-api-client.browser.js +1 -1
  160. package/dist/6200.cocolight-api-client.cjs +1 -1
  161. package/dist/6289.cocolight-api-client.browser.js +1 -0
  162. package/dist/6289.cocolight-api-client.cjs +1 -0
  163. package/dist/6328.cocolight-api-client.browser.js +1 -0
  164. package/dist/6328.cocolight-api-client.cjs +1 -0
  165. package/dist/6369.cocolight-api-client.browser.js +1 -1
  166. package/dist/6369.cocolight-api-client.cjs +1 -1
  167. package/dist/6412.cocolight-api-client.browser.js +1 -0
  168. package/dist/6412.cocolight-api-client.cjs +1 -0
  169. package/dist/6761.cocolight-api-client.browser.js +1 -0
  170. package/dist/6761.cocolight-api-client.cjs +1 -0
  171. package/dist/6866.cocolight-api-client.browser.js +1 -0
  172. package/dist/6866.cocolight-api-client.cjs +1 -0
  173. package/dist/6998.cocolight-api-client.browser.js +1 -0
  174. package/dist/6998.cocolight-api-client.cjs +1 -0
  175. package/dist/7009.cocolight-api-client.browser.js +1 -1
  176. package/dist/7009.cocolight-api-client.cjs +1 -1
  177. package/dist/7113.cocolight-api-client.browser.js +1 -1
  178. package/dist/7113.cocolight-api-client.cjs +1 -1
  179. package/dist/7147.cocolight-api-client.browser.js +1 -1
  180. package/dist/7147.cocolight-api-client.cjs +1 -1
  181. package/dist/7151.cocolight-api-client.browser.js +1 -0
  182. package/dist/7151.cocolight-api-client.cjs +1 -0
  183. package/dist/725.cocolight-api-client.browser.js +1 -1
  184. package/dist/725.cocolight-api-client.cjs +1 -1
  185. package/dist/7315.cocolight-api-client.browser.js +1 -0
  186. package/dist/7315.cocolight-api-client.cjs +1 -0
  187. package/dist/7339.cocolight-api-client.browser.js +1 -1
  188. package/dist/7339.cocolight-api-client.cjs +1 -1
  189. package/dist/7398.cocolight-api-client.browser.js +1 -1
  190. package/dist/7398.cocolight-api-client.cjs +1 -1
  191. package/dist/7662.cocolight-api-client.browser.js +1 -0
  192. package/dist/7662.cocolight-api-client.cjs +1 -0
  193. package/dist/7840.cocolight-api-client.browser.js +1 -0
  194. package/dist/7840.cocolight-api-client.cjs +1 -0
  195. package/dist/7856.cocolight-api-client.browser.js +1 -0
  196. package/dist/7856.cocolight-api-client.cjs +1 -0
  197. package/dist/7888.cocolight-api-client.browser.js +1 -1
  198. package/dist/7888.cocolight-api-client.cjs +1 -1
  199. package/dist/794.cocolight-api-client.browser.js +1 -0
  200. package/dist/794.cocolight-api-client.cjs +1 -0
  201. package/dist/7975.cocolight-api-client.browser.js +1 -1
  202. package/dist/7975.cocolight-api-client.cjs +1 -1
  203. package/dist/800.cocolight-api-client.browser.js +1 -0
  204. package/dist/800.cocolight-api-client.cjs +1 -0
  205. package/dist/8043.cocolight-api-client.browser.js +1 -0
  206. package/dist/8043.cocolight-api-client.cjs +1 -0
  207. package/dist/809.cocolight-api-client.browser.js +1 -1
  208. package/dist/809.cocolight-api-client.cjs +1 -1
  209. package/dist/8101.cocolight-api-client.browser.js +1 -0
  210. package/dist/8101.cocolight-api-client.cjs +1 -0
  211. package/dist/8146.cocolight-api-client.browser.js +1 -0
  212. package/dist/8146.cocolight-api-client.cjs +1 -0
  213. package/dist/8207.cocolight-api-client.browser.js +1 -0
  214. package/dist/8207.cocolight-api-client.cjs +1 -0
  215. package/dist/8264.cocolight-api-client.browser.js +1 -1
  216. package/dist/8264.cocolight-api-client.cjs +1 -1
  217. package/dist/8300.cocolight-api-client.browser.js +1 -1
  218. package/dist/8300.cocolight-api-client.cjs +1 -1
  219. package/dist/8525.cocolight-api-client.browser.js +1 -1
  220. package/dist/8525.cocolight-api-client.cjs +1 -1
  221. package/dist/8894.cocolight-api-client.browser.js +1 -1
  222. package/dist/8894.cocolight-api-client.cjs +1 -1
  223. package/dist/9175.cocolight-api-client.browser.js +1 -0
  224. package/dist/9175.cocolight-api-client.cjs +1 -0
  225. package/dist/9248.cocolight-api-client.browser.js +1 -0
  226. package/dist/9248.cocolight-api-client.cjs +1 -0
  227. package/dist/9301.cocolight-api-client.browser.js +1 -1
  228. package/dist/9301.cocolight-api-client.cjs +1 -1
  229. package/dist/9438.cocolight-api-client.browser.js +1 -1
  230. package/dist/9438.cocolight-api-client.cjs +1 -1
  231. package/dist/9478.cocolight-api-client.browser.js +1 -1
  232. package/dist/9478.cocolight-api-client.cjs +1 -1
  233. package/dist/9494.cocolight-api-client.browser.js +1 -0
  234. package/dist/9494.cocolight-api-client.cjs +1 -0
  235. package/dist/cocolight-api-client.browser.js +5 -5
  236. package/dist/cocolight-api-client.cjs +1 -1
  237. package/dist/cocolight-api-client.vite.mjs.js +1 -1
  238. package/dist/cocolight-api-client.vite.mjs.js.map +1 -1
  239. package/package.json +1 -1
  240. package/types/api/BaseEntity.d.ts +114 -0
  241. package/types/api/EndpointApi.d.ts +50 -1
  242. package/types/api/EndpointApi.types.d.ts +203 -2
  243. package/types/costum/schemas/LaReunionDesTiersLieux.d.ts +3 -0
  244. package/types/costum/schemas/RoseLab.d.ts +3 -0
  245. package/types/costum/schemas/ambitionTiersLieuxValDeLoire.d.ts +3 -0
  246. package/types/costum/schemas/boclLe.d.ts +3 -0
  247. package/types/costum/schemas/bretagneTierslieux.d.ts +3 -0
  248. package/types/costum/schemas/caDuBassinDeThauTiersLieux.d.ts +3 -0
  249. package/types/costum/schemas/caDuBassinDeThauTiersLieux1.d.ts +3 -0
  250. package/types/costum/schemas/capTierslieux.d.ts +3 -0
  251. package/types/costum/schemas/catalyst.d.ts +3 -0
  252. package/types/costum/schemas/ccDesCaussesALaubracTiersLieux.d.ts +3 -0
  253. package/types/costum/schemas/cmcasHB.d.ts +3 -0
  254. package/types/costum/schemas/consortiumIledefranceTierslieux.d.ts +3 -0
  255. package/types/costum/schemas/copHautsdefrance.d.ts +3 -0
  256. package/types/costum/schemas/createchFablabDeLaMjcDeSaintjean.d.ts +3 -0
  257. package/types/costum/schemas/cressDeLaReunion1.d.ts +3 -0
  258. package/types/costum/schemas/daLocu.d.ts +3 -0
  259. package/types/costum/schemas/ecocentre.d.ts +3 -0
  260. package/types/costum/schemas/fabLimagne.d.ts +3 -0
  261. package/types/costum/schemas/fabdulys1.d.ts +3 -0
  262. package/types/costum/schemas/fablab3dplant.d.ts +3 -0
  263. package/types/costum/schemas/fablabChauxdefonds.d.ts +3 -0
  264. package/types/costum/schemas/heraultTiersLieux.d.ts +3 -0
  265. package/types/costum/schemas/laCooperativeTierslieux.d.ts +3 -0
  266. package/types/costum/schemas/laMinoterie1.d.ts +3 -0
  267. package/types/costum/schemas/laMyne.d.ts +3 -0
  268. package/types/costum/schemas/laRosee.d.ts +3 -0
  269. package/types/costum/schemas/laTresseTierslieu.d.ts +3 -0
  270. package/types/costum/schemas/labboite.d.ts +3 -0
  271. package/types/costum/schemas/lattesTiersLieux.d.ts +3 -0
  272. package/types/costum/schemas/leFaugaTiersLieux.d.ts +3 -0
  273. package/types/costum/schemas/leTamponTiersLieux.d.ts +3 -0
  274. package/types/costum/schemas/lesImaginationsFertiles.d.ts +3 -0
  275. package/types/costum/schemas/lidairesTiersLieux.d.ts +3 -0
  276. package/types/costum/schemas/littoralHautsDeFrance.d.ts +3 -0
  277. package/types/costum/schemas/lotetgaronneTiersLieux.d.ts +3 -0
  278. package/types/costum/schemas/montpellierMediterraneeMetropoleTiersLieux.d.ts +3 -0
  279. package/types/costum/schemas/montpellierTiersLieux.d.ts +3 -0
  280. package/types/costum/schemas/pyreneesatlantiquesTiersLieux.d.ts +3 -0
  281. package/types/costum/schemas/redlab.d.ts +3 -0
  282. package/types/costum/schemas/reseauDesTierslieuxDeGuyane.d.ts +3 -0
  283. package/types/costum/schemas/reseauDesTierslieuxDeMayotte.d.ts +3 -0
  284. package/types/costum/schemas/reseauDesTierslieuxDuGrandEst.d.ts +3 -0
  285. package/types/costum/schemas/reseauNormandDesTierslieux.d.ts +3 -0
  286. package/types/costum/schemas/reseauRegionalDesTierslieuxGuadeloupe.d.ts +3 -0
  287. package/types/costum/schemas/reseauRegionalDesTierslieuxMartinique.d.ts +3 -0
  288. package/types/costum/schemas/sLieux.d.ts +3 -0
  289. package/types/costum/schemas/saintJosephTiersLieux.d.ts +3 -0
  290. package/types/costum/schemas/saintbenoitTiersLieux.d.ts +3 -0
  291. package/types/costum/schemas/saintbenoitTiersLieux1.d.ts +3 -0
  292. package/types/costum/schemas/saintbenoitTiersLieux2.d.ts +3 -0
  293. package/types/costum/schemas/saintpaulSport1.d.ts +3 -0
  294. package/types/costum/schemas/saintpaulTiersLieux.d.ts +3 -0
  295. package/types/costum/schemas/saintpierreTiersLieux.d.ts +3 -0
  296. package/types/costum/schemas/savoieTiersLieux.d.ts +3 -0
  297. package/types/costum/schemas/sudTierslieux.d.ts +3 -0
  298. package/types/costum/schemas/tierslieuxBfc.d.ts +3 -0
  299. package/types/costum/schemas/tierslieuxorg.d.ts +3 -0
  300. package/types/costum/types.d.ts +1389 -290
  301. package/types/endpoints.module.d.ts +3510 -1373
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@communecter/cocolight-api-client",
3
- "version": "1.0.184",
3
+ "version": "1.0.186",
4
4
  "description": "Client Axios simplifié pour l'API cocolight",
5
5
  "repository": {
6
6
  "type": "git",
@@ -2012,6 +2012,103 @@ export declare class BaseEntity<TServerData = any> {
2012
2012
  result: boolean;
2013
2013
  msg?: string;
2014
2014
  }>;
2015
+ /** Corps commun check/apply — `to` défaut = costum de cette entité (repreneur = site courant). */
2016
+ private _ownershipTransferBody;
2017
+ /**
2018
+ * Analyse (DRY-RUN) d'un transfert d'appropriation — aucune écriture. Renvoie `canApply`, les
2019
+ * contrôles d'uniformité (bloquants/warnings), les compteurs (byLocality/byType), la résolution
2020
+ * du sous-type, la comparaison de schéma costum et un exemple avant/après.
2021
+ */
2022
+ checkOwnershipTransfer(params: Parameters<BaseEntity["_ownershipTransferBody"]>[0]): Promise<{
2023
+ result: boolean;
2024
+ msg?: string;
2025
+ canApply?: boolean;
2026
+ counts?: {
2027
+ selected: number;
2028
+ byLocality: Record<string, number>;
2029
+ byType: Record<string, number>;
2030
+ };
2031
+ controls?: {
2032
+ id: string;
2033
+ level: "blocking" | "warning";
2034
+ count: number;
2035
+ ids: string[];
2036
+ }[];
2037
+ subType?: {
2038
+ mode: string;
2039
+ value: string | null;
2040
+ types: (string | null)[];
2041
+ };
2042
+ schema?: {
2043
+ fromFields: number;
2044
+ toFields: number;
2045
+ missing: string[];
2046
+ };
2047
+ sample?: {
2048
+ id: string;
2049
+ name: string | null;
2050
+ before: unknown;
2051
+ after: unknown;
2052
+ } | null;
2053
+ }>;
2054
+ /**
2055
+ * APPLIQUE le transfert : re-déroule intégralement le check côté serveur (refus au moindre
2056
+ * bloquant, et si `expectedCount` — le compteur affiché au dry-run — a dérivé), journalise le run
2057
+ * dans `sourceMigrations` (snapshot AVANT écriture), écrit, et renvoie `migrationId` + compteurs
2058
+ * auto-vérifiés. Rollbackable via rollbackOwnershipTransfer(migrationId).
2059
+ */
2060
+ applyOwnershipTransfer(params: Parameters<BaseEntity["_ownershipTransferBody"]>[0] & {
2061
+ expectedCount?: number;
2062
+ }): Promise<{
2063
+ result: boolean;
2064
+ msg?: string;
2065
+ migrationId?: string;
2066
+ controls?: {
2067
+ id: string;
2068
+ level: "blocking" | "warning";
2069
+ count: number;
2070
+ ids: string[];
2071
+ }[];
2072
+ applied?: {
2073
+ migrated: number;
2074
+ referenceAdded: number;
2075
+ annotated: number;
2076
+ selfReferenceCleaned: number;
2077
+ };
2078
+ verification?: {
2079
+ ownedByTo: number;
2080
+ stillOwnedByFrom: number;
2081
+ };
2082
+ }>;
2083
+ /**
2084
+ * ANNULE un transfert : restaure, depuis le snapshot du run, les racines source/reference de
2085
+ * chaque fiche encore en état post-migration. Rollback PARTIEL accepté (`skipped` : moved =
2086
+ * re-transférée depuis, missing = supprimée). Gate recalculé sur les slugs DU RUN.
2087
+ */
2088
+ rollbackOwnershipTransfer(migrationId: string): Promise<{
2089
+ result: boolean;
2090
+ msg?: string;
2091
+ restored?: number;
2092
+ skipped?: {
2093
+ id: string;
2094
+ reason: "moved" | "missing";
2095
+ }[];
2096
+ status?: string;
2097
+ }>;
2098
+ /**
2099
+ * HISTORIQUE des transferts dont le costum de cette entité est cédant ou repreneur (created
2100
+ * décroissant, sans snapshot). Avec `migrationId` : le run COMPLET, snapshot inclus — c'est le
2101
+ * téléchargement JSON de rollback côté UI.
2102
+ */
2103
+ listOwnershipTransfers(params?: {
2104
+ slug?: string;
2105
+ migrationId?: string;
2106
+ }): Promise<{
2107
+ result: boolean;
2108
+ msg?: string;
2109
+ migrations?: Record<string, unknown>[];
2110
+ migration?: Record<string, unknown>;
2111
+ }>;
2015
2112
  /** Détache l'élément (type,id) de `source.keys` du costum de cette entité (dé-rattachement). Même
2016
2113
  * parité de payload que `removeReference` : jamais `costumId`/`costumType`. */
2017
2114
  removeFromSource(type: string, id: string): Promise<{
@@ -2261,6 +2358,23 @@ export declare class BaseEntity<TServerData = any> {
2261
2358
  * @throws {ApiError} - Si le slug de l'entité n'est pas défini.
2262
2359
  */
2263
2360
  getCostumJson(): Promise<unknown>;
2361
+ /**
2362
+ * Récupère le costum RÉSOLU de l'entité : le document MOTEUR (`costum.slug`) fusionné avec l'overlay
2363
+ * porté par l'entité, plus le contexte (`contextType`/`contextId`/`contextSlug`) et le scope
2364
+ * (`sourceKey`).
2365
+ *
2366
+ * À préférer à {@link getCostumJson}, qui renvoie l'overlay BRUT — sans le socle du moteur. Pour un site
2367
+ * à moteur partagé l'écart est massif : `relief` déclare 1 propriété de formulaire dans son overlay là où
2368
+ * son moteur en déclare 25, et ses 15 listes vivent entièrement dans le moteur. La charge utile est aussi
2369
+ * 24 fois plus légère (~10 Ko contre ~244 Ko, `getcostumjson` transportant l'arbre CMS).
2370
+ *
2371
+ * `getCostumJson` reste disponible et inchangée : elle sert qui veut l'overlay tel quel, ou une clé hors
2372
+ * de la liste blanche servie ici (`typeObj`, `lists`, `import.mapping`).
2373
+ *
2374
+ * @returns - Le costum résolu de l'entité.
2375
+ * @throws {ApiError} - Si le slug de l'entité n'est pas défini.
2376
+ */
2377
+ getCostumResolved(): Promise<unknown>;
2264
2378
  /**
2265
2379
  * Génère des plages d'index pour la pagination.
2266
2380
  *
@@ -1,5 +1,5 @@
1
1
  import type ApiClient from "../ApiClient.js";
2
- import type { DocumentListData, PersonRegisterData, AuthenticateUrlData, RefreshTokenUrlData, PasswordRecoveryData, PasswordResetData, ServerExchangeTokenData, ChangePasswordData, DeleteAccountData, UpdateSettingsData, UpdateBlockDescriptionData, UpdateBlockInfoData, UpdateBlockSocialData, UpdateBlockLocalityData, UpdateBlockSlugData, CheckData, ProfilImageData, ProfilBannerData, GetElementsAboutData, MulticonnectData, RelaunchInvitationData, GetNewsData, GetNewsByIdData, AddNewsData, AddImageNewsData, AddFileNewsData, DeleteNewsData, UpdateNewsData, ShareNewsData, GetCommentsData, AddCommentsData, DeleteCommentsData, UpdateCommentsData, SearchTagsData, ShowVoteData, GlobalAutocompleteData, CityAutocompleteData, CityAutocompleteByCountryData, SuggestionInputData, GetProjectsNoAdminData, GetProjectsAdminData, GetPoisNoAdminData, GetPoisAdminData, GlobalAutocompleteAdminCostumData, GetOrganizationsNoAdminData, GetOrganizationsAdminData, GetUserEligiblePlacesData, GetMembersNoAdminData, GetMembersAdminData, GetFriendsAdminData, GetSubscriptionsData, GetSubscriptionsAdminData, GetSubscribersData, GetSubscribersAdminData, GetContributorsNoAdminData, GetContributorsAdminData, GetBadgesData, GetBadgesFiltersData, ConnectData, CreateInvitationLinkData, ConnectByRefData, DisconnectData, GetElementsKeyData, GetFavorisData, DeleteFavorisData, AddFavorisData, AddOrganizationData, AddProjectData, AddPoiData, AddEventData, DeleteElementData, AddImageElementData, LinkValidateData, SearchMemberAutocompleteData, GetNotificationsData, GetNotificationsCountData, NotificationUpdateData, MarkNotificationAsReadData, ActivitypubSearchData, ActivitypubLinkData, ActivitypubGetCommunityData, GetBadgeData, AddBadgesData, AssignBadgesData, GetEventsData, SearchEventsCostumData, ShareEventsData, InviteMembersData, FollowData, GetCostumJsonData, GlobalAutocompleteCostumData, NavigatorGettlData, CostumEventRequestActorsData, CostumEventRequestSubeventsData, CostumEventRequestElementEventData, CostumEventRequestCategoriesData, CostumEventRequestDatesData, CostumEventRequestEventData, CostumEventRequestLinkTlToEventData, CostumEventRequestLoadContextTagData, GetGalleryData, GetAttendeesNoAdminData, GetAttendeesAdminData, CoformAnswersSearchData, CoformAnswersByIdData, GetCoformByIdData, CoformUploadAnswerFileData, DeleteCoformAnswerFileData, CoformGetAnswerFilesData, GetCoformCatalogsData, SaveCoformAnswerData, GetCoformAnswerHistoryData, GetCoformMultievalDataData, GetCoformCommontableContributorsData, AddVoteData, AddReportAbuseData, UpdatePathValueData, DeleteDocumentByContextData, DeleteDocumentByIdData, DemoteAdminData, CostumFilterCoformData, CostumFilterCoformByPathData, GetCountriesData, SearchZonesData, CoformAnswersByFormsData, CostumToolsCatalogData, CostumToolUsersData, CostumCommunInfoData, CostumSaveToolEnrichmentData, CostumCommunListData, GenerateAnswerFromFormData, FundingEnvelopeData, CoremuOperationData, CostumProjectActionRequestNewData, CostumProjectActionRequestSetStatusData, CostumProjectActionRequestSetDateData, CostumProjectActionRequestSetContributorsData, CostumProjectActionRequestCancelData, CostumProjectActionRequestArchiveData, LinkDiscourseAccountData, UnlinkDiscourseAccountData, DiscourseProfileData, DiscourseCheckEmailData, DiscourseDismissLinkData, LinkMediawikiAccountData, UnlinkMediawikiAccountData, GetMediawikiContributionsData, AddClassifiedData, PersonActivateData, PersonValidateInvitationData, ValidateInvitationByMailData, ImportPreviewData, ExportElementsData, ImportElementsData, GeocodageData, ValidateGroupData, SetSourceData, ModerateData, NewsModerateData, CommentModerateData, UploadDocumentData, ZoneGetShapeData, ZoneGetZonirisData, CostumListValuesData, DirectoryProposalData, DirectoryProposalCountData, DirectoryProposalNewCounterData } from "./EndpointApi.types.js";
2
+ import type { DocumentListData, PersonRegisterData, AuthenticateUrlData, RefreshTokenUrlData, PasswordRecoveryData, PasswordResetData, ServerExchangeTokenData, ChangePasswordData, DeleteAccountData, UpdateSettingsData, UpdateBlockDescriptionData, UpdateBlockInfoData, UpdateBlockSocialData, UpdateBlockLocalityData, UpdateBlockSlugData, CheckData, ProfilImageData, ProfilBannerData, GetElementsAboutData, MulticonnectData, RelaunchInvitationData, GetNewsData, GetNewsByIdData, AddNewsData, AddImageNewsData, AddFileNewsData, DeleteNewsData, UpdateNewsData, ShareNewsData, GetCommentsData, AddCommentsData, DeleteCommentsData, UpdateCommentsData, SearchTagsData, ShowVoteData, GlobalAutocompleteData, CityAutocompleteData, CityAutocompleteByCountryData, SuggestionInputData, GetProjectsNoAdminData, GetProjectsAdminData, GetPoisNoAdminData, GetPoisAdminData, GlobalAutocompleteAdminCostumData, GetOrganizationsNoAdminData, GetOrganizationsAdminData, GetUserEligiblePlacesData, GetMembersNoAdminData, GetMembersAdminData, GetFriendsAdminData, GetSubscriptionsData, GetSubscriptionsAdminData, GetSubscribersData, GetSubscribersAdminData, GetContributorsNoAdminData, GetContributorsAdminData, GetBadgesData, GetBadgesFiltersData, ConnectData, CreateInvitationLinkData, ConnectByRefData, DisconnectData, GetElementsKeyData, GetFavorisData, DeleteFavorisData, AddFavorisData, AddOrganizationData, AddProjectData, AddPoiData, AddEventData, DeleteElementData, AddImageElementData, LinkValidateData, SearchMemberAutocompleteData, GetNotificationsData, GetNotificationsCountData, NotificationUpdateData, MarkNotificationAsReadData, ActivitypubSearchData, ActivitypubLinkData, ActivitypubGetCommunityData, GetBadgeData, AddBadgesData, AssignBadgesData, GetEventsData, SearchEventsCostumData, ShareEventsData, InviteMembersData, FollowData, GetCostumJsonData, GlobalAutocompleteCostumData, NavigatorGettlData, CostumEventRequestActorsData, CostumEventRequestSubeventsData, CostumEventRequestElementEventData, CostumEventRequestCategoriesData, CostumEventRequestDatesData, CostumEventRequestEventData, CostumEventRequestLinkTlToEventData, CostumEventRequestLoadContextTagData, GetGalleryData, GetAttendeesNoAdminData, GetAttendeesAdminData, CoformAnswersSearchData, CoformAnswersByIdData, GetCoformByIdData, CoformUploadAnswerFileData, DeleteCoformAnswerFileData, CoformGetAnswerFilesData, GetCoformCatalogsData, SaveCoformAnswerData, GetCoformAnswerHistoryData, GetCoformMultievalDataData, GetCoformCommontableContributorsData, AddVoteData, AddReportAbuseData, UpdatePathValueData, DeleteDocumentByContextData, DeleteDocumentByIdData, DemoteAdminData, CostumFilterCoformData, CostumFilterCoformByPathData, GetCountriesData, SearchZonesData, CoformAnswersByFormsData, CostumToolsCatalogData, CostumToolUsersData, CostumCommunInfoData, CostumSaveToolEnrichmentData, CostumCommunListData, GenerateAnswerFromFormData, FundingEnvelopeData, CoremuOperationData, CostumProjectActionRequestNewData, CostumProjectActionRequestSetStatusData, CostumProjectActionRequestSetDateData, CostumProjectActionRequestSetContributorsData, CostumProjectActionRequestCancelData, CostumProjectActionRequestArchiveData, LinkDiscourseAccountData, UnlinkDiscourseAccountData, DiscourseProfileData, DiscourseCheckEmailData, DiscourseDismissLinkData, LinkMediawikiAccountData, UnlinkMediawikiAccountData, GetMediawikiContributionsData, AddClassifiedData, PersonActivateData, PersonValidateInvitationData, ValidateInvitationByMailData, ImportPreviewData, ExportElementsData, ImportElementsData, GeocodageData, ValidateGroupData, SetSourceData, TransferSourceCheckData, TransferSourceApplyData, TransferSourceRollbackData, TransferSourceHistoryData, ModerateData, NewsModerateData, CommentModerateData, UploadDocumentData, ZoneGetShapeData, ZoneGetZonirisData, CostumListValuesData, CostumResolvedData, DirectoryProposalData, DirectoryProposalCountData, DirectoryProposalNewCounterData } from "./EndpointApi.types.js";
3
3
  /**
4
4
  * Classe EndpointApi générée automatiquement depuis endpoints-copie.json
5
5
  */
@@ -1576,6 +1576,46 @@ export declare class EndpointApi {
1576
1576
  * @throws {Error} - En cas d'erreur inattendue.
1577
1577
  */
1578
1578
  setSource(data: SetSourceData): Promise<any>;
1579
+ /**
1580
+ * Analyser un transfert d'appropriation (dry-run) : Migration d'APPROPRIATION : transfère la PROPRIÉTÉ d'un ensemble de fiches du costum `from` vers le costum `to` (source.key/keys : from → to), `from` restant en RÉFÉRENCEMENT (reference.costum += from, + annotation reference.costumTypes.<from>). Réécriture EN PLACE (_id préservé : documents/images, liens, slug, historique intacts). C'est la voie DÉDIÉE et la SEULE : les verrous historiques restent (Element::prepData jette source à l'update ; setsource add refuse set=source). Gate : super-admin OU (admin du costum `from` ET admin du costum `to`) — le cédant consent, le repreneur accepte. Action legacy née EN MIROIR du port Node (byte-parité dès la naissance). MODE CHECK : dry-run STRUCTUREL (aucune écriture) — sélectionne, déroule les contrôles d'uniformité (bloquants : source.keys en objet à trous, provenance divergente, rattachements multiples selon keysPolicy, sous-type indéterminable, champs costum du cédant absents du repreneur [fusion moteur⊕overlay des DEUX slugs, pas la lecture naïve du doc costum], ids introuvables, sélection >5000 ; warnings : référencement préexistant [complété, jamais écrasé], modération en attente [les flags scopés survivent], auto-référencement parasite), déduit le sous-type, compare les schémas costum et renvoie un exemple avant/après. canApply=true autorise l'apply. La sélection est triée _id croissant (déterminisme : sample = plus petit _id, ids des contrôles triés).
1581
+ * Constant : TRANSFER_SOURCE_CHECK
1582
+ * @param data - Données envoyées à l'API
1583
+ * @returns Les données de réponse.
1584
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1585
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1586
+ * @throws {Error} - En cas d'erreur inattendue.
1587
+ */
1588
+ transferSourceCheck(data: TransferSourceCheckData): Promise<any>;
1589
+ /**
1590
+ * Appliquer un transfert d'appropriation : Migration d'APPROPRIATION : transfère la PROPRIÉTÉ d'un ensemble de fiches du costum `from` vers le costum `to` (source.key/keys : from → to), `from` restant en RÉFÉRENCEMENT (reference.costum += from, + annotation reference.costumTypes.<from>). Réécriture EN PLACE (_id préservé : documents/images, liens, slug, historique intacts). C'est la voie DÉDIÉE et la SEULE : les verrous historiques restent (Element::prepData jette source à l'update ; setsource add refuse set=source). Gate : super-admin OU (admin du costum `from` ET admin du costum `to`) — le cédant consent, le repreneur accepte. Action legacy née EN MIROIR du port Node (byte-parité dès la naissance). MODE APPLY : RE-DÉROULE INTÉGRALEMENT le pipeline de check sur la sélection recalculée (la sélection peut bouger entre check et apply) et refuse au moindre bloquant ; `expectedCount` (posé par l'UI depuis le dry-run) refuse aussi si le compte a dérivé. Puis : insert du run dans sourceMigrations (statut applying + SNAPSHOT {id, source, reference} de chaque fiche AVANT écriture — Mongo 4.2 sans transactions, le rollback est matérialisé), passe de nettoyage cleanSelfReference, écriture ($set source.key/keys + annotation, $addToSet reference.costum — jamais $set de la racine reference), activityStream par fiche, recomptage auto-vérifiant, statut applied. Idempotent par construction : rejouer → sélection vide ou sourceKeyMismatch → refus propre.
1591
+ * Constant : TRANSFER_SOURCE_APPLY
1592
+ * @param data - Données envoyées à l'API
1593
+ * @returns Les données de réponse.
1594
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1595
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1596
+ * @throws {Error} - En cas d'erreur inattendue.
1597
+ */
1598
+ transferSourceApply(data: TransferSourceApplyData): Promise<any>;
1599
+ /**
1600
+ * Annuler un transfert d'appropriation (rollback) : Migration d'APPROPRIATION : transfère la PROPRIÉTÉ d'un ensemble de fiches du costum `from` vers le costum `to` (source.key/keys : from → to), `from` restant en RÉFÉRENCEMENT (reference.costum += from, + annotation reference.costumTypes.<from>). Réécriture EN PLACE (_id préservé : documents/images, liens, slug, historique intacts). C'est la voie DÉDIÉE et la SEULE : les verrous historiques restent (Element::prepData jette source à l'update ; setsource add refuse set=source). Gate : super-admin OU (admin du costum `from` ET admin du costum `to`) — le cédant consent, le repreneur accepte. Action legacy née EN MIROIR du port Node (byte-parité dès la naissance). MODE ROLLBACK : restaure, fiche par fiche depuis le snapshot du run, les RACINES source et reference ENTIÈRES ($set/$unset racine — jamais de mix racine/sous-chemin dans un même update). Une fiche dont source.key a changé depuis est passée (moved) ; une fiche supprimée aussi (missing) — rollback PARTIEL accepté, compteurs renvoyés. Une édition de CONTENU n'est PAS un conflit (seuls source/reference sont restaurés). Gate recalculé sur les from/to DU RUN (jamais du body). Un run rolledback n'est pas rejouable. Un run resté applying (crash à mi-course) reste rollbackable.
1601
+ * Constant : TRANSFER_SOURCE_ROLLBACK
1602
+ * @param data - Données envoyées à l'API
1603
+ * @returns Les données de réponse.
1604
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1605
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1606
+ * @throws {Error} - En cas d'erreur inattendue.
1607
+ */
1608
+ transferSourceRollback(data: TransferSourceRollbackData): Promise<any>;
1609
+ /**
1610
+ * Historique des transferts d'appropriation : Migration d'APPROPRIATION : transfère la PROPRIÉTÉ d'un ensemble de fiches du costum `from` vers le costum `to` (source.key/keys : from → to), `from` restant en RÉFÉRENCEMENT (reference.costum += from, + annotation reference.costumTypes.<from>). Réécriture EN PLACE (_id préservé : documents/images, liens, slug, historique intacts). C'est la voie DÉDIÉE et la SEULE : les verrous historiques restent (Element::prepData jette source à l'update ; setsource add refuse set=source). Gate : super-admin OU (admin du costum `from` ET admin du costum `to`) — le cédant consent, le repreneur accepte. Action legacy née EN MIROIR du port Node (byte-parité dès la naissance). MODE HISTORY : sans migrationId, liste les runs (SANS snapshot) où `slug` est cédant ou repreneur, triés created décroissant (gate : super-admin ou admin de `slug`). Avec migrationId : le run COMPLET, snapshot inclus — c'est le téléchargement JSON de rollback côté UI (gate : super-admin ou admin d'un des deux slugs du run). Dates en secondes Unix (scalaires purs — convention byte-parité du né-en-miroir).
1611
+ * Constant : TRANSFER_SOURCE_HISTORY
1612
+ * @param data - Données envoyées à l'API
1613
+ * @returns Les données de réponse.
1614
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1615
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1616
+ * @throws {Error} - En cas d'erreur inattendue.
1617
+ */
1618
+ transferSourceHistory(data: TransferSourceHistoryData): Promise<any>;
1579
1619
  /**
1580
1620
  * File de modération (news + commentaires signalés) : File de modération : news et commentaires signalés (reportAbuse) non encore tranchés et non déjà modérés par l'utilisateur courant. Port de ModerateAction (vue HTML → JSON). Les commentaires dont la news parente est flaggée abus sont retirés.
1581
1621
  * Constant : MODERATE
@@ -1643,6 +1683,15 @@ export declare class EndpointApi {
1643
1683
  * @throws {Error} - En cas d'erreur inattendue.
1644
1684
  */
1645
1685
  costumListValues(data: CostumListValuesData): Promise<any>;
1686
+ /**
1687
+ * Costum résolu d'un site : Livre le costum RÉSOLU d'un site : le document MOTEUR (`<élément>.costum.slug`, partagé — 46 sites pour reseauTierslieux) fusionné avec l'OVERLAY de l'entité porteuse, plus le contexte et le scope. COMBLE UN TROU DE getcostumjson, qui renvoie l'overlay BRUT sans le socle du moteur : 125 sites du parc sur 822 y reçoivent une configuration amputée — relief sert 1 propriété de formulaire là où il en a 26, et perd ses 15 lists. getcostumjson n'est PAS modifié (il est sous parité byte-à-byte, et sa réponse pèse ~244 Ko d'arbre CMS dont la résolution n'a que faire : 10 Ko ici). La fusion est celle de Costum::init (array_merge plat puis Costum::combine récursif), suivie du pivot `assetsSlug` = moteur / `slug` = ENTITÉ, d'où découle `sourceKey`. `typeObj` est ARBITRÉ, pas brut : après fusion, deux clés SŒURS peuvent coexister (`organization` de l'overlay et `organizations` du moteur), que le client legacy départage plus tard via le registre `typeObj.js` — chaque clé vise le slot `sameAs`, le DERNIER déclaré gagne. On applique la règle ici, une fois, plutôt que de la faire rejouer par chaque client ; `arbitrage` dit ce qui a été écarté et au profit de quoi. CHARGE UTILE EN LISTE BLANCHE : seuls `typeObj`, `lists` et `import.mapping` sortent du costum — jamais le document entier, `costum.interop` portant des secrets. Les listes ne sont PAS résolues : `costum/co/listvalues` les sert à la demande et FRAÎCHES ; on livre la DÉCLARATION `lists`, dont le client a besoin pour les `enum` (`def.list` / `def.tagsList`). Économise un aller-retour : `contextType`/`contextId` étant dans la réponse, l'appel préalable à `getElementsKey` n'est plus nécessaire.
1688
+ * Constant : COSTUM_RESOLVED
1689
+ * @param data - Données envoyées à l'API
1690
+ * @returns Les données de réponse.
1691
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1692
+ * @throws {Error} - En cas d'erreur inattendue.
1693
+ */
1694
+ costumResolved(data: CostumResolvedData): Promise<any>;
1646
1695
  /**
1647
1696
  * Annuaire des communs (AAP) : Annuaire des communs AAP (port SDK de DirectoryProposalAction → Aap::globalAutocompleteProposal, citizenToolKit). Gates appliqués par le serveur : form.params.onlyAdminCanSeeList (restreint aux propres réponses + status='vote' sauf admin OU membre porteur de rôles dans les listes aapStep2.canEdit ET aapStep3.canEdit — bypass filters.formStandalone). MODE NORMAL (liste).
1648
1697
  * Constant : DIRECTORY_PROPOSAL
@@ -3145,9 +3145,11 @@ export interface AddOrganizationData {
3145
3145
  */
3146
3146
  video?: string[];
3147
3147
  /**
3148
- * Numéro de téléphone de contact
3148
+ * Numéro de téléphone de contact — le legacy stocke un objet {mobile:[…],fixe:[…]} (mesuré : 133/133 orgs SSBE, 65/65 cyber-reunion) ; la chaîne reste acceptée
3149
3149
  */
3150
- telephone?: string;
3150
+ telephone?: string | {
3151
+ [k: string]: unknown;
3152
+ };
3151
3153
  /**
3152
3154
  * Description longue (markdown supporté)
3153
3155
  */
@@ -6731,6 +6733,198 @@ export interface SetSourceData {
6731
6733
  };
6732
6734
  [k: string]: unknown;
6733
6735
  }
6736
+ export interface TransferSourceCheckData {
6737
+ /**
6738
+ * Slug du costum CÉDANT (propriétaire actuel des fiches).
6739
+ */
6740
+ from: string;
6741
+ /**
6742
+ * Slug du costum REPRENEUR (nouveau propriétaire). Posé automatiquement par BaseEntity (= site courant) si absent.
6743
+ */
6744
+ to: string;
6745
+ /**
6746
+ * Collection des fiches. Sous-ensemble d'ELEMENT_COLLECTIONS — jamais citoyens (profils personnels).
6747
+ */
6748
+ collection: "poi" | "organizations" | "projects" | "events" | "classifieds";
6749
+ /**
6750
+ * Sélection des fiches : {ids} OU {field,value}. L'endpoint est agnostique du cas d'usage (commune, fusion de costums, correction de provenance, fiche isolée).
6751
+ */
6752
+ selection: {
6753
+ /**
6754
+ * Sélection explicite par _id (n'importe quelle sélection UI : table, fiche isolée). Les ids passent par TOUS les contrôles. Plafond 1000 : au-delà, le form-urlencoded dépasse max_input_vars PHP (troncature silencieuse legacy) — utiliser le mode critère.
6755
+ *
6756
+ * @minItems 1
6757
+ * @maxItems 1000
6758
+ */
6759
+ ids: [string, ...string[]];
6760
+ } | {
6761
+ /**
6762
+ * Champ de sélection de masse (whitelist serveur). La requête est {source.keys: from, <field>: value}.
6763
+ */
6764
+ field: "address.codeInsee" | "address.level1" | "address.level3" | "address.level4" | "address.localityId" | "address.addressLocality" | "tags" | "type";
6765
+ /**
6766
+ * Valeur scalaire du champ (ex. codeInsee "97415").
6767
+ */
6768
+ value: string;
6769
+ };
6770
+ /**
6771
+ * Options du geste. Défauts appliqués côté client (AJV useDefaults) ET normalisés côté serveur.
6772
+ */
6773
+ options?: {
6774
+ /**
6775
+ * true (défaut) : from reste en référencement (reference.costum += from) avec annotation éventuelle. false : transfert SEC (ni référence, ni annotation) — correction de provenance.
6776
+ */
6777
+ keepReference?: boolean;
6778
+ /**
6779
+ * Annotation reference.costumTypes.<from>. "auto" (défaut) = déduite du `type` si la sélection est homogène (sinon bloquant subTypeIndeterminable) ; "" = pas d'annotation ; sinon valeur explicite. Ignorée si keepReference=false.
6780
+ */
6781
+ subType?: string;
6782
+ /**
6783
+ * Mode réparation générique : cible les fiches DÉJÀ possédées par `to` et référencées par `from` SANS annotation ; pose uniquement reference.costumTypes.<from>. Successeur produit du --repair du script CLI.
6784
+ */
6785
+ annotateOnly?: boolean;
6786
+ /**
6787
+ * true (défaut) : purge l'auto-référencement parasite de `to` (reference.costum ∋ to, reference.costumTypes.<to>) en passe préalable — séquelle des ré-imports.
6788
+ */
6789
+ cleanSelfReference?: boolean;
6790
+ /**
6791
+ * strict (défaut) : source.keys multiples = bloquant. replace : remplace from par to DANS keys en préservant les autres clés (ex. marqueur ESS974), écriture par fiche.
6792
+ */
6793
+ keysPolicy?: "strict" | "replace";
6794
+ };
6795
+ /**
6796
+ * Slug du costum courant (contexte). Posé automatiquement par BaseEntity.
6797
+ */
6798
+ costumSlug?: string;
6799
+ /**
6800
+ * ID de l'entité porteuse du costum courant. Optionnel.
6801
+ */
6802
+ costumId?: string;
6803
+ /**
6804
+ * Type de l'entité porteuse du costum courant. Optionnel.
6805
+ */
6806
+ costumType?: string;
6807
+ [k: string]: unknown;
6808
+ }
6809
+ export interface TransferSourceApplyData {
6810
+ /**
6811
+ * Slug du costum CÉDANT (propriétaire actuel des fiches).
6812
+ */
6813
+ from: string;
6814
+ /**
6815
+ * Slug du costum REPRENEUR (nouveau propriétaire). Posé automatiquement par BaseEntity (= site courant) si absent.
6816
+ */
6817
+ to: string;
6818
+ /**
6819
+ * Collection des fiches. Sous-ensemble d'ELEMENT_COLLECTIONS — jamais citoyens (profils personnels).
6820
+ */
6821
+ collection: "poi" | "organizations" | "projects" | "events" | "classifieds";
6822
+ /**
6823
+ * Sélection des fiches : {ids} OU {field,value}. L'endpoint est agnostique du cas d'usage (commune, fusion de costums, correction de provenance, fiche isolée).
6824
+ */
6825
+ selection: {
6826
+ /**
6827
+ * Sélection explicite par _id (n'importe quelle sélection UI : table, fiche isolée). Les ids passent par TOUS les contrôles. Plafond 1000 : au-delà, le form-urlencoded dépasse max_input_vars PHP (troncature silencieuse legacy) — utiliser le mode critère.
6828
+ *
6829
+ * @minItems 1
6830
+ * @maxItems 1000
6831
+ */
6832
+ ids: [string, ...string[]];
6833
+ } | {
6834
+ /**
6835
+ * Champ de sélection de masse (whitelist serveur). La requête est {source.keys: from, <field>: value}.
6836
+ */
6837
+ field: "address.codeInsee" | "address.level1" | "address.level3" | "address.level4" | "address.localityId" | "address.addressLocality" | "tags" | "type";
6838
+ /**
6839
+ * Valeur scalaire du champ (ex. codeInsee "97415").
6840
+ */
6841
+ value: string;
6842
+ };
6843
+ /**
6844
+ * Options du geste. Défauts appliqués côté client (AJV useDefaults) ET normalisés côté serveur.
6845
+ */
6846
+ options?: {
6847
+ /**
6848
+ * true (défaut) : from reste en référencement (reference.costum += from) avec annotation éventuelle. false : transfert SEC (ni référence, ni annotation) — correction de provenance.
6849
+ */
6850
+ keepReference?: boolean;
6851
+ /**
6852
+ * Annotation reference.costumTypes.<from>. "auto" (défaut) = déduite du `type` si la sélection est homogène (sinon bloquant subTypeIndeterminable) ; "" = pas d'annotation ; sinon valeur explicite. Ignorée si keepReference=false.
6853
+ */
6854
+ subType?: string;
6855
+ /**
6856
+ * Mode réparation générique : cible les fiches DÉJÀ possédées par `to` et référencées par `from` SANS annotation ; pose uniquement reference.costumTypes.<from>. Successeur produit du --repair du script CLI.
6857
+ */
6858
+ annotateOnly?: boolean;
6859
+ /**
6860
+ * true (défaut) : purge l'auto-référencement parasite de `to` (reference.costum ∋ to, reference.costumTypes.<to>) en passe préalable — séquelle des ré-imports.
6861
+ */
6862
+ cleanSelfReference?: boolean;
6863
+ /**
6864
+ * strict (défaut) : source.keys multiples = bloquant. replace : remplace from par to DANS keys en préservant les autres clés (ex. marqueur ESS974), écriture par fiche.
6865
+ */
6866
+ keysPolicy?: "strict" | "replace";
6867
+ };
6868
+ /**
6869
+ * Compteur affiché à l'utilisateur au dry-run. Si ≠ du recomptage à l'apply → refus (selectionDrift).
6870
+ */
6871
+ expectedCount?: number;
6872
+ /**
6873
+ * Slug du costum courant (contexte). Posé automatiquement par BaseEntity.
6874
+ */
6875
+ costumSlug?: string;
6876
+ /**
6877
+ * ID de l'entité porteuse du costum courant. Optionnel.
6878
+ */
6879
+ costumId?: string;
6880
+ /**
6881
+ * Type de l'entité porteuse du costum courant. Optionnel.
6882
+ */
6883
+ costumType?: string;
6884
+ [k: string]: unknown;
6885
+ }
6886
+ export interface TransferSourceRollbackData {
6887
+ /**
6888
+ * _id du run dans sourceMigrations (renvoyé par apply, listé par history).
6889
+ */
6890
+ migrationId: string;
6891
+ /**
6892
+ * Slug du costum courant (contexte). Posé automatiquement par BaseEntity.
6893
+ */
6894
+ costumSlug?: string;
6895
+ /**
6896
+ * Optionnel.
6897
+ */
6898
+ costumId?: string;
6899
+ /**
6900
+ * Optionnel.
6901
+ */
6902
+ costumType?: string;
6903
+ [k: string]: unknown;
6904
+ }
6905
+ export interface TransferSourceHistoryData {
6906
+ /**
6907
+ * Slug dont on liste l'historique (cédant OU repreneur). Posé automatiquement par BaseEntity (= site courant).
6908
+ */
6909
+ slug: string;
6910
+ /**
6911
+ * Si présent : renvoie CE run complet (avec snapshot) au lieu de la liste.
6912
+ */
6913
+ migrationId?: string;
6914
+ /**
6915
+ * Slug du costum courant (contexte). Posé automatiquement par BaseEntity.
6916
+ */
6917
+ costumSlug?: string;
6918
+ /**
6919
+ * Optionnel.
6920
+ */
6921
+ costumId?: string;
6922
+ /**
6923
+ * Optionnel.
6924
+ */
6925
+ costumType?: string;
6926
+ [k: string]: unknown;
6927
+ }
6734
6928
  export interface ModerateData {
6735
6929
  [k: string]: unknown;
6736
6930
  }
@@ -6947,6 +7141,13 @@ export interface CostumListValuesData {
6947
7141
  limit?: number;
6948
7142
  [k: string]: unknown;
6949
7143
  }
7144
+ export interface CostumResolvedData {
7145
+ /**
7146
+ * Slug du SITE (l'entité porteuse), pas celui du moteur. Ex. `relief`, pas `reseauTierslieux`.
7147
+ */
7148
+ slug: string;
7149
+ [k: string]: unknown;
7150
+ }
6950
7151
  export interface DirectoryProposalData {
6951
7152
  /**
6952
7153
  * searchType[0] = la COLLECTION interrogée par tous les find/count (typiquement 'answers'). Obligatoire — absent = 500 legacy.
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;
@@ -0,0 +1,3 @@
1
+ import type { CostumExtensionModule } from "../types.js";
2
+ declare const mod: CostumExtensionModule;
3
+ export default mod;