@communecter/cocolight-api-client 1.0.78 → 1.0.79
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 +3 -3
- 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/BaseEntity.ts +6 -4
- package/src/api/EndpointApi.ts +17 -1
- package/src/api/EndpointApi.types.ts +14 -0
- package/src/api/User.ts +494 -16
- package/src/api/serverDataType/common.ts +1 -0
- package/src/endpoints.module.ts +1 -1
- package/types/api/BaseEntity.d.ts +2 -0
- package/types/api/EndpointApi.d.ts +11 -1
- package/types/api/EndpointApi.types.d.ts +12 -0
- package/types/api/User.d.ts +226 -3
- package/types/api/serverDataType/common.d.ts +1 -0
- package/types/endpoints.module.d.ts +356 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type ApiClient from "../ApiClient.js";
|
|
2
|
-
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, 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, CostumEventRequestActorsData, CostumEventRequestSubeventsData, CostumEventRequestElementEventData, CostumEventRequestCategoriesData, CostumEventRequestDatesData, CostumEventRequestEventData, CostumEventRequestLinkTlToEventData, CostumEventRequestLoadContextTagData, GetGalleryData, GetAttendeesNoAdminData, GetAttendeesAdminData, CoformAnswersSearchData, CoformAnswersByIdData, AddVoteData, AddReportAbuseData, UpdatePathValueData, DeleteDocumentByContextData } from "./EndpointApi.types.js";
|
|
2
|
+
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, 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, CostumEventRequestActorsData, CostumEventRequestSubeventsData, CostumEventRequestElementEventData, CostumEventRequestCategoriesData, CostumEventRequestDatesData, CostumEventRequestEventData, CostumEventRequestLinkTlToEventData, CostumEventRequestLoadContextTagData, GetGalleryData, GetAttendeesNoAdminData, GetAttendeesAdminData, CoformAnswersSearchData, CoformAnswersByIdData, AddVoteData, AddReportAbuseData, UpdatePathValueData, DeleteDocumentByContextData, DemoteAdminData } from "./EndpointApi.types.js";
|
|
3
3
|
/**
|
|
4
4
|
* Classe EndpointApi générée automatiquement depuis endpoints-copie.json
|
|
5
5
|
*/
|
|
@@ -1049,5 +1049,15 @@ export declare class EndpointApi {
|
|
|
1049
1049
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1050
1050
|
*/
|
|
1051
1051
|
deleteDocumentByContext(data: DeleteDocumentByContextData): Promise<any>;
|
|
1052
|
+
/**
|
|
1053
|
+
* Rétirer les droits d’administrateur d’un membre : Rétirer les droits d’administrateur d’un membre d’une organisation ou d’un projet
|
|
1054
|
+
* Constant : DEMOTE_ADMIN
|
|
1055
|
+
* @param data - Données envoyées à l'API
|
|
1056
|
+
* @returns Les données de réponse.
|
|
1057
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1058
|
+
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1059
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
1060
|
+
*/
|
|
1061
|
+
demoteAdmin(data: DemoteAdminData): Promise<any>;
|
|
1052
1062
|
}
|
|
1053
1063
|
export default EndpointApi;
|
|
@@ -4507,3 +4507,15 @@ export interface DeleteDocumentByContextData {
|
|
|
4507
4507
|
};
|
|
4508
4508
|
[k: string]: unknown;
|
|
4509
4509
|
}
|
|
4510
|
+
export interface DemoteAdminData {
|
|
4511
|
+
parentId: string;
|
|
4512
|
+
/**
|
|
4513
|
+
* Type de contexte de l’entité
|
|
4514
|
+
*/
|
|
4515
|
+
parentType: "organizations" | "projects";
|
|
4516
|
+
childId: string;
|
|
4517
|
+
childType: "citoyens";
|
|
4518
|
+
connect: "members" | "contributors";
|
|
4519
|
+
isAdmin: false;
|
|
4520
|
+
[k: string]: unknown;
|
|
4521
|
+
}
|
package/types/api/User.d.ts
CHANGED
|
@@ -354,11 +354,12 @@ export declare class User extends BaseEntity<UserItemNormalized> {
|
|
|
354
354
|
*/
|
|
355
355
|
private _validateRoleCheckPreconditions;
|
|
356
356
|
/**
|
|
357
|
-
* Récupère le lien
|
|
357
|
+
* Récupère le lien parent pour l'utilisateur actuel.
|
|
358
|
+
*
|
|
359
|
+
* @returns Le lien parent de l'utilisateur ou `null` s'il n'existe pas.
|
|
358
360
|
* @private
|
|
359
|
-
* @returns Le lien utilisateur ou null.
|
|
360
361
|
*/
|
|
361
|
-
private
|
|
362
|
+
private _getParentLinkForUser;
|
|
362
363
|
/**
|
|
363
364
|
* Vérifie si l'utilisateur est administrateur de l'entité parente.
|
|
364
365
|
*
|
|
@@ -478,5 +479,227 @@ export declare class User extends BaseEntity<UserItemNormalized> {
|
|
|
478
479
|
* }
|
|
479
480
|
*/
|
|
480
481
|
isAttendee(): boolean;
|
|
482
|
+
/**
|
|
483
|
+
* Vérifie si l'utilisateur a une invitation en attente d'acceptation pour l'entité parente.
|
|
484
|
+
*
|
|
485
|
+
* Cette méthode vérifie si l'utilisateur a été invité à rejoindre l'organisation, le projet
|
|
486
|
+
* ou l'événement parent, mais n'a pas encore accepté l'invitation (`isInviting: true`).
|
|
487
|
+
*
|
|
488
|
+
* @returns {boolean} `true` si l'utilisateur a une invitation en attente, `false` sinon
|
|
489
|
+
* @throws {ApiError} Si l'utilisateur n'est pas connecté, pas admin du parent, ou si le parent n'est pas défini
|
|
490
|
+
*
|
|
491
|
+
* @example
|
|
492
|
+
* ```typescript
|
|
493
|
+
* const org = await me.organization({ slug: "myOrg" });
|
|
494
|
+
* const members = await org.getMembers();
|
|
495
|
+
* const invitedUser = members.results.find(m => m.isInviting());
|
|
496
|
+
* console.log("Invitation en attente:", invitedUser?.data.name);
|
|
497
|
+
* ```
|
|
498
|
+
*/
|
|
499
|
+
isInviting(): boolean;
|
|
500
|
+
/**
|
|
501
|
+
* Vérifie si l'utilisateur a une invitation en attente avec des droits d'admin.
|
|
502
|
+
*
|
|
503
|
+
* Cette méthode vérifie si l'utilisateur a été invité à rejoindre l'organisation ou le projet
|
|
504
|
+
* parent en tant qu'administrateur, mais n'a pas encore accepté (`isInviting: true` et `isAdmin: true`).
|
|
505
|
+
*
|
|
506
|
+
* @returns {boolean} `true` si l'utilisateur a une invitation admin en attente, `false` sinon
|
|
507
|
+
* @throws {ApiError} Si l'utilisateur n'est pas connecté, pas admin du parent, ou si le parent n'est pas défini
|
|
508
|
+
*
|
|
509
|
+
* @example
|
|
510
|
+
* ```typescript
|
|
511
|
+
* const org = await me.organization({ slug: "myOrg" });
|
|
512
|
+
* const members = await org.getMembers();
|
|
513
|
+
* const invitedAdmin = members.results.find(m => m.isInvitingAdmin());
|
|
514
|
+
* console.log("Invitation admin en attente:", invitedAdmin?.data.name);
|
|
515
|
+
* ```
|
|
516
|
+
*/
|
|
517
|
+
isInvitingAdmin(): boolean;
|
|
518
|
+
/**
|
|
519
|
+
* Vérifie si l'utilisateur a une demande de promotion admin en attente de validation.
|
|
520
|
+
*
|
|
521
|
+
* Cette méthode vérifie si l'utilisateur a demandé ou a été proposé pour devenir administrateur
|
|
522
|
+
* de l'organisation ou du projet parent, mais la demande n'a pas encore été validée (`isAdminPending: true`).
|
|
523
|
+
*
|
|
524
|
+
* @returns {boolean} `true` si l'utilisateur a une demande admin en attente, `false` sinon
|
|
525
|
+
* @throws {ApiError} Si l'utilisateur n'est pas connecté, pas admin du parent, ou si le parent n'est pas défini
|
|
526
|
+
*
|
|
527
|
+
* @example
|
|
528
|
+
* ```typescript
|
|
529
|
+
* const org = await me.organization({ slug: "myOrg" });
|
|
530
|
+
* const members = await org.getMembers();
|
|
531
|
+
* const pendingAdmin = members.results.find(m => m.isAdminPending());
|
|
532
|
+
* if (pendingAdmin) {
|
|
533
|
+
* await pendingAdmin.validateAdminRequest();
|
|
534
|
+
* }
|
|
535
|
+
* ```
|
|
536
|
+
*/
|
|
537
|
+
isAdminPending(): boolean;
|
|
538
|
+
/**
|
|
539
|
+
* Vérifie si l'utilisateur a une demande d'adhésion en attente de validation.
|
|
540
|
+
*
|
|
541
|
+
* Cette méthode vérifie si l'utilisateur a demandé à rejoindre l'organisation, le projet
|
|
542
|
+
* ou l'événement parent, mais la demande n'a pas encore été validée par un administrateur (`toBeValidated: true`).
|
|
543
|
+
*
|
|
544
|
+
* @returns {boolean} `true` si l'utilisateur a une demande en attente, `false` sinon
|
|
545
|
+
* @throws {ApiError} Si l'utilisateur n'est pas connecté, pas admin du parent, ou si le parent n'est pas défini
|
|
546
|
+
*
|
|
547
|
+
* @example
|
|
548
|
+
* ```typescript
|
|
549
|
+
* const org = await me.organization({ slug: "myOrg" });
|
|
550
|
+
* const members = await org.getMembers();
|
|
551
|
+
* const pendingUser = members.results.find(m => m.isToBeValidated());
|
|
552
|
+
* if (pendingUser) {
|
|
553
|
+
* await pendingUser.validateMemberRequest();
|
|
554
|
+
* }
|
|
555
|
+
* ```
|
|
556
|
+
*/
|
|
557
|
+
isToBeValidated(): boolean;
|
|
558
|
+
/**
|
|
559
|
+
* Envoie une demande pour rejoindre l'entité parente.
|
|
560
|
+
*
|
|
561
|
+
* Cette méthode permet à un admin de créer une demande de connexion pour un utilisateur
|
|
562
|
+
* vers l'organisation ou le projet parent. Si l'utilisateur n'a pas encore de lien,
|
|
563
|
+
* une demande de connexion est créée.
|
|
564
|
+
*
|
|
565
|
+
* @returns {Promise<unknown>} La réponse de l'API après création de la demande
|
|
566
|
+
* @throws {ApiError} Si l'utilisateur n'est pas connecté, pas admin, ou si le parent n'est pas défini
|
|
567
|
+
* @throws {ApiError} Si l'utilisateur est déjà en attente de validation
|
|
568
|
+
* @throws {ApiError} Si l'utilisateur est déjà connecté à l'entité
|
|
569
|
+
*
|
|
570
|
+
* @example
|
|
571
|
+
* ```typescript
|
|
572
|
+
* // Un admin récupère les membres et envoie une invitation
|
|
573
|
+
* const org = await me.organization({ slug: "myOrg" });
|
|
574
|
+
* const users = await org.getMembers();
|
|
575
|
+
* const user = users.results[0];
|
|
576
|
+
* await user.sendRequestToJoinParent();
|
|
577
|
+
* ```
|
|
578
|
+
*/
|
|
579
|
+
sendRequestToJoinParent(): Promise<unknown>;
|
|
580
|
+
/**
|
|
581
|
+
* Valide une demande de membre en attente de validation.
|
|
582
|
+
*
|
|
583
|
+
* Cette méthode permet à un admin de valider une demande d'adhésion d'un utilisateur
|
|
584
|
+
* qui est en attente (`toBeValidated: true`). Après validation, l'utilisateur devient
|
|
585
|
+
* membre actif de l'entité parente.
|
|
586
|
+
*
|
|
587
|
+
* @returns {Promise<unknown>} La réponse de l'API après validation
|
|
588
|
+
* @throws {ApiError} Si l'utilisateur n'est pas connecté, pas admin, ou si le parent n'est pas défini
|
|
589
|
+
* @throws {ApiError} Si l'utilisateur n'a pas de demande en attente
|
|
590
|
+
*
|
|
591
|
+
* @example
|
|
592
|
+
* ```typescript
|
|
593
|
+
* // Un admin valide une demande en attente
|
|
594
|
+
* const org = await me.organization({ slug: "myOrg" });
|
|
595
|
+
* const members = await org.getMembers();
|
|
596
|
+
* const pendingUser = members.results.find(u => u.serverData.links?.memberOf?.[org.id]?.toBeValidated);
|
|
597
|
+
* await pendingUser.validateMemberRequest();
|
|
598
|
+
* ```
|
|
599
|
+
*/
|
|
600
|
+
validateMemberRequest(): Promise<unknown>;
|
|
601
|
+
/**
|
|
602
|
+
* Valide une invitation en attente d'acceptation.
|
|
603
|
+
*
|
|
604
|
+
* Cette méthode permet à un admin de valider une invitation envoyée à un utilisateur
|
|
605
|
+
* qui est en attente (`isInviting: true`). Après validation, l'utilisateur devient
|
|
606
|
+
* membre actif de l'entité parente.
|
|
607
|
+
*
|
|
608
|
+
* @returns {Promise<unknown>} La réponse de l'API après validation
|
|
609
|
+
* @throws {ApiError} Si l'utilisateur n'est pas connecté, pas admin, ou si le parent n'est pas défini
|
|
610
|
+
* @throws {ApiError} Si l'utilisateur n'a pas d'invitation en attente
|
|
611
|
+
*
|
|
612
|
+
* @example
|
|
613
|
+
* ```typescript
|
|
614
|
+
* // Un admin valide une invitation en attente
|
|
615
|
+
* const org = await me.organization({ slug: "myOrg" });
|
|
616
|
+
* const members = await org.getMembers();
|
|
617
|
+
* const invitedUser = members.results.find(u => u.serverData.links?.memberOf?.[org.id]?.isInviting);
|
|
618
|
+
* await invitedUser.validateInvitation();
|
|
619
|
+
* ```
|
|
620
|
+
*/
|
|
621
|
+
/**
|
|
622
|
+
* Valide une demande d'admin en attente.
|
|
623
|
+
*
|
|
624
|
+
* Cette méthode permet à un admin de valider une demande de promotion au statut d'admin
|
|
625
|
+
* pour un utilisateur qui est en attente (`isAdminPending: true`). Après validation,
|
|
626
|
+
* l'utilisateur devient admin de l'entité parente.
|
|
627
|
+
*
|
|
628
|
+
* @returns {Promise<unknown>} La réponse de l'API après validation
|
|
629
|
+
* @throws {ApiError} Si l'utilisateur n'est pas connecté, pas admin, ou si le parent n'est pas défini
|
|
630
|
+
* @throws {ApiError} Si l'utilisateur n'a pas de demande d'admin en attente
|
|
631
|
+
*
|
|
632
|
+
* @example
|
|
633
|
+
* ```typescript
|
|
634
|
+
* // Un admin valide une demande de promotion à admin
|
|
635
|
+
* const org = await me.organization({ slug: "myOrg" });
|
|
636
|
+
* const members = await org.getMembers();
|
|
637
|
+
* const pendingAdmin = members.results.find(u => u.serverData.links?.memberOf?.[org.id]?.isAdminPending);
|
|
638
|
+
* await pendingAdmin.validateAdminRequest();
|
|
639
|
+
* ```
|
|
640
|
+
*/
|
|
641
|
+
validateAdminRequest(): Promise<unknown>;
|
|
642
|
+
/**
|
|
643
|
+
* Retire un utilisateur de l'entité parente.
|
|
644
|
+
*
|
|
645
|
+
* Cette méthode permet à un admin de déconnecter un membre de l'organisation ou du projet parent.
|
|
646
|
+
* L'utilisateur perd tous ses liens avec l'entité (membre, admin, etc.).
|
|
647
|
+
*
|
|
648
|
+
* @returns {Promise<unknown>} La réponse de l'API après déconnexion
|
|
649
|
+
* @throws {ApiError} Si l'utilisateur n'est pas connecté, pas admin, ou si le parent n'est pas défini
|
|
650
|
+
* @throws {ApiError} Si l'utilisateur n'est pas membre de l'entité
|
|
651
|
+
*
|
|
652
|
+
* @example
|
|
653
|
+
* ```typescript
|
|
654
|
+
* // Un admin retire un membre
|
|
655
|
+
* const org = await me.organization({ slug: "myOrg" });
|
|
656
|
+
* const members = await org.getMembers();
|
|
657
|
+
* const userToRemove = members.results[0];
|
|
658
|
+
* await userToRemove.removeFromParent();
|
|
659
|
+
* ```
|
|
660
|
+
*/
|
|
661
|
+
removeFromParent(): Promise<unknown>;
|
|
662
|
+
/**
|
|
663
|
+
* Promeut un utilisateur au statut d'admin de l'entité parente.
|
|
664
|
+
*
|
|
665
|
+
* Cette méthode permet à un admin de promouvoir un membre ordinaire au statut d'admin
|
|
666
|
+
* de l'organisation ou du projet parent.
|
|
667
|
+
*
|
|
668
|
+
* @returns {Promise<unknown>} La réponse de l'API après promotion
|
|
669
|
+
* @throws {ApiError} Si l'utilisateur n'est pas connecté, pas admin, ou si le parent n'est pas défini
|
|
670
|
+
* @throws {ApiError} Si l'utilisateur n'est pas membre de l'entité
|
|
671
|
+
* @throws {ApiError} Si l'utilisateur est déjà admin
|
|
672
|
+
*
|
|
673
|
+
* @example
|
|
674
|
+
* ```typescript
|
|
675
|
+
* // Un admin promeut un membre au statut d'admin
|
|
676
|
+
* const org = await me.organization({ slug: "myOrg" });
|
|
677
|
+
* const members = await org.getMembers();
|
|
678
|
+
* const userToPromote = members.results.find(u => !u.isAdmin());
|
|
679
|
+
* await userToPromote.promoteToAdmin();
|
|
680
|
+
* ```
|
|
681
|
+
*/
|
|
682
|
+
promoteToAdmin(): Promise<unknown>;
|
|
683
|
+
/**
|
|
684
|
+
* Rétrograde un admin au statut de membre ordinaire.
|
|
685
|
+
*
|
|
686
|
+
* Cette méthode permet à un admin de rétrograder un autre admin au statut de membre
|
|
687
|
+
* ordinaire de l'organisation ou du projet parent. L'utilisateur perd ses privilèges d'admin
|
|
688
|
+
* mais reste membre de l'entité.
|
|
689
|
+
*
|
|
690
|
+
* @returns {Promise<unknown>} La réponse de l'API après rétrogradation
|
|
691
|
+
* @throws {ApiError} Si l'utilisateur n'est pas connecté, pas admin, ou si le parent n'est pas défini
|
|
692
|
+
* @throws {ApiError} Si l'utilisateur n'est pas admin de l'entité
|
|
693
|
+
*
|
|
694
|
+
* @example
|
|
695
|
+
* ```typescript
|
|
696
|
+
* // Un admin rétrograde un autre admin
|
|
697
|
+
* const org = await me.organization({ slug: "myOrg" });
|
|
698
|
+
* const admins = await org.getMembers({}, { isAdmin: true });
|
|
699
|
+
* const adminToDemote = admins.results.find(u => u.isAdmin());
|
|
700
|
+
* await adminToDemote.demoteFromAdmin();
|
|
701
|
+
* ```
|
|
702
|
+
*/
|
|
703
|
+
demoteFromAdmin(): Promise<unknown>;
|
|
481
704
|
}
|
|
482
705
|
export {};
|