@communecter/cocolight-api-client 1.0.146 → 1.0.147
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 +1 -1
- package/dist/cocolight-api-client.cjs +1 -1
- package/dist/cocolight-api-client.mjs.js +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/src/api/EndpointApi.ts +16 -1
- package/src/api/EndpointApi.types.ts +13 -0
- package/src/api/UserApi.ts +30 -0
- package/src/endpoints.module.ts +1 -1
- package/types/api/EndpointApi.d.ts +10 -1
- package/types/api/EndpointApi.types.d.ts +11 -0
- package/types/api/UserApi.d.ts +18 -0
- package/types/endpoints.module.d.ts +384 -0
package/package.json
CHANGED
package/src/api/EndpointApi.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { ApiAuthenticationError } from "../error.js";
|
|
3
3
|
|
|
4
4
|
import type ApiClient from "../ApiClient.js";
|
|
5
|
-
import type { PersonRegisterData, AuthenticateUrlData, RefreshTokenUrlData, PasswordRecoveryData, ServerExchangeTokenData, ChangePasswordData, DeleteAccountData, UpdateSettingsData, UpdateBlockDescriptionData, UpdateBlockInfoData, UpdateBlockSocialData, UpdateBlockLocalityData, UpdateBlockSlugData, CheckData, ProfilImageData, ProfilBannerData, GetElementsAboutData, MulticonnectData, GetNewsData, GetNewsByIdData, AddNewsData, AddImageNewsData, AddFileNewsData, DeleteNewsData, UpdateNewsData, ShareNewsData, GetCommentsData, AddCommentsData, DeleteCommentsData, UpdateCommentsData, SearchTagsData, ShowVoteData, GlobalAutocompleteData, CityAutocompleteData, CityAutocompleteByCountryData, SuggestionInputData, GetProjectsNoAdminData, GetProjectsAdminData, GetPoisNoAdminData, GetPoisAdminData, GetOrganizationsNoAdminData, GetOrganizationsAdminData, GetUserEligiblePlacesData, GetMembersNoAdminData, GetMembersAdminData, GetFriendsAdminData, GetSubscriptionsData, GetSubscriptionsAdminData, GetSubscribersData, GetSubscribersAdminData, GetContributorsNoAdminData, GetContributorsAdminData, GetBadgesData, GetBadgesFiltersData, ConnectData, DisconnectData, GetElementsKeyData, GetFavorisData, DeleteFavorisData, AddFavorisData, AddOrganizationData, AddProjectData, AddPoiData, AddEventData, DeletePoiData, DeleteEventData, DeleteElementData, AddImageElementData, LinkValidateData, SearchMemberAutocompleteData, GetNotificationsData, GetNotificationsCountData, NotificationUpdateData, MarkNotificationAsReadData, ActivitypubSearchData, ActivitypubLinkData, ActivitypubGetCommunityData, GetBadgeData, AddBadgesData, AssignBadgesData, GetEventsData, ShareEventsData, InviteEventData, FollowData, GetCostumJsonData, GlobalAutocompleteCostumData, NavigatorGettlData, CostumEventRequestActorsData, CostumEventRequestSubeventsData, CostumEventRequestElementEventData, CostumEventRequestCategoriesData, CostumEventRequestDatesData, CostumEventRequestEventData, CostumEventRequestLinkTlToEventData, CostumEventRequestLoadContextTagData, GetGalleryData, GetAttendeesNoAdminData, GetAttendeesAdminData, CoformAnswersSearchData, CoformAnswersByIdData, GetCoformByIdData, CoformUploadAnswerFileData, CoformGetAnswerFilesData, GetCoformCatalogsData, SaveCoformAnswerData, GetCoformAnswerHistoryData, GetCoformMultievalDataData, GetCoformCommontableContributorsData, AddVoteData, AddReportAbuseData, UpdatePathValueData, DeleteDocumentByContextData, DeleteDocumentByIdData, DemoteAdminData, CostumFilterCoformData, CostumFilterCoformByPathData, GetCountriesData, SearchZonesData, CoformAnswersByFormsData, GenerateAnswerFromFormData, FundingEnvelopeData, CoremuOperationData, CostumProjectActionRequestNewData, CostumProjectActionRequestSetStatusData, CostumProjectActionRequestSetDateData, CostumProjectActionRequestSetContributorsData, CostumProjectActionRequestCancelData, CostumProjectActionRequestArchiveData, LinkDiscourseAccountData, UnlinkDiscourseAccountData, DiscourseProfileData, DiscourseCheckEmailData, DiscourseDismissLinkData, LinkMediawikiAccountData, UnlinkMediawikiAccountData, GetMediawikiContributionsData, AddClassifiedData } from "./EndpointApi.types.js";
|
|
5
|
+
import type { PersonRegisterData, AuthenticateUrlData, RefreshTokenUrlData, PasswordRecoveryData, ServerExchangeTokenData, ChangePasswordData, DeleteAccountData, UpdateSettingsData, UpdateBlockDescriptionData, UpdateBlockInfoData, UpdateBlockSocialData, UpdateBlockLocalityData, UpdateBlockSlugData, CheckData, ProfilImageData, ProfilBannerData, GetElementsAboutData, MulticonnectData, GetNewsData, GetNewsByIdData, AddNewsData, AddImageNewsData, AddFileNewsData, DeleteNewsData, UpdateNewsData, ShareNewsData, GetCommentsData, AddCommentsData, DeleteCommentsData, UpdateCommentsData, SearchTagsData, ShowVoteData, GlobalAutocompleteData, CityAutocompleteData, CityAutocompleteByCountryData, SuggestionInputData, GetProjectsNoAdminData, GetProjectsAdminData, GetPoisNoAdminData, GetPoisAdminData, GetOrganizationsNoAdminData, GetOrganizationsAdminData, GetUserEligiblePlacesData, GetMembersNoAdminData, GetMembersAdminData, GetFriendsAdminData, GetSubscriptionsData, GetSubscriptionsAdminData, GetSubscribersData, GetSubscribersAdminData, GetContributorsNoAdminData, GetContributorsAdminData, GetBadgesData, GetBadgesFiltersData, ConnectData, DisconnectData, GetElementsKeyData, GetFavorisData, DeleteFavorisData, AddFavorisData, AddOrganizationData, AddProjectData, AddPoiData, AddEventData, DeletePoiData, DeleteEventData, DeleteElementData, AddImageElementData, LinkValidateData, SearchMemberAutocompleteData, GetNotificationsData, GetNotificationsCountData, NotificationUpdateData, MarkNotificationAsReadData, ActivitypubSearchData, ActivitypubLinkData, ActivitypubGetCommunityData, GetBadgeData, AddBadgesData, AssignBadgesData, GetEventsData, ShareEventsData, InviteEventData, FollowData, GetCostumJsonData, GlobalAutocompleteCostumData, NavigatorGettlData, CostumEventRequestActorsData, CostumEventRequestSubeventsData, CostumEventRequestElementEventData, CostumEventRequestCategoriesData, CostumEventRequestDatesData, CostumEventRequestEventData, CostumEventRequestLinkTlToEventData, CostumEventRequestLoadContextTagData, GetGalleryData, GetAttendeesNoAdminData, GetAttendeesAdminData, CoformAnswersSearchData, CoformAnswersByIdData, GetCoformByIdData, CoformUploadAnswerFileData, CoformGetAnswerFilesData, GetCoformCatalogsData, SaveCoformAnswerData, GetCoformAnswerHistoryData, GetCoformMultievalDataData, GetCoformCommontableContributorsData, AddVoteData, AddReportAbuseData, UpdatePathValueData, DeleteDocumentByContextData, DeleteDocumentByIdData, DemoteAdminData, CostumFilterCoformData, CostumFilterCoformByPathData, GetCountriesData, SearchZonesData, CoformAnswersByFormsData, GenerateAnswerFromFormData, FundingEnvelopeData, CoremuOperationData, CostumProjectActionRequestNewData, CostumProjectActionRequestSetStatusData, CostumProjectActionRequestSetDateData, CostumProjectActionRequestSetContributorsData, CostumProjectActionRequestCancelData, CostumProjectActionRequestArchiveData, LinkDiscourseAccountData, UnlinkDiscourseAccountData, DiscourseProfileData, DiscourseCheckEmailData, DiscourseDismissLinkData, LinkMediawikiAccountData, UnlinkMediawikiAccountData, GetMediawikiContributionsData, AddClassifiedData, PersonActivateData } from "./EndpointApi.types.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Classe EndpointApi générée automatiquement depuis endpoints-copie.json
|
|
@@ -2251,6 +2251,21 @@ export class EndpointApi {
|
|
|
2251
2251
|
return this.callIsConnected("ADD_CLASSIFIED", data);
|
|
2252
2252
|
}
|
|
2253
2253
|
|
|
2254
|
+
/**
|
|
2255
|
+
* Activation d’un compte (lien email) : Valide l’adresse email d’un compte via le lien reçu par email. validationKey = sha256(user + email). Retire roles.tobeactivated et pose le consentement preferences.sendMail.source (port ActivateAction + Person::validateEmailAccount/validateUser).
|
|
2256
|
+
* Constant : PERSON_ACTIVATE
|
|
2257
|
+
* @param data - Données envoyées à l'API
|
|
2258
|
+
* @returns Les données de réponse.
|
|
2259
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
2260
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
2261
|
+
*/
|
|
2262
|
+
async personActivate(data: PersonActivateData): Promise<any> {
|
|
2263
|
+
if (!data || typeof data !== "object") {
|
|
2264
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
2265
|
+
}
|
|
2266
|
+
return this.callNoConnected("PERSON_ACTIVATE", data);
|
|
2267
|
+
}
|
|
2268
|
+
|
|
2254
2269
|
}
|
|
2255
2270
|
|
|
2256
2271
|
export default EndpointApi;
|
|
@@ -6663,3 +6663,16 @@ export interface AddClassifiedData {
|
|
|
6663
6663
|
scope: "";
|
|
6664
6664
|
[k: string]: unknown;
|
|
6665
6665
|
}
|
|
6666
|
+
|
|
6667
|
+
|
|
6668
|
+
export interface PersonActivateData {
|
|
6669
|
+
/**
|
|
6670
|
+
* Identifiant (_id) du compte à activer
|
|
6671
|
+
*/
|
|
6672
|
+
user: string;
|
|
6673
|
+
/**
|
|
6674
|
+
* Clé de validation = sha256(user + email)
|
|
6675
|
+
*/
|
|
6676
|
+
validationKey: string;
|
|
6677
|
+
[k: string]: unknown;
|
|
6678
|
+
}
|
package/src/api/UserApi.ts
CHANGED
|
@@ -148,4 +148,34 @@ export class UserApi {
|
|
|
148
148
|
return response.data;
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Active (valide l'email) un compte via le lien reçu par email.
|
|
154
|
+
*
|
|
155
|
+
* Endpoint public (aucune authentification requise). La `validationKey`
|
|
156
|
+
* correspond à `sha256(user + email)`. En cas de succès, le rôle
|
|
157
|
+
* `tobeactivated` est retiré et le consentement `sendMail.source` posé.
|
|
158
|
+
*
|
|
159
|
+
* @param params
|
|
160
|
+
* @param params.user - Identifiant (`_id`) du compte à activer.
|
|
161
|
+
* @param params.validationKey - Clé de validation = `sha256(user + email)`.
|
|
162
|
+
* @returns Réponse brute de l'API (`{ result: true, msg: string }`).
|
|
163
|
+
* @throws {ApiError} En cas de mise en file (offline/circuit breaker).
|
|
164
|
+
* @throws {ApiResponseError} Si l'API retourne un échec (`result === false`).
|
|
165
|
+
*/
|
|
166
|
+
async activateAccount({ user, validationKey }: { user: string; validationKey: string }): Promise<any> {
|
|
167
|
+
return this.client.safeCall(async () => {
|
|
168
|
+
const response = await this.client.callEndpoint("PERSON_ACTIVATE", { user, validationKey });
|
|
169
|
+
|
|
170
|
+
if (!isAxiosResponse(response)) {
|
|
171
|
+
throw new ApiError("Requête mise en file (offline/circuit breaker)", 503, response);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
if (response?.data?.result === false) {
|
|
175
|
+
throw new ApiResponseError(response.data.msg, response.status, response.data);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
return response.data;
|
|
179
|
+
});
|
|
180
|
+
}
|
|
151
181
|
}
|