@communecter/cocolight-api-client 1.0.117 → 1.0.119
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 +1 -1
- 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 +35 -20
- package/src/api/News.ts +21 -13
- package/src/api/User.ts +40 -18
- package/types/api/BaseEntity.d.ts +5 -2
- package/types/api/News.d.ts +5 -2
- package/types/api/User.d.ts +15 -6
package/package.json
CHANGED
package/src/api/BaseEntity.ts
CHANGED
|
@@ -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
|
-
|
|
3835
|
-
|
|
3836
|
-
|
|
3837
|
-
|
|
3838
|
-
|
|
3839
|
-
|
|
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;
|
|
@@ -3950,12 +3959,15 @@ export class BaseEntity<TServerData = any> {
|
|
|
3950
3959
|
* @throws {ApiError} - Si `silent` est `false` et que les préconditions ne sont pas remplies.
|
|
3951
3960
|
*/
|
|
3952
3961
|
isFollower(options?: { silent?: boolean }): boolean {
|
|
3953
|
-
const
|
|
3954
|
-
|
|
3955
|
-
|
|
3956
|
-
|
|
3957
|
-
|
|
3958
|
-
|
|
3962
|
+
const silent = options?.silent ?? true;
|
|
3963
|
+
const expectedTypes = ["citoyens", "organizations", "projects", "events", "poi"];
|
|
3964
|
+
try {
|
|
3965
|
+
this._checkAccess("vérifier si il vous suit");
|
|
3966
|
+
this._assertEntityType(...expectedTypes);
|
|
3967
|
+
} catch (e) {
|
|
3968
|
+
if (silent) return false;
|
|
3969
|
+
throw e;
|
|
3970
|
+
}
|
|
3959
3971
|
return this._isLinked("followers");
|
|
3960
3972
|
}
|
|
3961
3973
|
|
|
@@ -3968,12 +3980,15 @@ export class BaseEntity<TServerData = any> {
|
|
|
3968
3980
|
* @throws {ApiError} - Si `silent` est `false` et que les préconditions ne sont pas remplies.
|
|
3969
3981
|
*/
|
|
3970
3982
|
isFollowing(options?: { silent?: boolean }): boolean {
|
|
3971
|
-
const
|
|
3972
|
-
|
|
3973
|
-
|
|
3974
|
-
|
|
3975
|
-
|
|
3976
|
-
|
|
3983
|
+
const silent = options?.silent ?? true;
|
|
3984
|
+
const expectedTypes = ["citoyens", "organizations", "projects", "events", "poi"];
|
|
3985
|
+
try {
|
|
3986
|
+
this._checkAccess("vérifier si vous le suivez");
|
|
3987
|
+
this._assertEntityType(...expectedTypes);
|
|
3988
|
+
} catch (e) {
|
|
3989
|
+
if (silent) return false;
|
|
3990
|
+
throw e;
|
|
3991
|
+
}
|
|
3977
3992
|
return this._isLinked("follows");
|
|
3978
3993
|
}
|
|
3979
3994
|
|
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
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
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;
|
package/src/api/User.ts
CHANGED
|
@@ -858,31 +858,46 @@ export class User extends BaseEntity<UserItemNormalized> {
|
|
|
858
858
|
|
|
859
859
|
/**
|
|
860
860
|
* Vérifie si l'utilisateur connecté est ami avec cet utilisateur.
|
|
861
|
-
*
|
|
861
|
+
* @param options - Options de vérification.
|
|
862
|
+
* @param options.silent - Si `true`, retourne `false` au lieu de lever une exception. Par défaut `true`.
|
|
862
863
|
* @returns - True si l'utilisateur connecté est ami, sinon false.
|
|
863
864
|
* @throws {ApiError} - Si l'utilisateur n'est pas connecté.
|
|
864
865
|
*/
|
|
865
|
-
isFriend(): boolean {
|
|
866
|
-
|
|
867
|
-
|
|
866
|
+
isFriend(options?: { silent?: boolean }): boolean {
|
|
867
|
+
const silent = options?.silent ?? true;
|
|
868
|
+
try {
|
|
869
|
+
if (!this.isActingUser) {
|
|
870
|
+
throw new ApiError("Vous devez être connecté pour vérifier si vous êtes ami.", 401);
|
|
871
|
+
}
|
|
872
|
+
} catch (e) {
|
|
873
|
+
if (silent) return false;
|
|
874
|
+
throw e;
|
|
868
875
|
}
|
|
869
876
|
this._assertEntityType("citoyens");
|
|
870
877
|
const userLink = this._getLinkFromConnectedUser();
|
|
878
|
+
if(!userLink) return false;
|
|
871
879
|
return this._validateUserLink(userLink);
|
|
872
880
|
}
|
|
873
881
|
|
|
874
882
|
/**
|
|
875
883
|
* Vérifie si l'utilisateur suit l'entité.
|
|
876
|
-
*
|
|
884
|
+
* @param options - Options de vérification.
|
|
885
|
+
* @param options.silent - Si `true`, retourne `false` au lieu de lever une exception. Par défaut `true`.
|
|
877
886
|
* @returns - `true` si l'utilisateur suit l'entité, `false` sinon.
|
|
878
887
|
* @throws {ApiError}
|
|
879
888
|
*/
|
|
880
|
-
override isFollower(): boolean {
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
889
|
+
override isFollower(options?: { silent?: boolean }): boolean {
|
|
890
|
+
const silent = options?.silent ?? true;
|
|
891
|
+
try {
|
|
892
|
+
if (!this.isActingUser) {
|
|
893
|
+
throw new ApiError("Vous devez être connecté pour vérifier si il vous suit.", 401);
|
|
894
|
+
}
|
|
895
|
+
if (!this.id) {
|
|
896
|
+
throw new ApiError(`${this.constructor.name} non enregistrée.`, 404);
|
|
897
|
+
}
|
|
898
|
+
} catch (e) {
|
|
899
|
+
if (silent) return false;
|
|
900
|
+
throw e;
|
|
886
901
|
}
|
|
887
902
|
this._assertEntityType("citoyens");
|
|
888
903
|
return this._isLinked("followers");
|
|
@@ -890,16 +905,23 @@ export class User extends BaseEntity<UserItemNormalized> {
|
|
|
890
905
|
|
|
891
906
|
/**
|
|
892
907
|
* Vérifie si l'utilisateur est abonné à l'entité.
|
|
893
|
-
*
|
|
908
|
+
* @param options - Options de vérification.
|
|
909
|
+
* @param options.silent - Si `true`, retourne `false` au lieu de lever une exception. Par défaut `true`.
|
|
894
910
|
* @returns - `true` si l'utilisateur est abonné, `false` sinon.
|
|
895
911
|
* @throws {ApiError}
|
|
896
912
|
*/
|
|
897
|
-
override isFollowing(): boolean {
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
913
|
+
override isFollowing(options?: { silent?: boolean }): boolean {
|
|
914
|
+
const silent = options?.silent ?? true;
|
|
915
|
+
try {
|
|
916
|
+
if (!this.isActingUser) {
|
|
917
|
+
throw new ApiError("Vous devez être connecté pour vérifier si vous le suivez.", 401);
|
|
918
|
+
}
|
|
919
|
+
if (!this.id) {
|
|
920
|
+
throw new ApiError(`${this.constructor.name} non enregistrée.`, 404);
|
|
921
|
+
}
|
|
922
|
+
} catch (e) {
|
|
923
|
+
if (silent) return false;
|
|
924
|
+
throw e;
|
|
903
925
|
}
|
|
904
926
|
this._assertEntityType("citoyens");
|
|
905
927
|
return this._isLinked("follows");
|
|
@@ -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(
|
|
1318
|
+
isAuthor(options?: {
|
|
1319
|
+
silent?: boolean;
|
|
1320
|
+
}): boolean;
|
|
1318
1321
|
/**
|
|
1319
1322
|
* Vérifie si l'utilisateur est administrateur de l'entité.
|
|
1320
1323
|
*
|
package/types/api/News.d.ts
CHANGED
|
@@ -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(
|
|
141
|
+
isAuthor(options?: {
|
|
142
|
+
silent?: boolean;
|
|
143
|
+
}): boolean;
|
|
141
144
|
}
|
package/types/api/User.d.ts
CHANGED
|
@@ -318,25 +318,34 @@ export declare class User extends BaseEntity<UserItemNormalized> {
|
|
|
318
318
|
unfollow(): Promise<unknown>;
|
|
319
319
|
/**
|
|
320
320
|
* Vérifie si l'utilisateur connecté est ami avec cet utilisateur.
|
|
321
|
-
*
|
|
321
|
+
* @param options - Options de vérification.
|
|
322
|
+
* @param options.silent - Si `true`, retourne `false` au lieu de lever une exception. Par défaut `true`.
|
|
322
323
|
* @returns - True si l'utilisateur connecté est ami, sinon false.
|
|
323
324
|
* @throws {ApiError} - Si l'utilisateur n'est pas connecté.
|
|
324
325
|
*/
|
|
325
|
-
isFriend(
|
|
326
|
+
isFriend(options?: {
|
|
327
|
+
silent?: boolean;
|
|
328
|
+
}): boolean;
|
|
326
329
|
/**
|
|
327
330
|
* Vérifie si l'utilisateur suit l'entité.
|
|
328
|
-
*
|
|
331
|
+
* @param options - Options de vérification.
|
|
332
|
+
* @param options.silent - Si `true`, retourne `false` au lieu de lever une exception. Par défaut `true`.
|
|
329
333
|
* @returns - `true` si l'utilisateur suit l'entité, `false` sinon.
|
|
330
334
|
* @throws {ApiError}
|
|
331
335
|
*/
|
|
332
|
-
isFollower(
|
|
336
|
+
isFollower(options?: {
|
|
337
|
+
silent?: boolean;
|
|
338
|
+
}): boolean;
|
|
333
339
|
/**
|
|
334
340
|
* Vérifie si l'utilisateur est abonné à l'entité.
|
|
335
|
-
*
|
|
341
|
+
* @param options - Options de vérification.
|
|
342
|
+
* @param options.silent - Si `true`, retourne `false` au lieu de lever une exception. Par défaut `true`.
|
|
336
343
|
* @returns - `true` si l'utilisateur est abonné, `false` sinon.
|
|
337
344
|
* @throws {ApiError}
|
|
338
345
|
*/
|
|
339
|
-
isFollowing(
|
|
346
|
+
isFollowing(options?: {
|
|
347
|
+
silent?: boolean;
|
|
348
|
+
}): boolean;
|
|
340
349
|
/**
|
|
341
350
|
* Retourne une entité à partir d'un slug.
|
|
342
351
|
* @param slug - Le slug de l'entité à récupérer.
|