@communecter/cocolight-api-client 1.0.142 → 1.0.143

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.
@@ -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, GetMembersNoAdminData, GetMembersAdminData, GetFriendsAdminData, GetSubscriptionsData, GetSubscriptionsAdminData, GetSubscribersData, GetSubscribersAdminData, GetContributorsNoAdminData, GetContributorsAdminData, GetBadgesData, GetBadgesFiltersData, ConnectData, DisconnectData, GetElementsKeyData, GetFavorisData, DeleteFavorisData, AddFavorisData, AddOrganizationData, AddProjectData, AddPoiData, AddEventData, DeletePoiData, DeleteEventData, 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, SaveCoformAnswerData, 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 } from "./EndpointApi.types.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, DeletePoiData, DeleteEventData, 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 } from "./EndpointApi.types.js";
3
3
  /**
4
4
  * Classe EndpointApi générée automatiquement depuis endpoints-copie.json
5
5
  */
@@ -458,6 +458,16 @@ export declare class EndpointApi {
458
458
  * @throws {Error} - En cas d'erreur inattendue.
459
459
  */
460
460
  getOrganizationsAdmin(data: GetOrganizationsAdminData): Promise<any>;
461
+ /**
462
+ * Récupérer les lieux éligibles d'un utilisateur : Récupère les organisations memberOf de l'utilisateur filtrées par filters arbitraires (tags, etc.) et notSourceKey configurables. Utilisé par la vue collaborative coform/place pour pré-filtrer côté serveur les lieux éligibles à un formulaire.
463
+ * Constant : GET_USER_ELIGIBLE_PLACES
464
+ * @param data - Données envoyées à l'API
465
+ * @returns Les données de réponse.
466
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
467
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
468
+ * @throws {Error} - En cas d'erreur inattendue.
469
+ */
470
+ getUserEligiblePlaces(data: GetUserEligiblePlacesData): Promise<any>;
461
471
  /**
462
472
  * Récupérer les membres non administrables : Récupère les membres d’une organisation sans droits d’admin.
463
473
  * Constant : GET_MEMBERS_NO_ADMIN
@@ -1047,6 +1057,15 @@ export declare class EndpointApi {
1047
1057
  * @throws {Error} - En cas d'erreur inattendue.
1048
1058
  */
1049
1059
  coformGetAnswerFiles(data: CoformGetAnswerFilesData): Promise<any>;
1060
+ /**
1061
+ * Récupérer les catalogues collaboratifs commonTable d'un formulaire : Pour les inputs de type tpls.forms.evaluation.commonTableV2, retourne en un seul appel le catalogue agrégé des criterias (besoins/solutions) déclarées par tous les répondants pour chaque inputKey demandé, avec un compteur de répondants par criteriaId.
1062
+ * Constant : GET_COFORM_CATALOGS
1063
+ * @param data - Données envoyées à l'API
1064
+ * @returns Les données de réponse.
1065
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1066
+ * @throws {Error} - En cas d'erreur inattendue.
1067
+ */
1068
+ getCoformCatalogs(data: GetCoformCatalogsData): Promise<any>;
1050
1069
  /**
1051
1070
  * Sauvegarder une réponse de formulaire CoForm : Enregistre ou met à jour les réponses d'un utilisateur pour un formulaire CoForm
1052
1071
  * Constant : SAVE_COFORM_ANSWER
@@ -1057,6 +1076,36 @@ export declare class EndpointApi {
1057
1076
  * @throws {Error} - En cas d'erreur inattendue.
1058
1077
  */
1059
1078
  saveCoformAnswer(data: SaveCoformAnswerData): Promise<any>;
1079
+ /**
1080
+ * Récupérer l'historique des modifications d'une réponse coform : Retourne l'historique des modifications (create + update) d'une réponse coform partagée, depuis la collection answerChanges. Trié du plus récent au plus ancien, limité à 200 entrées. Auth: l'utilisateur doit être propriétaire OU autorisé via canAdminAnswer (admin du parent du form, admin/membre du finder selon membersCanEditSharedAnswer, ou form publicCanEditSharedAnswer).
1081
+ * Constant : GET_COFORM_ANSWER_HISTORY
1082
+ * @param data - Données envoyées à l'API
1083
+ * @returns Les données de réponse.
1084
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1085
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1086
+ * @throws {Error} - En cas d'erreur inattendue.
1087
+ */
1088
+ getCoformAnswerHistory(data: GetCoformAnswerHistoryData): Promise<any>;
1089
+ /**
1090
+ * Récupérer les données agrégées d'évaluation multiple (radar) d'une réponse coform : Pour une réponse coform partagée comportant des inputs radioNew avec activeMultieval=true, retourne les datasets agrégés (1 par utilisateur contributeur) pour chaque step. Lecture tolérante : priorité au format canonical `value`, fallback sur le format legacy `answer` '{idx}_{slug}'. Auth : owner OU canAdminAnswer.
1091
+ * Constant : GET_COFORM_MULTIEVAL_DATA
1092
+ * @param data - Données envoyées à l'API
1093
+ * @returns Les données de réponse.
1094
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1095
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1096
+ * @throws {Error} - En cas d'erreur inattendue.
1097
+ */
1098
+ getCoformMultievalData(data: GetCoformMultievalDataData): Promise<any>;
1099
+ /**
1100
+ * Récupérer les contributeurs d'une ligne de commonTable : Pour un input commonTable et une liste de criteriaIds (= une ligne du tableau, qui peut agréger plusieurs criterias dédupés via groupKey côté React), retourne la liste des contributions individuelles avec l'auteur, sa solution, sa satisfaction et sa note.
1101
+ * Constant : GET_COFORM_COMMONTABLE_CONTRIBUTORS
1102
+ * @param data - Données envoyées à l'API
1103
+ * @returns Les données de réponse.
1104
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1105
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1106
+ * @throws {Error} - En cas d'erreur inattendue.
1107
+ */
1108
+ getCoformCommontableContributors(data: GetCoformCommontableContributorsData): Promise<any>;
1060
1109
  /**
1061
1110
  * Voter sur un élément (commentaire ou news) : Permet de voter sur un commentaire ou une news en spécifiant un statut de vote
1062
1111
  * Constant : ADD_VOTE
@@ -1517,6 +1517,84 @@ export interface GetOrganizationsAdminData {
1517
1517
  };
1518
1518
  [k: string]: unknown;
1519
1519
  }
1520
+ export interface GetUserEligiblePlacesData {
1521
+ /**
1522
+ * Nom ou terme recherché
1523
+ */
1524
+ name?: string;
1525
+ /**
1526
+ * Types d'entités à inclure dans la recherche
1527
+ */
1528
+ searchType: string[];
1529
+ /**
1530
+ * Index minimum pour la pagination
1531
+ */
1532
+ indexMin: number;
1533
+ /**
1534
+ * Index de fin global pour la pagination
1535
+ */
1536
+ indexMax?: number;
1537
+ /**
1538
+ * Nombre d'éléments à récupérer (limite de pagination)
1539
+ */
1540
+ indexStep: number;
1541
+ /**
1542
+ * Configuration des plages de résultats pour chaque type de recherche
1543
+ */
1544
+ ranges?: {
1545
+ /**
1546
+ * This interface was referenced by `undefined`'s JSON-Schema definition
1547
+ * via the `patternProperty` "^[^\s]+$".
1548
+ */
1549
+ [k: string]: {
1550
+ indexMin: number;
1551
+ indexMax: number;
1552
+ };
1553
+ };
1554
+ searchBy?: "ALL";
1555
+ /**
1556
+ * Type initial de la recherche, vide par défaut
1557
+ */
1558
+ initType?: string;
1559
+ /**
1560
+ * Indique si les types doivent être comptés dans les résultats
1561
+ */
1562
+ count?: boolean;
1563
+ /**
1564
+ * Liste des types à compter dans les résultats
1565
+ */
1566
+ countType?: string[];
1567
+ /**
1568
+ * true = désactive le filtrage automatique par sourceKey du contexte (cf. SearchNew.php). Configurable dynamiquement selon la config du finder du formulaire.
1569
+ */
1570
+ notSourceKey: boolean;
1571
+ /**
1572
+ * Filtres MongoDB arbitraires : tags, source.key, links.members.{id}, etc. Les valeurs peuvent être une string (match exact), un tableau (any-of), ou un objet ($exists/$in/$ne/etc).
1573
+ */
1574
+ filters: {
1575
+ [k: string]: unknown;
1576
+ };
1577
+ /**
1578
+ * Localité vide ou spécifique
1579
+ */
1580
+ locality?: string;
1581
+ /**
1582
+ * Indique si la recherche doit s'étendre au Fediverse
1583
+ */
1584
+ fediverse?: boolean;
1585
+ pathParams?: {
1586
+ /**
1587
+ * Type d'entité
1588
+ */
1589
+ type: "citoyens" | "organizations";
1590
+ /**
1591
+ * ID de l'utilisateur ou de l'entité
1592
+ */
1593
+ id: string;
1594
+ [k: string]: unknown;
1595
+ };
1596
+ [k: string]: unknown;
1597
+ }
1520
1598
  export interface GetMembersNoAdminData {
1521
1599
  /**
1522
1600
  * Nom ou terme recherché
@@ -3042,6 +3120,162 @@ export interface AddPoiData {
3042
3120
  streetAddress?: string;
3043
3121
  };
3044
3122
  scope?: "";
3123
+ /**
3124
+ * Catégorie du POI
3125
+ */
3126
+ categorie?: string;
3127
+ /**
3128
+ * Type d'équipement
3129
+ */
3130
+ equip_type_name?: string;
3131
+ /**
3132
+ * Nom de l'institution associée
3133
+ */
3134
+ inst_nom?: string;
3135
+ /**
3136
+ * Accessibilité handicapé
3137
+ */
3138
+ inst_acc_handi_bool?: boolean;
3139
+ /**
3140
+ * Transport
3141
+ */
3142
+ inst_trans_bool?: boolean;
3143
+ /**
3144
+ * Famille du type d'équipement
3145
+ */
3146
+ equip_type_famille?: string;
3147
+ /**
3148
+ * Date de création de l'institution
3149
+ */
3150
+ inst_date_creation?: string;
3151
+ /**
3152
+ * Date de l'enquête
3153
+ */
3154
+ inst_enqu_date?: string;
3155
+ /**
3156
+ * Date de mise à jour
3157
+ */
3158
+ equip_maj_date?: string;
3159
+ /**
3160
+ * Nature de l'équipement
3161
+ */
3162
+ equip_nature?: string;
3163
+ /**
3164
+ * Type de sol
3165
+ */
3166
+ equip_sol?: string;
3167
+ /**
3168
+ * Surface
3169
+ */
3170
+ equip_surf?: number;
3171
+ /**
3172
+ * Éclairage
3173
+ */
3174
+ equip_eclair?: boolean;
3175
+ /**
3176
+ * Nom de l'APS
3177
+ */
3178
+ aps_name?: string[];
3179
+ /**
3180
+ * Accessibilité libre
3181
+ */
3182
+ equip_acc_libre?: boolean;
3183
+ /**
3184
+ * Type d'accessibilité handicapé
3185
+ */
3186
+ inst_acc_handi_type?: string;
3187
+ /**
3188
+ * Type de transport
3189
+ */
3190
+ inst_trans_type?: string;
3191
+ /**
3192
+ * Participation
3193
+ */
3194
+ inst_part_bool?: boolean;
3195
+ /**
3196
+ * Type de participation
3197
+ */
3198
+ inst_part_type?: string[];
3199
+ /**
3200
+ * Nom du propriétaire de l'équipement
3201
+ */
3202
+ equip_prop_nom?: string;
3203
+ /**
3204
+ * Type du propriétaire de l'équipement
3205
+ */
3206
+ equip_prop_type?: string;
3207
+ /**
3208
+ * Type de gestion de l'équipement
3209
+ */
3210
+ equip_gest_type?: string;
3211
+ /**
3212
+ * Accessibilité pour personnes à mobilité réduite
3213
+ */
3214
+ equip_pmr_acc?: boolean;
3215
+ /**
3216
+ * Chemin pour personnes à mobilité réduite
3217
+ */
3218
+ equip_pmr_chem?: boolean;
3219
+ /**
3220
+ * Douche pour personnes à mobilité réduite
3221
+ */
3222
+ equip_pmr_douche?: boolean;
3223
+ /**
3224
+ * Sanitaire pour personnes à mobilité réduite
3225
+ */
3226
+ equip_pmr_sanit?: boolean;
3227
+ /**
3228
+ * Tribune pour personnes à mobilité réduite
3229
+ */
3230
+ equip_pmr_trib?: boolean;
3231
+ /**
3232
+ * Vestiaire pour personnes à mobilité réduite
3233
+ */
3234
+ equip_pmr_vest?: boolean;
3235
+ /**
3236
+ * Aire de repos pour personnes à mobilité réduite
3237
+ */
3238
+ equip_pshs_aire?: boolean;
3239
+ /**
3240
+ * Chemin pour personnes à mobilité réduite
3241
+ */
3242
+ equip_pshs_chem?: boolean;
3243
+ /**
3244
+ * Sanitaire pour personnes à mobilité réduite
3245
+ */
3246
+ equip_pshs_sanit?: boolean;
3247
+ /**
3248
+ * Tribune pour personnes à mobilité réduite
3249
+ */
3250
+ equip_pshs_trib?: boolean;
3251
+ /**
3252
+ * Vestiaire pour personnes à mobilité réduite
3253
+ */
3254
+ equip_pshs_vest?: boolean;
3255
+ /**
3256
+ * Signalisation pour personnes à mobilité réduite
3257
+ */
3258
+ equip_pshs_sign?: boolean;
3259
+ /**
3260
+ * Largeur de l'équipement
3261
+ */
3262
+ equip_larg?: number;
3263
+ /**
3264
+ * Longueur de l'équipement
3265
+ */
3266
+ equip_long?: number;
3267
+ /**
3268
+ * Douche
3269
+ */
3270
+ equip_douche?: boolean;
3271
+ /**
3272
+ * Type de localisation de l'équipement
3273
+ */
3274
+ equip_loc_type?: string[];
3275
+ /**
3276
+ * Utilisateur de l'équipement
3277
+ */
3278
+ equip_utilisateur?: string[];
3045
3279
  [k: string]: unknown;
3046
3280
  }
