@communecter/cocolight-api-client 1.0.183 → 1.0.184
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/EndpointApi.d.ts +19 -1
- package/types/api/EndpointApi.types.d.ts +34 -0
- package/types/api/UserApi.d.ts +44 -0
- package/types/api/serverDataType/ToolsCatalog.d.ts +7 -0
- package/types/endpoints.module.d.ts +162 -131
package/package.json
CHANGED
|
@@ -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, 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, 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, FundingEnvelopeData, CoremuOperationData, CostumProjectActionRequestNewData, CostumProjectActionRequestSetStatusData, CostumProjectActionRequestSetDateData, CostumProjectActionRequestSetContributorsData, CostumProjectActionRequestCancelData, CostumProjectActionRequestArchiveData, LinkDiscourseAccountData, UnlinkDiscourseAccountData, DiscourseProfileData, DiscourseCheckEmailData, DiscourseDismissLinkData, LinkMediawikiAccountData, UnlinkMediawikiAccountData, GetMediawikiContributionsData, AddClassifiedData, PersonActivateData, ImportPreviewData, ExportElementsData, ImportElementsData, GeocodageData, ValidateGroupData, SetSourceData, ModerateData, NewsModerateData, CommentModerateData, UploadDocumentData, ZoneGetShapeData, ZoneGetZonirisData, CostumListValuesData, 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, 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, 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, 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, ModerateData, NewsModerateData, CommentModerateData, UploadDocumentData, ZoneGetShapeData, ZoneGetZonirisData, CostumListValuesData, DirectoryProposalData, DirectoryProposalCountData, DirectoryProposalNewCounterData } from "./EndpointApi.types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Classe EndpointApi générée automatiquement depuis endpoints-copie.json
|
|
5
5
|
*/
|
|
@@ -1499,6 +1499,24 @@ export declare class EndpointApi {
|
|
|
1499
1499
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1500
1500
|
*/
|
|
1501
1501
|
personActivate(data: PersonActivateData): Promise<any>;
|
|
1502
|
+
/**
|
|
1503
|
+
* Valider une invitation (lien email) — passerelle vers l'inscription : Vérifie la clé d'invitation (sha256(user+email)) et renvoie de quoi ouvrir le bon panneau : REGISTER pré-rempli si l'invité est `pending` (il pose son mot de passe à l'inscription — ≠ activate qui valide un compte existant), LOGIN si le compte est déjà finalisé. PASSERELLE : n'écrit RIEN (port ValidateInvitationAction). Divergence T1 : le legacy répond 302 vers #panel.box-register|login avec les params en query, ici JSON.
|
|
1504
|
+
* Constant : PERSON_VALIDATE_INVITATION
|
|
1505
|
+
* @param data - Données envoyées à l'API
|
|
1506
|
+
* @returns Les données de réponse.
|
|
1507
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1508
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
1509
|
+
*/
|
|
1510
|
+
personValidateInvitation(data: PersonValidateInvitationData): Promise<any>;
|
|
1511
|
+
/**
|
|
1512
|
+
* Répondre à une invitation par e-mail (Accepter / Refuser) : Répond à une invitation depuis le lien Accepter/Refuser d'un e-mail (l'invité n'est PAS connecté). answer='true' → confirme l'adhésion (retire le flag isInviting des DEUX liens) ; answer='false' → déconnecte les deux liens. Renvoie {result,msg,next?} où next = la cible de redirection legacy : validateinvitation/.../invitation/1 si l'invité est encore tobeactivated (il pose son mot de passe à l'inscription), sinon le deep-link #page.type.<targetType>.id.<targetId>. Port ValidateInvitationByMailAction. Divergence T1 : le legacy répond 302, ici JSON. answer comparé en CHAÎNE. SÉCURITÉ : aucune validationKey sur ce lien (faiblesse legacy, versée au registre sécurité).
|
|
1513
|
+
* Constant : VALIDATE_INVITATION_BY_MAIL
|
|
1514
|
+
* @param data - Données envoyées à l'API
|
|
1515
|
+
* @returns Les données de réponse.
|
|
1516
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1517
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
1518
|
+
*/
|
|
1519
|
+
validateInvitationByMail(data: ValidateInvitationByMailData): Promise<any>;
|
|
1502
1520
|
/**
|
|
1503
1521
|
* Prévisualiser un import (table de contrôle) : Construit la table d'affichage [name, address, warnings, msgError] d'une liste d'éléments déjà vérifiés (Import::createArrayList), pour prévisualiser un import avant insertion.
|
|
1504
1522
|
* Constant : IMPORT_PREVIEW
|
|
@@ -6001,6 +6001,10 @@ export interface CostumToolUsersData {
|
|
|
6001
6001
|
* JSON string[] serialise (optionnel)
|
|
6002
6002
|
*/
|
|
6003
6003
|
inputKeys?: string;
|
|
6004
|
+
/**
|
|
6005
|
+
* Nom normalise de l'outil (normalizeToolName, la meme fonction que ToolsCatalogListAction utilise pour grouper). Filtre INDISPENSABLE en pratique : un criteriaId identifie une ligne du catalogue de BESOINS partagee par toutes les reponses, pas la saisie d'un lieu. Sans lui, le serveur remonte aussi les lieux ayant repondu au meme besoin avec un TOUT AUTRE outil. Optionnel au contrat (absent => comportement inchange, retrocompatible) ; cle-absente != chaine-vide (chaine vide desactive le filtre).
|
|
6006
|
+
*/
|
|
6007
|
+
normalizedName?: string;
|
|
6004
6008
|
/**
|
|
6005
6009
|
* Slug du costum
|
|
6006
6010
|
*/
|
|
@@ -6544,6 +6548,36 @@ export interface PersonActivateData {
|
|
|
6544
6548
|
validationKey: string;
|
|
6545
6549
|
[k: string]: unknown;
|
|
6546
6550
|
}
|
|
6551
|
+
export interface PersonValidateInvitationData {
|
|
6552
|
+
/**
|
|
6553
|
+
* Identifiant (_id) de l'invité
|
|
6554
|
+
*/
|
|
6555
|
+
user: string;
|
|
6556
|
+
/**
|
|
6557
|
+
* Clé = sha256(user + email)
|
|
6558
|
+
*/
|
|
6559
|
+
validationKey: string;
|
|
6560
|
+
[k: string]: unknown;
|
|
6561
|
+
}
|
|
6562
|
+
export interface ValidateInvitationByMailData {
|
|
6563
|
+
/**
|
|
6564
|
+
* Identifiant (_id) de l'invité
|
|
6565
|
+
*/
|
|
6566
|
+
userId: string;
|
|
6567
|
+
/**
|
|
6568
|
+
* Type de l'élément cible (organizations/projects/events)
|
|
6569
|
+
*/
|
|
6570
|
+
targetType: string;
|
|
6571
|
+
/**
|
|
6572
|
+
* Identifiant (_id) de l'élément cible
|
|
6573
|
+
*/
|
|
6574
|
+
targetId: string;
|
|
6575
|
+
/**
|
|
6576
|
+
* Réponse en CHAÎNE : 'true' (accepter) / 'false' (refuser)
|
|
6577
|
+
*/
|
|
6578
|
+
answer: "true" | "false";
|
|
6579
|
+
[k: string]: unknown;
|
|
6580
|
+
}
|
|
6547
6581
|
export interface ImportPreviewData {
|
|
6548
6582
|
/**
|
|
6549
6583
|
* Liste d'éléments vérifiés à prévisualiser.
|
package/types/api/UserApi.d.ts
CHANGED
|
@@ -85,4 +85,48 @@ export declare class UserApi {
|
|
|
85
85
|
user: string;
|
|
86
86
|
validationKey: string;
|
|
87
87
|
}): Promise<any>;
|
|
88
|
+
/**
|
|
89
|
+
* Valide un lien d'INVITATION reçu par e-mail — PASSERELLE vers l'inscription (ne modifie RIEN,
|
|
90
|
+
* ≠ {@link activateAccount} qui valide un compte existant).
|
|
91
|
+
*
|
|
92
|
+
* Endpoint public (`PERSON_VALIDATE_INVITATION`, aucune auth). Vérifie la clé `sha256(user+email)`
|
|
93
|
+
* puis indique le panneau à ouvrir : `panel:"register"` (invité `pending` — pré-rempli
|
|
94
|
+
* `email`/`name`/`pendingUserId`, il pose son mot de passe à l'inscription) ; `panel:"login"` +
|
|
95
|
+
* `error:"accountAlreadyExists"` (compte déjà finalisé) ; clé fausse → `panel:"register"`,
|
|
96
|
+
* `error:"somethingWrong"`. `error:"unknwonInvitor"` si l'invitant est introuvable.
|
|
97
|
+
*
|
|
98
|
+
* @param params.user - `_id` de l'invité.
|
|
99
|
+
* @param params.validationKey - `sha256(user + email)`.
|
|
100
|
+
* @returns `{ result, panel?, email?, name?, userValidated?, pendingUserId?, invitor?, error?, msg? }`.
|
|
101
|
+
* @throws {ApiResponseError} Si `result === false` (paramètres manquants).
|
|
102
|
+
*/
|
|
103
|
+
validateInvitation({ user, validationKey }: {
|
|
104
|
+
user: string;
|
|
105
|
+
validationKey: string;
|
|
106
|
+
}): Promise<any>;
|
|
107
|
+
/**
|
|
108
|
+
* Répond à une invitation depuis le lien Accepter/Refuser d'un e-mail (l'invité n'est PAS connecté).
|
|
109
|
+
*
|
|
110
|
+
* Endpoint public (`VALIDATE_INVITATION_BY_MAIL`, aucune auth). `answer:"true"` confirme l'adhésion
|
|
111
|
+
* (retire le flag `isInviting` des deux liens), `answer:"false"` déconnecte. Renvoie
|
|
112
|
+
* `{ result, msg, next? }` où `next` = la cible de redirection legacy : le lien `validateinvitation`
|
|
113
|
+
* (→ {@link validateInvitation}) si l'invité est encore à activer (il pose alors son mot de passe),
|
|
114
|
+
* sinon le deep-link `#page.type.<targetType>.id.<targetId>`.
|
|
115
|
+
*
|
|
116
|
+
* ⚠️ Contrairement à {@link validateInvitation}, `result:false` n'est PAS levé en erreur : c'est un
|
|
117
|
+
* cas NORMAL (idempotence — un 2ᵉ « Accepter » ne retrouve plus le flag). L'appelant lit
|
|
118
|
+
* `{ result, msg, next }` uniformément et dégrade en « déjà répondu » sur `result:false`.
|
|
119
|
+
*
|
|
120
|
+
* @param params.userId - `_id` de l'invité.
|
|
121
|
+
* @param params.targetType - type de l'élément cible (organizations/projects/events).
|
|
122
|
+
* @param params.targetId - `_id` de l'élément cible.
|
|
123
|
+
* @param params.answer - `"true"` (accepter) / `"false"` (refuser), en CHAÎNE.
|
|
124
|
+
* @returns `{ result: boolean, msg: string, next?: string }`.
|
|
125
|
+
*/
|
|
126
|
+
validateInvitationByMail({ userId, targetType, targetId, answer }: {
|
|
127
|
+
userId: string;
|
|
128
|
+
targetType: string;
|
|
129
|
+
targetId: string;
|
|
130
|
+
answer: "true" | "false";
|
|
131
|
+
}): Promise<any>;
|
|
88
132
|
}
|
|
@@ -127,4 +127,11 @@ export interface ToolUsersParams {
|
|
|
127
127
|
/** tableau brut ou déjà sérialisé — la méthode le sérialise en JSON si tableau */
|
|
128
128
|
criteriaIds: string | string[];
|
|
129
129
|
inputKeys?: string | string[];
|
|
130
|
+
/**
|
|
131
|
+
* Nom normalisé de l'outil (`ToolCatalogItem.normalizedName`) — à TOUJOURS transmettre en pratique :
|
|
132
|
+
* un `criteriaId` désigne une ligne du catalogue de BESOINS partagée par toutes les réponses, pas la
|
|
133
|
+
* saisie d'un lieu. Sans lui, le serveur remonte aussi les lieux ayant répondu au même besoin avec un
|
|
134
|
+
* TOUT AUTRE outil. Optionnel au contrat (rétrocompatible) ; clé-absente ≠ chaîne-vide.
|
|
135
|
+
*/
|
|
136
|
+
normalizedName?: string;
|
|
130
137
|
}
|