@communecter/cocolight-api-client 1.0.161 → 1.0.163

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.161",
3
+ "version": "1.0.163",
4
4
  "description": "Client Axios simplifié pour l'API cocolight",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1735,6 +1735,35 @@ export declare class BaseEntity<TServerData = any> {
1735
1735
  isAdmin?: "" | "admin";
1736
1736
  roles?: string[];
1737
1737
  }>): Promise<unknown>;
1738
+ /**
1739
+ * L'entité porte-t-elle un contexte costum COMPLET (slug + costumId + costumType) ?
1740
+ * Vrai pour une entité chargée avec un `source.key` connu, ou après `setCostumScope()`.
1741
+ */
1742
+ hasCostumScope(): boolean;
1743
+ /**
1744
+ * Pose EXPLICITEMENT le scope costum de l'entité — l'API OFFICIELLE pour rattacher une entité
1745
+ * HÔTE de costum (qui n'a pas de `source.key` : c'est elle la source, la lib ne lui auto-dérive
1746
+ * donc aucun `_costumCtx`) aux méthodes qui l'exigent (`_requireCostumCtx` : `previewImport`,
1747
+ * `importElements`, `exportElements`, `addReference`…).
1748
+ *
1749
+ * Résolution :
1750
+ * 1. le REGISTRE bundlé d'abord (`resolveCostumCtxFromSource` — costum connu : identité + overlay
1751
+ * de champs, source de vérité interne) ;
1752
+ * 2. sinon un contexte NU construit depuis `opts` (costum de config/déploiement hors registre) —
1753
+ * même forme que le fallback interne (schema vide, fields:[]) ;
1754
+ * 3. sinon throw (identité costum introuvable).
1755
+ *
1756
+ * Remplace la mutation externe de `_costumCtx` pratiquée par les fronts (champ INTERNE non
1757
+ * contractuel) — cf. site-json `ensureCostumScope`, à migrer sur cette méthode.
1758
+ *
1759
+ * @param slug - Slug du costum (ex. `"equipementsSportifs974"`).
1760
+ * @param opts.costumId / opts.costumType - Identité de l'élément hôte, requise si le costum
1761
+ * n'est pas dans le registre bundlé (résolue par le front via slug/getinfo).
1762
+ */
1763
+ setCostumScope(slug: string, opts?: {
1764
+ costumId?: string;
1765
+ costumType?: string;
1766
+ }): void;
1738
1767
  /**
1739
1768
  * Contexte costum de CETTE entité (résolu de son `source.key`) — requis par l'import/export admin.
1740
1769
  * @throws {ApiError} si l'entité n'est pas rattachée à un costum.
@@ -1853,6 +1882,36 @@ export declare class BaseEntity<TServerData = any> {
1853
1882
  news: unknown[];
1854
1883
  comments: unknown[];
1855
1884
  }>;
1885
+ /**
1886
+ * Détail consolidé des signalements d'un élément de la file de modération (NEWS_MODERATE /
1887
+ * COMMENT_MODERATE, subAction consolidateModerate{News,Comment}).
1888
+ * ⚠ Réponse legacy : `{ result: {text, reason, detail?} }` SANS booléen (clé PHP dupliquée écrasée) —
1889
+ * `reason` est `{}` → `[]` (array vide) quand il n'y a aucun signalement.
1890
+ *
1891
+ * @param context - `"news"` ou `"comments"`.
1892
+ * @param id - ID de l'élément signalé.
1893
+ */
1894
+ consolidateModeration(context: "news" | "comments", id: string): Promise<{
1895
+ result: {
1896
+ text: string | null;
1897
+ reason: Record<string, number> | unknown[];
1898
+ detail?: Record<string, string>;
1899
+ };
1900
+ }>;
1901
+ /**
1902
+ * Vote de modération sur un élément signalé (saveModerate) : pose `moderate.<uid>` + incrémente
1903
+ * `moderateCount`. Pour les NEWS, au seuil de 3 votes le backend tranche `isAnAbuse` à la
1904
+ * majorité (>49%) — une news « abus » est exclue des flux (pas supprimée). Les COMMENTS n'ont
1905
+ * pas de seuil (parité legacy : consolidation commentée).
1906
+ *
1907
+ * @param context - `"news"` ou `"comments"`.
1908
+ * @param id - ID de l'élément signalé.
1909
+ * @param isAnAbuse - Le vote (transmis en STRING 'true'|'false' — parité legacy).
1910
+ */
1911
+ saveModeration(context: "news" | "comments", id: string, isAnAbuse: boolean): Promise<{
1912
+ result: boolean;
1913
+ msg: string;
1914
+ }>;
1856
1915
  /** UUID v4 compatible browser + Node (`crypto.randomUUID()` si dispo, sinon fallback). @private */
