@communecter/cocolight-api-client 1.0.78 → 1.0.80

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.
@@ -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
+ }
@@ -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 utilisateur pour l'entité parente.
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 _getUserLinkForParent;
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 {};
@@ -17,6 +17,7 @@ export interface LinkRef<TType extends string = string> {
17
17
  isAdmin?: boolean;
18
18
  isAdminPending?: boolean;
19
19
  isInviting?: boolean;
20
+ isAdminInviting?: boolean;
20
21
  invitorId?: string;
21
22
  invitorName?: string;
22
23
  toBeValidated?: boolean;