@communecter/cocolight-api-client 1.0.191 → 1.0.192
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/ApiClient.d.ts +62 -1
- package/types/api/BaseEntity.d.ts +48 -0
- package/types/api/EndpointApi.types.d.ts +264 -0
- package/types/api/User.d.ts +12 -0
- package/types/api/UserApi.d.ts +19 -1
- package/types/endpoints.module.d.ts +884 -307
package/package.json
CHANGED
package/types/ApiClient.d.ts
CHANGED
|
@@ -42,6 +42,23 @@ export interface ApiClientOptions {
|
|
|
42
42
|
* un artefact périmé masque indéfiniment les champs réels. Contrepartie : plus de démarrage à froid.
|
|
43
43
|
*/
|
|
44
44
|
costumForceLive?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Identité costum du SITE APPELANT (l'entité qui porte le costum servi par ce front).
|
|
47
|
+
* C'est le pendant client de `Costum::init` côté legacy : posée UNE fois, elle est injectée
|
|
48
|
+
* automatiquement dans le payload de tout endpoint dont le contrat déclare `costumSlug`
|
|
49
|
+
* (cf. `setSiteCostum`). À ne pas confondre avec le scope d'une ENTITÉ (`BaseEntity.setCostumScope`),
|
|
50
|
+
* qui décrit la provenance/l'autorité d'un élément — ici on décrit QUI APPELLE, pas QUI EST VISÉ.
|
|
51
|
+
*/
|
|
52
|
+
siteCostum?: SiteCostumContext | null;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Identité costum du site appelant. `slug` = slug de l'ENTITÉ PORTEUSE (ex. `navigatorDesTierslieux`),
|
|
56
|
+
* jamais celui du moteur (`costumize`) : c'est ce slug qui est la clé de cache costum du legacy.
|
|
57
|
+
*/
|
|
58
|
+
export interface SiteCostumContext {
|
|
59
|
+
slug: string;
|
|
60
|
+
costumId?: string;
|
|
61
|
+
costumType?: string;
|
|
45
62
|
}
|
|
46
63
|
/**
|
|
47
64
|
* Structure des données pour les appels d'endpoint
|
|
@@ -102,7 +119,51 @@ export default class ApiClient extends EventEmitter {
|
|
|
102
119
|
private _refreshToken;
|
|
103
120
|
private _setUserId;
|
|
104
121
|
private _mode;
|
|
105
|
-
|
|
122
|
+
/** Contexte costum du SITE appelant, injecté sur les endpoints qui le déclarent (cf. setSiteCostum). */
|
|
123
|
+
private _siteCostum;
|
|
124
|
+
constructor({ baseURL, accessToken, refreshToken, refreshUrl, endpoints, timeout, debug, maxRetries, circuitBreakerThreshold, circuitBreakerResetTime, fromJSONValue, mode, tokenStorageStrategy, costumForceLive, siteCostum }: ApiClientOptions);
|
|
125
|
+
/**
|
|
126
|
+
* Déclare l'identité costum du SITE APPELANT — l'entité au nom de laquelle ce front agit.
|
|
127
|
+
*
|
|
128
|
+
* POURQUOI. Le legacy ne sait de quel costum vient une action que par `$_POST["costumSlug"]` :
|
|
129
|
+
* `CommunecterController::beforeAction` → `costumCacheParams()` réchauffe alors le cache costum
|
|
130
|
+
* AVANT l'action, et `Mail::getCustomMail`/`Mail::getAppName` y lisent le domaine (`costum.host`),
|
|
131
|
+
* le titre, le logo et l'expéditeur de l'e-mail, tandis que `Cron::save` y stampe `source.key`.
|
|
132
|
+
* Historiquement ce contexte venait du DOMAINE servi par le legacy lui-même ; dès lors que le
|
|
133
|
+
* domaine d'un costum pointe sur un front autonome, plus rien ne le porte — d'où cette déclaration.
|
|
134
|
+
*
|
|
135
|
+
* PORTÉE. Posée une fois (au démarrage du front), elle est injectée automatiquement dans le payload
|
|
136
|
+
* de **tout endpoint dont le contrat déclare `costumSlug`** — le contrat sert de liste blanche, donc
|
|
137
|
+
* aucun endpoint de recherche ou d'upload n'est pollué. Une valeur explicite passée par l'appelant,
|
|
138
|
+
* ou une enveloppe costum d'entité ({@link BaseEntity.setCostumScope}), restent prioritaires.
|
|
139
|
+
*
|
|
140
|
+
* NE PAS CONFONDRE avec le scope d'une ENTITÉ : celui-ci dit de quel costum PROVIENT un élément
|
|
141
|
+
* (son `source.key`, qui fait autorité pour l'ÉDITER) ; celui-là dit qui APPELLE. Pour brander un
|
|
142
|
+
* e-mail c'est l'appelant qui compte — une organisation créée sous le costum « meir » et invitée
|
|
143
|
+
* depuis le site « institutBleu » doit produire un e-mail « institutBleu ».
|
|
144
|
+
*
|
|
145
|
+
* @param slug slug de l'ENTITÉ PORTEUSE du costum (ex. `navigatorDesTierslieux`), jamais celui du
|
|
146
|
+
* moteur (`costumize`) : c'est la clé de cache costum du legacy.
|
|
147
|
+
* @param opts `costumId`/`costumType` = `contextId`/`contextType` de l'entité porteuse (facultatifs).
|
|
148
|
+
*/
|
|
149
|
+
setSiteCostum(slug: string | null, opts?: {
|
|
150
|
+
costumId?: string;
|
|
151
|
+
costumType?: string;
|
|
152
|
+
}): void;
|
|
153
|
+
/** Identité costum du site appelant, ou `null` si ce client n'agit au nom d'aucun costum. */
|
|
154
|
+
getSiteCostum(): {
|
|
155
|
+
costumSlug: string;
|
|
156
|
+
costumId?: string;
|
|
157
|
+
costumType?: string;
|
|
158
|
+
} | null;
|
|
159
|
+
/**
|
|
160
|
+
* L'endpoint porte-t-il le marqueur `costumContext: "request"` du contrat — c.-à-d. reçoit-il
|
|
161
|
+
* automatiquement l'identité costum du site (cf. {@link setSiteCostum}) ?
|
|
162
|
+
* Exposé pour qu'un front qui construit lui-même un payload (`callEndpoint` brut) sache s'il doit y
|
|
163
|
+
* poser le trio à la main, SANS avoir à deviner depuis le schéma : 65 endpoints déclarent `costumSlug`
|
|
164
|
+
* avec un sens métier, seuls les endpoints marqués sont concernés.
|
|
165
|
+
*/
|
|
166
|
+
hasCostumContext(constant: string): boolean;
|
|
106
167
|
/**
|
|
107
168
|
* Sets the access token for the API client and updates the authorization header.
|
|
108
169
|
*/
|
|
@@ -1893,6 +1893,54 @@ export declare class BaseEntity<TServerData = any> {
|
|
|
1893
1893
|
* court-circuiter sur ce test.
|
|
1894
1894
|
*/
|
|
1895
1895
|
hasCostumScope(): boolean;
|
|
1896
|
+
/**
|
|
1897
|
+
* Contexte costum de REQUÊTE de cette entité — `{costumSlug, costumId?, costumType?}` ou `undefined`.
|
|
1898
|
+
* Sert à BRANDER l'action côté serveur : le legacy lit `costumSlug` dans `$_POST`
|
|
1899
|
+
* (`CommunecterController::beforeAction` → `costumCacheParams()`), ce qui réchauffe le cache costum
|
|
1900
|
+
* AVANT l'action et donne son domaine/titre/logo/expéditeur à l'e-mail émis.
|
|
1901
|
+
*
|
|
1902
|
+
* ⚠ NE LIT QUE `_adminScope`, jamais `_costumCtx` — et c'est la question centrale du sujet.
|
|
1903
|
+
* Les deux ne disent pas la même chose : `_costumCtx` est la PROVENANCE de l'entité, re-dérivée de
|
|
1904
|
+
* `source.key` à chaque `_setData` (donc à chaque refresh), c'est-à-dire le costum qui a CRÉÉ
|
|
1905
|
+
* l'élément ; `_adminScope`, posé par `setCostumScope`, dit « j'agis délibérément au nom de CE
|
|
1906
|
+
* costum » et survit aux ré-hydratations. Pour brander un e-mail c'est l'APPELANT qui compte, pas
|
|
1907
|
+
* la provenance de la cible. Mesuré : 7 des 19 sites ont un porteur de provenance étrangère (l'org
|
|
1908
|
+
* hôte `institutBleu` porte `source.key:"meir"`) — lire `_costumCtx` ferait partir l'e-mail branché
|
|
1909
|
+
* « meir », et comme l'enveloppe l'emporte sur le défaut du client, ce serait PIRE que de ne rien
|
|
1910
|
+
* poser. Sans scope explicite on ne renvoie donc rien, et `ApiClient.setSiteCostum` — le costum du
|
|
1911
|
+
* SITE, la bonne réponse dans le cas nominal — s'applique.
|
|
1912
|
+
*
|
|
1913
|
+
* Ne lève JAMAIS et n'exige pas une identité complète (contrairement à `_requireCostumCtx`) : ses
|
|
1914
|
+
* appelants (invitation, connect, follow, commentaire, news…) doivent fonctionner hors costum.
|
|
1915
|
+
*
|
|
1916
|
+
* @internal Public par nécessité : `User` lit le contexte de SON PARENT (`this.parent`), ce qu'un
|
|
1917
|
+
* membre `protected` interdit (accès inter-instances).
|
|
1918
|
+
*/
|
|
1919
|
+
_costumRequestContext(): {
|
|
1920
|
+
costumSlug: string;
|
|
1921
|
+
costumId?: string;
|
|
1922
|
+
costumType?: string;
|
|
1923
|
+
} | undefined;
|
|
1924
|
+
/**
|
|
1925
|
+
* Pose l'enveloppe costum (canal Symbol) sur un payload de requête, SI un contexte est disponible.
|
|
1926
|
+
*
|
|
1927
|
+
* POURQUOI, alors que `ApiClient.setSiteCostum` suffit au cas nominal (un front dédié à UN costum) :
|
|
1928
|
+
* l'enveloppe permet d'AGIR AU NOM d'un costum PRÉCIS, choisi par l'appelant (`setCostumScope`), et
|
|
1929
|
+
* elle est PRIORITAIRE sur le défaut du client — c'est ce qu'il faut pour un back-office multi-sites,
|
|
1930
|
+
* ou pour une action déclenchée sur un élément d'un autre costum que celui du front. Sans contexte :
|
|
1931
|
+
* on ne pose rien (comportement historique, non régressif — le défaut du client s'applique alors).
|
|
1932
|
+
*
|
|
1933
|
+
* `properties` reste vide : aucun champ DATA costum ici, seulement le CONTEXTE (cf. `symbol.ts`).
|
|
1934
|
+
*
|
|
1935
|
+
* @param payload Payload muté en place (le Symbol est invisible pour `Object.keys`/AJV/le wire).
|
|
1936
|
+
* @param ctx Contexte à poser ; par défaut celui de CETTE entité.
|
|
1937
|
+
* @protected
|
|
1938
|
+
*/
|
|
1939
|
+
protected _stampCostumEnvelope<T extends object>(payload: T, ctx?: {
|
|
1940
|
+
costumSlug: string;
|
|
1941
|
+
costumId?: string;
|
|
1942
|
+
costumType?: string;
|
|
1943
|
+
} | undefined): T;
|
|
1896
1944
|
/**
|
|
1897
1945
|
* Pose EXPLICITEMENT le scope costum de l'entité — l'API OFFICIELLE pour rattacher une entité
|
|
1898
1946
|
* HÔTE de costum (qui n'a pas de `source.key` : c'est elle la source, la lib ne lui auto-dérive
|
|
@@ -45,6 +45,18 @@ export interface PersonRegisterData {
|
|
|
45
45
|
* Indique s’il s’agit d’une invitation (facultatif)
|
|
46
46
|
*/
|
|
47
47
|
isInvitation?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
50
|
+
*/
|
|
51
|
+
costumSlug?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
54
|
+
*/
|
|
55
|
+
costumId?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
58
|
+
*/
|
|
59
|
+
costumType?: string;
|
|
48
60
|
[k: string]: unknown;
|
|
49
61
|
}
|
|
50
62
|
export interface AuthenticateUrlData {
|
|
@@ -77,6 +89,18 @@ export interface PasswordRecoveryData {
|
|
|
77
89
|
* Type d'email envoyé
|
|
78
90
|
*/
|
|
79
91
|
type: "password";
|
|
92
|
+
/**
|
|
93
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
94
|
+
*/
|
|
95
|
+
costumSlug?: string;
|
|
96
|
+
/**
|
|
97
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
98
|
+
*/
|
|
99
|
+
costumId?: string;
|
|
100
|
+
/**
|
|
101
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
102
|
+
*/
|
|
103
|
+
costumType?: string;
|
|
80
104
|
[k: string]: unknown;
|
|
81
105
|
}
|
|
82
106
|
export interface PasswordResetData {
|
|
@@ -133,6 +157,18 @@ export interface DeleteAccountData {
|
|
|
133
157
|
* Raison de la suppression
|
|
134
158
|
*/
|
|
135
159
|
reason: string;
|
|
160
|
+
/**
|
|
161
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
162
|
+
*/
|
|
163
|
+
costumSlug?: string;
|
|
164
|
+
/**
|
|
165
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
166
|
+
*/
|
|
167
|
+
costumId?: string;
|
|
168
|
+
/**
|
|
169
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
170
|
+
*/
|
|
171
|
+
costumType?: string;
|
|
136
172
|
pathParams?: {
|
|
137
173
|
/**
|
|
138
174
|
* Identifiant de l'utilisateur à supprimer
|
|
@@ -515,6 +551,18 @@ export interface MulticonnectData {
|
|
|
515
551
|
};
|
|
516
552
|
};
|
|
517
553
|
};
|
|
554
|
+
/**
|
|
555
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
556
|
+
*/
|
|
557
|
+
costumSlug?: string;
|
|
558
|
+
/**
|
|
559
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
560
|
+
*/
|
|
561
|
+
costumId?: string;
|
|
562
|
+
/**
|
|
563
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
564
|
+
*/
|
|
565
|
+
costumType?: string;
|
|
518
566
|
[k: string]: unknown;
|
|
519
567
|
}
|
|
520
568
|
export interface RelaunchInvitationData {
|
|
@@ -522,6 +570,18 @@ export interface RelaunchInvitationData {
|
|
|
522
570
|
* _id du compte invité à relancer
|
|
523
571
|
*/
|
|
524
572
|
id: string;
|
|
573
|
+
/**
|
|
574
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
575
|
+
*/
|
|
576
|
+
costumSlug?: string;
|
|
577
|
+
/**
|
|
578
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
579
|
+
*/
|
|
580
|
+
costumId?: string;
|
|
581
|
+
/**
|
|
582
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
583
|
+
*/
|
|
584
|
+
costumType?: string;
|
|
525
585
|
[k: string]: unknown;
|
|
526
586
|
}
|
|
527
587
|
export interface ContactSendData {
|
|
@@ -709,6 +769,18 @@ export interface AddNewsData {
|
|
|
709
769
|
count: number;
|
|
710
770
|
[k: string]: unknown;
|
|
711
771
|
}[];
|
|
772
|
+
/**
|
|
773
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
774
|
+
*/
|
|
775
|
+
costumSlug?: string;
|
|
776
|
+
/**
|
|
777
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
778
|
+
*/
|
|
779
|
+
costumId?: string;
|
|
780
|
+
/**
|
|
781
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
782
|
+
*/
|
|
783
|
+
costumType?: string;
|
|
712
784
|
[k: string]: unknown;
|
|
713
785
|
}
|
|
714
786
|
export interface AddImageNewsData {
|
|
@@ -851,6 +923,18 @@ export interface UpdateNewsData {
|
|
|
851
923
|
count: number;
|
|
852
924
|
[k: string]: unknown;
|
|
853
925
|
}[];
|
|
926
|
+
/**
|
|
927
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
928
|
+
*/
|
|
929
|
+
costumSlug?: string;
|
|
930
|
+
/**
|
|
931
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
932
|
+
*/
|
|
933
|
+
costumId?: string;
|
|
934
|
+
/**
|
|
935
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
936
|
+
*/
|
|
937
|
+
costumType?: string;
|
|
854
938
|
[k: string]: unknown;
|
|
855
939
|
}
|
|
856
940
|
export interface ShareNewsData {
|
|
@@ -878,6 +962,18 @@ export interface ShareNewsData {
|
|
|
878
962
|
* Commentaire de partage
|
|
879
963
|
*/
|
|
880
964
|
comment?: string;
|
|
965
|
+
/**
|
|
966
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
967
|
+
*/
|
|
968
|
+
costumSlug?: string;
|
|
969
|
+
/**
|
|
970
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
971
|
+
*/
|
|
972
|
+
costumId?: string;
|
|
973
|
+
/**
|
|
974
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
975
|
+
*/
|
|
976
|
+
costumType?: string;
|
|
881
977
|
[k: string]: unknown;
|
|
882
978
|
}
|
|
883
979
|
export interface GetCommentsData {
|
|
@@ -945,6 +1041,18 @@ export interface AddCommentsData {
|
|
|
945
1041
|
*/
|
|
946
1042
|
count: number;
|
|
947
1043
|
}[];
|
|
1044
|
+
/**
|
|
1045
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
1046
|
+
*/
|
|
1047
|
+
costumSlug?: string;
|
|
1048
|
+
/**
|
|
1049
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
1050
|
+
*/
|
|
1051
|
+
costumId?: string;
|
|
1052
|
+
/**
|
|
1053
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
1054
|
+
*/
|
|
1055
|
+
costumType?: string;
|
|
948
1056
|
[k: string]: unknown;
|
|
949
1057
|
}
|
|
950
1058
|
export interface DeleteCommentsData {
|
|
@@ -2804,6 +2912,18 @@ export interface ConnectData {
|
|
|
2804
2912
|
* Type de connexion
|
|
2805
2913
|
*/
|
|
2806
2914
|
connectType: "admin" | "member" | "contributor" | "attendee" | "friend" | "connect";
|
|
2915
|
+
/**
|
|
2916
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
2917
|
+
*/
|
|
2918
|
+
costumSlug?: string;
|
|
2919
|
+
/**
|
|
2920
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
2921
|
+
*/
|
|
2922
|
+
costumId?: string;
|
|
2923
|
+
/**
|
|
2924
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
2925
|
+
*/
|
|
2926
|
+
costumType?: string;
|
|
2807
2927
|
[k: string]: unknown;
|
|
2808
2928
|
}
|
|
2809
2929
|
export interface CreateInvitationLinkData {
|
|
@@ -2827,9 +2947,33 @@ export interface CreateInvitationLinkData {
|
|
|
2827
2947
|
* URL de redirection après rattachement (optionnel)
|
|
2828
2948
|
*/
|
|
2829
2949
|
urlRedirection?: string;
|
|
2950
|
+
/**
|
|
2951
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
2952
|
+
*/
|
|
2953
|
+
costumSlug?: string;
|
|
2954
|
+
/**
|
|
2955
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
2956
|
+
*/
|
|
2957
|
+
costumId?: string;
|
|
2958
|
+
/**
|
|
2959
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
2960
|
+
*/
|
|
2961
|
+
costumType?: string;
|
|
2830
2962
|
[k: string]: unknown;
|
|
2831
2963
|
}
|
|
2832
2964
|
export interface ConnectByRefData {
|
|
2965
|
+
/**
|
|
2966
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
2967
|
+
*/
|
|
2968
|
+
costumSlug?: string;
|
|
2969
|
+
/**
|
|
2970
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
2971
|
+
*/
|
|
2972
|
+
costumId?: string;
|
|
2973
|
+
/**
|
|
2974
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
2975
|
+
*/
|
|
2976
|
+
costumType?: string;
|
|
2833
2977
|
pathParams?: {
|
|
2834
2978
|
/**
|
|
2835
2979
|
* Référence publique du lien (hex ; uniqid legacy 13 ou token Node 24) — segment d URL
|
|
@@ -2860,6 +3004,18 @@ export interface DisconnectData {
|
|
|
2860
3004
|
* Type de connexion
|
|
2861
3005
|
*/
|
|
2862
3006
|
connectType: "members" | "contributors" | "attendees" | "friends" | "followers";
|
|
3007
|
+
/**
|
|
3008
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
3009
|
+
*/
|
|
3010
|
+
costumSlug?: string;
|
|
3011
|
+
/**
|
|
3012
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
3013
|
+
*/
|
|
3014
|
+
costumId?: string;
|
|
3015
|
+
/**
|
|
3016
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
3017
|
+
*/
|
|
3018
|
+
costumType?: string;
|
|
2863
3019
|
[k: string]: unknown;
|
|
2864
3020
|
}
|
|
2865
3021
|
export interface GetElementsKeyData {
|
|
@@ -3836,6 +3992,18 @@ export interface DeleteElementData {
|
|
|
3836
3992
|
* Raison de la suppression
|
|
3837
3993
|
*/
|
|
3838
3994
|
reason: string;
|
|
3995
|
+
/**
|
|
3996
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
3997
|
+
*/
|
|
3998
|
+
costumSlug?: string;
|
|
3999
|
+
/**
|
|
4000
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
4001
|
+
*/
|
|
4002
|
+
costumId?: string;
|
|
4003
|
+
/**
|
|
4004
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
4005
|
+
*/
|
|
4006
|
+
costumType?: string;
|
|
3839
4007
|
pathParams?: {
|
|
3840
4008
|
/**
|
|
3841
4009
|
* Type d'élément à supprimer
|
|
@@ -3902,6 +4070,18 @@ export interface LinkValidateData {
|
|
|
3902
4070
|
* Type de validation
|
|
3903
4071
|
*/
|
|
3904
4072
|
linkOption?: "isInviting" | "isAdminInviting" | "toBeValidated" | "isAdminPending";
|
|
4073
|
+
/**
|
|
4074
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
4075
|
+
*/
|
|
4076
|
+
costumSlug?: string;
|
|
4077
|
+
/**
|
|
4078
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
4079
|
+
*/
|
|
4080
|
+
costumId?: string;
|
|
4081
|
+
/**
|
|
4082
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
4083
|
+
*/
|
|
4084
|
+
costumType?: string;
|
|
3905
4085
|
[k: string]: unknown;
|
|
3906
4086
|
}
|
|
3907
4087
|
export interface SearchMemberAutocompleteData {
|
|
@@ -4154,6 +4334,18 @@ export interface AssignBadgesData {
|
|
|
4154
4334
|
narative: string;
|
|
4155
4335
|
}[];
|
|
4156
4336
|
scope?: "";
|
|
4337
|
+
/**
|
|
4338
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
4339
|
+
*/
|
|
4340
|
+
costumSlug?: string;
|
|
4341
|
+
/**
|
|
4342
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
4343
|
+
*/
|
|
4344
|
+
costumId?: string;
|
|
4345
|
+
/**
|
|
4346
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
4347
|
+
*/
|
|
4348
|
+
costumType?: string;
|
|
4157
4349
|
[k: string]: unknown;
|
|
4158
4350
|
}
|
|
4159
4351
|
export interface GetEventsData {
|
|
@@ -4329,6 +4521,18 @@ export interface ShareEventsData {
|
|
|
4329
4521
|
* Commentaire de partage
|
|
4330
4522
|
*/
|
|
4331
4523
|
comment?: string;
|
|
4524
|
+
/**
|
|
4525
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
4526
|
+
*/
|
|
4527
|
+
costumSlug?: string;
|
|
4528
|
+
/**
|
|
4529
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
4530
|
+
*/
|
|
4531
|
+
costumId?: string;
|
|
4532
|
+
/**
|
|
4533
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
4534
|
+
*/
|
|
4535
|
+
costumType?: string;
|
|
4332
4536
|
[k: string]: unknown;
|
|
4333
4537
|
}
|
|
4334
4538
|
export interface InviteMembersData {
|
|
@@ -4409,6 +4613,18 @@ export interface InviteMembersData {
|
|
|
4409
4613
|
};
|
|
4410
4614
|
};
|
|
4411
4615
|
};
|
|
4616
|
+
/**
|
|
4617
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
4618
|
+
*/
|
|
4619
|
+
costumSlug?: string;
|
|
4620
|
+
/**
|
|
4621
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
4622
|
+
*/
|
|
4623
|
+
costumId?: string;
|
|
4624
|
+
/**
|
|
4625
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
4626
|
+
*/
|
|
4627
|
+
costumType?: string;
|
|
4412
4628
|
[k: string]: unknown;
|
|
4413
4629
|
}
|
|
4414
4630
|
export interface FollowData {
|
|
@@ -4428,6 +4644,18 @@ export interface FollowData {
|
|
|
4428
4644
|
* ID de l'élément parent
|
|
4429
4645
|
*/
|
|
4430
4646
|
parentId: string;
|
|
4647
|
+
/**
|
|
4648
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
4649
|
+
*/
|
|
4650
|
+
costumSlug?: string;
|
|
4651
|
+
/**
|
|
4652
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
4653
|
+
*/
|
|
4654
|
+
costumId?: string;
|
|
4655
|
+
/**
|
|
4656
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
4657
|
+
*/
|
|
4658
|
+
costumType?: string;
|
|
4431
4659
|
[k: string]: unknown;
|
|
4432
4660
|
}
|
|
4433
4661
|
export interface GetCostumJsonData {
|
|
@@ -5740,6 +5968,18 @@ export interface AddVoteData {
|
|
|
5740
5968
|
*/
|
|
5741
5969
|
status: string;
|
|
5742
5970
|
};
|
|
5971
|
+
/**
|
|
5972
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
5973
|
+
*/
|
|
5974
|
+
costumSlug?: string;
|
|
5975
|
+
/**
|
|
5976
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
5977
|
+
*/
|
|
5978
|
+
costumId?: string;
|
|
5979
|
+
/**
|
|
5980
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
5981
|
+
*/
|
|
5982
|
+
costumType?: string;
|
|
5743
5983
|
[k: string]: unknown;
|
|
5744
5984
|
}
|
|
5745
5985
|
export interface AddReportAbuseData {
|
|
@@ -5765,6 +6005,18 @@ export interface AddReportAbuseData {
|
|
|
5765
6005
|
*/
|
|
5766
6006
|
comment?: string;
|
|
5767
6007
|
};
|
|
6008
|
+
/**
|
|
6009
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
6010
|
+
*/
|
|
6011
|
+
costumSlug?: string;
|
|
6012
|
+
/**
|
|
6013
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
6014
|
+
*/
|
|
6015
|
+
costumId?: string;
|
|
6016
|
+
/**
|
|
6017
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
6018
|
+
*/
|
|
6019
|
+
costumType?: string;
|
|
5768
6020
|
[k: string]: unknown;
|
|
5769
6021
|
}
|
|
5770
6022
|
export interface UpdatePathValueData {
|
|
@@ -5860,6 +6112,18 @@ export interface DemoteAdminData {
|
|
|
5860
6112
|
childType: "citoyens";
|
|
5861
6113
|
connect: "members" | "contributors";
|
|
5862
6114
|
isAdmin: false;
|
|
6115
|
+
/**
|
|
6116
|
+
* Contexte costum de l'action : slug du SITE appelant (l'entité porteuse du costum), jamais le slug du moteur (« costumize »). Injecté automatiquement par le client (ApiClient.setSiteCostum / setCostumScope). Le legacy le lit dans $_POST — CommunecterController::costumCacheParams réchauffe alors le cache costum AVANT l'action, ce qui brande l'e-mail émis (domaine des liens, titre, logo, expéditeur) et stampe source.key sur le job cron.
|
|
6117
|
+
*/
|
|
6118
|
+
costumSlug?: string;
|
|
6119
|
+
/**
|
|
6120
|
+
* Contexte costum : _id de l'entité porteuse du costum (contextId). Facultatif, complète costumSlug.
|
|
6121
|
+
*/
|
|
6122
|
+
costumId?: string;
|
|
6123
|
+
/**
|
|
6124
|
+
* Contexte costum : collection de l'entité porteuse (organizations | projects | events | citoyens). Facultatif, complète costumSlug.
|
|
6125
|
+
*/
|
|
6126
|
+
costumType?: string;
|
|
5863
6127
|
[k: string]: unknown;
|
|
5864
6128
|
}
|
|
5865
6129
|
export interface CostumFilterCoformData {
|
package/types/api/User.d.ts
CHANGED
|
@@ -473,6 +473,18 @@ export declare class User extends BaseEntity<UserItemNormalized> {
|
|
|
473
473
|
* @private
|
|
474
474
|
*/
|
|
475
475
|
private _getParentLinkForUser;
|
|
476
|
+
/**
|
|
477
|
+
* Contexte costum à faire porter par les actions de LIEN sur le parent (adhésion, validation,
|
|
478
|
+
* promotion, rétrogradation) : celui du PARENT — l'organisation/le projet/l'événement qui porte
|
|
479
|
+
* le costum du site.
|
|
480
|
+
*
|
|
481
|
+
* ⚠ JAMAIS celui de CETTE fiche citoyen : le `source.key` d'un citoyen est le costum où il s'est
|
|
482
|
+
* INSCRIT, sans aucun rapport avec le site depuis lequel l'action est faite. Comme l'enveloppe
|
|
483
|
+
* l'emporte sur le défaut du client (`ApiClient.setSiteCostum`), la poser depuis le citoyen
|
|
484
|
+
* branderait l'e-mail du MAUVAIS costum — un dégât net par rapport à ne rien poser.
|
|
485
|
+
* @private
|
|
486
|
+
*/
|
|
487
|
+
private _parentCostumContext;
|
|
476
488
|
/**
|
|
477
489
|
* Valide les préconditions et retourne le lien parent.
|
|
478
490
|
*
|
package/types/api/UserApi.d.ts
CHANGED
|
@@ -62,11 +62,29 @@ export declare class UserApi {
|
|
|
62
62
|
/**
|
|
63
63
|
* Lance une procédure de récupération de mot de passe.
|
|
64
64
|
*
|
|
65
|
+
* Le costum, s'il est fourni, ne sert QU'À BRANDER l'e-mail envoyé (domaine du lien de
|
|
66
|
+
* réinitialisation = `costum.host`, titre, logo, expéditeur) : le legacy le lit dans `$_POST`
|
|
67
|
+
* (`CommunecterController::beforeAction` → `costumCacheParams()`) AVANT l'action, et
|
|
68
|
+
* `Mail::getCustomMail`/`Mail::getAppName` y puisent l'habillage. Aligné sur `register`.
|
|
69
|
+
*
|
|
70
|
+
* ⚠ SÉCURITÉ : `PASSWORD_RECOVERY` est `auth:"none"`. Le contexte costum est donc fourni par un
|
|
71
|
+
* appelant NON AUTHENTIFIÉ — il ne doit JAMAIS élargir un droit, ni servir à sélectionner un
|
|
72
|
+
* compte : il n'habille que le message. On ne relâche AUCUN autre champ du schéma (l'enveloppe
|
|
73
|
+
* ne porte que `context`, `properties` reste vide), et le destinataire reste résolu côté serveur
|
|
74
|
+
* depuis `email` — jamais depuis le costum.
|
|
75
|
+
*
|
|
65
76
|
* @param email - Adresse email de l'utilisateur.
|
|
77
|
+
* @param opts.costumSlug - (option) slug de l'ENTITÉ PORTEUSE du costum (jamais « costumize »).
|
|
78
|
+
* @param opts.costumId / opts.costumType - (option) identité de l'entité porteuse, requises si le
|
|
79
|
+
* slug n'est pas un doc `costum` (ex. un site porté par une organisation).
|
|
66
80
|
* @returns Réponse brute de l'API.
|
|
67
81
|
* @throws {ApiResponseError} Si l'API retourne un échec (`result === false`).
|
|
68
82
|
*/
|
|
69
|
-
recoverPassword(email: string
|
|
83
|
+
recoverPassword(email: string, { costumSlug, costumId, costumType }?: {
|
|
84
|
+
costumSlug?: string;
|
|
85
|
+
costumId?: string;
|
|
86
|
+
costumType?: string;
|
|
87
|
+
}): Promise<any>;
|
|
70
88
|
/**
|
|
71
89
|
* Active (valide l'email) un compte via le lien reçu par email.
|
|
72
90
|
*
|