1857
1916
  private _uuidV4;
1858
1917
  /**
@@ -1,5 +1,5 @@
1
1
  import type ApiClient from "../ApiClient.js";
2
- import type { DocumentListData, 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, GlobalAutocompleteAdminCostumData, GetOrganizationsNoAdminData, GetOrganizationsAdminData, GetUserEligiblePlacesData, GetMembersNoAdminData, GetMembersAdminData, GetFriendsAdminData, GetSubscriptionsData, GetSubscriptionsAdminData, GetSubscribersData, GetSubscribersAdminData, GetContributorsNoAdminData, GetContributorsAdminData, GetBadgesData, GetBadgesFiltersData, ConnectData, 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, 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 } from "./EndpointApi.types.js";
2
+ import type { DocumentListData, 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, GlobalAutocompleteAdminCostumData, GetOrganizationsNoAdminData, GetOrganizationsAdminData, GetUserEligiblePlacesData, GetMembersNoAdminData, GetMembersAdminData, GetFriendsAdminData, GetSubscriptionsData, GetSubscriptionsAdminData, GetSubscribersData, GetSubscribersAdminData, GetContributorsNoAdminData, GetContributorsAdminData, GetBadgesData, GetBadgesFiltersData, ConnectData, 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, 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 } from "./EndpointApi.types.js";
3
3
  /**
4
4
  * Classe EndpointApi générée automatiquement depuis endpoints-copie.json
5
5
  */
@@ -1482,5 +1482,25 @@ export declare class EndpointApi {
1482
1482
  * @throws {Error} - En cas d'erreur inattendue.
1483
1483
  */
1484
1484
  moderate(data: ModerateData): Promise<any>;
1485
+ /**
1486
+ * Modération des actualités (sous-actions) : Port de news/co/ModerateAction : consolidateModerateNews (détail des signalements — dates format 12h PHP TZ Europe/Paris), saveModerate (vote moderate.<uid> ; au seuil de 3 votes, tranche isAnAbuse à la majorité >49% + notification activityStream), getNextIdToModerate. Byte-diff L/B 12/12. Backend : requireAuth (durcissement — le legacy laisse consolidate/getNext publics).
1487
+ * Constant : NEWS_MODERATE
1488
+ * @param data - Données envoyées à l'API
1489
+ * @returns Les données de réponse.
1490
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1491
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1492
+ * @throws {Error} - En cas d'erreur inattendue.
1493
+ */
1494
+ newsModerate(data: NewsModerateData): Promise<any>;
1495
+ /**
1496
+ * Modération des commentaires (sous-actions) : Port de citizenToolKit/comment/ModerateAction : consolidateModerateComment (reportAbuse map uid→raison string ; detail "<raison> - Par <nom>(<email>)"), saveModerate (vote seul, SANS seuil — consolidation commentée dans le legacy). Messages byte-exacts (accents ≠ news).
1497
+ * Constant : COMMENT_MODERATE
1498
+ * @param data - Données envoyées à l'API
1499
+ * @returns Les données de réponse.
1500
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1501
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1502
+ * @throws {Error} - En cas d'erreur inattendue.
1503
+ */
1504
+ commentModerate(data: CommentModerateData): Promise<any>;
1485
1505
  }
1486
1506
  export default EndpointApi;
@@ -6318,3 +6318,33 @@ export interface SetSourceData {
6318
6318
  export interface ModerateData {
6319
6319
  [k: string]: unknown;
6320
6320
  }
6321
+ export interface NewsModerateData {
6322
+ /**
6323
+ * Sous-action ($_REQUEST['subAction'] legacy)
6324
+ */
6325
+ subAction: "consolidateModerateNews" | "saveModerate" | "getNextIdToModerate";
6326
+ /**
6327
+ * ID de l'élément modéré (requis sauf getNextIdToModerate)
6328
+ */
6329
+ id?: string;
6330
+ /**
6331
+ * Vote (STRING 'true'|'false' — stocké/comparé en string, parité legacy). Requis pour saveModerate.
6332
+ */
6333
+ isAnAbuse?: "true" | "false";
6334
+ [k: string]: unknown;
6335
+ }
6336
+ export interface CommentModerateData {
6337
+ /**
6338
+ * Sous-action ($_REQUEST['subAction'] legacy)
6339
+ */
6340
+ subAction: "consolidateModerateComment" | "saveModerate";
6341
+ /**
6342
+ * ID de l'élément modéré (requis sauf getNextIdToModerate)
6343
+ */
6344
+ id?: string;
6345
+ /**
6346
+ * Vote (STRING 'true'|'false' — stocké/comparé en string, parité legacy). Requis pour saveModerate.
6347
+ */
6348
+ isAnAbuse?: "true" | "false";
6349
+ [k: string]: unknown;
6350
+ }