@communecter/cocolight-api-client 1.0.148 → 1.0.150
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.
- package/dist/1035.cocolight-api-client.browser.js +1 -0
- package/dist/1035.cocolight-api-client.cjs +1 -0
- package/dist/1035.cocolight-api-client.mjs.js +1 -0
- package/dist/1483.cocolight-api-client.browser.js +1 -0
- package/dist/1483.cocolight-api-client.cjs +1 -0
- package/dist/1483.cocolight-api-client.mjs.js +1 -0
- package/dist/1491.cocolight-api-client.browser.js +1 -0
- package/dist/1491.cocolight-api-client.cjs +1 -0
- package/dist/1491.cocolight-api-client.mjs.js +1 -0
- package/dist/1494.cocolight-api-client.browser.js +1 -0
- package/dist/1494.cocolight-api-client.cjs +1 -0
- package/dist/1494.cocolight-api-client.mjs.js +1 -0
- package/dist/1641.cocolight-api-client.browser.js +1 -0
- package/dist/1641.cocolight-api-client.cjs +1 -0
- package/dist/1641.cocolight-api-client.mjs.js +1 -0
- package/dist/1678.cocolight-api-client.browser.js +1 -0
- package/dist/1678.cocolight-api-client.cjs +1 -0
- package/dist/1678.cocolight-api-client.mjs.js +1 -0
- package/dist/2041.cocolight-api-client.browser.js +1 -0
- package/dist/2041.cocolight-api-client.cjs +1 -0
- package/dist/2041.cocolight-api-client.mjs.js +1 -0
- package/dist/2302.cocolight-api-client.browser.js +1 -0
- package/dist/2302.cocolight-api-client.cjs +1 -0
- package/dist/2302.cocolight-api-client.mjs.js +1 -0
- package/dist/2313.cocolight-api-client.browser.js +1 -0
- package/dist/2313.cocolight-api-client.cjs +1 -0
- package/dist/2313.cocolight-api-client.mjs.js +1 -0
- package/dist/2379.cocolight-api-client.browser.js +1 -0
- package/dist/2379.cocolight-api-client.cjs +1 -0
- package/dist/2379.cocolight-api-client.mjs.js +1 -0
- package/dist/2439.cocolight-api-client.browser.js +1 -0
- package/dist/2439.cocolight-api-client.cjs +1 -0
- package/dist/2439.cocolight-api-client.mjs.js +1 -0
- package/dist/2594.cocolight-api-client.browser.js +1 -0
- package/dist/2594.cocolight-api-client.cjs +1 -0
- package/dist/2594.cocolight-api-client.mjs.js +1 -0
- package/dist/2766.cocolight-api-client.browser.js +1 -0
- package/dist/2766.cocolight-api-client.cjs +1 -0
- package/dist/2766.cocolight-api-client.mjs.js +1 -0
- package/dist/2812.cocolight-api-client.browser.js +1 -0
- package/dist/2812.cocolight-api-client.cjs +1 -0
- package/dist/2812.cocolight-api-client.mjs.js +1 -0
- package/dist/2918.cocolight-api-client.browser.js +1 -0
- package/dist/2918.cocolight-api-client.cjs +1 -0
- package/dist/2918.cocolight-api-client.mjs.js +1 -0
- package/dist/3028.cocolight-api-client.browser.js +1 -0
- package/dist/3028.cocolight-api-client.cjs +1 -0
- package/dist/3028.cocolight-api-client.mjs.js +1 -0
- package/dist/3330.cocolight-api-client.browser.js +1 -0
- package/dist/3330.cocolight-api-client.cjs +1 -0
- package/dist/3330.cocolight-api-client.mjs.js +1 -0
- package/dist/3371.cocolight-api-client.browser.js +1 -0
- package/dist/3371.cocolight-api-client.cjs +1 -0
- package/dist/3371.cocolight-api-client.mjs.js +1 -0
- package/dist/3401.cocolight-api-client.browser.js +1 -0
- package/dist/3401.cocolight-api-client.cjs +1 -0
- package/dist/3401.cocolight-api-client.mjs.js +1 -0
- package/dist/3516.cocolight-api-client.browser.js +1 -0
- package/dist/3516.cocolight-api-client.cjs +1 -0
- package/dist/3516.cocolight-api-client.mjs.js +1 -0
- package/dist/3593.cocolight-api-client.browser.js +1 -0
- package/dist/3593.cocolight-api-client.cjs +1 -0
- package/dist/3593.cocolight-api-client.mjs.js +1 -0
- package/dist/3764.cocolight-api-client.browser.js +1 -0
- package/dist/3764.cocolight-api-client.cjs +1 -0
- package/dist/3764.cocolight-api-client.mjs.js +1 -0
- package/dist/3873.cocolight-api-client.browser.js +1 -0
- package/dist/3873.cocolight-api-client.cjs +1 -0
- package/dist/3873.cocolight-api-client.mjs.js +1 -0
- package/dist/3911.cocolight-api-client.browser.js +1 -0
- package/dist/3911.cocolight-api-client.cjs +1 -0
- package/dist/3911.cocolight-api-client.mjs.js +1 -0
- package/dist/4031.cocolight-api-client.browser.js +1 -0
- package/dist/4031.cocolight-api-client.cjs +1 -0
- package/dist/4031.cocolight-api-client.mjs.js +1 -0
- package/dist/4152.cocolight-api-client.browser.js +1 -0
- package/dist/4152.cocolight-api-client.cjs +1 -0
- package/dist/4152.cocolight-api-client.mjs.js +1 -0
- package/dist/4203.cocolight-api-client.browser.js +1 -0
- package/dist/4203.cocolight-api-client.cjs +1 -0
- package/dist/4203.cocolight-api-client.mjs.js +1 -0
- package/dist/424.cocolight-api-client.browser.js +1 -0
- package/dist/424.cocolight-api-client.cjs +1 -0
- package/dist/424.cocolight-api-client.mjs.js +1 -0
- package/dist/435.cocolight-api-client.browser.js +1 -0
- package/dist/435.cocolight-api-client.cjs +1 -0
- package/dist/435.cocolight-api-client.mjs.js +1 -0
- package/dist/4402.cocolight-api-client.browser.js +1 -0
- package/dist/4402.cocolight-api-client.cjs +1 -0
- package/dist/4402.cocolight-api-client.mjs.js +1 -0
- package/dist/4425.cocolight-api-client.browser.js +1 -0
- package/dist/4425.cocolight-api-client.cjs +1 -0
- package/dist/4425.cocolight-api-client.mjs.js +1 -0
- package/dist/4472.cocolight-api-client.browser.js +1 -0
- package/dist/4472.cocolight-api-client.cjs +1 -0
- package/dist/4472.cocolight-api-client.mjs.js +1 -0
- package/dist/4914.cocolight-api-client.browser.js +1 -0
- package/dist/4914.cocolight-api-client.cjs +1 -0
- package/dist/4914.cocolight-api-client.mjs.js +1 -0
- package/dist/4959.cocolight-api-client.browser.js +1 -0
- package/dist/4959.cocolight-api-client.cjs +1 -0
- package/dist/4959.cocolight-api-client.mjs.js +1 -0
- package/dist/5100.cocolight-api-client.browser.js +1 -0
- package/dist/5100.cocolight-api-client.cjs +1 -0
- package/dist/5100.cocolight-api-client.mjs.js +1 -0
- package/dist/5111.cocolight-api-client.browser.js +1 -0
- package/dist/5111.cocolight-api-client.cjs +1 -0
- package/dist/5111.cocolight-api-client.mjs.js +1 -0
- package/dist/5286.cocolight-api-client.browser.js +1 -0
- package/dist/5286.cocolight-api-client.cjs +1 -0
- package/dist/5286.cocolight-api-client.mjs.js +1 -0
- package/dist/5380.cocolight-api-client.browser.js +1 -0
- package/dist/5380.cocolight-api-client.cjs +1 -0
- package/dist/5380.cocolight-api-client.mjs.js +1 -0
- package/dist/5383.cocolight-api-client.browser.js +1 -0
- package/dist/5383.cocolight-api-client.cjs +1 -0
- package/dist/5383.cocolight-api-client.mjs.js +1 -0
- package/dist/5480.cocolight-api-client.browser.js +1 -0
- package/dist/5480.cocolight-api-client.cjs +1 -0
- package/dist/5480.cocolight-api-client.mjs.js +1 -0
- package/dist/5541.cocolight-api-client.browser.js +1 -0
- package/dist/5541.cocolight-api-client.cjs +1 -0
- package/dist/5541.cocolight-api-client.mjs.js +1 -0
- package/dist/5839.cocolight-api-client.browser.js +1 -0
- package/dist/5839.cocolight-api-client.cjs +1 -0
- package/dist/5839.cocolight-api-client.mjs.js +1 -0
- package/dist/5862.cocolight-api-client.browser.js +1 -0
- package/dist/5862.cocolight-api-client.cjs +1 -0
- package/dist/5862.cocolight-api-client.mjs.js +1 -0
- package/dist/5869.cocolight-api-client.browser.js +1 -0
- package/dist/5869.cocolight-api-client.cjs +1 -0
- package/dist/5869.cocolight-api-client.mjs.js +1 -0
- package/dist/588.cocolight-api-client.cjs +1 -1
- package/dist/588.cocolight-api-client.mjs.js +1 -1
- package/dist/601.cocolight-api-client.browser.js +1 -0
- package/dist/601.cocolight-api-client.cjs +1 -0
- package/dist/601.cocolight-api-client.mjs.js +1 -0
- package/dist/6012.cocolight-api-client.browser.js +1 -0
- package/dist/6012.cocolight-api-client.cjs +1 -0
- package/dist/6012.cocolight-api-client.mjs.js +1 -0
- package/dist/6200.cocolight-api-client.browser.js +1 -0
- package/dist/6200.cocolight-api-client.cjs +1 -0
- package/dist/6200.cocolight-api-client.mjs.js +1 -0
- package/dist/6369.cocolight-api-client.browser.js +1 -0
- package/dist/6369.cocolight-api-client.cjs +1 -0
- package/dist/6369.cocolight-api-client.mjs.js +1 -0
- package/dist/7009.cocolight-api-client.browser.js +1 -0
- package/dist/7009.cocolight-api-client.cjs +1 -0
- package/dist/7009.cocolight-api-client.mjs.js +1 -0
- package/dist/725.cocolight-api-client.browser.js +1 -0
- package/dist/725.cocolight-api-client.cjs +1 -0
- package/dist/725.cocolight-api-client.mjs.js +1 -0
- package/dist/7320.cocolight-api-client.browser.js +1 -0
- package/dist/7339.cocolight-api-client.browser.js +1 -0
- package/dist/7339.cocolight-api-client.cjs +1 -0
- package/dist/7339.cocolight-api-client.mjs.js +1 -0
- package/dist/7398.cocolight-api-client.browser.js +1 -0
- package/dist/7398.cocolight-api-client.cjs +1 -0
- package/dist/7398.cocolight-api-client.mjs.js +1 -0
- package/dist/7888.cocolight-api-client.browser.js +1 -0
- package/dist/7888.cocolight-api-client.cjs +1 -0
- package/dist/7888.cocolight-api-client.mjs.js +1 -0
- package/dist/7975.cocolight-api-client.browser.js +1 -0
- package/dist/7975.cocolight-api-client.cjs +1 -0
- package/dist/7975.cocolight-api-client.mjs.js +1 -0
- package/dist/809.cocolight-api-client.browser.js +1 -0
- package/dist/809.cocolight-api-client.cjs +1 -0
- package/dist/809.cocolight-api-client.mjs.js +1 -0
- package/dist/8300.cocolight-api-client.browser.js +1 -0
- package/dist/8300.cocolight-api-client.cjs +1 -0
- package/dist/8300.cocolight-api-client.mjs.js +1 -0
- package/dist/8317.cocolight-api-client.browser.js +1 -0
- package/dist/8317.cocolight-api-client.cjs +1 -0
- package/dist/8317.cocolight-api-client.mjs.js +1 -0
- package/dist/8525.cocolight-api-client.browser.js +1 -0
- package/dist/8525.cocolight-api-client.cjs +1 -0
- package/dist/8525.cocolight-api-client.mjs.js +1 -0
- package/dist/8894.cocolight-api-client.browser.js +1 -0
- package/dist/8894.cocolight-api-client.cjs +1 -0
- package/dist/8894.cocolight-api-client.mjs.js +1 -0
- package/dist/9301.cocolight-api-client.browser.js +1 -0
- package/dist/9301.cocolight-api-client.cjs +1 -0
- package/dist/9301.cocolight-api-client.mjs.js +1 -0
- package/dist/9438.cocolight-api-client.browser.js +1 -0
- package/dist/9438.cocolight-api-client.cjs +1 -0
- package/dist/9438.cocolight-api-client.mjs.js +1 -0
- package/dist/9478.cocolight-api-client.browser.js +1 -0
- package/dist/9478.cocolight-api-client.cjs +1 -0
- package/dist/9478.cocolight-api-client.mjs.js +1 -0
- package/dist/9568.cocolight-api-client.browser.js +1 -0
- package/dist/9568.cocolight-api-client.cjs +1 -0
- package/dist/9568.cocolight-api-client.mjs.js +1 -0
- package/dist/cocolight-api-client.browser.js +3 -3
- package/dist/cocolight-api-client.cjs +1 -1
- package/dist/cocolight-api-client.mjs.js +1 -1
- package/dist/cocolight-api-client.vite.mjs.js +1 -1
- package/dist/cocolight-api-client.vite.mjs.js.map +1 -1
- package/package.json +1 -1
- package/src/ApiClient.ts +53 -13
- package/src/api/BaseEntity.ts +237 -6
- package/src/api/EndpointApi.ts +17 -1
- package/src/api/EndpointApi.types.ts +29 -230
- package/src/api/Event.ts +6 -0
- package/src/api/Organization.ts +21 -85
- package/src/api/Poi.ts +10 -101
- package/src/api/Project.ts +6 -0
- package/src/api/User.ts +19 -1
- package/src/costum/normalize.ts +7 -0
- package/src/costum/registry.ts +138 -0
- package/src/costum/runtime-map.ts +221 -0
- package/src/costum/runtime.ts +221 -0
- package/src/costum/schemas/CercleTravailleursSociauxLiberauxLaPlumeSociale.ts +19 -0
- package/src/costum/schemas/FabEn.ts +19 -0
- package/src/costum/schemas/LivingLabInnovationSocialeBraspanon.ts +19 -0
- package/src/costum/schemas/alfph.ts +27 -0
- package/src/costum/schemas/campagne.ts +19 -0
- package/src/costum/schemas/chtitube.ts +19 -0
- package/src/costum/schemas/circuitCourt.ts +19 -0
- package/src/costum/schemas/cmcasHauteBretagne.ts +19 -0
- package/src/costum/schemas/coFinancementTierslieux.ts +27 -0
- package/src/costum/schemas/coeurNumerique.ts +19 -0
- package/src/costum/schemas/communLundi.ts +19 -0
- package/src/costum/schemas/cressReunion.ts +35 -0
- package/src/costum/schemas/cressReunionNetwork.ts +35 -0
- package/src/costum/schemas/ctenat.ts +43 -0
- package/src/costum/schemas/cyberReunion.ts +19 -0
- package/src/costum/schemas/ekisphere.ts +35 -0
- package/src/costum/schemas/equipementsSportifs974.ts +19 -0
- package/src/costum/schemas/federationDesCae.ts +19 -0
- package/src/costum/schemas/formationGenerique.ts +35 -0
- package/src/costum/schemas/franceTierslieux.ts +19 -0
- package/src/costum/schemas/hinaura.ts +27 -0
- package/src/costum/schemas/hubmayotte.ts +19 -0
- package/src/costum/schemas/hubnouvellecaledonie.ts +19 -0
- package/src/costum/schemas/hubpolynesiefrancaise.ts +19 -0
- package/src/costum/schemas/hubreunion.ts +19 -0
- package/src/costum/schemas/hubterritoires.ts +19 -0
- package/src/costum/schemas/hubwallisetfutuna.ts +19 -0
- package/src/costum/schemas/hva.ts +27 -0
- package/src/costum/schemas/ibv2.ts +19 -0
- package/src/costum/schemas/institutBleu.ts +19 -0
- package/src/costum/schemas/journalInsoumisChambery.ts +27 -0
- package/src/costum/schemas/kpacite.ts +19 -0
- package/src/costum/schemas/laCompagnieDesTierslieux.ts +43 -0
- package/src/costum/schemas/laMaisonDesFaiseurs.ts +19 -0
- package/src/costum/schemas/laReunionPourUnNumeriqueInclusif.ts +19 -0
- package/src/costum/schemas/laSemaineDesTierslieux.ts +19 -0
- package/src/costum/schemas/labEnCommuns.ts +19 -0
- package/src/costum/schemas/lakou.ts +27 -0
- package/src/costum/schemas/lesCommunsDesTierslieux.ts +19 -0
- package/src/costum/schemas/mayottePourUnNumeriqueInclusif.ts +19 -0
- package/src/costum/schemas/meir.ts +27 -0
- package/src/costum/schemas/navigatorDesTierslieux.ts +19 -0
- package/src/costum/schemas/notragora.ts +27 -0
- package/src/costum/schemas/nouvellecaledoniePourUnNumeriqueInclusif.ts +19 -0
- package/src/costum/schemas/openAtlas.ts +19 -0
- package/src/costum/schemas/polynesieFrancaisePourUnNumeriqueInclusif.ts +19 -0
- package/src/costum/schemas/prdr.ts +19 -0
- package/src/costum/schemas/reseauTierslieux.ts +19 -0
- package/src/costum/schemas/rfflabs.ts +19 -0
- package/src/costum/schemas/ries.ts +19 -0
- package/src/costum/schemas/siteDuPactePourLaTransition.ts +27 -0
- package/src/costum/schemas/sportSanteBienetre.ts +43 -0
- package/src/costum/schemas/suppa.ts +19 -0
- package/src/costum/schemas/terramies.ts +19 -0
- package/src/costum/schemas/testeTplFormation.ts +35 -0
- package/src/costum/schemas/tierslieuxbelgique.ts +19 -0
- package/src/costum/schemas/tierslieuxorg1.ts +35 -0
- package/src/costum/schemas/transiter.ts +35 -0
- package/src/costum/schemas/vhelioPeiTour2025.ts +19 -0
- package/src/costum/schemas/wallisetfutunaPourUnNumeriqueInclusif.ts +19 -0
- package/src/costum/symbol.ts +26 -0
- package/src/costum/types.ts +895 -0
- package/src/endpoints.module.ts +13 -13
- package/src/forms/entityForm.ts +142 -0
- package/src/index.ts +14 -0
- package/types/ApiClient.d.ts +1 -0
- package/types/api/BaseEntity.d.ts +69 -2
- package/types/api/EndpointApi.d.ts +11 -1
- package/types/api/EndpointApi.types.d.ts +27 -230
- package/types/api/Event.d.ts +2 -0
- package/types/api/Organization.d.ts +15 -71
- package/types/api/Poi.d.ts +2 -36
- package/types/api/Project.d.ts +2 -0
- package/types/api/User.d.ts +14 -0
- package/types/costum/normalize.d.ts +2 -0
- package/types/costum/registry.d.ts +11 -0
- package/types/costum/runtime-map.d.ts +3 -0
- package/types/costum/runtime.d.ts +99 -0
- package/types/costum/schemas/CercleTravailleursSociauxLiberauxLaPlumeSociale.d.ts +3 -0
- package/types/costum/schemas/FabEn.d.ts +3 -0
- package/types/costum/schemas/LivingLabInnovationSocialeBraspanon.d.ts +3 -0
- package/types/costum/schemas/alfph.d.ts +3 -0
- package/types/costum/schemas/campagne.d.ts +3 -0
- package/types/costum/schemas/chtitube.d.ts +3 -0
- package/types/costum/schemas/circuitCourt.d.ts +3 -0
- package/types/costum/schemas/cmcasHauteBretagne.d.ts +3 -0
- package/types/costum/schemas/coFinancementTierslieux.d.ts +3 -0
- package/types/costum/schemas/coeurNumerique.d.ts +3 -0
- package/types/costum/schemas/communLundi.d.ts +3 -0
- package/types/costum/schemas/cressReunion.d.ts +3 -0
- package/types/costum/schemas/cressReunionNetwork.d.ts +3 -0
- package/types/costum/schemas/ctenat.d.ts +3 -0
- package/types/costum/schemas/cyberReunion.d.ts +3 -0
- package/types/costum/schemas/ekisphere.d.ts +3 -0
- package/types/costum/schemas/equipementsSportifs974.d.ts +3 -0
- package/types/costum/schemas/federationDesCae.d.ts +3 -0
- package/types/costum/schemas/formationGenerique.d.ts +3 -0
- package/types/costum/schemas/franceTierslieux.d.ts +3 -0
- package/types/costum/schemas/hinaura.d.ts +3 -0
- package/types/costum/schemas/hubmayotte.d.ts +3 -0
- package/types/costum/schemas/hubnouvellecaledonie.d.ts +3 -0
- package/types/costum/schemas/hubpolynesiefrancaise.d.ts +3 -0
- package/types/costum/schemas/hubreunion.d.ts +3 -0
- package/types/costum/schemas/hubterritoires.d.ts +3 -0
- package/types/costum/schemas/hubwallisetfutuna.d.ts +3 -0
- package/types/costum/schemas/hva.d.ts +3 -0
- package/types/costum/schemas/ibv2.d.ts +3 -0
- package/types/costum/schemas/institutBleu.d.ts +3 -0
- package/types/costum/schemas/journalInsoumisChambery.d.ts +3 -0
- package/types/costum/schemas/kpacite.d.ts +3 -0
- package/types/costum/schemas/laCompagnieDesTierslieux.d.ts +3 -0
- package/types/costum/schemas/laMaisonDesFaiseurs.d.ts +3 -0
- package/types/costum/schemas/laReunionPourUnNumeriqueInclusif.d.ts +3 -0
- package/types/costum/schemas/laSemaineDesTierslieux.d.ts +3 -0
- package/types/costum/schemas/labEnCommuns.d.ts +3 -0
- package/types/costum/schemas/lakou.d.ts +3 -0
- package/types/costum/schemas/lesCommunsDesTierslieux.d.ts +3 -0
- package/types/costum/schemas/mayottePourUnNumeriqueInclusif.d.ts +3 -0
- package/types/costum/schemas/meir.d.ts +3 -0
- package/types/costum/schemas/navigatorDesTierslieux.d.ts +3 -0
- package/types/costum/schemas/notragora.d.ts +3 -0
- package/types/costum/schemas/nouvellecaledoniePourUnNumeriqueInclusif.d.ts +3 -0
- package/types/costum/schemas/openAtlas.d.ts +3 -0
- package/types/costum/schemas/polynesieFrancaisePourUnNumeriqueInclusif.d.ts +3 -0
- package/types/costum/schemas/prdr.d.ts +3 -0
- package/types/costum/schemas/reseauTierslieux.d.ts +3 -0
- package/types/costum/schemas/rfflabs.d.ts +3 -0
- package/types/costum/schemas/ries.d.ts +3 -0
- package/types/costum/schemas/siteDuPactePourLaTransition.d.ts +3 -0
- package/types/costum/schemas/sportSanteBienetre.d.ts +3 -0
- package/types/costum/schemas/suppa.d.ts +3 -0
- package/types/costum/schemas/terramies.d.ts +3 -0
- package/types/costum/schemas/testeTplFormation.d.ts +3 -0
- package/types/costum/schemas/tierslieuxbelgique.d.ts +3 -0
- package/types/costum/schemas/tierslieuxorg1.d.ts +3 -0
- package/types/costum/schemas/transiter.d.ts +3 -0
- package/types/costum/schemas/vhelioPeiTour2025.d.ts +3 -0
- package/types/costum/schemas/wallisetfutunaPourUnNumeriqueInclusif.d.ts +3 -0
- package/types/costum/symbol.d.ts +25 -0
- package/types/costum/types.d.ts +822 -0
- package/types/endpoints.module.d.ts +639 -5409
- package/types/forms/entityForm.d.ts +28 -0
- package/types/index.d.ts +4 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Descripteur de FORMULAIRE de BASE d'une entité (création) — NEUTRE (zéro dépendance UI/site).
|
|
3
|
+
*
|
|
4
|
+
* Pendant de `CostumScope.describeForm` (qui décrit l'OVERLAY costum), pour les champs de BASE de
|
|
5
|
+
* l'entité (name/email/url/address/tags/telephone/openingHours/socialNetwork/image…). Le consommateur
|
|
6
|
+
* (site-json) compose `describeEntityForm(collection)` ⊕ `describeForm(collection)` → un form complet
|
|
7
|
+
* base+costum, SANS dupliquer la base par costum.
|
|
8
|
+
*
|
|
9
|
+
* Décision (B) : la base est **curée UNE FOIS par entité** ici, pas auto-extraite des schémas. Le
|
|
10
|
+
* modèle lib étale la base sur plusieurs schémas hétérogènes (`ADD_*` + `UPDATE_BLOCK_*` +
|
|
11
|
+
* `VIRTUAL_SCHEMAS` + `PROFIL_IMAGE`) avec des dualités (social objet vs à plat, image hors-ADD,
|
|
12
|
+
* virtuals déclarés en CODE) → une auto-extraction propre est fragile. La curation reste « from the
|
|
13
|
+
* lib build » (exportée par la lib) et « définie une fois ». La config générée est ensuite ÉDITABLE.
|
|
14
|
+
*
|
|
15
|
+
* NEUTRE : aucun `widget` ici (vocabulaire UI du site). On porte un `format` (indice sémantique) que le
|
|
16
|
+
* consommateur mappe vers son widget (`address`→location, `image`→image, `social`→editSocial, …).
|
|
17
|
+
*/
|
|
18
|
+
import { EVENT_TYPES } from "../api/serverDataType/Event.js";
|
|
19
|
+
import { ORGANIZATION_TYPES } from "../api/serverDataType/Organization.js";
|
|
20
|
+
import { POI_TYPES } from "../api/serverDataType/Poi.js";
|
|
21
|
+
|
|
22
|
+
import type { Collection } from "../costum/types.js";
|
|
23
|
+
|
|
24
|
+
/** Type logique d'un champ de base (aligné sur `CostumFieldType`). */
|
|
25
|
+
export type EntityFieldType = "string" | "number" | "boolean" | "date" | "array" | "object";
|
|
26
|
+
|
|
27
|
+
/** Indice sémantique de rendu — le site le mappe vers son widget (la lib reste UI-neutre). */
|
|
28
|
+
export type EntityFieldFormat =
|
|
29
|
+
| "email" | "url" | "tel" | "markdown"
|
|
30
|
+
| "address" | "image" | "social" | "openingHours";
|
|
31
|
+
|
|
32
|
+
/** Champ de base décrit pour un formulaire (curé, neutre). */
|
|
33
|
+
export interface BaseFieldDescriptor {
|
|
34
|
+
name: string;
|
|
35
|
+
type: EntityFieldType;
|
|
36
|
+
multiple: boolean;
|
|
37
|
+
/** Options de choix (select/multiselect). */
|
|
38
|
+
enum?: (string | number)[];
|
|
39
|
+
/** Libellé humain curé (la source schéma n'en a pas de fiable). */
|
|
40
|
+
label?: string;
|
|
41
|
+
required?: boolean;
|
|
42
|
+
/** Indice de rendu pour le consommateur (widget spécialisé). */
|
|
43
|
+
format?: EntityFieldFormat;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** Formulaire de BASE d'une entité (champs curés) — pendant neutre de `CostumFormDescriptor`. */
|
|
47
|
+
export interface EntityFormDescriptor {
|
|
48
|
+
collection: Collection;
|
|
49
|
+
fields: BaseFieldDescriptor[];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Base ORGANIZATIONS (création) — curée depuis `Organization.ts` (SCHEMA_CONSTANTS `ADD_ORGANIZATION` +
|
|
54
|
+
* `PROFIL_IMAGE` + `VIRTUAL_*`), réconciliée : champs système/plumbing retirés, social pris en OBJET
|
|
55
|
+
* (`socialNetwork`, pas la variante à plat de `UPDATE_BLOCK_SOCIAL`), image `profil_avatar` ajoutée
|
|
56
|
+
* (absente d'`ADD_ORGANIZATION`). `type` enum ← `ADD_ORGANIZATION.type`.
|
|
57
|
+
*/
|
|
58
|
+
const ORGANIZATION_BASE: BaseFieldDescriptor[] = [
|
|
59
|
+
{ name: "name", type: "string", multiple: false, label: "Nom", required: true },
|
|
60
|
+
{ name: "type", type: "string", multiple: false, label: "Type", enum: [...ORGANIZATION_TYPES] },
|
|
61
|
+
{ name: "email", type: "string", multiple: false, label: "Email", format: "email" },
|
|
62
|
+
{ name: "url", type: "string", multiple: false, label: "Site web", format: "url" },
|
|
63
|
+
{ name: "telephone", type: "string", multiple: false, label: "Téléphone", format: "tel" },
|
|
64
|
+
{ name: "shortDescription", type: "string", multiple: false, label: "Description courte" },
|
|
65
|
+
{ name: "description", type: "string", multiple: false, label: "Description", format: "markdown" },
|
|
66
|
+
{ name: "tags", type: "array", multiple: true, label: "Tags" },
|
|
67
|
+
{ name: "address", type: "object", multiple: false, label: "Adresse", format: "address" },
|
|
68
|
+
{ name: "socialNetwork", type: "object", multiple: false, label: "Réseaux sociaux", format: "social" },
|
|
69
|
+
{ name: "openingHours", type: "array", multiple: false, label: "Horaires d'ouverture", format: "openingHours" },
|
|
70
|
+
{ name: "profil_avatar", type: "object", multiple: false, label: "Logo / image", format: "image" },
|
|
71
|
+
];
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Base PROJECTS (création) — curée depuis `Project.ts` (`ADD_PROJECT` + `UPDATE_BLOCK_DESCRIPTION/SOCIAL` +
|
|
75
|
+
* `PROFIL_IMAGE`). `public` (visibilité) est propre au projet (absent de l'org). Pas de `type` (le contrat
|
|
76
|
+
* projet n'en a pas), pas d'`email`/`telephone`/`openingHours`. Exclus système/plumbing : id/collection/
|
|
77
|
+
* key/parent/preferences/geo/geoPosition/scope.
|
|
78
|
+
*/
|
|
79
|
+
const PROJECT_BASE: BaseFieldDescriptor[] = [
|
|
80
|
+
{ name: "name", type: "string", multiple: false, label: "Nom du projet", required: true },
|
|
81
|
+
{ name: "shortDescription", type: "string", multiple: false, label: "Description courte" },
|
|
82
|
+
{ name: "description", type: "string", multiple: false, label: "Description", format: "markdown" },
|
|
83
|
+
{ name: "url", type: "string", multiple: false, label: "Site web", format: "url" },
|
|
84
|
+
{ name: "public", type: "boolean", multiple: false, label: "Projet public" },
|
|
85
|
+
{ name: "tags", type: "array", multiple: true, label: "Tags" },
|
|
86
|
+
{ name: "address", type: "object", multiple: false, label: "Adresse", format: "address" },
|
|
87
|
+
{ name: "socialNetwork", type: "object", multiple: false, label: "Réseaux sociaux", format: "social" },
|
|
88
|
+
{ name: "profil_avatar", type: "object", multiple: false, label: "Logo / image", format: "image" },
|
|
89
|
+
];
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Base POI (création) — curée depuis `Poi.ts` (`ADD_POI` + `UPDATE_BLOCK_DESCRIPTION` + `PROFIL_IMAGE`).
|
|
93
|
+
* `type` enum ← `POI_TYPES` ; `urls` (liens externes) propre au POI. Pas de social/openingHours/email.
|
|
94
|
+
* Exclus système/plumbing : id/source/collection/key/parent/geo/geoPosition/scope.
|
|
95
|
+
*/
|
|
96
|
+
const POI_BASE: BaseFieldDescriptor[] = [
|
|
97
|
+
{ name: "name", type: "string", multiple: false, label: "Nom", required: true },
|
|
98
|
+
{ name: "type", type: "string", multiple: false, label: "Type", enum: [...POI_TYPES] },
|
|
99
|
+
{ name: "description", type: "string", multiple: false, label: "Description", format: "markdown" },
|
|
100
|
+
{ name: "tags", type: "array", multiple: true, label: "Tags" },
|
|
101
|
+
{ name: "urls", type: "array", multiple: true, label: "Liens / URLs" },
|
|
102
|
+
{ name: "address", type: "object", multiple: false, label: "Adresse", format: "address" },
|
|
103
|
+
{ name: "profil_avatar", type: "object", multiple: false, label: "Logo / image", format: "image" },
|
|
104
|
+
];
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Base EVENTS (création) — curée depuis `Event.ts` (`ADD_EVENT` + `PROFIL_IMAGE`). `type` enum ← `EVENT_TYPES` ;
|
|
108
|
+
* `startDate`/`endDate` (dates) + `openingHours` (récurrence) propres à l'événement. Pas de `description`
|
|
109
|
+
* longue (le contrat event n'en a pas), pas de social/telephone. Exclus système/plumbing : id/collection/
|
|
110
|
+
* key/organizer/parent/preferences/timeZone/recurrency.
|
|
111
|
+
*/
|
|
112
|
+
const EVENT_BASE: BaseFieldDescriptor[] = [
|
|
113
|
+
{ name: "name", type: "string", multiple: false, label: "Nom de l'événement", required: true },
|
|
114
|
+
{ name: "type", type: "string", multiple: false, label: "Type d'événement", enum: [...EVENT_TYPES] },
|
|
115
|
+
{ name: "public", type: "boolean", multiple: false, label: "Événement public" },
|
|
116
|
+
{ name: "shortDescription", type: "string", multiple: false, label: "Description courte" },
|
|
117
|
+
{ name: "url", type: "string", multiple: false, label: "Site web", format: "url" },
|
|
118
|
+
{ name: "email", type: "string", multiple: false, label: "Email", format: "email" },
|
|
119
|
+
{ name: "tags", type: "array", multiple: true, label: "Tags" },
|
|
120
|
+
{ name: "startDate", type: "date", multiple: false, label: "Date de début" },
|
|
121
|
+
{ name: "endDate", type: "date", multiple: false, label: "Date de fin" },
|
|
122
|
+
{ name: "openingHours", type: "array", multiple: false, label: "Horaires d'ouverture", format: "openingHours" },
|
|
123
|
+
{ name: "address", type: "object", multiple: false, label: "Adresse", format: "address" },
|
|
124
|
+
{ name: "profil_avatar", type: "object", multiple: false, label: "Logo / image", format: "image" },
|
|
125
|
+
];
|
|
126
|
+
|
|
127
|
+
/** Base curée par collection (entités créables via formulaire ; citoyen = inscription, hors périmètre). */
|
|
128
|
+
const ENTITY_FORMS: Partial<Record<Collection, BaseFieldDescriptor[]>> = {
|
|
129
|
+
organizations: ORGANIZATION_BASE,
|
|
130
|
+
projects: PROJECT_BASE,
|
|
131
|
+
poi: POI_BASE,
|
|
132
|
+
events: EVENT_BASE,
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Décrit le formulaire de BASE (création) d'une entité — curé, neutre. `null` si non couverte
|
|
137
|
+
* (le consommateur retombe alors sur le costum seul). Statique : aucune dépendance réseau/instance.
|
|
138
|
+
*/
|
|
139
|
+
export function describeEntityForm(collection: Collection): EntityFormDescriptor | null {
|
|
140
|
+
const fields = ENTITY_FORMS[collection];
|
|
141
|
+
return fields ? { collection, fields } : null;
|
|
142
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -127,6 +127,20 @@ export type {
|
|
|
127
127
|
// Constantes BaseEntity
|
|
128
128
|
export { UPDATE_PATH_MAGIC } from "./api/BaseEntity.js";
|
|
129
129
|
|
|
130
|
+
// Costum runtime : scope + descripteur de formulaire (pour générer un form depuis le runtime distribué)
|
|
131
|
+
export type {
|
|
132
|
+
CostumScope,
|
|
133
|
+
CostumRuntimeContext,
|
|
134
|
+
CostumFormDescriptor,
|
|
135
|
+
CostumFieldDescriptor,
|
|
136
|
+
CostumFieldType,
|
|
137
|
+
} from "./costum/runtime.js";
|
|
138
|
+
export type { Collection, KnownCostumSlug } from "./costum/types.js";
|
|
139
|
+
|
|
140
|
+
// Formulaire de BASE d'une entité (curé, neutre) — composé avec l'overlay costum (describeForm).
|
|
141
|
+
export { describeEntityForm } from "./forms/entityForm.js";
|
|
142
|
+
export type { EntityFormDescriptor, BaseFieldDescriptor, EntityFieldType, EntityFieldFormat } from "./forms/entityForm.js";
|
|
143
|
+
|
|
130
144
|
// Types Answer (file-source, en plus des types serverData)
|
|
131
145
|
export type {
|
|
132
146
|
AllStepsData,
|
package/types/ApiClient.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { UpdateSettingsData, UpdateBlockDescriptionData, UpdateBlockInfoData, UpdateBlockSocialData, UpdateBlockLocalityData, GetNewsData, GetGalleryData, GlobalAutocompleteCostumData, CostumEventRequestActorsData, CostumEventRequestSubeventsData, CostumEventRequestDatesData, CostumEventRequestElementEventData, CostumEventRequestCategoriesData, CostumEventRequestEventData, CostumEventRequestLinkTlToEventData, CostumEventRequestLoadContextTagData, GetOrganizationsAdminData, GetOrganizationsNoAdminData, GetProjectsAdminData, GetProjectsNoAdminData, GetPoisAdminData, GetPoisNoAdminData, GetSubscribersData, GetBadgesData, CoformAnswersSearchData, SearchMemberAutocompleteData, GetEventsData, CostumFilterCoformData, CostumFilterCoformByPathData, GetCountriesData, SearchZonesData, CoformAnswersByFormsData, FundingEnvelopeData, CoremuOperationData, UpdatePathValueData } from "./EndpointApi.types.js";
|
|
2
|
+
import type { CostumRuntimeContext } from "../costum/runtime.js";
|
|
2
3
|
import type { TransformsMap } from "../types/entities.js";
|
|
3
4
|
import type { CountryItem } from "./serverDataType/Country.js";
|
|
4
5
|
import type { ZoneItemNormalized } from "./serverDataType/Zone.js";
|
|
@@ -130,6 +131,8 @@ interface Deps {
|
|
|
130
131
|
}
|
|
131
132
|
interface BaseEntityConfig {
|
|
132
133
|
entityTag?: string;
|
|
134
|
+
/** Contexte costum (résolu par `CostumScope`) — ouvre les champs costum sur draft/extraction/AJV. */
|
|
135
|
+
costumCtx?: CostumRuntimeContext;
|
|
133
136
|
}
|
|
134
137
|
interface EntityTypeMap {
|
|
135
138
|
citoyens: User;
|
|
@@ -313,6 +316,24 @@ export type EntityType = "citoyens" | "organizations" | "projects" | "events" |
|
|
|
313
316
|
* @template object TServerData
|
|
314
317
|
* @abstract
|
|
315
318
|
*/
|
|
319
|
+
/**
|
|
320
|
+
* Identifie un document image dans une liste `document/list`, par `contentKey` :
|
|
321
|
+
* 1. `d.contentKey === contentKey` (backend cocolight, qui projette contentKey) ;
|
|
322
|
+
* 2. sinon par **nom de fichier** matché sur `imageUrl` (backend legacy : `document/list` ne
|
|
323
|
+
* renvoie PAS de contentKey → on rapproche le `name` du doc du basename de l'URL image).
|
|
324
|
+
* Pure (testable sans backend). Renvoie `undefined` si aucun doc identifiable.
|
|
325
|
+
*/
|
|
326
|
+
export declare function findImageDocument<T extends {
|
|
327
|
+
id: string;
|
|
328
|
+
name?: string;
|
|
329
|
+
contentKey?: string;
|
|
330
|
+
}>(docs: T[], contentKey: string, imageUrl?: string): T | undefined;
|
|
331
|
+
/** Document image de PROFIL (`findImageDocument` avec contentKey="profil"). */
|
|
332
|
+
export declare function findProfilDocument<T extends {
|
|
333
|
+
id: string;
|
|
334
|
+
name?: string;
|
|
335
|
+
contentKey?: string;
|
|
336
|
+
}>(docs: T[], profilImageUrl?: string): T | undefined;
|
|
316
337
|
export declare class BaseEntity<TServerData = any> {
|
|
317
338
|
__entityTag: string;
|
|
318
339
|
deps: Partial<Deps>;
|
|
@@ -328,6 +349,8 @@ export declare class BaseEntity<TServerData = any> {
|
|
|
328
349
|
_calledFromSave: boolean;
|
|
329
350
|
_syncReactiveDraft: boolean;
|
|
330
351
|
_isDeleted: boolean;
|
|
352
|
+
/** Contexte costum porté par cette instance (null hors d'un `CostumScope`). Posé au constructeur. */
|
|
353
|
+
_costumCtx: CostumRuntimeContext | null;
|
|
331
354
|
_add?: ((payload: any) => Promise<void | unknown>) | undefined;
|
|
332
355
|
_update?: ((payload: any) => Promise<boolean>) | undefined;
|
|
333
356
|
_allowedFieldsCache?: string[];
|
|
@@ -344,6 +367,9 @@ export declare class BaseEntity<TServerData = any> {
|
|
|
344
367
|
updateMethod: string;
|
|
345
368
|
schemaConstant?: string;
|
|
346
369
|
}>;
|
|
370
|
+
/** Constante de schéma du bloc de CRÉATION (ADD_*) où injecter les champs costum à la validation
|
|
371
|
+
* d'extraction. Définie par les entités créables sous costum (Poi/Organization/Event/Project). */
|
|
372
|
+
static COSTUM_ADD_CONSTANT?: string;
|
|
347
373
|
/**
|
|
348
374
|
* Vérifie que l'objet n'a pas été supprimé.
|
|
349
375
|
* @throws {ApiError} - Si l'objet a été supprimé.
|
|
@@ -423,6 +449,22 @@ export declare class BaseEntity<TServerData = any> {
|
|
|
423
449
|
* @returns Données serveur mises à jour (après éventuel `refresh()`)
|
|
424
450
|
*/
|
|
425
451
|
save(): Promise<Record<string, any>>;
|
|
452
|
+
/**
|
|
453
|
+
* UPDATE d'une entité costum-scopée — pendant EXACT de l'ADD. Au lieu de N `updatepathvalue` champ-par-champ
|
|
454
|
+
* (route « édition inline » legacy : AUCUN hook, AUCUNE validation), on envoie UN SEUL `element/save` portant
|
|
455
|
+
* tous les champs MODIFIÉS (standard + costum) + l'id + l'enveloppe costum (contexte + schémas des champs
|
|
456
|
+
* envoyés, `isUpdate:true`). Côté backend, `element/save` branche update déclenche prepData / elementBeforeSave /
|
|
457
|
+
* elementAfterUpdate / elementAfterSave / validation costum (cf. legacy `Element::save` : ce sont les SEULES
|
|
458
|
+
* routes qui exécutent ces hooks ; updatepathvalue/updateblock n'en exécutent aucun de dérivation). Atomique
|
|
459
|
+
* (un seul `updated`/recalcul slug). Effacement (`null`/`""`/`[]`) → `""` (survit à `stripNulls`, backend → `$unset`).
|
|
460
|
+
*
|
|
461
|
+
* L'univers des champs éditables = `_allowedFieldsCache` (union writable des SCHEMA_CONSTANTS + schéma costum,
|
|
462
|
+
* calculée au build du draft) ∪ champs DATA costum déclarés (robuste si le cache est antérieur au costum).
|
|
463
|
+
* @returns true si au moins un champ a été envoyé (donc refresh ensuite).
|
|
464
|
+
*/
|
|
465
|
+
protected _saveCostumViaElementSave(payload: Record<string, any>): Promise<boolean>;
|
|
466
|
+
/** Recherche le schéma d'une propriété dans un schéma combiné `{ allOf: [...] }` (1er match). */
|
|
467
|
+
private _lookupPropSchema;
|
|
426
468
|
/**
|
|
427
469
|
* Crée une nouvelle instance d'entité à partir des données du serveur.
|
|
428
470
|
*
|
|
@@ -648,6 +690,31 @@ export declare class BaseEntity<TServerData = any> {
|
|
|
648
690
|
* await news.deleteFile(imageDocId);
|
|
649
691
|
*/
|
|
650
692
|
deleteFile(docId: string): Promise<void>;
|
|
693
|
+
/**
|
|
694
|
+
* Liste les documents (images/fichiers) attachés à CETTE entité (`id` + `type`) via `DOCUMENT_LIST`
|
|
695
|
+
* (port legacy `document/list`). Renvoie un tableau plat `{ id, name, path, author, contentKey }`.
|
|
696
|
+
* Utile pour récupérer le `docId` d'une image (ex. profil) — non exposé sur l'élément — afin de la
|
|
697
|
+
* supprimer (`deleteFile`).
|
|
698
|
+
*/
|
|
699
|
+
getDocuments(): Promise<Array<{
|
|
700
|
+
id: string;
|
|
701
|
+
name?: string;
|
|
702
|
+
path?: string;
|
|
703
|
+
author?: string;
|
|
704
|
+
contentKey?: string;
|
|
705
|
+
}>>;
|
|
706
|
+
/**
|
|
707
|
+
* Supprime l'image de PROFIL de cette entité : récupère le `docId` du document `contentKey:"profil"`
|
|
708
|
+
* (via `getDocuments`) puis `deleteFile`. No-op (`false`) s'il n'y a pas d'image. Pendant exact de
|
|
709
|
+
* `updateImageProfil` côté suppression.
|
|
710
|
+
*/
|
|
711
|
+
removeProfilImage(): Promise<boolean>;
|
|
712
|
+
/**
|
|
713
|
+
* Supprime l'image de BANNIÈRE de cette entité : récupère le `docId` du document `contentKey:"banner"`
|
|
714
|
+
* (via `getDocuments`) puis `deleteFile`. No-op (`false`) s'il n'y a pas de bannière. Pendant de
|
|
715
|
+
* `updateImageBanner` côté suppression (le backend désassigne `profilBannerUrl`/`profilRealBannerUrl`).
|
|
716
|
+
*/
|
|
717
|
+
removeBannerImage(): Promise<boolean>;
|
|
651
718
|
/**
|
|
652
719
|
* Vide les objets réactifs et marque l'entité comme supprimée (tombstone),
|
|
653
720
|
* sans casser la réactivité. Pattern partagé par tous les `delete()`.
|
|
@@ -1097,7 +1164,7 @@ export declare class BaseEntity<TServerData = any> {
|
|
|
1097
1164
|
* @return {EntityTypeMap[T]}
|
|
1098
1165
|
* @private
|
|
1099
1166
|
*/
|
|
1100
|
-
_entityInstanceData<T extends keyof EntityTypeMap>(entityType: T, entityData: object): EntityTypeMap[T];
|
|
1167
|
+
_entityInstanceData<T extends keyof EntityTypeMap>(entityType: T, entityData: object, config?: BaseEntityConfig): EntityTypeMap[T];
|
|
1101
1168
|
/**
|
|
1102
1169
|
* Crée une instance d'entité, et déclenche get() si certaines propriétés sont présentes.
|
|
1103
1170
|
* @template keyof EntityTypeMap T
|
|
@@ -1105,7 +1172,7 @@ export declare class BaseEntity<TServerData = any> {
|
|
|
1105
1172
|
* @param [entityData={}]
|
|
1106
1173
|
* @return {Promise<EntityTypeMap[T]>}
|
|
1107
1174
|
*/
|
|
1108
|
-
entity<T extends keyof EntityTypeMap>(entityType: T, entityData?: object): Promise<EntityTypeMap[T]>;
|
|
1175
|
+
entity<T extends keyof EntityTypeMap>(entityType: T, entityData?: object, config?: BaseEntityConfig): Promise<EntityTypeMap[T]>;
|
|
1109
1176
|
/**
|
|
1110
1177
|
* Récupère et lie une entité à partir de son slug.
|
|
1111
1178
|
* @param slug - Le slug de l'entité.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type ApiClient from "../ApiClient.js";
|
|
2
|
-
import type { PersonRegisterData, AuthenticateUrlData, RefreshTokenUrlData, PasswordRecoveryData, ServerExchangeTokenData, ChangePasswordData, DeleteAccountData, UpdateSettingsData, UpdateBlockDescriptionData, UpdateBlockInfoData, UpdateBlockSocialData, UpdateBlockLocalityData, UpdateBlockSlugData, CheckData, ProfilImageData, ProfilBannerData, GetElementsAboutData, MulticonnectData, GetNewsData, GetNewsByIdData, AddNewsData, AddImageNewsData, AddFileNewsData, DeleteNewsData, UpdateNewsData, ShareNewsData, GetCommentsData, AddCommentsData, DeleteCommentsData, UpdateCommentsData, SearchTagsData, ShowVoteData, GlobalAutocompleteData, CityAutocompleteData, CityAutocompleteByCountryData, SuggestionInputData, GetProjectsNoAdminData, GetProjectsAdminData, GetPoisNoAdminData, GetPoisAdminData, GetOrganizationsNoAdminData, GetOrganizationsAdminData, GetUserEligiblePlacesData, GetMembersNoAdminData, GetMembersAdminData, GetFriendsAdminData, GetSubscriptionsData, GetSubscriptionsAdminData, GetSubscribersData, GetSubscribersAdminData, GetContributorsNoAdminData, GetContributorsAdminData, GetBadgesData, GetBadgesFiltersData, ConnectData, DisconnectData, GetElementsKeyData, GetFavorisData, DeleteFavorisData, AddFavorisData, AddOrganizationData, AddProjectData, AddPoiData, AddEventData, DeleteElementData, AddImageElementData, LinkValidateData, SearchMemberAutocompleteData, GetNotificationsData, GetNotificationsCountData, NotificationUpdateData, MarkNotificationAsReadData, ActivitypubSearchData, ActivitypubLinkData, ActivitypubGetCommunityData, GetBadgeData, AddBadgesData, AssignBadgesData, GetEventsData, ShareEventsData, InviteEventData, FollowData, GetCostumJsonData, GlobalAutocompleteCostumData, NavigatorGettlData, CostumEventRequestActorsData, CostumEventRequestSubeventsData, CostumEventRequestElementEventData, CostumEventRequestCategoriesData, CostumEventRequestDatesData, CostumEventRequestEventData, CostumEventRequestLinkTlToEventData, CostumEventRequestLoadContextTagData, GetGalleryData, GetAttendeesNoAdminData, GetAttendeesAdminData, CoformAnswersSearchData, CoformAnswersByIdData, GetCoformByIdData, CoformUploadAnswerFileData, CoformGetAnswerFilesData, GetCoformCatalogsData, SaveCoformAnswerData, GetCoformAnswerHistoryData, GetCoformMultievalDataData, GetCoformCommontableContributorsData, AddVoteData, AddReportAbuseData, UpdatePathValueData, DeleteDocumentByContextData, DeleteDocumentByIdData, DemoteAdminData, CostumFilterCoformData, CostumFilterCoformByPathData, GetCountriesData, SearchZonesData, CoformAnswersByFormsData, GenerateAnswerFromFormData, FundingEnvelopeData, CoremuOperationData, CostumProjectActionRequestNewData, CostumProjectActionRequestSetStatusData, CostumProjectActionRequestSetDateData, CostumProjectActionRequestSetContributorsData, CostumProjectActionRequestCancelData, CostumProjectActionRequestArchiveData, LinkDiscourseAccountData, UnlinkDiscourseAccountData, DiscourseProfileData, DiscourseCheckEmailData, DiscourseDismissLinkData, LinkMediawikiAccountData, UnlinkMediawikiAccountData, GetMediawikiContributionsData, AddClassifiedData, PersonActivateData } from "./EndpointApi.types.js";
|
|
2
|
+
import type { DocumentListData, PersonRegisterData, AuthenticateUrlData, RefreshTokenUrlData, PasswordRecoveryData, ServerExchangeTokenData, ChangePasswordData, DeleteAccountData, UpdateSettingsData, UpdateBlockDescriptionData, UpdateBlockInfoData, UpdateBlockSocialData, UpdateBlockLocalityData, UpdateBlockSlugData, CheckData, ProfilImageData, ProfilBannerData, GetElementsAboutData, MulticonnectData, GetNewsData, GetNewsByIdData, AddNewsData, AddImageNewsData, AddFileNewsData, DeleteNewsData, UpdateNewsData, ShareNewsData, GetCommentsData, AddCommentsData, DeleteCommentsData, UpdateCommentsData, SearchTagsData, ShowVoteData, GlobalAutocompleteData, CityAutocompleteData, CityAutocompleteByCountryData, SuggestionInputData, GetProjectsNoAdminData, GetProjectsAdminData, GetPoisNoAdminData, GetPoisAdminData, GetOrganizationsNoAdminData, GetOrganizationsAdminData, GetUserEligiblePlacesData, GetMembersNoAdminData, GetMembersAdminData, GetFriendsAdminData, GetSubscriptionsData, GetSubscriptionsAdminData, GetSubscribersData, GetSubscribersAdminData, GetContributorsNoAdminData, GetContributorsAdminData, GetBadgesData, GetBadgesFiltersData, ConnectData, DisconnectData, GetElementsKeyData, GetFavorisData, DeleteFavorisData, AddFavorisData, AddOrganizationData, AddProjectData, AddPoiData, AddEventData, DeleteElementData, AddImageElementData, LinkValidateData, SearchMemberAutocompleteData, GetNotificationsData, GetNotificationsCountData, NotificationUpdateData, MarkNotificationAsReadData, ActivitypubSearchData, ActivitypubLinkData, ActivitypubGetCommunityData, GetBadgeData, AddBadgesData, AssignBadgesData, GetEventsData, ShareEventsData, InviteEventData, FollowData, GetCostumJsonData, GlobalAutocompleteCostumData, NavigatorGettlData, CostumEventRequestActorsData, CostumEventRequestSubeventsData, CostumEventRequestElementEventData, CostumEventRequestCategoriesData, CostumEventRequestDatesData, CostumEventRequestEventData, CostumEventRequestLinkTlToEventData, CostumEventRequestLoadContextTagData, GetGalleryData, GetAttendeesNoAdminData, GetAttendeesAdminData, CoformAnswersSearchData, CoformAnswersByIdData, GetCoformByIdData, CoformUploadAnswerFileData, CoformGetAnswerFilesData, GetCoformCatalogsData, SaveCoformAnswerData, GetCoformAnswerHistoryData, GetCoformMultievalDataData, GetCoformCommontableContributorsData, AddVoteData, AddReportAbuseData, UpdatePathValueData, DeleteDocumentByContextData, DeleteDocumentByIdData, DemoteAdminData, CostumFilterCoformData, CostumFilterCoformByPathData, GetCountriesData, SearchZonesData, CoformAnswersByFormsData, GenerateAnswerFromFormData, FundingEnvelopeData, CoremuOperationData, CostumProjectActionRequestNewData, CostumProjectActionRequestSetStatusData, CostumProjectActionRequestSetDateData, CostumProjectActionRequestSetContributorsData, CostumProjectActionRequestCancelData, CostumProjectActionRequestArchiveData, LinkDiscourseAccountData, UnlinkDiscourseAccountData, DiscourseProfileData, DiscourseCheckEmailData, DiscourseDismissLinkData, LinkMediawikiAccountData, UnlinkMediawikiAccountData, GetMediawikiContributionsData, AddClassifiedData, PersonActivateData } from "./EndpointApi.types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Classe EndpointApi générée automatiquement depuis endpoints-copie.json
|
|
5
5
|
*/
|
|
@@ -46,6 +46,16 @@ export declare class EndpointApi {
|
|
|
46
46
|
* @throws {ApiResponseError} En cas d'erreur de l'API.
|
|
47
47
|
*/
|
|
48
48
|
callIsConnected<T>(constant: string, data?: any): Promise<T>;
|
|
49
|
+
/**
|
|
50
|
+
* Lister les documents d'une entité : Liste les documents (images/fichiers) attachés à un élément (id+type). Port de citizenToolKit document/ListAction (tpl=json). Sert notamment à récupérer le docId de l'image de profil (contentKey=profil) pour la supprimer via DELETE_DOCUMENT_BY_ID.
|
|
51
|
+
* Constant : DOCUMENT_LIST
|
|
52
|
+
* @param data - Données envoyées à l'API
|
|
53
|
+
* @returns Les données de réponse.
|
|
54
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
55
|
+
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
56
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
57
|
+
*/
|
|
58
|
+
documentList(data: DocumentListData): Promise<any>;
|
|
49
59
|
/**
|
|
50
60
|
* Enregistrement d'un utilisateur : Permet d’enregistrer un nouvel utilisateur avec ses informations personnelles.
|
|
51
61
|
* Constant : PERSON_REGISTER
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
export interface DocumentListData {
|
|
2
|
+
pathParams?: {
|
|
3
|
+
/**
|
|
4
|
+
* ID MongoDB de l'élément
|
|
5
|
+
*/
|
|
6
|
+
id: string;
|
|
7
|
+
/**
|
|
8
|
+
* Type d'élément
|
|
9
|
+
*/
|
|
10
|
+
type: "citoyens" | "organizations" | "projects" | "events" | "poi";
|
|
11
|
+
[k: string]: unknown;
|
|
12
|
+
};
|
|
13
|
+
[k: string]: unknown;
|
|
14
|
+
}
|
|
1
15
|
export interface PersonRegisterData {
|
|
2
16
|
/**
|
|
3
17
|
* Nom complet de l'utilisateur
|
|
@@ -2669,34 +2683,6 @@ export interface AddOrganizationData {
|
|
|
2669
2683
|
streetAddress?: string;
|
|
2670
2684
|
};
|
|
2671
2685
|
scope: "";
|
|
2672
|
-
/**
|
|
2673
|
-
* Nom de la structure porteuse (différent du nom du tiers-lieu)
|
|
2674
|
-
*/
|
|
2675
|
-
holderOrganization?: string;
|
|
2676
|
-
/**
|
|
2677
|
-
* Mode de gestion (Association, Collectif citoyen, SCIC, etc.)
|
|
2678
|
-
*/
|
|
2679
|
-
manageModel?: string;
|
|
2680
|
-
/**
|
|
2681
|
-
* Famille(s) de tiers-lieux (Coworking, Fablab, Foodlab, etc.)
|
|
2682
|
-
*/
|
|
2683
|
-
typePlace?: string;
|
|
2684
|
-
/**
|
|
2685
|
-
* Réseau accompagnateur (ex: Compagnon France Tiers-Lieux)
|
|
2686
|
-
*/
|
|
2687
|
-
compagnon?: string;
|
|
2688
|
-
/**
|
|
2689
|
-
* Surface bâtie en m²
|
|
2690
|
-
*/
|
|
2691
|
-
buildingSurfaceArea?: number;
|
|
2692
|
-
/**
|
|
2693
|
-
* Surface extérieure en m²
|
|
2694
|
-
*/
|
|
2695
|
-
siteSurfaceArea?: number;
|
|
2696
|
-
/**
|
|
2697
|
-
* Date d'ouverture du tiers-lieu (format libre, ex: 05/05/2026)
|
|
2698
|
-
*/
|
|
2699
|
-
openingDate?: string;
|
|
2700
2686
|
/**
|
|
2701
2687
|
* Horaires d'ouverture (7 entrées, une par jour de la semaine ; "" pour un jour fermé). Doit rester synchronisé avec VIRTUAL_OPENING_HOURS dans Organization.ts.
|
|
2702
2688
|
*
|
|
@@ -2855,17 +2841,11 @@ export interface AddOrganizationData {
|
|
|
2855
2841
|
*/
|
|
2856
2842
|
mainTag?: string;
|
|
2857
2843
|
/**
|
|
2858
|
-
*
|
|
2859
|
-
*/
|
|
2860
|
-
costumSlug?: string;
|
|
2861
|
-
/**
|
|
2862
|
-
* ID Mongo du costum d'origine
|
|
2844
|
+
* Réseaux sociaux — objet keyé par plateforme (facebook/twitter/instagram/linkedin/youtube/mastodon/telegram/...). dataBinding org legacy `socialNetwork` (Organization.php:82).
|
|
2863
2845
|
*/
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
*/
|
|
2868
|
-
costumType?: string;
|
|
2846
|
+
socialNetwork?: {
|
|
2847
|
+
[k: string]: string;
|
|
2848
|
+
};
|
|
2869
2849
|
[k: string]: unknown;
|
|
2870
2850
|
}
|
|
2871
2851
|
export interface AddProjectData {
|
|
@@ -2986,18 +2966,6 @@ export interface AddProjectData {
|
|
|
2986
2966
|
streetAddress?: string;
|
|
2987
2967
|
};
|
|
2988
2968
|
scope: "";
|
|
2989
|
-
/**
|
|
2990
|
-
* Slug du costum d'origine
|
|
2991
|
-
*/
|
|
2992
|
-
costumSlug?: string;
|
|
2993
|
-
/**
|
|
2994
|
-
* ID Mongo du costum d'origine
|
|
2995
|
-
*/
|
|
2996
|
-
costumId?: string;
|
|
2997
|
-
/**
|
|
2998
|
-
* Type d'entité du costum (ex: projects)
|
|
2999
|
-
*/
|
|
3000
|
-
costumType?: string;
|
|
3001
2969
|
[k: string]: unknown;
|
|
3002
2970
|
}
|
|
3003
2971
|
export interface AddPoiData {
|
|
@@ -3005,6 +2973,15 @@ export interface AddPoiData {
|
|
|
3005
2973
|
* ID du POI
|
|
3006
2974
|
*/
|
|
3007
2975
|
id: string;
|
|
2976
|
+
/**
|
|
2977
|
+
* Origine d'insertion costum (attribution). Renseignée à la création d'un élément dans un costum.
|
|
2978
|
+
*/
|
|
2979
|
+
source?: {
|
|
2980
|
+
insertOrign?: string;
|
|
2981
|
+
key?: string;
|
|
2982
|
+
keys?: string[];
|
|
2983
|
+
[k: string]: unknown;
|
|
2984
|
+
};
|
|
3008
2985
|
/**
|
|
3009
2986
|
* Collection du POI
|
|
3010
2987
|
*/
|
|
@@ -3103,174 +3080,6 @@ export interface AddPoiData {
|
|
|
3103
3080
|
streetAddress?: string;
|
|
3104
3081
|
};
|
|
3105
3082
|
scope?: "";
|
|
3106
|
-
/**
|
|
3107
|
-
* Catégorie du POI
|
|
3108
|
-
*/
|
|
3109
|
-
categorie?: string;
|
|
3110
|
-
/**
|
|
3111
|
-
* Type d'équipement
|
|
3112
|
-
*/
|
|
3113
|
-
equip_type_name?: string;
|
|
3114
|
-
/**
|
|
3115
|
-
* Nom de l'institution associée
|
|
3116
|
-
*/
|
|
3117
|
-
inst_nom?: string;
|
|
3118
|
-
/**
|
|
3119
|
-
* Accessibilité handicapé
|
|
3120
|
-
*/
|
|
3121
|
-
inst_acc_handi_bool?: boolean;
|
|
3122
|
-
/**
|
|
3123
|
-
* Transport
|
|
3124
|
-
*/
|
|
3125
|
-
inst_trans_bool?: boolean;
|
|
3126
|
-
/**
|
|
3127
|
-
* Famille du type d'équipement
|
|
3128
|
-
*/
|
|
3129
|
-
equip_type_famille?: string;
|
|
3130
|
-
/**
|
|
3131
|
-
* Date de création de l'institution
|
|
3132
|
-
*/
|
|
3133
|
-
inst_date_creation?: string;
|
|
3134
|
-
/**
|
|
3135
|
-
* Date de l'enquête
|
|
3136
|
-
*/
|
|
3137
|
-
inst_enqu_date?: string;
|
|
3138
|
-
/**
|
|
3139
|
-
* Date de mise à jour
|
|
3140
|
-
*/
|
|
3141
|
-
equip_maj_date?: string;
|
|
3142
|
-
/**
|
|
3143
|
-
* Nature de l'équipement
|
|
3144
|
-
*/
|
|
3145
|
-
equip_nature?: string;
|
|
3146
|
-
/**
|
|
3147
|
-
* Type de sol
|
|
3148
|
-
*/
|
|
3149
|
-
equip_sol?: string;
|
|
3150
|
-
/**
|
|
3151
|
-
* Surface
|
|
3152
|
-
*/
|
|
3153
|
-
equip_surf?: number;
|
|
3154
|
-
/**
|
|
3155
|
-
* Éclairage
|
|
3156
|
-
*/
|
|
3157
|
-
equip_eclair?: boolean;
|
|
3158
|
-
/**
|
|
3159
|
-
* Nom de l'APS
|
|
3160
|
-
*/
|
|
3161
|
-
aps_name?: string[];
|
|
3162
|
-
/**
|
|
3163
|
-
* Accessibilité libre
|
|
3164
|
-
*/
|
|
3165
|
-
equip_acc_libre?: boolean;
|
|
3166
|
-
/**
|
|
3167
|
-
* Type d'accessibilité handicapé
|
|
3168
|
-
*/
|
|
3169
|
-
inst_acc_handi_type?: string;
|
|
3170
|
-
/**
|
|
3171
|
-
* Type de transport
|
|
3172
|
-
*/
|
|
3173
|
-
inst_trans_type?: string;
|
|
3174
|
-
/**
|
|
3175
|
-
* Participation
|
|
3176
|
-
*/
|
|
3177
|
-
inst_part_bool?: boolean;
|
|
3178
|
-
/**
|
|
3179
|
-
* Type de participation
|
|
3180
|
-
*/
|
|
3181
|
-
inst_part_type?: string[];
|
|
3182
|
-
/**
|
|
3183
|
-
* Nom du propriétaire de l'équipement
|
|
3184
|
-
*/
|
|
3185
|
-
equip_prop_nom?: string;
|
|
3186
|
-
/**
|
|
3187
|
-
* Type du propriétaire de l'équipement
|
|
3188
|
-
*/
|
|
3189
|
-
equip_prop_type?: string;
|
|
3190
|
-
/**
|
|
3191
|
-
* Type de gestion de l'équipement
|
|
3192
|
-
*/
|
|
3193
|
-
equip_gest_type?: string;
|
|
3194
|
-
/**
|
|
3195
|
-
* Accessibilité pour personnes à mobilité réduite
|
|
3196
|
-
*/
|
|
3197
|
-
equip_pmr_acc?: boolean;
|
|
3198
|
-
/**
|
|
3199
|
-
* Chemin pour personnes à mobilité réduite
|
|
3200
|
-
*/
|
|
3201
|
-
equip_pmr_chem?: boolean;
|
|
3202
|
-
/**
|
|
3203
|
-
* Douche pour personnes à mobilité réduite
|
|
3204
|
-
*/
|
|
3205
|
-
equip_pmr_douche?: boolean;
|
|
3206
|
-
/**
|
|
3207
|
-
* Sanitaire pour personnes à mobilité réduite
|
|
3208
|
-
*/
|
|
3209
|
-
equip_pmr_sanit?: boolean;
|
|
3210
|
-
/**
|
|
3211
|
-
* Tribune pour personnes à mobilité réduite
|
|
3212
|
-
*/
|
|
3213
|
-
equip_pmr_trib?: boolean;
|
|
3214
|
-
/**
|
|
3215
|
-
* Vestiaire pour personnes à mobilité réduite
|
|
3216
|
-
*/
|
|
3217
|
-
equip_pmr_vest?: boolean;
|
|
3218
|
-
/**
|
|
3219
|
-
* Aire de repos pour personnes à mobilité réduite
|
|
3220
|
-
*/
|
|
3221
|
-
equip_pshs_aire?: boolean;
|
|
3222
|
-
/**
|
|
3223
|
-
* Chemin pour personnes à mobilité réduite
|
|
3224
|
-
*/
|
|
3225
|
-
equip_pshs_chem?: boolean;
|
|
3226
|
-
/**
|
|
3227
|
-
* Sanitaire pour personnes à mobilité réduite
|
|
3228
|
-
*/
|
|
3229
|
-
equip_pshs_sanit?: boolean;
|
|
3230
|
-
/**
|
|
3231
|
-
* Tribune pour personnes à mobilité réduite
|
|
3232
|
-
*/
|
|
3233
|
-
equip_pshs_trib?: boolean;
|
|
3234
|
-
/**
|
|
3235
|
-
* Vestiaire pour personnes à mobilité réduite
|
|
3236
|
-
*/
|
|
3237
|
-
equip_pshs_vest?: boolean;
|
|
3238
|
-
/**
|
|
3239
|
-
* Signalisation pour personnes à mobilité réduite
|
|
3240
|
-
*/
|
|
3241
|
-
equip_pshs_sign?: boolean;
|
|
3242
|
-
/**
|
|
3243
|
-
* Largeur de l'équipement
|
|
3244
|
-
*/
|
|
3245
|
-
equip_larg?: number;
|
|
3246
|
-
/**
|
|
3247
|
-
* Longueur de l'équipement
|
|
3248
|
-
*/
|
|
3249
|
-
equip_long?: number;
|
|
3250
|
-
/**
|
|
3251
|
-
* Douche
|
|
3252
|
-
*/
|
|
3253
|
-
equip_douche?: boolean;
|
|
3254
|
-
/**
|
|
3255
|
-
* Type de localisation de l'équipement
|
|
3256
|
-
*/
|
|
3257
|
-
equip_loc_type?: string[];
|
|
3258
|
-
/**
|
|
3259
|
-
* Utilisateur de l'équipement
|
|
3260
|
-
*/
|
|
3261
|
-
equip_utilisateur?: string[];
|
|
3262
|
-
/**
|
|
3263
|
-
* Slug du costum d'origine
|
|
3264
|
-
*/
|
|
3265
|
-
costumSlug?: string;
|
|
3266
|
-
/**
|
|
3267
|
-
* ID Mongo du costum d'origine
|
|
3268
|
-
*/
|
|
3269
|
-
costumId?: string;
|
|
3270
|
-
/**
|
|
3271
|
-
* Type d'entité du costum (ex: projects)
|
|
3272
|
-
*/
|
|
3273
|
-
costumType?: string;
|
|
3274
3083
|
[k: string]: unknown;
|
|
3275
3084
|
}
|
|
3276
3085
|
export interface AddEventData {
|
|
@@ -3571,18 +3380,6 @@ export interface AddEventData {
|
|
|
3571
3380
|
streetAddress?: string;
|
|
3572
3381
|
};
|
|
3573
3382
|
scope: "";
|
|
3574
|
-
/**
|
|
3575
|
-
* Slug du costum d'origine
|
|
3576
|
-
*/
|
|
3577
|
-
costumSlug?: string;
|
|
3578
|
-
/**
|
|
3579
|
-
* ID Mongo du costum d'origine
|
|
3580
|
-
*/
|
|
3581
|
-
costumId?: string;
|
|
3582
|
-
/**
|
|
3583
|
-
* Type d'entité du costum (ex: projects)
|
|
3584
|
-
*/
|
|
3585
|
-
costumType?: string;
|
|
3586
3383
|
[k: string]: unknown;
|
|
3587
3384
|
}
|
|
3588
3385
|
export interface DeleteElementData {
|
package/types/api/Event.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ type EventItemNormalized = import("./serverDataType/Event.js").EventItemNormaliz
|
|
|
6
6
|
export declare class Event extends BaseEntity<EventItemNormalized> {
|
|
7
7
|
static entityType: string;
|
|
8
8
|
static entityTag: string;
|
|
9
|
+
/** Bloc de création où injecter les champs costum (CostumScope). */
|
|
10
|
+
static COSTUM_ADD_CONSTANT: string;
|
|
9
11
|
static SCHEMA_CONSTANTS: string[];
|
|
10
12
|
static ADD_BLOCKS: Map<"PROFIL_IMAGE" | "ADD_EVENT", "updateImageProfil" | "addEvent">;
|
|
11
13
|
static UPDATE_BLOCKS: Map<"UPDATE_BLOCK_SLUG" | "PROFIL_IMAGE", "updateImageProfil" | "updateSlug">;
|