3047
3281
  export interface AddEventData {
@@ -4991,6 +5225,14 @@ export interface GetCoformByIdData {
4991
5225
  * ID du formulaire parent à récupérer
4992
5226
  */
4993
5227
  parentFormId: string;
5228
+ /**
5229
+ * Optionnel : ID d'un élément (lieu) pour la vue collaborative par lieu. Avec elementType, l'access info pointe sur la réponse partagée du lieu plutôt que sur la réponse personnelle du user.
5230
+ */
5231
+ elementId?: string;
5232
+ /**
5233
+ * Type de l'élément (collection MongoDB). Requis si elementId fourni.
5234
+ */
5235
+ elementType?: "organizations" | "projects" | "events" | "poi" | "citoyens";
4994
5236
  [k: string]: unknown;
4995
5237
  }
4996
5238
  export interface CoformUploadAnswerFileData {
@@ -5053,6 +5295,17 @@ export interface CoformGetAnswerFilesData {
5053
5295
  docType?: "image" | "file";
5054
5296
  [k: string]: unknown;
5055
5297
  }
5298
+ export interface GetCoformCatalogsData {
5299
+ /**
5300
+ * ID du formulaire parent
5301
+ */
5302
+ formId: string;
5303
+ /**
5304
+ * Tableau JSON sérialisé des fieldKey des inputs commonTable concernés. Ex: ["abc123","def456"]
5305
+ */
5306
+ inputKeys: string;
5307
+ [k: string]: unknown;
5308
+ }
5056
5309
  export interface SaveCoformAnswerData {
5057
5310
  /**
5058
5311
  * ID du formulaire parent
@@ -5076,6 +5329,39 @@ export interface SaveCoformAnswerData {
5076
5329
  links?: string;
5077
5330
  [k: string]: unknown;
5078
5331
  }
5332
+ export interface GetCoformAnswerHistoryData {
5333
+ /**
5334
+ * ID de la réponse dont on veut l'historique
5335
+ */
5336
+ answerId: string;
5337
+ [k: string]: unknown;
5338
+ }
5339
+ export interface GetCoformMultievalDataData {
5340
+ /**
5341
+ * ID de la réponse
5342
+ */
5343
+ answerId: string;
5344
+ /**
5345
+ * Optionnel : si fourni, ne retourne que la step spécifiée. Sinon, toutes les steps avec multi-eval.
5346
+ */
5347
+ stepKey?: string;
5348
+ [k: string]: unknown;
5349
+ }
5350
+ export interface GetCoformCommontableContributorsData {
5351
+ /**
5352
+ * ID du formulaire parent
5353
+ */
5354
+ formId: string;
5355
+ /**
5356
+ * Clé originale de l'input commonTable (sans préfixe yesOrNo)
5357
+ */
5358
+ inputKey: string;
5359
+ /**
5360
+ * Tableau JSON sérialisé des criteriaIds correspondant à la ligne agrégée (commonTable peut dédupliquer plusieurs criterias sous un même usage côté React). Ex: ["criteria1778265370227"]
5361
+ */
5362
+ criteriaIds: string;
5363
+ [k: string]: unknown;
5364
+ }
5079
5365
  export interface AddVoteData {
5080
5366
  /**
5081
5367
  * ID de l'élément (commentaire ou news) sur lequel voter
@@ -2,7 +2,7 @@ import { BaseEntity } from "./BaseEntity.js";
2
2
  import type { Answer } from "./Answer.js";
3
3
  import type { PaginatorPage, PaginatorState } from "./BaseEntity.js";
4
4
  import type { CoformAnswersSearchData } from "./EndpointApi.types.js";
5
- import type { FormItemNormalized } from "./serverDataType/Form.js";
5
+ import type { CoformCommonTableContributor, FormItemNormalized } from "./serverDataType/Form.js";
6
6
  export declare class Form extends BaseEntity<FormItemNormalized> {
7
7
  static entityType: string;
8
8
  static entityTag: string;
@@ -78,4 +78,31 @@ export declare class Form extends BaseEntity<FormItemNormalized> {
78
78
  * await draft.save();
79
79
  */
80
80
  answer(answerData?: Parameters<BaseEntity<FormItemNormalized>["answer"]>[0]): Promise<Answer>;
81
+ /**
82
+ * Récupère la liste des contributeurs d'une table commune (commonTable) de CE formulaire.
83
+ *
84
+ * Pour un input `commonTable` et une ligne du tableau (un ou plusieurs `criteriaIds`
85
+ * dédupés côté React via `groupKey`), retourne les contributions individuelles
86
+ * (auteur, solution, satisfaction, note).
87
+ *
88
+ * Constant : GET_COFORM_COMMONTABLE_CONTRIBUTORS
89
+ * (POST /survey/coform/getcommontablecontributors, auth bearer).
90
+ *
91
+ * @param params.inputKey - Clé originale de l'input commonTable (sans préfixe yesOrNo).
92
+ * @param params.criteriaIds - criteriaIds de la ligne agrégée : tableau `string[]`
93
+ * (sérialisé automatiquement) ou string JSON déjà sérialisée.
94
+ * @returns La liste des contributions (une entrée par contribution).
95
+ * @throws {ApiError} si le Form n'a pas d'id.
96
+ *
97
+ * @example
98
+ * const form = await org.form({ id: "6925e2b05dd63b02ca70d6d9" });
99
+ * const contributors = await form.getCommonTableContributors({
100
+ * inputKey: "usagesEtSolutions",
101
+ * criteriaIds: ["criteria1778265370227"],
102
+ * });
103
+ */
104
+ getCommonTableContributors(params: {
105
+ inputKey: string;
106
+ criteriaIds: string | string[];
107
+ }): Promise<CoformCommonTableContributor[]>;
81
108
  }
@@ -246,6 +246,44 @@ export declare class Organization extends BaseEntity<OrganizationItemNormalized>
246
246
  searchType?: "all" | "citoyens" | "organizations";
247
247
  restoredState?: PaginatorState;
248
248
  }): Promise<PaginatorPage<User | Organization>>;
