@communecter/cocolight-api-client 1.0.197 → 1.0.199
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/1641.cocolight-api-client.browser.js +1 -1
- package/dist/1641.cocolight-api-client.cjs +1 -1
- package/dist/2379.cocolight-api-client.browser.js +1 -1
- package/dist/2379.cocolight-api-client.cjs +1 -1
- package/dist/3330.cocolight-api-client.browser.js +1 -1
- package/dist/3330.cocolight-api-client.cjs +1 -1
- package/dist/3464.cocolight-api-client.browser.js +1 -0
- package/dist/3464.cocolight-api-client.cjs +1 -0
- package/dist/4472.cocolight-api-client.browser.js +1 -1
- package/dist/4472.cocolight-api-client.cjs +1 -1
- package/dist/4686.cocolight-api-client.browser.js +1 -1
- package/dist/4686.cocolight-api-client.cjs +1 -1
- package/dist/601.cocolight-api-client.browser.js +1 -1
- package/dist/601.cocolight-api-client.cjs +1 -1
- package/dist/8264.cocolight-api-client.browser.js +1 -1
- package/dist/8264.cocolight-api-client.cjs +1 -1
- package/dist/8300.cocolight-api-client.browser.js +1 -1
- package/dist/8300.cocolight-api-client.cjs +1 -1
- package/dist/8894.cocolight-api-client.browser.js +1 -1
- package/dist/8894.cocolight-api-client.cjs +1 -1
- package/dist/cocolight-api-client.browser.js +2 -2
- package/dist/cocolight-api-client.cjs +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/types/api/BaseEntity.d.ts +14 -1
- package/types/api/EndpointApi.d.ts +13 -3
- package/types/api/EndpointApi.types.d.ts +44 -2
- package/types/api/User.d.ts +25 -1
- package/types/api/UserApi.d.ts +16 -1
- package/types/costum/runtime.d.ts +2 -1
- package/types/costum/schemas/EcosystemeSanteReunion.d.ts +3 -0
- package/types/costum/types.d.ts +97 -51
- package/types/endpoints.module.d.ts +1091 -0
package/package.json
CHANGED
|
@@ -534,9 +534,22 @@ export declare class BaseEntity<TServerData = any> {
|
|
|
534
534
|
*
|
|
535
535
|
* L'univers des champs éditables = `_allowedFieldsCache` (union writable des SCHEMA_CONSTANTS + schéma costum,
|
|
536
536
|
* calculée au build du draft) ∪ champs DATA costum déclarés (robuste si le cache est antérieur au costum).
|
|
537
|
+
*
|
|
538
|
+
* `opts.onlyKeys` (chemin HYBRIDE, cf. `User._update`) : restreint l'univers à CES clés — l'`element/save`
|
|
539
|
+
* ne porte alors que les champs costum, les blocs `updateblock` standards gardant les leurs. L'image
|
|
540
|
+
* (`profil_avatar`) suit la même règle : elle n'est traitée ici que si elle fait partie des clés demandées.
|
|
537
541
|
* @returns true si au moins un champ a été envoyé (donc refresh ensuite).
|
|
538
542
|
*/
|
|
539
|
-
protected _saveCostumViaElementSave(payload: Record<string, any
|
|
543
|
+
protected _saveCostumViaElementSave(payload: Record<string, any>, opts?: {
|
|
544
|
+
onlyKeys?: Iterable<string>;
|
|
545
|
+
}): Promise<boolean>;
|
|
546
|
+
/**
|
|
547
|
+
* Clés WRITABLE d'une constante de schéma (contrat, ⊕ `VIRTUAL_SCHEMAS` de l'entité), évaluées pour
|
|
548
|
+
* `data` (les branches `if/then` sur `typeElement` sont résolues comme au build du draft). Sert au
|
|
549
|
+
* chemin hybride (`User._update`) à séparer ce que les blocs standards savent envoyer de ce qui ne
|
|
550
|
+
* peut partir que par `element/save`. Constante inconnue → `[]`.
|
|
551
|
+
*/
|
|
552
|
+
protected _writableFieldsOf(constant: string, data?: Record<string, unknown>): string[];
|
|
540
553
|
/** Recherche le schéma d'une propriété dans un schéma combiné `{ allOf: [...] }` (1er match). */
|
|
541
554
|
private _lookupPropSchema;
|
|
542
555
|
/**
|
|
@@ -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, ContactSendData, 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, LinkSetRolesData, 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, NavigatorGetRessourceTlData, CostumEventRequestActorsData, CostumEventRequestSubeventsData, CostumEventRequestElementEventData, CostumEventRequestCategoriesData, CostumEventRequestDatesData, CostumEventRequestEventData, CostumEventRequestLinkTlToEventData, CostumEventRequestLoadContextTagData, AgendaGetPdfData, 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, GenerateProjectFromAnswerData, GenerateMilestoneFromDepenseData, FundingEnvelopeData, CoremuOperationData, CoremuAddFinancerData, CoremuPayFinancerData, CoremuValidateFinancerPaymentData, CoremuDeleteFinancerData, 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, CostumCreateAmpliData, CostumRemoveAmpliData } 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, ContactSendData, 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, LinkSetRolesData, CreateInvitationLinkData, ConnectByRefData, DisconnectData, GetElementsKeyData, GetFavorisData, DeleteFavorisData, AddFavorisData, AddOrganizationData, SaveCitoyenData, 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, NavigatorGetRessourceTlData, CostumEventRequestActorsData, CostumEventRequestSubeventsData, CostumEventRequestElementEventData, CostumEventRequestCategoriesData, CostumEventRequestDatesData, CostumEventRequestEventData, CostumEventRequestLinkTlToEventData, CostumEventRequestLoadContextTagData, AgendaGetPdfData, 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, GenerateProjectFromAnswerData, GenerateMilestoneFromDepenseData, FundingEnvelopeData, CoremuOperationData, CoremuAddFinancerData, CoremuPayFinancerData, CoremuValidateFinancerPaymentData, CoremuDeleteFinancerData, 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, CostumCreateAmpliData, CostumRemoveAmpliData } from "./EndpointApi.types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Classe EndpointApi générée automatiquement depuis endpoints-copie.json
|
|
5
5
|
*/
|
|
@@ -57,7 +57,7 @@ export declare class EndpointApi {
|
|
|
57
57
|
*/
|
|
58
58
|
documentList(data: DocumentListData): Promise<any>;
|
|
59
59
|
/**
|
|
60
|
-
* Enregistrement d'un utilisateur : Permet d’enregistrer un nouvel utilisateur avec ses informations personnelles.
|
|
60
|
+
* Enregistrement d'un utilisateur : Permet d’enregistrer un nouvel utilisateur avec ses informations personnelles. Accepte des champs supplémentaires validés côté serveur (règle costum citoyens, cf. $comment de la requête) et le mode `single_step_register` (compte actif d'emblée).
|
|
61
61
|
* Constant : PERSON_REGISTER
|
|
62
62
|
* @param data - Données envoyées à l'API
|
|
63
63
|
* @returns Les données de réponse.
|
|
@@ -719,6 +719,16 @@ export declare class EndpointApi {
|
|
|
719
719
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
720
720
|
*/
|
|
721
721
|
addOrganization(data: AddOrganizationData): Promise<any>;
|
|
722
|
+
/**
|
|
723
|
+
* Sauvegarder un citoyen (profil + champs costum) : Met à jour un citoyen EXISTANT via element/save (collection=citoyens) : le SEUL chemin legacy qui accepte les champs costum d'une personne (DataValidator::validate étend Person::$dataBinding avec typeObj person/persons/citoyens du costum posté). Droit : soi-même ou super-admin (jamais un admin de costum : Authorisation.php:271). JAMAIS de création : `id` est requis (la lib refuse User._add). Les champs sont écrits à la RACINE du citoyen. cf. cocolight-backend docs/33.
|
|
724
|
+
* Constant : SAVE_CITOYEN
|
|
725
|
+
* @param data - Données envoyées à l'API
|
|
726
|
+
* @returns Les données de réponse.
|
|
727
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
728
|
+
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
729
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
730
|
+
*/
|
|
731
|
+
saveCitoyen(data: SaveCitoyenData): Promise<any>;
|
|
722
732
|
/**
|
|
723
733
|
* Créer un projet : Crée un nouveau projet avec des informations de base et des options supplémentaires.
|
|
724
734
|
* Constant : ADD_PROJECT
|
|
@@ -1382,7 +1392,7 @@ export declare class EndpointApi {
|
|
|
1382
1392
|
*/
|
|
1383
1393
|
generateMilestoneFromDepense(data: GenerateMilestoneFromDepenseData): Promise<any>;
|
|
1384
1394
|
/**
|
|
1385
|
-
* Trouver les informations sur les enveloppes d’un formulaire : Trouver les informations sur les enveloppes d’un formulaire
|
|
1395
|
+
* Trouver les informations sur les enveloppes d’un formulaire : Trouver les informations sur les enveloppes d’un formulaire et payer une cagnotte (stripePay, helloassoPay, helloassoStatus, cagnotteSettle, cagnotteBills). `order` : contribution `{answerId, financerId, fundings:[{milestoneId|depenseKey, amount}]}` ou promesses `{pledges:[{answerId, depenseKey, financerId, finkey|finIndex, amount}]}`, éventuellement avec un crédit d'enveloppe `envelope:{formId[, amount]}` (seul : `{financerId, envelope:{formId, amount}}`) ; obligatoire pour stripePay et helloassoPay ; son montant est débité, puis le serveur enregistre engagements et versements une fois le paiement vérifié. stripePay et helloassoPay exigent un utilisateur connecté. stripePay exige aussi `amount` (> 0, remplacé par le montant de la commande) et `payment_method_id`, à renvoyer au rejeu ; il prend `key`, clé de la tentative (16 à 64 caractères `[A-Za-z0-9-]`) : rejouée, la requête retrouve la même facture et la même clé d'idempotence Stripe, sans second débit. helloassoStatus prend `checkoutIntentId`, cagnotteSettle `bill`, cagnotteBills `filter` (`attention` | `all`) : toutes les factures pour un admin de l'entité, les siennes pour un autre utilisateur connecté. getEnvelopeData annonce `paymentMethods.serverSettlement` (paiements facturés et enregistrés par le serveur) ; il règle d'abord au plus deux factures de la cagnotte restées en attente (vérification chez Stripe ou HelloAsso, puis écriture des engagements et versements).
|
|
1386
1396
|
* Constant : FUNDING_ENVELOPE
|
|
1387
1397
|
* @param data - Données envoyées à l'API
|
|
1388
1398
|
* @returns Les données de réponse.
|
|
@@ -38,9 +38,9 @@ export interface PersonRegisterData {
|
|
|
38
38
|
*/
|
|
39
39
|
pendingUserId?: string;
|
|
40
40
|
/**
|
|
41
|
-
* Mode d
|
|
41
|
+
* Mode d'inscription (Person::REGISTER_MODE_*). `normal` (défaut) : le compte est créé avec `roles.tobeactivated` et ne peut se connecter qu'après validation de l'e-mail. `single_step_register` : compte ACTIF immédiatement (pas de tobeactivated ; un username déjà pris est suffixé d'un nombre au lieu d'être refusé) ; le mail de confirmation d'adresse part quand même (variante « compte déjà actif »). Les autres modes legacy (two_steps_register, email, service, minimal) ne sont pas exposés.
|
|
42
42
|
*/
|
|
43
|
-
mode?:
|
|
43
|
+
mode?: "normal" | "single_step_register";
|
|
44
44
|
/**
|
|
45
45
|
* Indique s’il s’agit d’une invitation (facultatif)
|
|
46
46
|
*/
|
|
@@ -3436,6 +3436,48 @@ export interface AddOrganizationData {
|
|
|
3436
3436
|
};
|
|
3437
3437
|
[k: string]: unknown;
|
|
3438
3438
|
}
|
|
3439
|
+
export interface SaveCitoyenData {
|
|
3440
|
+
/**
|
|
3441
|
+
* ID du citoyen (requis : mise à jour seule)
|
|
3442
|
+
*/
|
|
3443
|
+
id: string;
|
|
3444
|
+
collection: "citoyens";
|
|
3445
|
+
key?: "person";
|
|
3446
|
+
name?: string;
|
|
3447
|
+
username?: string;
|
|
3448
|
+
email?: string;
|
|
3449
|
+
shortDescription?: string;
|
|
3450
|
+
description?: string;
|
|
3451
|
+
url?: string;
|
|
3452
|
+
tags?: "" | string[];
|
|
3453
|
+
birthDate?: string;
|
|
3454
|
+
mobile?: string;
|
|
3455
|
+
fixe?: string;
|
|
3456
|
+
telephone?: {
|
|
3457
|
+
[k: string]: unknown;
|
|
3458
|
+
};
|
|
3459
|
+
address?: {
|
|
3460
|
+
[k: string]: unknown;
|
|
3461
|
+
} | string;
|
|
3462
|
+
geo?: {
|
|
3463
|
+
[k: string]: unknown;
|
|
3464
|
+
};
|
|
3465
|
+
geoPosition?: {
|
|
3466
|
+
[k: string]: unknown;
|
|
3467
|
+
};
|
|
3468
|
+
/**
|
|
3469
|
+
* Type de professionnel (champ du modèle Person, cf. docs/33)
|
|
3470
|
+
*/
|
|
3471
|
+
typepro?: string;
|
|
3472
|
+
/**
|
|
3473
|
+
* Précision quand typepro vaut « autres »
|
|
3474
|
+
*/
|
|
3475
|
+
othersTypepro?: string;
|
|
3476
|
+
costumSlug?: string;
|
|
3477
|
+
costumId?: string;
|
|
3478
|
+
costumType?: string;
|
|
3479
|
+
[k: string]: unknown;
|
|
3480
|
+
}
|
|
3439
3481
|
export interface AddProjectData {
|
|
3440
3482
|
/**
|
|
3441
3483
|
* ID
|
package/types/api/User.d.ts
CHANGED
|
@@ -13,6 +13,14 @@ type UserItemNormalized = import("./serverDataType/User.js").UserItemNormalized;
|
|
|
13
13
|
export declare class User extends BaseEntity<UserItemNormalized> {
|
|
14
14
|
static entityType: "citoyens";
|
|
15
15
|
static entityTag: string;
|
|
16
|
+
/**
|
|
17
|
+
* UN SEUL chemin d'écriture pour les champs COSTUM d'un citoyen : `element/save` collection=citoyens
|
|
18
|
+
* (`SAVE_CITOYEN`, mise à jour seule) — le seul que le legacy fasse passer par `DataValidator::validate`
|
|
19
|
+
* avec le costum posté (`updateblock`/`updatefield` rejettent ou ignorent). Mise à jour UNIQUEMENT :
|
|
20
|
+
* `_add` reste 403, aucune création de citoyen par la lib (docs/33 backend §2). Lu par
|
|
21
|
+
* `_saveCostumViaElementSave` (appelée par `_update` en HYBRIDE, pas pour tout l'update).
|
|
22
|
+
*/
|
|
23
|
+
static COSTUM_ADD_CONSTANT: string;
|
|
16
24
|
static SCHEMA_CONSTANTS: string[];
|
|
17
25
|
static UPDATE_BLOCKS: Map<"UPDATE_BLOCK_SLUG" | "PROFIL_IMAGE" | "UPDATE_BLOCK_DESCRIPTION" | "UPDATE_BLOCK_INFO" | "UPDATE_BLOCK_LOCALITY" | "UPDATE_BLOCK_SOCIAL", "updateImageProfil" | "updateSlug" | "updateDescription" | "updateLocality" | "updateInfo" | "updateSocial">;
|
|
18
26
|
defaultFields: Record<string, any>;
|
|
@@ -128,7 +136,23 @@ export declare class User extends BaseEntity<UserItemNormalized> {
|
|
|
128
136
|
save(): Promise<Record<string, any>>;
|
|
129
137
|
_add: () => Promise<never>;
|
|
130
138
|
/**
|
|
131
|
-
*
|
|
139
|
+
* Clés que SEUL le costum sait écrire : les champs déclarés par le contexte costum (`_costumCtx.schema.
|
|
140
|
+
* properties` ∪ `fields`) MOINS ceux qu'un bloc `updateblock` standard porte déjà (`UPDATE_BLOCKS`,
|
|
141
|
+
* évalués pour `typeElement:"citoyens"`). Un costum legacy redéclare volontiers `name`/`email`/`tags`
|
|
142
|
+
* (widget du form) : ces clés restent aux blocs standards, dont la sémantique est propre. Vide sans
|
|
143
|
+
* contexte costum à champs.
|
|
144
|
+
*/
|
|
145
|
+
private _costumOnlyKeys;
|
|
146
|
+
/**
|
|
147
|
+
* Met à jour l'utilisateur — chemin HYBRIDE (docs/33 backend) :
|
|
148
|
+
* 1. les champs COSTUM modifiés (`_costumOnlyKeys`) partent en UN `element/save` collection=citoyens
|
|
149
|
+
* (`SAVE_CITOYEN`, enveloppe costum `isUpdate`, même règle d'effacement → `""` que
|
|
150
|
+
* `_saveCostumViaElementSave`, dont c'est l'appel filtré) ;
|
|
151
|
+
* 2. PUIS les blocs `updateblock` standards (description, social, locality, info, slug, image) portent
|
|
152
|
+
* les champs standards, en EXCLUANT les clés costum.
|
|
153
|
+
* Contrairement à `Organization`, l'update entier n'est PAS routé vers `element/save` : les blocs du
|
|
154
|
+
* citoyen (slug, locality, social, image) ont une sémantique propre. Sans contexte costum, comportement
|
|
155
|
+
* historique inchangé (blocs seuls).
|
|
132
156
|
*
|
|
133
157
|
* @param payload - Données courantes à comparer et envoyer.
|
|
134
158
|
* @returns - Indique s'il y a eu une modification réelle.
|
package/types/api/UserApi.d.ts
CHANGED
|
@@ -47,10 +47,23 @@ export declare class UserApi {
|
|
|
47
47
|
* @param params.costumSlug - (option) slug du costum de déploiement → estampille `source.key` du citoyen
|
|
48
48
|
* côté backend (port Person::insert). `costumId`/`costumType` = entité porteuse (requis si le slug n'est
|
|
49
49
|
* pas un doc `costum`, ex. un site porté par une org).
|
|
50
|
+
* @param params.fields - (option) champs SUPPLÉMENTAIRES du citoyen, envoyés À PLAT dans le body (le legacy
|
|
51
|
+
* lit `$_POST` à la racine, pas un sous-objet). La règle d'acceptation vit côté SERVEUR et n'est pas
|
|
52
|
+
* rejouée ici. L'inscription étant anonyme, c'est une LISTE BLANCHE : champs déclarés pour les personnes
|
|
53
|
+
* par le costum posté (`typeObj` citoyens/person/alias `sameAs:"person"`), ou champs du modèle créés pour
|
|
54
|
+
* les inscriptions costum (`typepro`, `othersTypepro`, `profession`…) ; valeur simple (scalaire ou liste de
|
|
55
|
+
* scalaires). Tout autre champ fait ÉCHOUER l'inscription (`{result:false, msg:"Contenu Invalide <clé> :
|
|
56
|
+
* Person"}` → `ApiResponseError`). Aucun schéma de champ
|
|
57
|
+
* n'est rejoué côté client (le contrat PERSON_REGISTER est `additionalProperties:true`) : le schéma digéré
|
|
58
|
+
* d'un champ costum (objet pour un finder/une adresse, date…) refuserait une valeur que le serveur
|
|
59
|
+
* accepte. Le serveur seul tranche. cf. cocolight-backend docs/33.
|
|
60
|
+
* @param params.mode - (option) `"normal"` (défaut legacy : compte à activer par e-mail) ou
|
|
61
|
+
* `"single_step_register"` : activation IMMÉDIATE (`roles.tobeactivated` retiré, `username` suffixé s'il
|
|
62
|
+
* est pris) — l'e-mail de validation part quand même (texte « déjà actif »).
|
|
50
63
|
* @returns Réponse brute de l'API.
|
|
51
64
|
* @throws {ApiResponseError} Si l'API retourne un échec (`result === false`).
|
|
52
65
|
*/
|
|
53
|
-
register({ name, username, email, pwd, costumSlug, costumId, costumType }: {
|
|
66
|
+
register({ name, username, email, pwd, costumSlug, costumId, costumType, fields, mode }: {
|
|
54
67
|
name: string;
|
|
55
68
|
username: string;
|
|
56
69
|
email: string;
|
|
@@ -58,6 +71,8 @@ export declare class UserApi {
|
|
|
58
71
|
costumSlug?: string;
|
|
59
72
|
costumId?: string;
|
|
60
73
|
costumType?: string;
|
|
74
|
+
fields?: Record<string, unknown>;
|
|
75
|
+
mode?: "normal" | "single_step_register";
|
|
61
76
|
}): Promise<any>;
|
|
62
77
|
/**
|
|
63
78
|
* Lance une procédure de récupération de mot de passe.
|
|
@@ -17,7 +17,8 @@ export declare function invalidateCostumCache(slug?: string): void;
|
|
|
17
17
|
* Énumère TOUS les formulaires costum d'un slug (UN descripteur PAR SOUS-TYPE = clé `typeObj`) via
|
|
18
18
|
* getcostumjson — pour l'assistant config (génération multi-form + routage `editModalMatch`). Distinct de
|
|
19
19
|
* `CostumScope.describeForm(collection)` qui n'en renvoie qu'UN par collection. Seuls les sous-types dont la
|
|
20
|
-
* collection de base est
|
|
20
|
+
* collection de base est dans `SCOPE_COLLECTIONS` (poi/organizations/projects/events/citoyens) sont retournés —
|
|
21
|
+
* pour `citoyens`, le form décrit l'ÉDITION du profil (et les champs d'inscription), jamais une création.
|
|
21
22
|
*/
|
|
22
23
|
export declare function describeCostumForms(user: BaseEntity, slug: string): Promise<CostumFormDescriptor[]>;
|
|
23
24
|
/**
|
package/types/costum/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type KnownCostumSlug = "CercleTravailleursSociauxLiberauxLaPlumeSociale" | "FabEn" | "LaReunionDesTiersLieux" | "LivingLabInnovationSocialeBraspanon" | "RoseLab" | "Santeentransition" | "alfph" | "ambitionTiersLieuxValDeLoire" | "assoKosasa" | "associationEkilibre" | "boclLe" | "bretagneTierslieux" | "caDuBassinDeThauTiersLieux" | "caDuBassinDeThauTiersLieux1" | "campagne" | "capTierslieux" | "catalyst" | "ccDesCaussesALaubracTiersLieux" | "chtitube" | "circuitCourt" | "cmcasHB" | "cmcasHauteBretagne" | "coFinancementTierslieux" | "coeurNumerique" | "communLundi" | "consortiumIledefranceTierslieux" | "copHautsdefrance" | "createchFablabDeLaMjcDeSaintjean" | "cressDeLaReunion1" | "cressReunion" | "cressReunionNetwork" | "ctenat" | "cyberReunion" | "daLocu" | "ecocentre" | "ekisphere" | "equipementsSportifs974" | "fabLimagne" | "fabdulys1" | "fablab3dplant" | "fablabChauxdefonds" | "federationDesCae" | "fianarantsoaAlimentation" | "formationGenerique" | "franceTierslieux" | "heraultTiersLieux" | "hinaura" | "hubmayotte" | "hubnouvellecaledonie" | "hubpolynesiefrancaise" | "hubreunion" | "hubterritoires" | "hubwallisetfutuna" | "hva" | "ibv2" | "institutBleu" | "journalInsoumisChambery" | "kpacite" | "laCompagnieDesTierslieux" | "laCooperativeTierslieux" | "laMaisonDesFaiseurs" | "laMinoterie1" | "laMyne" | "laReunionPourUnNumeriqueInclusif" | "laRosee" | "laSemaineDesTierslieux" | "laTresseTierslieu" | "labEnCommuns" | "labboite" | "lakou" | "lapossession" | "lattesTiersLieux" | "leFaugaTiersLieux" | "leTamponTiersLieux" | "lesCommunsDesTierslieux" | "lesImaginationsFertiles" | "lidairesTiersLieux" | "littoralHautsDeFrance" | "lotetgaronneTiersLieux" | "mayottePourUnNumeriqueInclusif" | "meir" | "montpellierMediterraneeMetropoleTiersLieux" | "montpellierTiersLieux" | "navigatorDesTierslieux" | "notragora" | "nouvellecaledoniePourUnNumeriqueInclusif" | "openAtlas" | "parent62" | "polynesieFrancaisePourUnNumeriqueInclusif" | "prdr" | "pyreneesatlantiquesTiersLieux" | "redlab" | "relief" | "reseauDesTierslieuxDeGuyane" | "reseauDesTierslieuxDeMayotte" | "reseauDesTierslieuxDuGrandEst" | "reseauNormandDesTierslieux" | "reseauRegionalDesTierslieuxGuadeloupe" | "reseauRegionalDesTierslieuxMartinique" | "reseauTierslieux" | "rfflabs" | "ries" | "sLieux" | "saintJosephTiersLieux" | "saintbenoitTiersLieux" | "saintbenoitTiersLieux1" | "saintbenoitTiersLieux2" | "saintpaulSport1" | "saintpaulTiersLieux" | "saintpierreTiersLieux" | "savoieTiersLieux" | "siteDuPactePourLaTransition" | "sportSanteBienetre" | "sudTierslieux" | "suppa" | "terramies" | "testeTplFormation" | "tiersLieuxGenerique" | "tierslieuxBfc" | "tierslieuxbelgique" | "tierslieuxorg" | "tierslieuxorg1" | "transiter" | "vhelioPeiTour2025" | "wallisetfutunaPourUnNumeriqueInclusif";
|
|
2
|
-
export type Collection = "addPhoto" | "badges" | "
|
|
1
|
+
export type KnownCostumSlug = "CercleTravailleursSociauxLiberauxLaPlumeSociale" | "EcosystemeSanteReunion" | "FabEn" | "LaReunionDesTiersLieux" | "LivingLabInnovationSocialeBraspanon" | "RoseLab" | "Santeentransition" | "alfph" | "ambitionTiersLieuxValDeLoire" | "assoKosasa" | "associationEkilibre" | "boclLe" | "bretagneTierslieux" | "caDuBassinDeThauTiersLieux" | "caDuBassinDeThauTiersLieux1" | "campagne" | "capTierslieux" | "catalyst" | "ccDesCaussesALaubracTiersLieux" | "chtitube" | "circuitCourt" | "cmcasHB" | "cmcasHauteBretagne" | "coFinancementTierslieux" | "coeurNumerique" | "communLundi" | "consortiumIledefranceTierslieux" | "copHautsdefrance" | "createchFablabDeLaMjcDeSaintjean" | "cressDeLaReunion1" | "cressReunion" | "cressReunionNetwork" | "ctenat" | "cyberReunion" | "daLocu" | "ecocentre" | "ekisphere" | "equipementsSportifs974" | "fabLimagne" | "fabdulys1" | "fablab3dplant" | "fablabChauxdefonds" | "federationDesCae" | "fianarantsoaAlimentation" | "formationGenerique" | "franceTierslieux" | "heraultTiersLieux" | "hinaura" | "hubmayotte" | "hubnouvellecaledonie" | "hubpolynesiefrancaise" | "hubreunion" | "hubterritoires" | "hubwallisetfutuna" | "hva" | "ibv2" | "institutBleu" | "journalInsoumisChambery" | "kpacite" | "laCompagnieDesTierslieux" | "laCooperativeTierslieux" | "laMaisonDesFaiseurs" | "laMinoterie1" | "laMyne" | "laReunionPourUnNumeriqueInclusif" | "laRosee" | "laSemaineDesTierslieux" | "laTresseTierslieu" | "labEnCommuns" | "labboite" | "lakou" | "lapossession" | "lattesTiersLieux" | "leFaugaTiersLieux" | "leTamponTiersLieux" | "lesCommunsDesTierslieux" | "lesImaginationsFertiles" | "lidairesTiersLieux" | "littoralHautsDeFrance" | "lotetgaronneTiersLieux" | "mayottePourUnNumeriqueInclusif" | "meir" | "montpellierMediterraneeMetropoleTiersLieux" | "montpellierTiersLieux" | "navigatorDesTierslieux" | "notragora" | "nouvellecaledoniePourUnNumeriqueInclusif" | "openAtlas" | "parent62" | "polynesieFrancaisePourUnNumeriqueInclusif" | "prdr" | "pyreneesatlantiquesTiersLieux" | "redlab" | "relief" | "reseauDesTierslieuxDeGuyane" | "reseauDesTierslieuxDeMayotte" | "reseauDesTierslieuxDuGrandEst" | "reseauNormandDesTierslieux" | "reseauRegionalDesTierslieuxGuadeloupe" | "reseauRegionalDesTierslieuxMartinique" | "reseauTierslieux" | "rfflabs" | "ries" | "sLieux" | "saintJosephTiersLieux" | "saintbenoitTiersLieux" | "saintbenoitTiersLieux1" | "saintbenoitTiersLieux2" | "saintpaulSport1" | "saintpaulTiersLieux" | "saintpierreTiersLieux" | "savoieTiersLieux" | "siteDuPactePourLaTransition" | "sportSanteBienetre" | "sudTierslieux" | "suppa" | "terramies" | "testeTplFormation" | "tiersLieuxGenerique" | "tierslieuxBfc" | "tierslieuxbelgique" | "tierslieuxorg" | "tierslieuxorg1" | "transiter" | "vhelioPeiTour2025" | "wallisetfutunaPourUnNumeriqueInclusif";
|
|
2
|
+
export type Collection = "addPhoto" | "badges" | "citoyens" | "classifieds" | "crowdfunding" | "events" | "organizations" | "poi" | "projects" | "proposal" | "ressources";
|
|
3
3
|
export interface CostumExtensionField {
|
|
4
4
|
name: string;
|
|
5
5
|
path: string;
|
|
@@ -62,6 +62,15 @@ export interface CostumFieldMap {
|
|
|
62
62
|
userSurname?: string;
|
|
63
63
|
};
|
|
64
64
|
};
|
|
65
|
+
EcosystemeSanteReunion: {
|
|
66
|
+
poi: {
|
|
67
|
+
thematic?: ("Nutrition" | "Activité physique" | "Sommeil" | "Addictions" | "Bien-être mental" | "Culture & Santé")[];
|
|
68
|
+
};
|
|
69
|
+
projects: {
|
|
70
|
+
beneficiaires?: ("0 à 3 ans" | "3 à 6 ans" | "6 à 12 ans" | "12 à 18 ans" | "Enfants (2-9 ans)" | "Pré-adolescents/Adolescents (10-17 ans)" | "Personnes en perte d’autonomie" | "Femmes enceintes" | "Personnes en situation de handicap" | "Personnes de plus de 55 ans")[];
|
|
71
|
+
thematic?: ("Nutrition" | "Activité physique" | "Sommeil" | "Addictions" | "Bien-être mental" | "Culture & Santé")[];
|
|
72
|
+
};
|
|
73
|
+
};
|
|
65
74
|
FabEn: {
|
|
66
75
|
organizations: {
|
|
67
76
|
group?: string | string[];
|
|
@@ -806,6 +815,15 @@ export interface CostumFieldMap {
|
|
|
806
815
|
};
|
|
807
816
|
};
|
|
808
817
|
formationGenerique: {
|
|
818
|
+
citoyens: {
|
|
819
|
+
documentation?: Record<string, unknown>;
|
|
820
|
+
firstName?: string;
|
|
821
|
+
formLocality?: string;
|
|
822
|
+
image?: string;
|
|
823
|
+
link?: string;
|
|
824
|
+
surname?: string;
|
|
825
|
+
thematic?: string | string[];
|
|
826
|
+
};
|
|
809
827
|
events: {
|
|
810
828
|
description?: string;
|
|
811
829
|
duration?: string | number;
|
|
@@ -819,11 +837,6 @@ export interface CostumFieldMap {
|
|
|
819
837
|
organizations: {
|
|
820
838
|
trainingQualification?: ("Qualiopi")[];
|
|
821
839
|
};
|
|
822
|
-
person: {
|
|
823
|
-
documentation?: Record<string, unknown>;
|
|
824
|
-
firstName?: string;
|
|
825
|
-
formLocality?: string;
|
|
826
|
-
};
|
|
827
840
|
projects: {
|
|
828
841
|
certificationTraining?: string | boolean;
|
|
829
842
|
certificationsAwards?: string;
|
|
@@ -1028,31 +1041,7 @@ export interface CostumFieldMap {
|
|
|
1028
1041
|
};
|
|
1029
1042
|
};
|
|
1030
1043
|
laCompagnieDesTierslieux: {
|
|
1031
|
-
|
|
1032
|
-
description?: string;
|
|
1033
|
-
duration?: string | number;
|
|
1034
|
-
image?: string;
|
|
1035
|
-
trainer?: Record<string, unknown>;
|
|
1036
|
-
};
|
|
1037
|
-
organizations: {
|
|
1038
|
-
buildingSurfaceArea?: string | number;
|
|
1039
|
-
compagnon?: "Compagnon France Tiers-Lieux";
|
|
1040
|
-
extraManageModel?: string;
|
|
1041
|
-
extraTags?: string;
|
|
1042
|
-
extraTypePlace?: string;
|
|
1043
|
-
formLocality?: string;
|
|
1044
|
-
holderOrganization?: string;
|
|
1045
|
-
image?: string;
|
|
1046
|
-
location?: string;
|
|
1047
|
-
manageModel?: "Association" | "Collectif citoyen" | "Universités / Écoles d’ingénieurs ou de commerce / EPST" | "Établissements scolaires (Lycée, Collège, Ecole)" | "Collectivités (Département, Intercommunalité, Région, etc)" | "SARL-SA-SAS" | "SCIC" | "SCOP" | "Autre mode de gestion";
|
|
1048
|
-
openingDate?: string;
|
|
1049
|
-
photo?: Record<string, unknown>;
|
|
1050
|
-
similarLink?: string;
|
|
1051
|
-
siteSurfaceArea?: string | number;
|
|
1052
|
-
territorialCercle?: ("Cercle Littoral" | "Cercle Pévèle Douaisis" | "Cercle Valenciennois-Hainaut-Cambresis" | "Cercle Avesnois - Thierache" | "Cercle Bassin Minier du Pas-de-Calais" | "Cercle MEL" | "Cercle Aisne" | "Cercle Oise" | "Cercle Somme" | "Cercle Coeur Pas de Calais" | "Equipe support MEL" | "Cercle Arrageois" | "Cercle Audomarois" | "Cercle Flandres" | "Cercle Sud-Aisne" | "Cercle Valenciennes")[];
|
|
1053
|
-
typePlace?: ("Ateliers artisanaux partagés" | "Bureaux partagés / Coworking" | "Cuisine partagée / Foodlab" | "Fablab / Makerspace / Hackerspace (Espaces du Faire)" | "LivingLab / Laboratoire d'innovation sociale" | "Tiers-lieu nourricier" | "Tiers-lieu culturel / Lieux intermédiaires et indépendants" | "Autre famille de tiers-lieux")[];
|
|
1054
|
-
};
|
|
1055
|
-
person: {
|
|
1044
|
+
citoyens: {
|
|
1056
1045
|
actionContributor?: string | boolean;
|
|
1057
1046
|
addressCie?: Record<string, unknown>;
|
|
1058
1047
|
adherent?: ("Adhérent Cie 2021" | "Adhérent Cie 2022" | "Adhérent Cie 2023" | "Adhérent Cie 2024" | "Adhérent Cie 2025")[];
|
|
@@ -1083,11 +1072,38 @@ export interface CostumFieldMap {
|
|
|
1083
1072
|
referentTerritorialCercle?: string | boolean;
|
|
1084
1073
|
reportingMember?: Record<string, unknown>;
|
|
1085
1074
|
shortDescriptionCie?: string;
|
|
1075
|
+
status?: ("Salarié" | "Indépendant" | "Etudiant" | "Chercheur" | "Sans Emploi" | "Porteur de projet" | "Pilote de tiers-lieu" | "Reconversion" | "Élu" | "Référent autre réseau régional")[];
|
|
1086
1076
|
supportCercle?: string | boolean;
|
|
1087
1077
|
supportedStructures?: Record<string, unknown>;
|
|
1078
|
+
surname?: string;
|
|
1088
1079
|
tagsCie?: string | string[];
|
|
1089
1080
|
telephoneCie?: string | number;
|
|
1090
1081
|
territorialCercle?: ("Cercle Littoral" | "Cercle Pévèle Douaisis" | "Cercle Valenciennois-Hainaut-Cambresis" | "Cercle Avesnois - Thierache" | "Cercle Bassin Minier du Pas-de-Calais" | "Cercle MEL" | "Cercle Aisne" | "Cercle Oise" | "Cercle Somme" | "Cercle Coeur Pas de Calais" | "Equipe support MEL" | "Cercle Arrageois" | "Cercle Audomarois" | "Cercle Flandres" | "Cercle Sud-Aisne" | "Cercle Valenciennes")[];
|
|
1082
|
+
trainer?: string | boolean;
|
|
1083
|
+
};
|
|
1084
|
+
events: {
|
|
1085
|
+
description?: string;
|
|
1086
|
+
duration?: string | number;
|
|
1087
|
+
image?: string;
|
|
1088
|
+
trainer?: Record<string, unknown>;
|
|
1089
|
+
};
|
|
1090
|
+
organizations: {
|
|
1091
|
+
buildingSurfaceArea?: string | number;
|
|
1092
|
+
compagnon?: "Compagnon France Tiers-Lieux";
|
|
1093
|
+
extraManageModel?: string;
|
|
1094
|
+
extraTags?: string;
|
|
1095
|
+
extraTypePlace?: string;
|
|
1096
|
+
formLocality?: string;
|
|
1097
|
+
holderOrganization?: string;
|
|
1098
|
+
image?: string;
|
|
1099
|
+
location?: string;
|
|
1100
|
+
manageModel?: "Association" | "Collectif citoyen" | "Universités / Écoles d’ingénieurs ou de commerce / EPST" | "Établissements scolaires (Lycée, Collège, Ecole)" | "Collectivités (Département, Intercommunalité, Région, etc)" | "SARL-SA-SAS" | "SCIC" | "SCOP" | "Autre mode de gestion";
|
|
1101
|
+
openingDate?: string;
|
|
1102
|
+
photo?: Record<string, unknown>;
|
|
1103
|
+
similarLink?: string;
|
|
1104
|
+
siteSurfaceArea?: string | number;
|
|
1105
|
+
territorialCercle?: ("Cercle Littoral" | "Cercle Pévèle Douaisis" | "Cercle Valenciennois-Hainaut-Cambresis" | "Cercle Avesnois - Thierache" | "Cercle Bassin Minier du Pas-de-Calais" | "Cercle MEL" | "Cercle Aisne" | "Cercle Oise" | "Cercle Somme" | "Cercle Coeur Pas de Calais" | "Equipe support MEL" | "Cercle Arrageois" | "Cercle Audomarois" | "Cercle Flandres" | "Cercle Sud-Aisne" | "Cercle Valenciennes")[];
|
|
1106
|
+
typePlace?: ("Ateliers artisanaux partagés" | "Bureaux partagés / Coworking" | "Cuisine partagée / Foodlab" | "Fablab / Makerspace / Hackerspace (Espaces du Faire)" | "LivingLab / Laboratoire d'innovation sociale" | "Tiers-lieu nourricier" | "Tiers-lieu culturel / Lieux intermédiaires et indépendants" | "Autre famille de tiers-lieux")[];
|
|
1091
1107
|
};
|
|
1092
1108
|
projects: {
|
|
1093
1109
|
competence?: ("Suivi et gestion FEDER" | "Comptabilité" | "Gestion des paies" | "Recrutement" | "Gestion RH" | "Qualiopi" | "Graphisme" | "Developpement web" | "Hébergement web" | "Permaculture" | "Open data" | "Photographie" | "Conception Rédaction" | "Architecte" | "Facilitation" | "Médiation et gestion de crise" | "Restauration collective")[];
|
|
@@ -1498,6 +1514,9 @@ export interface CostumFieldMap {
|
|
|
1498
1514
|
};
|
|
1499
1515
|
};
|
|
1500
1516
|
navigatorDesTierslieux: {
|
|
1517
|
+
events: {
|
|
1518
|
+
description?: string;
|
|
1519
|
+
};
|
|
1501
1520
|
organizations: {
|
|
1502
1521
|
buildingSurfaceArea?: string | number;
|
|
1503
1522
|
extraManageModel?: string;
|
|
@@ -1552,9 +1571,15 @@ export interface CostumFieldMap {
|
|
|
1552
1571
|
territoires?: ("Arrageois" | "Artois" | "Audomarois" | "Boulonnais" | "Calaisis" | "Entre Mer et Terres" | "Familles en sol mineur" | "Familles en sol mineur Hénin Carvin" | "Familles en sol mineur Lens Liévin" | "Ternois Bruaysis")[];
|
|
1553
1572
|
themes?: ("La citoyenneté" | "La communication" | "La culture" | "La petite enfance" | "La santé" | "L’adolescence" | "L’arrivée d’un enfant" | "Le deuil" | "Le handicap" | "Le répit" | "L’école" | "L’éducation" | "Les activités supports à la relation" | "Les écrans – Le numérique" | "Les émotions" | "Les jeux" | "Les situations de séparation" | "Les violences")[];
|
|
1554
1573
|
};
|
|
1574
|
+
organizations: {
|
|
1575
|
+
publics?: ("Bénévoles" | "En famille" | "Enfance" | "Futurs parents" | "Parents" | "Parents-enfants" | "Professionnels")[];
|
|
1576
|
+
territoires?: ("Arrageois" | "Artois" | "Audomarois" | "Boulonnais" | "Calaisis" | "Entre Mer et Terres" | "Familles en sol mineur" | "Familles en sol mineur Hénin Carvin" | "Familles en sol mineur Lens Liévin" | "Ternois Bruaysis")[];
|
|
1577
|
+
themes?: ("La citoyenneté" | "La communication" | "La culture" | "La petite enfance" | "La santé" | "L’adolescence" | "L’arrivée d’un enfant" | "Le deuil" | "Le handicap" | "Le répit" | "L’école" | "L’éducation" | "Les activités supports à la relation" | "Les écrans – Le numérique" | "Les émotions" | "Les jeux" | "Les situations de séparation" | "Les violences")[];
|
|
1578
|
+
};
|
|
1555
1579
|
poi: {
|
|
1556
1580
|
ages?: ("0-3 ans" | "3-6 ans" | "6-11 ans" | "adolescence" | "jeune adulte")[];
|
|
1557
|
-
|
|
1581
|
+
annee?: string | number;
|
|
1582
|
+
category?: "actualite" | "appel-projet" | "offre-emploi" | "a-la-une" | "zoom";
|
|
1558
1583
|
paroleConsentement?: string | boolean;
|
|
1559
1584
|
publics?: ("Bénévoles" | "En famille" | "Enfance" | "Futurs parents" | "Parents" | "Parents-enfants" | "Professionnels")[];
|
|
1560
1585
|
territoires?: ("Arrageois" | "Artois" | "Audomarois" | "Boulonnais" | "Calaisis" | "Entre Mer et Terres" | "Familles en sol mineur" | "Familles en sol mineur Hénin Carvin" | "Familles en sol mineur Lens Liévin" | "Ternois Bruaysis")[];
|
|
@@ -2035,7 +2060,8 @@ export interface CostumFieldMap {
|
|
|
2035
2060
|
link?: string;
|
|
2036
2061
|
linkedin?: string;
|
|
2037
2062
|
location?: string;
|
|
2038
|
-
mobile?: string;
|
|
2063
|
+
mobile?: string | number;
|
|
2064
|
+
mss?: string | boolean;
|
|
2039
2065
|
personInChargeCivility?: string;
|
|
2040
2066
|
personInChargeEmail?: string;
|
|
2041
2067
|
personInChargeFirstName?: string;
|
|
@@ -2056,9 +2082,9 @@ export interface CostumFieldMap {
|
|
|
2056
2082
|
sigle?: string;
|
|
2057
2083
|
similarLink?: Record<string, unknown>;
|
|
2058
2084
|
siren?: string | number;
|
|
2059
|
-
statusCommunale?: string
|
|
2085
|
+
statusCommunale?: string;
|
|
2060
2086
|
statusFile?: Record<string, unknown>;
|
|
2061
|
-
statusPrimaire?: string
|
|
2087
|
+
statusPrimaire?: string;
|
|
2062
2088
|
statusSecondaire?: string | string[];
|
|
2063
2089
|
youtube?: string;
|
|
2064
2090
|
};
|
|
@@ -2078,8 +2104,10 @@ export interface CostumFieldMap {
|
|
|
2078
2104
|
restaurant?: string | boolean;
|
|
2079
2105
|
sole?: "Synthétique (hors gazon)" | "Bitume" | "Gazon naturel" | "Carrelage" | "Stabilisé/cendrée" | "Gazon synthétique" | "Béton" | "Surface naturelle" | "Terre battue" | "Sable" | "Parquet" | "Non précisé" | "Autre" | "Bois" | "Synthétique";
|
|
2080
2106
|
sportPratiquer?: string;
|
|
2107
|
+
status?: string | string[];
|
|
2081
2108
|
subCategory?: string;
|
|
2082
2109
|
surface?: string;
|
|
2110
|
+
thematique?: string;
|
|
2083
2111
|
transportCommun?: string | boolean;
|
|
2084
2112
|
typeAccessiblHandicap?: string;
|
|
2085
2113
|
typePartenariat?: string;
|
|
@@ -2135,6 +2163,15 @@ export interface CostumFieldMap {
|
|
|
2135
2163
|
};
|
|
2136
2164
|
};
|
|
2137
2165
|
testeTplFormation: {
|
|
2166
|
+
citoyens: {
|
|
2167
|
+
documentation?: Record<string, unknown>;
|
|
2168
|
+
firstName?: string;
|
|
2169
|
+
formLocality?: string;
|
|
2170
|
+
image?: string;
|
|
2171
|
+
link?: string;
|
|
2172
|
+
surname?: string;
|
|
2173
|
+
thematic?: string | string[];
|
|
2174
|
+
};
|
|
2138
2175
|
events: {
|
|
2139
2176
|
description?: string;
|
|
2140
2177
|
duration?: string | number;
|
|
@@ -2148,11 +2185,6 @@ export interface CostumFieldMap {
|
|
|
2148
2185
|
organizations: {
|
|
2149
2186
|
trainingQualification?: ("Qualiopi")[];
|
|
2150
2187
|
};
|
|
2151
|
-
person: {
|
|
2152
|
-
documentation?: Record<string, unknown>;
|
|
2153
|
-
firstName?: string;
|
|
2154
|
-
formLocality?: string;
|
|
2155
|
-
};
|
|
2156
2188
|
projects: {
|
|
2157
2189
|
certificationTraining?: string | boolean;
|
|
2158
2190
|
certificationsAwards?: string;
|
|
@@ -2259,6 +2291,15 @@ export interface CostumFieldMap {
|
|
|
2259
2291
|
};
|
|
2260
2292
|
};
|
|
2261
2293
|
tierslieuxorg1: {
|
|
2294
|
+
citoyens: {
|
|
2295
|
+
documentation?: Record<string, unknown>;
|
|
2296
|
+
firstName?: string;
|
|
2297
|
+
formLocality?: string;
|
|
2298
|
+
image?: string;
|
|
2299
|
+
link?: string;
|
|
2300
|
+
surname?: string;
|
|
2301
|
+
thematic?: string | string[];
|
|
2302
|
+
};
|
|
2262
2303
|
events: {
|
|
2263
2304
|
description?: string;
|
|
2264
2305
|
duration?: string | number;
|
|
@@ -2272,11 +2313,6 @@ export interface CostumFieldMap {
|
|
|
2272
2313
|
organizations: {
|
|
2273
2314
|
trainingQualification?: ("Qualiopi")[];
|
|
2274
2315
|
};
|
|
2275
|
-
person: {
|
|
2276
|
-
documentation?: Record<string, unknown>;
|
|
2277
|
-
firstName?: string;
|
|
2278
|
-
formLocality?: string;
|
|
2279
|
-
};
|
|
2280
2316
|
projects: {
|
|
2281
2317
|
certificationTraining?: string | boolean;
|
|
2282
2318
|
certificationsAwards?: string;
|
|
@@ -2295,6 +2331,21 @@ export interface CostumFieldMap {
|
|
|
2295
2331
|
};
|
|
2296
2332
|
};
|
|
2297
2333
|
transiter: {
|
|
2334
|
+
citoyens: {
|
|
2335
|
+
activity?: string;
|
|
2336
|
+
activityHelp?: string;
|
|
2337
|
+
challenge?: string;
|
|
2338
|
+
documentation?: Record<string, unknown>;
|
|
2339
|
+
firstName?: string;
|
|
2340
|
+
formLocality?: string;
|
|
2341
|
+
idea?: string;
|
|
2342
|
+
image?: string;
|
|
2343
|
+
link?: string;
|
|
2344
|
+
newsletter?: string | boolean;
|
|
2345
|
+
profession?: string;
|
|
2346
|
+
surname?: string;
|
|
2347
|
+
thematic?: string | string[];
|
|
2348
|
+
};
|
|
2298
2349
|
events: {
|
|
2299
2350
|
description?: string;
|
|
2300
2351
|
duration?: string | number;
|
|
@@ -2314,11 +2365,6 @@ export interface CostumFieldMap {
|
|
|
2314
2365
|
placeAndCome?: string;
|
|
2315
2366
|
trainingQualification?: ("Qualiopi")[];
|
|
2316
2367
|
};
|
|
2317
|
-
person: {
|
|
2318
|
-
documentation?: Record<string, unknown>;
|
|
2319
|
-
firstName?: string;
|
|
2320
|
-
formLocality?: string;
|
|
2321
|
-
};
|
|
2322
2368
|
projects: {
|
|
2323
2369
|
beneficiaries?: string;
|
|
2324
2370
|
certificationTraining?: string | boolean;
|