@communecter/cocolight-api-client 1.0.202 → 1.0.203

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@communecter/cocolight-api-client",
3
- "version": "1.0.202",
3
+ "version": "1.0.203",
4
4
  "description": "Client Axios simplifié pour l'API cocolight",
5
5
  "repository": {
6
6
  "type": "git",
@@ -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, GetCommentsByPathData, AddCommentsData, DeleteCommentsData, UpdateCommentsData, GetDiscussionsData, MarkCommentsSeenData, GetDiscussionSpaceData, CreateDiscussionData, 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, LinkSetRolesData, CreateInvitationLinkData, ConnectByRefData, DisconnectData, GetElementsKeyData, GetFavorisData, DeleteFavorisData, AddFavorisData, AddOrganizationData, SaveCitoyenData, 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, AgendaGetPdfData, 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, CostumCreateAmpliData, CostumRemoveAmpliData } from "./EndpointApi.types.js";
2
+ import type { DocumentListData, PersonRegisterData, AuthenticateUrlData, RefreshTokenUrlData, SsoExchangeData, 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, GetCommentsByPathData, AddCommentsData, DeleteCommentsData, UpdateCommentsData, GetDiscussionsData, MarkCommentsSeenData, GetDiscussionSpaceData, CreateDiscussionData, 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, LinkSetRolesData, CreateInvitationLinkData, ConnectByRefData, DisconnectData, GetElementsKeyData, GetFavorisData, DeleteFavorisData, AddFavorisData, AddOrganizationData, SaveCitoyenData, 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, AgendaGetPdfData, 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, CostumCreateAmpliData, CostumRemoveAmpliData } from "./EndpointApi.types.js";
3
3
  /**
4
4
  * Classe EndpointApi générée automatiquement depuis endpoints-copie.json
5
5
  */
@@ -83,6 +83,15 @@ export declare class EndpointApi {
83
83
  * @throws {Error} - En cas d'erreur inattendue.
84
84
  */
85
85
  refreshTokenUrl(data: RefreshTokenUrlData): Promise<any>;
86
+ /**
87
+ * Échange d'un code SSO contre des tokens : Troque le code d'échange SSO à usage unique (2 min) contre les JWT cocolight (accessToken + refreshToken), même forme que authenticate. Émis par le SSO popup OpenID Connect du legacy (co2/sso, AuthHandler::generateAndStoreSSOTokens) quand le retour du provider n'arrive PAS dans la popup ouverte par le site (lien de vérification d'e-mail ouvert dans un nouvel onglet) : la vue co2/views/oauth/redirect.php renvoie alors le navigateur sur <origine du site>/sso/callback#code=<code>, et le site appelle cet endpoint. Le code est un JWT signé avec jwt.exchangeTokenKey (typ sso-exchange, jti consommé en base : un code ne se rejoue pas).
88
+ * Constant : SSO_EXCHANGE
89
+ * @param data - Données envoyées à l'API
90
+ * @returns Les données de réponse.
91
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
92
+ * @throws {Error} - En cas d'erreur inattendue.
93
+ */
94
+ ssoExchange(data: SsoExchangeData): Promise<any>;
86
95
  /**
87
96
  * Récupérer les informations utilisateur : Récupère les informations du profil utilisateur pour un token donné.
88
97
  * Constant : ME_INFO_URL
@@ -80,6 +80,13 @@ export interface RefreshTokenUrlData {
80
80
  refreshToken: string;
81
81
  [k: string]: unknown;
82
82
  }
83
+ export interface SsoExchangeData {
84
+ /**
85
+ * Code d'échange SSO (JWT compact) lu dans le fragment #code= de /sso/callback
86
+ */
87
+ code: string;
88
+ [k: string]: unknown;
89
+ }
83
90
  export interface PasswordRecoveryData {
84
91
  /**
85
92
  * Adresse email de l'utilisateur
@@ -29,6 +29,27 @@ export declare class UserApi {
29
29
  * @throws {ApiResponseError} Si l'API retourne une erreur d'authentification.
30
30
  */
31
31
  login(email: string, password: string): Promise<User>;
32
+ /**
33
+ * Termine une connexion SSO arrivée HORS de la popup : troque le code d'échange à usage unique
34
+ * (lu dans le fragment `#code=` de `/sso/callback`) contre les JWT, et retourne l'instance `User`.
35
+ *
36
+ * Le flux SSO normal se joue dans une popup qui remet les jetons par `postMessage`. Quand le retour
37
+ * du provider n'arrive pas dans cette popup (lien de vérification d'e-mail Keycloak ouvert dans un
38
+ * nouvel onglet, popup coupée de son `opener`…), le serveur renvoie le navigateur sur le site avec un
39
+ * code signé, valable 2 minutes, consommé en base au premier usage (un rejeu est refusé 401).
40
+ * Le contrat `SSO_EXCHANGE` porte les mêmes `postActions` que `AUTHENTICATE_URL` : les jetons sont
41
+ * posés sur le client et `userLoggedIn` est émis par `callEndpoint`, exactement comme `login`.
42
+ *
43
+ * Un jeton PÉRIMÉ resté en stockage est écarté avant l'appel : le legacy rejette tout Bearer invalide
44
+ * avant même de lire le code, ce qui perdrait un code encore valable (le fragment est déjà effacé).
45
+ *
46
+ * @param code - Code d'échange SSO (JWT compact).
47
+ * @returns {Promise<User>}
48
+ * @throws {ApiError} En cas d'échec de connexion réseau ou de problème interne.
49
+ * @throws {ApiResponseError} Si l'API refuse le code (invalide, expiré, déjà utilisé, autre origine) :
50
+ * `message` = le message serveur (`{error}`), `responseData` = le corps.
51
+ */
52
+ loginWithSsoCode(code: string): Promise<User>;
32
53
  /**
33
54
  * Récupère l'instance `User` correspondant à l'utilisateur actuellement connecté.
34
55
  *