@communecter/cocolight-api-client 1.0.193 → 1.0.195
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/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/Action.d.ts +11 -2
- package/types/api/Answer.d.ts +226 -8
- package/types/api/EndpointApi.d.ts +41 -1
- package/types/api/EndpointApi.types.d.ts +127 -0
- package/types/api/Event.d.ts +6 -1
- package/types/api/Organization.d.ts +14 -1
- package/types/api/Project.d.ts +6 -1
- package/types/endpoints.module.d.ts +3403 -1083
- package/types/index.d.ts +1 -1
package/package.json
CHANGED
package/types/api/Action.d.ts
CHANGED
|
@@ -12,6 +12,14 @@ import type { ActionItemNormalized } from "./serverDataType/Action.js";
|
|
|
12
12
|
* - `_add()` : COSTUM_PROJECT_ACTION_REQUEST_NEW (parentId/parentType injectés depuis le parent)
|
|
13
13
|
* - `_update()` : UPDATE_PATH_VALUE field par field via CUSTOM_FIELD_HANDLERS
|
|
14
14
|
* (pas d'endpoint dédié par bloc côté backend — on dispatche chaque champ modifié)
|
|
15
|
+
*
|
|
16
|
+
* Droits (gardes client) :
|
|
17
|
+
* - `_update()` : **auteur** (`serverData.creator`), **admin du projet parent** (via
|
|
18
|
+
* hiérarchie), ou **contributeur assigné** (`links.contributors[userId]`) ;
|
|
19
|
+
* - `delete()` : auteur ou admin seulement — supprimer est plus fort que corriger.
|
|
20
|
+
*
|
|
21
|
+
* Ces gardes restent indicatifs : l'autorité est le backend, qui pour l'édition accepte
|
|
22
|
+
* tout membre du projet parent (`Authorisation::canEditItem` → `canParticipate`).
|
|
15
23
|
*/
|
|
16
24
|
export declare class Action extends BaseEntity<ActionItemNormalized> {
|
|
17
25
|
static entityType: string;
|
|
@@ -263,8 +271,9 @@ export declare class Action extends BaseEntity<ActionItemNormalized> {
|
|
|
263
271
|
* - Project : regarde `user.serverData.links.projects[projectId]` (sens user→project)
|
|
264
272
|
* - Action : regarde `action.serverData.links.contributors[userId]` (sens inverse)
|
|
265
273
|
*
|
|
266
|
-
*
|
|
267
|
-
*
|
|
274
|
+
* Être contributeur assigné suffit à MODIFIER l'action (`_update` accepte auteur,
|
|
275
|
+
* admin du projet parent, ou contributeur), mais **pas à la supprimer** : `delete()`
|
|
276
|
+
* exige auteur ou admin.
|
|
268
277
|
*
|
|
269
278
|
* @param options.silent si `false`, throw en cas de précondition manquante. Par défaut `true`.
|
|
270
279
|
*/
|
package/types/api/Answer.d.ts
CHANGED
|
@@ -43,6 +43,70 @@ export interface GenerateProjectResult {
|
|
|
43
43
|
export interface GenerateMilestoneFromDepenseResult {
|
|
44
44
|
milestoneId: string;
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Statut de paiement d'une ligne de financement, dans le vocabulaire du serveur.
|
|
48
|
+
*
|
|
49
|
+
* ⚠️ `payed` (sic) est la valeur réellement écrite par `Aap::recomputeFinancerPayment`
|
|
50
|
+
* (Aap.php:7179) — ce n'est pas `paid`. Traduire à l'affichage si besoin, mais ne
|
|
51
|
+
* jamais « corriger » la valeur stockée.
|
|
52
|
+
*/
|
|
53
|
+
export type FinancerPaymentStatus = "unpaid" | "partial" | "payed";
|
|
54
|
+
/** Un versement journalisé dans `financer[i].payment.logs[]`. */
|
|
55
|
+
export interface FinancerPaymentLog {
|
|
56
|
+
invoiceId?: string;
|
|
57
|
+
financerId?: string;
|
|
58
|
+
financerName?: string;
|
|
59
|
+
finkey?: string;
|
|
60
|
+
amount?: number;
|
|
61
|
+
/** `"manual"` | `"stripe"` | `"helloasso"`. */
|
|
62
|
+
type?: string;
|
|
63
|
+
date?: unknown;
|
|
64
|
+
/** `"pending"` tant que le porteur n'a pas confirmé la réception des fonds. */
|
|
65
|
+
confirmation?: "pending" | "validated";
|
|
66
|
+
paidBy?: string;
|
|
67
|
+
validatedAt?: unknown;
|
|
68
|
+
validatedBy?: string;
|
|
69
|
+
/** Référence du prestataire de paiement, pour un encaissement en ligne. */
|
|
70
|
+
transactionId?: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Bloc `payment` d'une ligne de financement, recalculé par le serveur à chaque
|
|
74
|
+
* versement et à chaque validation.
|
|
75
|
+
*
|
|
76
|
+
* ⚠️ Seuls les logs `validated` alimentent `paidAmount` : un versement encaissé
|
|
77
|
+
* mais non confirmé figure en `pendingAmount`, et `status` reste `"unpaid"`.
|
|
78
|
+
*/
|
|
79
|
+
export interface FinancerPaymentBlock {
|
|
80
|
+
logs?: FinancerPaymentLog[];
|
|
81
|
+
paidAmount?: number;
|
|
82
|
+
pendingAmount?: number;
|
|
83
|
+
status?: FinancerPaymentStatus;
|
|
84
|
+
}
|
|
85
|
+
/** Résultat de `Answer.addFinancer()`. `finkey` est la clé stable de la ligne créée. */
|
|
86
|
+
export interface AddFinancerResult {
|
|
87
|
+
depenseKey: string;
|
|
88
|
+
finkey: string;
|
|
89
|
+
finIndex?: number;
|
|
90
|
+
}
|
|
91
|
+
/** Résultat de `Answer.payFinancer()`. */
|
|
92
|
+
export interface PayFinancerResult {
|
|
93
|
+
/** Identifiant du versement — à conserver pour le valider ensuite. */
|
|
94
|
+
invoiceId: string;
|
|
95
|
+
/** `"validated"` seulement si celui qui enregistre administre le projet receveur. */
|
|
96
|
+
confirmation: "pending" | "validated";
|
|
97
|
+
/** Bloc `payment` tel que le serveur l'a recalculé après le versement. */
|
|
98
|
+
payment?: FinancerPaymentBlock;
|
|
99
|
+
}
|
|
100
|
+
/** Résultat de `Answer.validateFinancerPayment()`. */
|
|
101
|
+
export interface ValidateFinancerPaymentResult {
|
|
102
|
+
invoiceId: string;
|
|
103
|
+
confirmation: "validated";
|
|
104
|
+
}
|
|
105
|
+
/** Résultat de `Answer.deleteFinancer()`. `remaining` = financeurs restants sur la dépense. */
|
|
106
|
+
export interface DeleteFinancerResult {
|
|
107
|
+
depenseKey: string;
|
|
108
|
+
remaining: number;
|
|
109
|
+
}
|
|
46
110
|
/** Un axe du radar multi-eval (= un input radioNew d'une step donnée). */
|
|
47
111
|
export interface MultiEvalAxis {
|
|
48
112
|
key: string;
|
|
@@ -272,27 +336,42 @@ export declare class Answer extends BaseEntity<AnswerItemNormalized> {
|
|
|
272
336
|
* - `serverData` et `draftData` sont vidés (sans casser la réactivité)
|
|
273
337
|
* - `_isDeleted = true` → toute mutation ultérieure (`save`, `get`, etc.) throw
|
|
274
338
|
*
|
|
275
|
-
* **Guard** : autorisation côté client si
|
|
339
|
+
* **Guard** (déléguée à `_deleteViaElement`) : autorisation côté client si
|
|
340
|
+
* l'utilisateur courant est :
|
|
341
|
+
* - **super-admin**, ou **admin de costum** dont le droit a été pré-résolu par
|
|
342
|
+
* l'appelant via `setCostumAdminAuthorized()` — parité du backend
|
|
343
|
+
* `canDeleteElement` (`isUserSuperAdmin` puis `isCostumAdmin`) ; OU
|
|
276
344
|
* - l'**auteur** de l'Answer (`serverData.user === userId`), OU
|
|
277
345
|
* - **admin** d'un parent du Form (org/project) via la hiérarchie
|
|
278
|
-
* (`form.serverData.parent[orgId]` × `userContext.links.memberOf[orgId].isAdmin`)
|
|
346
|
+
* (`form.serverData.parent[orgId]` × `userContext.links.memberOf[orgId].isAdmin`),
|
|
347
|
+
* résolue par l'override `Answer._isAdminViaHierarchy`.
|
|
279
348
|
*
|
|
280
|
-
*
|
|
281
|
-
* l'override `Answer._isAdminViaHierarchy` (remonte via parent instance Form).
|
|
282
|
-
*
|
|
283
|
-
* **Pré-requis** :
|
|
349
|
+
* **Pré-requis** pour la branche hiérarchie :
|
|
284
350
|
* - `this.parent` doit être un Form (cas `form.answer({id})`)
|
|
285
351
|
* - `userContext` (User connecté) doit avoir `serverData.links` chargés (cas `api.me()`)
|
|
286
|
-
* Sans ces pré-requis,
|
|
352
|
+
* Sans ces pré-requis, seuls `isAuthor` et le droit élevé peuvent autoriser.
|
|
353
|
+
*
|
|
354
|
+
* ⚠️ `isAuthor()` lit `serverData.user`, que `findanswered` REMPLACE par
|
|
355
|
+
* l'entité d'affichage (l'organisation, sur une réponse portée par une orga) ;
|
|
356
|
+
* le déposant reste dans `serverData.userId`. Sur ces réponses-là, la branche
|
|
357
|
+
* auteur ne reconnaît donc pas le véritable auteur.
|
|
358
|
+
*
|
|
359
|
+
* Le serveur reste la source de vérité dans tous les cas.
|
|
287
360
|
*
|
|
288
361
|
* @param reason - Raison libre transmise au backend (audit). Défaut : `"delete coform answer"`.
|
|
289
362
|
* @throws {ApiError} 400 si l'Answer n'a pas d'id (jamais sauvegardée).
|
|
290
|
-
* @throws {ApiError} 403 si ni auteur ni admin du parent.
|
|
363
|
+
* @throws {ApiError} 403 si ni droit élevé, ni auteur, ni admin du parent.
|
|
291
364
|
*
|
|
292
365
|
* @example
|
|
293
366
|
* const answer = await form.answer({ id: "..." });
|
|
294
367
|
* await answer.delete(); // OK si auteur OU admin org/project parent du Form
|
|
295
368
|
* answer._isDeleted; // true
|
|
369
|
+
*
|
|
370
|
+
* @example
|
|
371
|
+
* // Admin de costum : poser le droit AVANT l'appel, sinon la garde client refuse.
|
|
372
|
+
* const answer = await form.answer({ id: "..." });
|
|
373
|
+
* answer.setCostumAdminAuthorized();
|
|
374
|
+
* await answer.delete();
|
|
296
375
|
*/
|
|
297
376
|
delete(reason?: string): Promise<void>;
|
|
298
377
|
/**
|
|
@@ -440,6 +519,145 @@ export declare class Answer extends BaseEntity<AnswerItemNormalized> {
|
|
|
440
519
|
* const { milestoneId } = await answer.generateMilestoneFromDepense("0");
|
|
441
520
|
*/
|
|
442
521
|
generateMilestoneFromDepense(depenseKey: string): Promise<GenerateMilestoneFromDepenseResult>;
|
|
522
|
+
/**
|
|
523
|
+
* Traduit une réponse d'échec du dispatcher `coremuoperation` en `ApiError`.
|
|
524
|
+
*
|
|
525
|
+
* Le backend répond toujours HTTP 200 avec `{success: 0, msg}` (ou
|
|
526
|
+
* `{success: 0, content}` pour la validation du dispatcher) : sans cette
|
|
527
|
+
* traduction, un refus de droits passerait pour un succès. Le code HTTP est
|
|
528
|
+
* déduit du message, seule information que le serveur donne sur la nature du
|
|
529
|
+
* refus (`Aap.php:7285-7618`).
|
|
530
|
+
*/
|
|
531
|
+
private static financerOperationError;
|
|
532
|
+
/**
|
|
533
|
+
* Ajoute une promesse de financement sur une dépense de cette Answer.
|
|
534
|
+
*
|
|
535
|
+
* L'entrée écrite dans `answers.aapStep1.depense.<depenseKey>.financer[]` est
|
|
536
|
+
* construite **par le serveur**, au format canonique : `finkey` (clé stable de
|
|
537
|
+
* la ligne), `line`, `status: "pending"` et `payment: {logs: []}`. Ne jamais
|
|
538
|
+
* fabriquer cette entrée côté client — `finkey` vient de `random_bytes` serveur,
|
|
539
|
+
* et les agrégats de `payment` sont recalculés à chaque versement.
|
|
540
|
+
*
|
|
541
|
+
* Préférer `milestoneId` à `depenseKey` : le serveur résout alors la clé
|
|
542
|
+
* lui-même, ce qui évite de confondre la **clé** du sous-document dépense
|
|
543
|
+
* (ex. `"3"`) avec sa **position** dans la liste densifiée — `depense` arrive
|
|
544
|
+
* parfois en objet à clés creuses.
|
|
545
|
+
*
|
|
546
|
+
* Constant : `COREMU_ADD_FINANCER` (POST `/co2/aap/coremuoperation/`, auth bearer —
|
|
547
|
+
* le backend lit `Yii::app()->session['userId']`, alimentée par le JWT).
|
|
548
|
+
*
|
|
549
|
+
* @param opts.financerId - Qui s'engage : soi-même, une organisation qu'on
|
|
550
|
+
* administre, ou un tiers si l'on est porteur du projet.
|
|
551
|
+
* @param opts.amount - Montant engagé, strictement positif.
|
|
552
|
+
* @param opts.milestoneId - Jalon visé (recommandé).
|
|
553
|
+
* @param opts.depenseKey - Clé de la dépense — requise seulement sans `milestoneId`.
|
|
554
|
+
* @returns `{ depenseKey, finkey, finIndex }` — conserver `finkey` : c'est par
|
|
555
|
+
* elle que se cible le versement.
|
|
556
|
+
* @throws {ApiError} 400 si Answer sans id, si ni `milestoneId` ni `depenseKey`
|
|
557
|
+
* n'est fourni, ou si la dépense est introuvable.
|
|
558
|
+
* @throws {ApiError} 403 si l'on ne peut pas s'engager pour ce financeur.
|
|
559
|
+
* @throws {ApiAuthenticationError} si non connecté.
|
|
560
|
+
*
|
|
561
|
+
* @example
|
|
562
|
+
* const { finkey, depenseKey } = await answer.addFinancer({
|
|
563
|
+
* milestoneId, financerId: me.id, amount: 1000,
|
|
564
|
+
* });
|
|
565
|
+
*/
|
|
566
|
+
addFinancer(opts: {
|
|
567
|
+
financerId: string;
|
|
568
|
+
amount: number;
|
|
569
|
+
milestoneId?: string;
|
|
570
|
+
depenseKey?: string;
|
|
571
|
+
}): Promise<AddFinancerResult>;
|
|
572
|
+
/**
|
|
573
|
+
* Enregistre un versement sur une promesse de financement de cette Answer.
|
|
574
|
+
*
|
|
575
|
+
* ⚠️ Le montant n'est **comptabilisé** (`payment.paidAmount`) qu'une fois le
|
|
576
|
+
* versement validé par le porteur. Le log naît `confirmation: "validated"`
|
|
577
|
+
* seulement si celui qui enregistre administre le projet receveur ; sinon il
|
|
578
|
+
* naît `"pending"`. Un encaissement Stripe/HelloAsso par un tiers est donc
|
|
579
|
+
* réellement encaissé mais compté en `pendingAmount` jusqu'à confirmation —
|
|
580
|
+
* l'UI ne doit pas annoncer « non payé » à qui vient de régler par carte.
|
|
581
|
+
*
|
|
582
|
+
* Toujours passer `finkey` : le ciblage par position casse dès qu'une
|
|
583
|
+
* insertion concurrente décale `financer[]`.
|
|
584
|
+
*
|
|
585
|
+
* Constant : `COREMU_PAY_FINANCER` (POST `/co2/aap/coremuoperation/`, auth bearer).
|
|
586
|
+
*
|
|
587
|
+
* @param opts.amount - Montant versé. Un versement partiel est légitime.
|
|
588
|
+
* @param opts.paymentType - `"manual"` (défaut), `"stripe"` ou `"helloasso"`.
|
|
589
|
+
* @param opts.transactionId - Référence du prestataire de paiement, journalisée
|
|
590
|
+
* avec le versement.
|
|
591
|
+
* @returns `{ invoiceId, confirmation, payment }` — `invoiceId` sert à valider
|
|
592
|
+
* le versement ensuite.
|
|
593
|
+
* @throws {ApiError} 400 si Answer sans id ou arguments invalides ; 403 si l'on
|
|
594
|
+
* ne peut pas verser pour ce financeur ; 404 si la ligne est introuvable.
|
|
595
|
+
* @throws {ApiAuthenticationError} si non connecté.
|
|
596
|
+
*
|
|
597
|
+
* @example
|
|
598
|
+
* const { invoiceId, payment } = await answer.payFinancer({
|
|
599
|
+
* depenseKey, financerId, finkey, amount: 500, paymentType: "stripe",
|
|
600
|
+
* });
|
|
601
|
+
* payment.status; // "unpaid" tant que le porteur n'a pas validé
|
|
602
|
+
*/
|
|
603
|
+
payFinancer(opts: {
|
|
604
|
+
depenseKey: string;
|
|
605
|
+
financerId: string;
|
|
606
|
+
amount: number;
|
|
607
|
+
finkey?: string;
|
|
608
|
+
finIndex?: number;
|
|
609
|
+
paymentType?: string;
|
|
610
|
+
transactionId?: string;
|
|
611
|
+
}): Promise<PayFinancerResult>;
|
|
612
|
+
/**
|
|
613
|
+
* Valide un versement reçu : le porteur confirme avoir touché les fonds.
|
|
614
|
+
*
|
|
615
|
+
* C'est ce passage à `validated` qui fait entrer le montant dans
|
|
616
|
+
* `payment.paidAmount` — avant lui, l'argent figure en `pendingAmount`.
|
|
617
|
+
* Réservé à l'admin du projet, à l'admin de l'organisation parente ou à un
|
|
618
|
+
* super-admin : le financeur ne valide pas son propre versement.
|
|
619
|
+
*
|
|
620
|
+
* Constant : `COREMU_VALIDATE_FINANCER_PAYMENT` (POST `/co2/aap/coremuoperation/`, auth bearer).
|
|
621
|
+
*
|
|
622
|
+
* @param opts.invoiceId - Identifiant du versement, rendu par `payFinancer`.
|
|
623
|
+
* @throws {ApiError} 400 si Answer sans id ou arguments manquants ; 403 si l'on
|
|
624
|
+
* n'administre pas le projet ; 404 si aucun log ne porte cet `invoiceId`.
|
|
625
|
+
* @throws {ApiAuthenticationError} si non connecté.
|
|
626
|
+
*
|
|
627
|
+
* @example
|
|
628
|
+
* await answer.validateFinancerPayment({ depenseKey, invoiceId });
|
|
629
|
+
*/
|
|
630
|
+
validateFinancerPayment(opts: {
|
|
631
|
+
depenseKey: string;
|
|
632
|
+
invoiceId: string;
|
|
633
|
+
}): Promise<ValidateFinancerPaymentResult>;
|
|
634
|
+
/**
|
|
635
|
+
* Retire une promesse de financement de cette Answer.
|
|
636
|
+
*
|
|
637
|
+
* **Refusé (409) dès que la ligne porte un versement**, même non validé :
|
|
638
|
+
* supprimer la promesse effacerait la trace de l'argent.
|
|
639
|
+
*
|
|
640
|
+
* Droits plus étroits que pour l'ajout : seul le financeur, ou l'admin de
|
|
641
|
+
* l'organisation financeuse, peut retirer un engagement — administrer le projet
|
|
642
|
+
* receveur ne suffit pas.
|
|
643
|
+
*
|
|
644
|
+
* Constant : `COREMU_DELETE_FINANCER` (POST `/co2/aap/coremuoperation/`, auth bearer).
|
|
645
|
+
*
|
|
646
|
+
* @returns `{ depenseKey, remaining }` — `remaining` = financeurs restants sur la dépense.
|
|
647
|
+
* @throws {ApiError} 400 si Answer sans id ou arguments manquants ; 403 si l'on
|
|
648
|
+
* ne peut pas agir pour ce financeur ; 404 si la ligne est introuvable ;
|
|
649
|
+
* 409 si un versement y est déjà rattaché.
|
|
650
|
+
* @throws {ApiAuthenticationError} si non connecté.
|
|
651
|
+
*
|
|
652
|
+
* @example
|
|
653
|
+
* const { remaining } = await answer.deleteFinancer({ depenseKey, financerId, finkey });
|
|
654
|
+
*/
|
|
655
|
+
deleteFinancer(opts: {
|
|
656
|
+
depenseKey: string;
|
|
657
|
+
financerId: string;
|
|
658
|
+
finkey?: string;
|
|
659
|
+
finIndex?: number;
|
|
660
|
+
}): Promise<DeleteFinancerResult>;
|
|
443
661
|
/**
|
|
444
662
|
* Récupère les datasets agrégés des évaluations multiples (radar) de cette
|
|
445
663
|
* Answer. Pour une réponse partagée contenant des inputs `radioNew` avec
|
|
@@ -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, 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, 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, CostumProjectActionRequestNewData, CostumProjectActionRequestSetStatusData, CostumProjectActionRequestSetDateData, CostumProjectActionRequestSetContributorsData, CostumProjectActionRequestCancelData, CostumProjectActionRequestArchiveData, LinkDiscourseAccountData, UnlinkDiscourseAccountData, DiscourseProfileData, DiscourseCheckEmailData, DiscourseDismissLinkData, LinkMediawikiAccountData, UnlinkMediawikiAccountData, GetMediawikiContributionsData, AddClassifiedData, PersonActivateData, PersonValidateInvitationData, ValidateInvitationByMailData, ImportPreviewData, ExportElementsData, ImportElementsData, GeocodageData, ValidateGroupData, SetSourceData, TransferSourceCheckData, TransferSourceApplyData, TransferSourceRollbackData, TransferSourceHistoryData, ModerateData, NewsModerateData, CommentModerateData, UploadDocumentData, ZoneGetShapeData, ZoneGetZonirisData, CostumListValuesData, CostumResolvedData, DirectoryProposalData, DirectoryProposalCountData, DirectoryProposalNewCounterData } from "./EndpointApi.types.js";
|
|
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, 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, 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 } from "./EndpointApi.types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Classe EndpointApi générée automatiquement depuis endpoints-copie.json
|
|
5
5
|
*/
|
|
@@ -1380,6 +1380,46 @@ export declare class EndpointApi {
|
|
|
1380
1380
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1381
1381
|
*/
|
|
1382
1382
|
coremuOperation(data: CoremuOperationData): Promise<any>;
|
|
1383
|
+
/**
|
|
1384
|
+
* Ajouter une promesse de financement sur une dépense : Crée un engagement de financement dans answers.aapStep1.depense.<depenseKey>.financer[] au format canonique : {line:'', amount, user, date, name, id, type, status:'pending', finkey, payment:{logs:[]}}. La `finkey` (clé stable de la ligne) et le nom/type du financeur sont résolus SERVEUR — ne jamais les envoyer. Aap::addFinancerEngagement (Aap.php:7285-7362). Droits : financeur lui-même, admin de l'organisation financeuse, ou porteur du projet (Aap.php:7313). Dispatch : CoremuOperationAction.php:175-186 (switch sur $_POST['action']), route déclarée dans modules/co2/controllers/AapController.php:74. auth bearer : le backend lit Yii::app()->session['userId'], alimentée par le JWT via CommunecterController::beforeAction → Authorisation::isJwtconnected → Person::saveUserSessionData.
|
|
1385
|
+
* Constant : COREMU_ADD_FINANCER
|
|
1386
|
+
* @param data - Données envoyées à l'API
|
|
1387
|
+
* @returns Les données de réponse.
|
|
1388
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1389
|
+
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1390
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
1391
|
+
*/
|
|
1392
|
+
coremuAddFinancer(data: CoremuAddFinancerData): Promise<any>;
|
|
1393
|
+
/**
|
|
1394
|
+
* Enregistrer un versement sur une promesse de financement : Pousse un log dans financer[i].payment.logs[] et recalcule paidAmount/pendingAmount/status. `invoiceId` est généré serveur ('FIN-'+YmdHis+'-'+5 premiers car. du financerId). Le log naît confirmation:'validated' si le payeur administre le projet receveur, sinon 'pending' — un encaissement Stripe/HelloAsso par un tiers reste donc en attente de confirmation du porteur, et n'entre PAS dans paidAmount tant qu'il n'est pas validé. Aap::payFinancerEngagement (Aap.php:7468-7562). Dispatch : CoremuOperationAction.php:175-186 (switch sur $_POST['action']), route déclarée dans modules/co2/controllers/AapController.php:74. auth bearer : le backend lit Yii::app()->session['userId'], alimentée par le JWT via CommunecterController::beforeAction → Authorisation::isJwtconnected → Person::saveUserSessionData.
|
|
1395
|
+
* Constant : COREMU_PAY_FINANCER
|
|
1396
|
+
* @param data - Données envoyées à l'API
|
|
1397
|
+
* @returns Les données de réponse.
|
|
1398
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1399
|
+
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1400
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
1401
|
+
*/
|
|
1402
|
+
coremuPayFinancer(data: CoremuPayFinancerData): Promise<any>;
|
|
1403
|
+
/**
|
|
1404
|
+
* Valider un versement reçu sur une promesse de financement : Le porteur confirme avoir reçu les fonds : passe le log d'`invoiceId` à confirmation:'validated', pose validatedAt/validatedBy, puis recalcule le bloc payment — c'est ce passage qui fait entrer le montant dans paidAmount. Réservé à l'admin du projet, l'admin de l'organisation parente ou un super-admin (Aap.php:7577). Aap::validateFinancerPayment (Aap.php:7559-7618). Dispatch : CoremuOperationAction.php:175-186 (switch sur $_POST['action']), route déclarée dans modules/co2/controllers/AapController.php:74. auth bearer : le backend lit Yii::app()->session['userId'], alimentée par le JWT via CommunecterController::beforeAction → Authorisation::isJwtconnected → Person::saveUserSessionData.
|
|
1405
|
+
* Constant : COREMU_VALIDATE_FINANCER_PAYMENT
|
|
1406
|
+
* @param data - Données envoyées à l'API
|
|
1407
|
+
* @returns Les données de réponse.
|
|
1408
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1409
|
+
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1410
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
1411
|
+
*/
|
|
1412
|
+
coremuValidateFinancerPayment(data: CoremuValidateFinancerPaymentData): Promise<any>;
|
|
1413
|
+
/**
|
|
1414
|
+
* Retirer une promesse de financement : Retire un engagement de financer[]. REFUSÉ si la ligne porte le moindre versement, même non validé : effacer la promesse effacerait la trace de l'argent (Aap.php:7408-7414). Droits plus étroits que pour l'ajout — seul le financeur ou l'admin de l'organisation financeuse peut retirer ; administrer le projet receveur ne suffit PAS (Aap.php:7404). Aap::deleteFinancerEngagement (Aap.php:7377-7430). Dispatch : CoremuOperationAction.php:175-186 (switch sur $_POST['action']), route déclarée dans modules/co2/controllers/AapController.php:74. auth bearer : le backend lit Yii::app()->session['userId'], alimentée par le JWT via CommunecterController::beforeAction → Authorisation::isJwtconnected → Person::saveUserSessionData.
|
|
1415
|
+
* Constant : COREMU_DELETE_FINANCER
|
|
1416
|
+
* @param data - Données envoyées à l'API
|
|
1417
|
+
* @returns Les données de réponse.
|
|
1418
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1419
|
+
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1420
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
1421
|
+
*/
|
|
1422
|
+
coremuDeleteFinancer(data: CoremuDeleteFinancerData): Promise<any>;
|
|
1383
1423
|
/**
|
|
1384
1424
|
* Ajouter nouvel action : Crée une nouvelle action rattachée à un projet.
|
|
1385
1425
|
* Constant : COSTUM_PROJECT_ACTION_REQUEST_NEW
|
|
@@ -2102,6 +2102,10 @@ export interface GetMembersNoAdminData {
|
|
|
2102
2102
|
* Flag pour ne pas filtrer sur une clé de source spécifique
|
|
2103
2103
|
*/
|
|
2104
2104
|
notSourceKey: true;
|
|
2105
|
+
/**
|
|
2106
|
+
* Liste des champs à retourner
|
|
2107
|
+
*/
|
|
2108
|
+
fields?: string[];
|
|
2105
2109
|
filters: {
|
|
2106
2110
|
[k: string]: unknown;
|
|
2107
2111
|
};
|
|
@@ -2180,6 +2184,10 @@ export interface GetMembersAdminData {
|
|
|
2180
2184
|
* Flag pour ne pas filtrer sur une clé de source spécifique
|
|
2181
2185
|
*/
|
|
2182
2186
|
notSourceKey: true;
|
|
2187
|
+
/**
|
|
2188
|
+
* Liste des champs à retourner
|
|
2189
|
+
*/
|
|
2190
|
+
fields?: string[];
|
|
2183
2191
|
filters: {
|
|
2184
2192
|
[k: string]: unknown;
|
|
2185
2193
|
};
|
|
@@ -2624,6 +2632,10 @@ export interface GetContributorsNoAdminData {
|
|
|
2624
2632
|
* Flag pour ne pas filtrer sur une clé de source spécifique
|
|
2625
2633
|
*/
|
|
2626
2634
|
notSourceKey: true;
|
|
2635
|
+
/**
|
|
2636
|
+
* Liste des champs à retourner
|
|
2637
|
+
*/
|
|
2638
|
+
fields?: string[];
|
|
2627
2639
|
filters: {
|
|
2628
2640
|
[k: string]: unknown;
|
|
2629
2641
|
};
|
|
@@ -2702,6 +2714,10 @@ export interface GetContributorsAdminData {
|
|
|
2702
2714
|
* Flag pour ne pas filtrer sur une clé de source spécifique
|
|
2703
2715
|
*/
|
|
2704
2716
|
notSourceKey: true;
|
|
2717
|
+
/**
|
|
2718
|
+
* Liste des champs à retourner
|
|
2719
|
+
*/
|
|
2720
|
+
fields?: string[];
|
|
2705
2721
|
filters: {
|
|
2706
2722
|
[k: string]: unknown;
|
|
2707
2723
|
};
|
|
@@ -5691,6 +5707,10 @@ export interface GetAttendeesNoAdminData {
|
|
|
5691
5707
|
* Flag pour ne pas filtrer sur une clé de source spécifique
|
|
5692
5708
|
*/
|
|
5693
5709
|
notSourceKey: true;
|
|
5710
|
+
/**
|
|
5711
|
+
* Liste des champs à retourner
|
|
5712
|
+
*/
|
|
5713
|
+
fields?: string[];
|
|
5694
5714
|
filters: {
|
|
5695
5715
|
[k: string]: unknown;
|
|
5696
5716
|
};
|
|
@@ -5764,6 +5784,10 @@ export interface GetAttendeesAdminData {
|
|
|
5764
5784
|
* Flag pour ne pas filtrer sur une clé de source spécifique
|
|
5765
5785
|
*/
|
|
5766
5786
|
notSourceKey: true;
|
|
5787
|
+
/**
|
|
5788
|
+
* Liste des champs à retourner
|
|
5789
|
+
*/
|
|
5790
|
+
fields?: string[];
|
|
5767
5791
|
filters: {
|
|
5768
5792
|
[k: string]: unknown;
|
|
5769
5793
|
};
|
|
@@ -6741,6 +6765,109 @@ export interface CoremuOperationData {
|
|
|
6741
6765
|
project: string;
|
|
6742
6766
|
[k: string]: unknown;
|
|
6743
6767
|
}
|
|
6768
|
+
export interface CoremuAddFinancerData {
|
|
6769
|
+
/**
|
|
6770
|
+
* Action du dispatcher.
|
|
6771
|
+
*/
|
|
6772
|
+
action: "addFinancer";
|
|
6773
|
+
/**
|
|
6774
|
+
* ID de la réponse (collection answers) portant la dépense.
|
|
6775
|
+
*/
|
|
6776
|
+
answer: string;
|
|
6777
|
+
/**
|
|
6778
|
+
* Jalon visé. PRÉFÉRER ce champ à `depenseKey` : le serveur résout la clé lui-même (findDepenseKeyForMilestone, Aap.php:7436-7456), ce qui évite le piège position/clé du tableau `depense`.
|
|
6779
|
+
*/
|
|
6780
|
+
milestoneId?: string;
|
|
6781
|
+
/**
|
|
6782
|
+
* Clé du sous-document dépense — la CLÉ Mongo (ex. "3"), PAS la position dans la liste densifiée. Requis seulement si `milestoneId` est absent (dépense orpheline).
|
|
6783
|
+
*/
|
|
6784
|
+
depenseKey?: string;
|
|
6785
|
+
/**
|
|
6786
|
+
* ID du financeur (citoyen, organisation ou projet).
|
|
6787
|
+
*/
|
|
6788
|
+
financerId: string;
|
|
6789
|
+
/**
|
|
6790
|
+
* Montant engagé, strictement positif.
|
|
6791
|
+
*/
|
|
6792
|
+
amount: number;
|
|
6793
|
+
[k: string]: unknown;
|
|
6794
|
+
}
|
|
6795
|
+
export interface CoremuPayFinancerData {
|
|
6796
|
+
action: "payFinancer";
|
|
6797
|
+
/**
|
|
6798
|
+
* ID de la réponse portant la dépense.
|
|
6799
|
+
*/
|
|
6800
|
+
answer: string;
|
|
6801
|
+
/**
|
|
6802
|
+
* Clé du sous-document dépense (CLÉ Mongo, pas la position).
|
|
6803
|
+
*/
|
|
6804
|
+
depenseKey: string;
|
|
6805
|
+
/**
|
|
6806
|
+
* ID du financeur dont on règle l'engagement.
|
|
6807
|
+
*/
|
|
6808
|
+
financerId: string;
|
|
6809
|
+
/**
|
|
6810
|
+
* Clé stable de la ligne visée — TOUJOURS l'envoyer. Le ciblage par position (`finIndex`) casse dès qu'une insertion concurrente décale le tableau. Résolution : finIndex → finkey → premier id (Aap.php:7131-7152).
|
|
6811
|
+
*/
|
|
6812
|
+
finkey?: string;
|
|
6813
|
+
/**
|
|
6814
|
+
* Position dans financer[] — repli pour les lignes antérieures à `finkey`.
|
|
6815
|
+
*/
|
|
6816
|
+
finIndex?: number;
|
|
6817
|
+
/**
|
|
6818
|
+
* Montant versé, strictement positif.
|
|
6819
|
+
*/
|
|
6820
|
+
amount: number;
|
|
6821
|
+
/**
|
|
6822
|
+
* Moyen du versement : 'manual' (défaut), 'stripe', 'helloasso'.
|
|
6823
|
+
*/
|
|
6824
|
+
payment_type?: string;
|
|
6825
|
+
/**
|
|
6826
|
+
* Référence du prestataire de paiement, journalisée avec le versement. Optionnelle — sans objet pour un versement manuel.
|
|
6827
|
+
*/
|
|
6828
|
+
transactionId?: string;
|
|
6829
|
+
[k: string]: unknown;
|
|
6830
|
+
}
|
|
6831
|
+
export interface CoremuValidateFinancerPaymentData {
|
|
6832
|
+
action: "validateFinancerPayment";
|
|
6833
|
+
/**
|
|
6834
|
+
* ID de la réponse portant la dépense.
|
|
6835
|
+
*/
|
|
6836
|
+
answer: string;
|
|
6837
|
+
/**
|
|
6838
|
+
* Clé du sous-document dépense (CLÉ Mongo, pas la position).
|
|
6839
|
+
*/
|
|
6840
|
+
depenseKey: string;
|
|
6841
|
+
/**
|
|
6842
|
+
* Identifiant du versement à valider, rendu par payFinancer.
|
|
6843
|
+
*/
|
|
6844
|
+
invoiceId: string;
|
|
6845
|
+
[k: string]: unknown;
|
|
6846
|
+
}
|
|
6847
|
+
export interface CoremuDeleteFinancerData {
|
|
6848
|
+
action: "deleteFinancer";
|
|
6849
|
+
/**
|
|
6850
|
+
* ID de la réponse portant la dépense.
|
|
6851
|
+
*/
|
|
6852
|
+
answer: string;
|
|
6853
|
+
/**
|
|
6854
|
+
* Clé du sous-document dépense (CLÉ Mongo, pas la position).
|
|
6855
|
+
*/
|
|
6856
|
+
depenseKey: string;
|
|
6857
|
+
/**
|
|
6858
|
+
* ID du financeur dont on retire l'engagement.
|
|
6859
|
+
*/
|
|
6860
|
+
financerId: string;
|
|
6861
|
+
/**
|
|
6862
|
+
* Clé stable de la ligne visée — à envoyer dès qu'elle existe.
|
|
6863
|
+
*/
|
|
6864
|
+
finkey?: string;
|
|
6865
|
+
/**
|
|
6866
|
+
* Position — repli pour les lignes sans `finkey`.
|
|
6867
|
+
*/
|
|
6868
|
+
finIndex?: number;
|
|
6869
|
+
[k: string]: unknown;
|
|
6870
|
+
}
|
|
6744
6871
|
export interface CostumProjectActionRequestNewData {
|
|
6745
6872
|
/**
|
|
6746
6873
|
* Nom de l'action
|
package/types/api/Event.d.ts
CHANGED
|
@@ -51,7 +51,12 @@ export declare class Event extends BaseEntity<EventItemNormalized> {
|
|
|
51
51
|
/**
|
|
52
52
|
* Récupérer les participants d'un événement.
|
|
53
53
|
* Constant : GET_ATTENDEES_NO_ADMIN
|
|
54
|
-
* @param data - Paramètres (partiels) de recherche/pagination
|
|
54
|
+
* @param data - Paramètres (partiels) de recherche/pagination (`name`, `indexStep`,
|
|
55
|
+
* `filters` complémentaires, `fields`…). Les `filters` fournis sont fusionnés avec le filtre
|
|
56
|
+
* de lien construit par le SDK, ce dernier restant prioritaire : l'appelant peut restreindre
|
|
57
|
+
* la liste (un champ de profil, par exemple) mais pas en changer la sémantique « participants ».
|
|
58
|
+
* `fields` AJOUTE des champs à la projection par défaut de la recherche (elle n'est pas remplacée) ;
|
|
59
|
+
* sans objet sur le chemin admin, où les documents reviennent complets (il y est retiré).
|
|
55
60
|
* @param options - Options supplémentaires.
|
|
56
61
|
* @param options.toBeValidated - Indique si les participants doivent être validés.
|
|
57
62
|
* @param options.isAdmin - Indique si l'utilisateur est admin.
|
|
@@ -177,7 +177,13 @@ export declare class Organization extends BaseEntity<OrganizationItemNormalized>
|
|
|
177
177
|
/**
|
|
178
178
|
* Récupérer les membres de l'organisation.
|
|
179
179
|
* Constant : GET_MEMBERS_ADMIN / GET_MEMBERS_NO_ADMIN
|
|
180
|
-
* @param data - Paramètres (partiels) de recherche/pagination
|
|
180
|
+
* @param data - Paramètres (partiels) de recherche/pagination (`name`, `indexStep`,
|
|
181
|
+
* `filters` complémentaires, `fields`…). Les `filters` fournis sont fusionnés avec le filtre
|
|
182
|
+
* membership construit par le SDK, ce dernier restant prioritaire : l'appelant peut
|
|
183
|
+
* restreindre la liste (un champ de profil, par exemple) mais pas en changer la sémantique.
|
|
184
|
+
* `fields` AJOUTE des champs à la projection par défaut de la recherche (elle n'est pas
|
|
185
|
+
* remplacée) : utile pour lire sur la liste un champ de profil qu'elle ne ramène pas. Sans objet
|
|
186
|
+
* sur le chemin admin, où les documents reviennent complets (il y est retiré).
|
|
181
187
|
* @param options - Options supplémentaires.
|
|
182
188
|
* @param options.toBeValidated - Indique si les membres doivent être validés.
|
|
183
189
|
* @param options.isAdmin - Indique si l'utilisateur est admin.
|
|
@@ -217,6 +223,13 @@ export declare class Organization extends BaseEntity<OrganizationItemNormalized>
|
|
|
217
223
|
*
|
|
218
224
|
* // Restreindre la recherche : uniquement les organisations
|
|
219
225
|
* const onlyOrgas = await organization.getMembers({}, { searchType: "organizations" });
|
|
226
|
+
*
|
|
227
|
+
* // Restreindre par un champ du profil des membres (filtre serveur, fusionné au membership)
|
|
228
|
+
* // et ramener ce champ + les contacts sur la liste (projection additive)
|
|
229
|
+
* const coordinateurs = await organization.getMembers(
|
|
230
|
+
* { filters: { territoires: "Arrageois" }, fields: ["territoires", "telephone"] },
|
|
231
|
+
* { roles: ["Coordonnateur(trice)"] }
|
|
232
|
+
* );
|
|
220
233
|
*/
|
|
221
234
|
getMembers(data?: Partial<GetMembersAdminData | GetMembersNoAdminData>, options?: {
|
|
222
235
|
toBeValidated?: boolean;
|
package/types/api/Project.d.ts
CHANGED
|
@@ -91,7 +91,12 @@ export declare class Project extends BaseEntity<ProjectItemNormalized> {
|
|
|
91
91
|
/**
|
|
92
92
|
* Récupérer les contributeurs d'un projet.
|
|
93
93
|
* Constant : GET_CONTRIBUTORS_ADMIN / GET_CONTRIBUTORS_NO_ADMIN
|
|
94
|
-
* @param data - Paramètres (partiels) de recherche/pagination
|
|
94
|
+
* @param data - Paramètres (partiels) de recherche/pagination (`name`, `indexStep`,
|
|
95
|
+
* `filters` complémentaires, `fields`…). Les `filters` fournis sont fusionnés avec le filtre
|
|
96
|
+
* de lien construit par le SDK, ce dernier restant prioritaire : l'appelant peut restreindre
|
|
97
|
+
* la liste (un champ de profil, par exemple) mais pas en changer la sémantique « contributeurs ».
|
|
98
|
+
* `fields` AJOUTE des champs à la projection par défaut de la recherche (elle n'est pas remplacée) ;
|
|
99
|
+
* sans objet sur le chemin admin, où les documents reviennent complets (il y est retiré).
|
|
95
100
|
* @param options - Options supplémentaires.
|
|
96
101
|
* @param options.toBeValidated - Indique si les contributeurs doivent être validés.
|
|
97
102
|
* @param options.isAdmin - Indique si l'utilisateur est admin.
|