@communecter/cocolight-api-client 1.0.117 → 1.0.118

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.117",
3
+ "version": "1.0.118",
4
4
  "description": "Client Axios simplifié pour l'API cocolight",
5
5
  "repository": {
6
6
  "type": "git",
@@ -3826,17 +3826,26 @@ export class BaseEntity<TServerData = any> {
3826
3826
 
3827
3827
  /**
3828
3828
  * Vérifie si l'utilisateur est l'auteur de l'entité.
3829
- *
3829
+ * @param options - Options de vérification.
3830
+ * @param options.silent - Si `true`, retourne `false` au lieu de lever une exception. Par défaut `true`.
3830
3831
  * @returns - `true` si l'utilisateur est l'auteur, `false` sinon.
3831
3832
  * @throws {ApiError} - Si l'utilisateur n'est pas connecté ou si les données du serveur ne sont pas disponibles.
3832
3833
  */
3833
- isAuthor(): boolean {
3834
- this._checkAccess("vérifier l'auteur");
3835
- if (!this.serverData) {
3836
- throw new ApiError("Aucune donnée serveur disponible.", 404);
3837
- }
3838
- if (!this.userId) {
3839
- throw new ApiError("Utilisateur non connecté.", 401);
3834
+ isAuthor(options?: { silent?: boolean }): boolean {
3835
+
3836
+ const silent = options?.silent ?? true;
3837
+
3838
+ try {
3839
+ this._checkAccess("vérifier l'auteur");
3840
+ if (!this.serverData) {
3841
+ throw new ApiError("Aucune donnée serveur disponible.", 404);
3842
+ }
3843
+ if (!this.userId) {
3844
+ throw new ApiError("Utilisateur non connecté.", 401);
3845
+ }
3846
+ } catch (e) {
3847
+ if (silent) return false;
3848
+ throw e;
3840
3849
  }
3841
3850
 
3842
3851
  const sd: { creator?: string | null } = this.serverData;
package/src/api/News.ts CHANGED
@@ -457,7 +457,8 @@ export class News extends BaseEntity<NewsItemNormalized> {
457
457
  * Cette méthode compare l'ID de l'utilisateur connecté avec l'ID de l'auteur
458
458
  * de l'actualité. L'auteur peut être soit un objet simple NewsAuthor, soit
459
459
  * une instance d'entité User ou Organization.
460
- *
460
+ * @param options - Options de vérification.
461
+ * @param options.silent - Si `true`, retourne `false` au lieu de lever une exception. Par défaut `true`.
461
462
  * @returns `true` si l'utilisateur connecté est l'auteur, `false` sinon
462
463
  * @throws {ApiError} Si l'utilisateur n'est pas connecté (401)
463
464
  * @throws {ApiError} Si l'actualité n'a pas d'ID - non enregistrée (404)
@@ -474,18 +475,25 @@ export class News extends BaseEntity<NewsItemNormalized> {
474
475
  * }
475
476
  * ```
476
477
  */
477
- override isAuthor(): boolean {
478
- if (!this.isMe) {
479
- throw new ApiError("Vous devez être connecté pour vérifier l'auteur.", 401);
480
- }
481
- if (!this.id) {
482
- throw new ApiError(`${this.constructor.name} non enregistrée.`, 404);
483
- }
484
- if (!this.serverData) {
485
- throw new ApiError("Aucune donnée serveur disponible.", 404);
486
- }
487
- if (!this.userId) {
488
- throw new ApiError("Utilisateur non connecté.", 401);
478
+ override isAuthor(options?: { silent?: boolean }): boolean {
479
+ const silent = options?.silent ?? true;
480
+
481
+ try {
482
+ if (!this.isMe) {
483
+ throw new ApiError("Vous devez être connecté pour vérifier l'auteur.", 401);
484
+ }
485
+ if (!this.id) {
486
+ throw new ApiError(`${this.constructor.name} non enregistrée.`, 404);
487
+ }
488
+ if (!this.serverData) {
489
+ throw new ApiError("Aucune donnée serveur disponible.", 404);
490
+ }
491
+ if (!this.userId) {
492
+ throw new ApiError("Utilisateur non connecté.", 401);
493
+ }
494
+ } catch (e) {
495
+ if (silent) return false;
496
+ throw e;
489
497
  }
490
498
 
491
499
  const author = this.serverData.author;
@@ -1310,11 +1310,14 @@ export declare class BaseEntity<TServerData = any> {
1310
1310
  protected _isLinked(linkType: string): boolean;
1311
1311
  /**
1312
1312
  * Vérifie si l'utilisateur est l'auteur de l'entité.
1313
- *
1313
+ * @param options - Options de vérification.
1314
+ * @param options.silent - Si `true`, retourne `false` au lieu de lever une exception. Par défaut `true`.
1314
1315
  * @returns - `true` si l'utilisateur est l'auteur, `false` sinon.
1315
1316
  * @throws {ApiError} - Si l'utilisateur n'est pas connecté ou si les données du serveur ne sont pas disponibles.
1316
1317
  */
1317
- isAuthor(): boolean;
1318
+ isAuthor(options?: {
1319
+ silent?: boolean;
1320
+ }): boolean;
1318
1321
  /**
1319
1322
  * Vérifie si l'utilisateur est administrateur de l'entité.
1320
1323
  *
@@ -120,7 +120,8 @@ export declare class News extends BaseEntity<NewsItemNormalized> {
120
120
  * Cette méthode compare l'ID de l'utilisateur connecté avec l'ID de l'auteur
121
121
  * de l'actualité. L'auteur peut être soit un objet simple NewsAuthor, soit
122
122
  * une instance d'entité User ou Organization.
123
- *
123
+ * @param options - Options de vérification.
124
+ * @param options.silent - Si `true`, retourne `false` au lieu de lever une exception. Par défaut `true`.
124
125
  * @returns `true` si l'utilisateur connecté est l'auteur, `false` sinon
125
126
  * @throws {ApiError} Si l'utilisateur n'est pas connecté (401)
126
127
  * @throws {ApiError} Si l'actualité n'a pas d'ID - non enregistrée (404)
@@ -137,5 +138,7 @@ export declare class News extends BaseEntity<NewsItemNormalized> {
137
138
  * }
138
139
  * ```
139
140
  */
140
- isAuthor(): boolean;
141
+ isAuthor(options?: {
142
+ silent?: boolean;
143
+ }): boolean;
141
144
  }