249
+ /**
250
+ * Récupère les organisations dont **cette** organisation est membre
251
+ * (lien montant : réseau, fédération, collectif… dont l'orga fait partie).
252
+ *
253
+ * C'est le miroir de {@link Organization#getMembers} : `getMembers()` liste
254
+ * *qui* est membre de cette orga, tandis que `getMemberOf()` liste *les orgas
255
+ * dont cette orga est elle-même membre*.
256
+ *
257
+ * Contrairement à {@link BaseEntity#getOrganizations} (désactivée ici car pensée
258
+ * pour un citoyen via `GET_ORGANIZATIONS_*`), on passe par la recherche réseau
259
+ * globale `searchCostum` : on cible `searchType: ["organizations"]` et on filtre
260
+ * sur `links.members.{thisOrgId}`. Seules les adhésions **confirmées** sont
261
+ * retournées (les liens `toBeValidated` et `isInviting` sont exclus).
262
+ *
263
+ * La pagination (`hasNext`/`next()`) et la restauration via `restoredState`
264
+ * fonctionnent comme pour `searchCostum` : le filtre membership est conservé
265
+ * d'une page à l'autre.
266
+ *
267
+ * @param data - Paramètres de recherche/pagination additionnels (`name`, `indexStep`,
268
+ * `sortBy`, `locality`, `filters` complémentaires…). Les `filters` fournis sont
269
+ * fusionnés avec le filtre membership, ce dernier restant prioritaire.
270
+ * @param options - Options. `restoredState` pour reprendre une pagination sérialisée.
271
+ * @returns Première page paginée d'organisations.
272
+ * @throws {ApiError} Si l'organisation n'a pas d'`id`.
273
+ *
274
+ * @example
275
+ * // Toutes les orgas dont cette orga est membre
276
+ * const page = await org.getMemberOf();
277
+ * console.log(page.results, page.count.total);
278
+ *
279
+ * @example
280
+ * // Filtrer par nom + pagination plus large
281
+ * const page = await org.getMemberOf({ name: "réseau", indexStep: 50 });
282
+ * if (page.hasNext) await page.next();
283
+ */
284
+ getMemberOf(data?: Parameters<BaseEntity<OrganizationItemNormalized>["searchCostum"]>[0], options?: {
285
+ restoredState?: PaginatorState;
286
+ }): Promise<PaginatorPage<Organization>>;
249
287
  /**
250
288
  * {@inheritDoc BaseEntity#getGallery}
251
289
  *
@@ -7,11 +7,47 @@ export declare class Poi extends BaseEntity<PoiItemNormalized> {
7
7
  static SCHEMA_CONSTANTS: string[];
8
8
  static ADD_BLOCKS: Map<"PROFIL_IMAGE" | "ADD_POI", "updateImageProfil" | "addPoi">;
9
9
  static UPDATE_BLOCKS: Map<"UPDATE_BLOCK_DESCRIPTION" | "UPDATE_BLOCK_INFO" | "UPDATE_BLOCK_LOCALITY" | "UPDATE_BLOCK_SLUG" | "PROFIL_IMAGE", "updateImageProfil" | "updateDescription" | "updateLocality" | "updateInfo" | "updateSlug">;
10
+ /**
11
+ * Champs « équipement sportif » (RES) éditables hors `UPDATE_BLOCK_*` : déclarés en
12
+ * VIRTUAL_SCHEMA (autorise l'écriture sur le draft + fixe les types) et persistés à
13
+ * l'update via `CUSTOM_FIELD_HANDLERS` → `updateEquipmentField` → `UPDATE_PATH_VALUE`.
14
+ * Même pattern qu'`Organization`/`Action`. (Ils restent aussi dans `ADD_POI` pour la création.)
15
+ */
16
+ static VIRTUAL_SCHEMAS: {
17
+ VIRTUAL_POI_EQUIPMENT: {
18
+ type: string;
19
+ properties: {
20
+ [k: string]: Record<string, unknown>;
21
+ };
22
+ };
23
+ };
24
+ static CUSTOM_FIELD_HANDLERS: Map<string, {
25
+ updateMethod: string;
26
+ schemaConstant?: string;
27
+ }>;
28
+ /** setType backend par champ équipement (consommé par `updateEquipmentField`). */
29
+ private static readonly EQUIPMENT_SETTYPE;
10
30
  defaultFields: Record<string, any>;
11
31
  removeFields: string[];
12
32
  transforms: Record<string, (val: any, full?: any) => any>;
13
33
  _add: (payload: Record<string, any>) => Promise<void>;
14
34
  _update: (payload: Record<string, any>) => Promise<boolean>;
35
+ /**
36
+ * Handler générique des champs « équipement sportif » (RES), enregistré dans
37
+ * `CUSTOM_FIELD_HANDLERS`. Persiste un champ via `UPDATE_PATH_VALUE` avec le `setType`
38
+ * adéquat (lu dans `EQUIPMENT_SETTYPE`). `fieldName` est fourni par `_invokeCustomFieldHandler`.
39
+ *
40
+ * Effacement façon `Action` : `null`/`""` → on envoie `""` SANS `setType` → le backend fait
41
+ * `!empty($value)` → `$unset` (sinon `floatval("")=0` écraserait au lieu d'effacer).
42
+ */
43
+ updateEquipmentField(value: unknown, fieldName: string): Promise<unknown>;
44
+ /**
45
+ * Override confiné à `Poi` : forwarde `fieldName` au handler (2e argument) pour permettre
46
+ * un handler générique unique (`updateEquipmentField`) couvrant les ~39 champs équipement,
47
+ * sans toucher `BaseEntity._invokeCustomFieldHandler` (utilisé par les autres entités, qui
48
+ * ne passent que `value`). Copie volontaire du corps de base + le forward du `fieldName`.
49
+ */
50
+ protected _invokeCustomFieldHandler(methodName: string, value: any, fieldName: string): Promise<any>;
15
51
  addPoi(data?: Partial<AddPoiData>): Promise<unknown>;
16
52
  getOrganizations(): Promise<never>;
17
53
  getProjects(): Promise<never>;
@@ -2,7 +2,7 @@ import { BaseEntity } from "./BaseEntity.js";
2
2
  import { Notifications } from "./Notifications.js";
3
3
  import type { Badge } from "./Badge.js";
4
4
  import type { PaginatorPage, PaginatorState } from "./BaseEntity.js";
5
- import type { ChangePasswordData, DeleteAccountData, GetSubscriptionsAdminData, GetSubscriptionsData, GetOrganizationsNoAdminData, GetOrganizationsAdminData, GetFriendsAdminData } from "./EndpointApi.types.js";
5
+ import type { ChangePasswordData, DeleteAccountData, GetSubscriptionsAdminData, GetSubscriptionsData, GetOrganizationsNoAdminData, GetOrganizationsAdminData, GetUserEligiblePlacesData, GetFriendsAdminData } from "./EndpointApi.types.js";
6
6
  import type { Organization } from "./Organization.js";
7
7
  import type { NotificationItemData } from "./serverDataType/Notification.js";
8
8
  import type { EntityTypes } from "@/types/entities.js";
@@ -161,6 +161,20 @@ export declare class User extends BaseEntity<UserItemNormalized> {
161
161
  getOrganizations(data?: Partial<GetOrganizationsAdminData | GetOrganizationsNoAdminData>, options?: {
162
162
  restoredState?: PaginatorState;
163
163
  }): Promise<PaginatorPage<Organization>>;
164
+ /**
165
+ * Récupère les lieux (organizations) memberOf de l'utilisateur, filtrés
166
+ * côté serveur par des filters arbitraires (tags, source.key, etc.) et
167
+ * un flag `notSourceKey` configurables.
168
+ *
169
+ * Mirroir de `getOrganizations` mais permet de passer dynamiquement les
170
+ * filtres du finder du formulaire (vue collaborative coform/place), pour
171
+ * que la pagination soit correcte (filtrage côté serveur, pas côté client).
172
+ *
173
+ * Constant : GET_USER_ELIGIBLE_PLACES
174
+ */
175
+ getEligiblePlaces(data?: Partial<GetUserEligiblePlacesData>, options?: {
176
+ restoredState?: PaginatorState;
177
+ }): Promise<PaginatorPage<Organization>>;
164
178
  /**
165
179
  * {@inheritDoc BaseEntity#getProjects}
166
180
  *
@@ -133,4 +133,24 @@ export interface FormItemNormalized {
133
133
  useBannerImg?: boolean;
134
134
  [key: string]: unknown;
135
135
  }
136
+ /**
137
+ * Une contribution individuelle à une table commune (commonTable) d'un coform.
138
+ * Retournée par `Form.getCommonTableContributors()` (endpoint GET_COFORM_COMMONTABLE_CONTRIBUTORS).
139
+ * Plusieurs entrées possibles pour un même `userId` (plusieurs solutions au même usage).
140
+ */
141
+ export interface CoformCommonTableContributor {
142
+ userId: string;
143
+ userName?: string;
144
+ userSlug?: string;
145
+ criteriaId: string;
146
+ /** Nom de la solution saisie. */
147
+ criteria: string;
148
+ /** love | happySmile | neutral | sad | cry | "" */
149
+ happiness?: string;
150
+ /** Note de 0 à 5. */
151
+ note?: number;
152
+ comment?: string;
153
+ fromAnswerId?: string;
154
+ [k: string]: unknown;
155
+ }
136
156
  export {};