jamespot-user-api 1.0.158 → 1.0.159

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.
Files changed (80) hide show
  1. package/documentation/assets/search.js +1 -1
  2. package/documentation/classes/AdminLicenseApi.html +11 -11
  3. package/documentation/classes/AdminStoreApi.html +1 -1
  4. package/documentation/classes/AdminUtilsApi.html +1 -1
  5. package/documentation/classes/JApplicationApi.html +8 -8
  6. package/documentation/classes/JArticleApi.html +1 -1
  7. package/documentation/classes/JAssetReservation.html +1 -1
  8. package/documentation/classes/JAudienceApi.html +1 -1
  9. package/documentation/classes/JBaseApi.html +1 -1
  10. package/documentation/classes/JBookmarkApi.html +1 -1
  11. package/documentation/classes/JBusinessNetworkingApi.html +1 -1
  12. package/documentation/classes/JCommunityApi.html +1 -1
  13. package/documentation/classes/JDiapazoneApi.html +1 -1
  14. package/documentation/classes/JFaqApi.html +1 -1
  15. package/documentation/classes/JFileApi.html +5 -5
  16. package/documentation/classes/JFilebankApi.html +1 -1
  17. package/documentation/classes/JGlobalApi.html +1 -1
  18. package/documentation/classes/JGroupApi.html +16 -10
  19. package/documentation/classes/JIAApi.html +1 -1
  20. package/documentation/classes/JLandApi.html +1 -1
  21. package/documentation/classes/JMessengerApi.html +1 -1
  22. package/documentation/classes/JObjectApi.html +1 -1
  23. package/documentation/classes/JSearchApi.html +6 -6
  24. package/documentation/classes/JShareApi.html +1 -1
  25. package/documentation/classes/JSocialActionApi.html +1 -1
  26. package/documentation/classes/JTaxonomyApi.html +2 -2
  27. package/documentation/classes/JUserApi.html +7 -7
  28. package/documentation/classes/JWedocApi.html +1 -1
  29. package/documentation/classes/JWidgetApi.html +1 -1
  30. package/documentation/classes/JamespotUserApi.html +1 -1
  31. package/documentation/classes/Network.html +1 -1
  32. package/documentation/classes/TVDisplayApi.html +1 -1
  33. package/documentation/classes/WindowBrowser.html +1 -1
  34. package/documentation/enums/GroupModerateStatus.html +1 -0
  35. package/documentation/enums/StudioApplicationStatus.html +1 -1
  36. package/documentation/index.html +1 -1
  37. package/documentation/interfaces/AccessRightObject.html +1 -1
  38. package/documentation/interfaces/AdminLicenseUser.html +1 -1
  39. package/documentation/interfaces/ApiDefaultWrapper.html +1 -1
  40. package/documentation/interfaces/ApiWrapper.html +1 -1
  41. package/documentation/interfaces/BaseAutocomplete.html +1 -1
  42. package/documentation/interfaces/BaseMessage.html +1 -1
  43. package/documentation/interfaces/Category.html +1 -1
  44. package/documentation/interfaces/FileBankProps.html +1 -1
  45. package/documentation/interfaces/FolderProps.html +1 -1
  46. package/documentation/interfaces/ListFilterSpec.html +1 -1
  47. package/documentation/interfaces/OF.html +1 -1
  48. package/documentation/interfaces/ObjectListProps.html +1 -1
  49. package/documentation/interfaces/PagingResults.html +1 -1
  50. package/documentation/interfaces/RootFolderProps.html +1 -1
  51. package/documentation/interfaces/SearchCategoryModel.html +1 -1
  52. package/documentation/interfaces/SearchCategoryValue.html +1 -1
  53. package/documentation/interfaces/SearchConfig.html +1 -1
  54. package/documentation/interfaces/SearchFacetModel.html +1 -1
  55. package/documentation/interfaces/SearchFacetValueModel.html +1 -1
  56. package/documentation/interfaces/SearchQuery.html +1 -1
  57. package/documentation/interfaces/SearchQueryFilterModel.html +1 -1
  58. package/documentation/interfaces/SearchQueryOption.html +1 -1
  59. package/documentation/interfaces/SearchQueryResult.html +1 -1
  60. package/documentation/interfaces/SearchQuerySortModel.html +1 -1
  61. package/documentation/interfaces/SearchResultCatProps.html +1 -1
  62. package/documentation/interfaces/SearchResultPropsApp.html +1 -1
  63. package/documentation/interfaces/SearchResultPropsObject.html +1 -1
  64. package/documentation/interfaces/SpotProps.html +1 -1
  65. package/documentation/interfaces/TaxonomyCreate.html +1 -1
  66. package/documentation/interfaces/WindowInterface.html +1 -1
  67. package/documentation/modules.html +11 -11
  68. package/lib/jamespot-user-api.js +1 -1
  69. package/lib/jamespot-user-api.js.map +1 -1
  70. package/lib/src/apis/group/group.d.ts +28 -10
  71. package/lib/src/apis/group/group.mock.d.ts +8 -1
  72. package/lib/src/types/group.d.ts +60 -0
  73. package/package.json +1 -1
  74. package/phpunitMock/spotAddToFavorite-bad.json +7 -0
  75. package/phpunitMock/spotAddToFavorite-forbidden.json +7 -0
  76. package/phpunitMock/spotAddToFavorite-success.json +7 -0
  77. package/phpunitMock/spotGetUserLevelAndRight-default.json +31 -0
  78. package/phpunitMock/spotRequest-forbidden.json +7 -0
  79. package/phpunitMock/spotRequest-pending.json +7 -0
  80. package/phpunitMock/spotRequest-success.json +7 -0
@@ -1,6 +1,6 @@
1
- import { Category, CreateGroup, GroupList, GroupListConfig, GroupProperties, GroupUserLevel, GroupView, GroupWidget, ResetNotificationConfiguration, UpdateGroup } from '../../types/group';
1
+ import { Category, CreateGroup, GroupList, GroupListConfig, GroupProperties, GroupUserLevel, GroupView, GroupWidget, ResetNotificationConfiguration, UpdateGroup, UserLevelAndRight } from '../../types/group';
2
2
  import { JBaseApi } from '../base';
3
- import { ApiReturn, ApiWrapper, Format, PagingResults, jSpotAutocomplete, jUserLittle } from '../../types';
3
+ import { ApiReturn, ApiWrapper, BaseMessages, Format, jSpotAutocomplete, jUserLittle, PagingResults } from '../../types';
4
4
  export declare class JGroupApi extends JBaseApi {
5
5
  /**
6
6
  * autocomplete return a list of groups
@@ -31,7 +31,7 @@ export declare class JGroupApi extends JBaseApi {
31
31
  _url: string;
32
32
  dateCreation?: string | undefined;
33
33
  dateModified?: string | null | undefined;
34
- }>, import("../../types").BaseMessages>>;
34
+ }>, BaseMessages>>;
35
35
  /**
36
36
  * Update a group
37
37
  * @param group group to update. The uri is mandatory and identify the group to update
@@ -47,7 +47,7 @@ export declare class JGroupApi extends JBaseApi {
47
47
  _url: string;
48
48
  dateCreation?: string | undefined;
49
49
  dateModified?: string | null | undefined;
50
- }, GroupList, GroupView, string>, import("../../types").BaseMessages>>;
50
+ }, GroupList, GroupView, string>, BaseMessages>>;
51
51
  /**
52
52
  * Get a spot
53
53
  * @param idSpot
@@ -63,22 +63,22 @@ export declare class JGroupApi extends JBaseApi {
63
63
  _url: string;
64
64
  dateCreation?: string | undefined;
65
65
  dateModified?: string | null | undefined;
66
- }, GroupList, GroupView, string>, import("../../types").BaseMessages>>;
66
+ }, GroupList, GroupView, string>, BaseMessages>>;
67
67
  /**
68
68
  * Get the properties of a group that are not within the model
69
69
  * @param idSpot
70
70
  * @returns
71
71
  */
72
- getProperties(idSpot: number | string): Promise<ApiWrapper<GroupProperties, import("../../types").BaseMessages>>;
72
+ getProperties(idSpot: number | string): Promise<ApiWrapper<GroupProperties, BaseMessages>>;
73
73
  /**
74
74
  * Get the available applications that can be added to a group
75
75
  */
76
- getApplications(): Promise<ApiWrapper<Record<string, GroupWidget>, import("../../types").BaseMessages>>;
76
+ getApplications(): Promise<ApiWrapper<Record<string, GroupWidget>, BaseMessages>>;
77
77
  /**
78
78
  * Get the available group categories
79
79
  * @returns
80
80
  */
81
- getCategories(): Promise<ApiWrapper<Category[], import("../../types").BaseMessages>>;
81
+ getCategories(): Promise<ApiWrapper<Category[], BaseMessages>>;
82
82
  /**
83
83
  * Get the members of a group
84
84
  * @param idSpot spot id
@@ -90,7 +90,7 @@ export declare class JGroupApi extends JBaseApi {
90
90
  getObjectListJamespotSpotMembers(idSpot: number | string, query?: string, limit?: number, page?: number): Promise<ApiWrapper<PagingResults<{
91
91
  level: GroupUserLevel;
92
92
  user: jUserLittle;
93
- }>, import("../../types").BaseMessages>>;
93
+ }>, BaseMessages>>;
94
94
  list<T extends GroupList = GroupList>(config: GroupListConfig): Promise<ApiWrapper<PagingResults<T>>>;
95
95
  /**
96
96
  * Reset the notifications configuration for all users of the group
@@ -100,5 +100,23 @@ export declare class JGroupApi extends JBaseApi {
100
100
  resetNotifications(config: ResetNotificationConfiguration): Promise<ApiWrapper<{
101
101
  members: number;
102
102
  msg: string;
103
- }, import("../../types").BaseMessages>>;
103
+ }, BaseMessages>>;
104
+ /**
105
+ * Get a spot
106
+ * @param idSpot
107
+ * @returns
108
+ */
109
+ getUserLevelAndRight(idSpot: number | string): Promise<ApiWrapper<UserLevelAndRight, BaseMessages>>;
110
+ /**
111
+ * Post a request to join a moderated group
112
+ * @param idSpot
113
+ * @returns
114
+ */
115
+ groupRequest(idSpot: number | string): Promise<ApiWrapper<boolean, BaseMessages>>;
116
+ /**
117
+ * Join a public group
118
+ * @param idSpot
119
+ * @returns
120
+ */
121
+ groupAddToFavorite(idSpot: number | string): Promise<ApiWrapper<boolean, BaseMessages>>;
104
122
  }
@@ -1,4 +1,4 @@
1
- import { ApiPagingResults, ApiWrapper, jSpotAutocomplete } from '../../types';
1
+ import { ApiDefaultWrapper, ApiPagingResults, ApiWrapper, jSpotAutocomplete, UserLevelAndRight } from '../../types';
2
2
  import { Category, GroupMemberLevel, GroupProperties, GroupView, GroupWidget, jGroupList } from '../../types/group';
3
3
  export declare const spot: ApiWrapper<GroupView>;
4
4
  export declare const properties: ApiWrapper<GroupProperties>;
@@ -7,6 +7,13 @@ export declare const groupCreate: ApiWrapper<GroupView>;
7
7
  export declare const groupUpdate: ApiWrapper<GroupView>;
8
8
  export declare const groupGetAvailableWidget: ApiWrapper<Record<string, GroupWidget>>;
9
9
  export declare const groupGetCategories: ApiWrapper<Category[]>;
10
+ export declare const groupGetUserLevelAndRight: ApiWrapper<UserLevelAndRight>;
11
+ export declare const groupRequestSuccess: ApiWrapper<boolean>;
12
+ export declare const groupRequestForbidden: ApiDefaultWrapper;
13
+ export declare const groupRequestPending: ApiDefaultWrapper;
14
+ export declare const groupAddToFavoriteSuccess: ApiWrapper<boolean>;
15
+ export declare const groupAddToFavoriteForbidden: ApiDefaultWrapper;
16
+ export declare const groupAddToFavoriteBad: ApiDefaultWrapper;
10
17
  export declare const groupObjectListJamespotSpotMembers: ApiPagingResults<GroupMemberLevel>;
11
18
  export declare const groupList: ApiPagingResults<jGroupList>;
12
19
  export declare const groupResetNotification: ApiWrapper<{
@@ -1,6 +1,8 @@
1
1
  import { jUserLittle } from './user';
2
2
  import { Filters, Orders } from './utils';
3
3
  import { jObjectBase, jObjectLittle } from './object';
4
+ import { Rights } from './common';
5
+ import { z } from 'zod';
4
6
  export type CreateGroup = {
5
7
  type: string;
6
8
  title: string;
@@ -21,6 +23,52 @@ export type GroupMemberLevel = {
21
23
  level: GroupUserLevel;
22
24
  user: jUserLittle;
23
25
  };
26
+ export type UserLevelAndRight = {
27
+ userLevelSpot: UserLevelSpot;
28
+ spotMinLevelToInvit: number;
29
+ userRights: Rights;
30
+ accessRequestStatus?: GroupModerateStatus;
31
+ };
32
+ export declare enum GroupModerateStatus {
33
+ SPOT_MODERATE_IGNORE = 0,
34
+ SPOT_MODERATE_ACCEPT = 1,
35
+ SPOT_MODERATE_PENDING = 2
36
+ }
37
+ export declare const userlevelSpotShema: z.ZodObject<{
38
+ RF_Constant_levelName: z.ZodString;
39
+ RF_delete: z.ZodBoolean;
40
+ RF_editing: z.ZodBoolean;
41
+ RF_level: z.ZodNumber;
42
+ RF_levelName: z.ZodString;
43
+ RF_levelName_Trad: z.ZodString;
44
+ RF_parameters: z.ZodBoolean;
45
+ RF_setAdmin: z.ZodBoolean;
46
+ RF_spotit: z.ZodBoolean;
47
+ RF_spotit_own: z.ZodBoolean;
48
+ }, "strip", z.ZodTypeAny, {
49
+ RF_Constant_levelName: string;
50
+ RF_delete: boolean;
51
+ RF_editing: boolean;
52
+ RF_level: number;
53
+ RF_levelName: string;
54
+ RF_levelName_Trad: string;
55
+ RF_parameters: boolean;
56
+ RF_setAdmin: boolean;
57
+ RF_spotit: boolean;
58
+ RF_spotit_own: boolean;
59
+ }, {
60
+ RF_Constant_levelName: string;
61
+ RF_delete: boolean;
62
+ RF_editing: boolean;
63
+ RF_level: number;
64
+ RF_levelName: string;
65
+ RF_levelName_Trad: string;
66
+ RF_parameters: boolean;
67
+ RF_setAdmin: boolean;
68
+ RF_spotit: boolean;
69
+ RF_spotit_own: boolean;
70
+ }>;
71
+ export type UserLevelSpot = z.infer<typeof userlevelSpotShema>;
24
72
  export type UpdateGroup = CreateGroup & Partial<Omit<GroupProperties, 'rss_feed'>> & {
25
73
  uri: string;
26
74
  image?: string | null;
@@ -152,3 +200,15 @@ export type GroupListConfig = {
152
200
  orders?: Orders;
153
201
  filters?: Filters | undefined;
154
202
  };
203
+ export declare const validateIsFormatUserLevelSpot: (object: object) => object is {
204
+ RF_Constant_levelName: string;
205
+ RF_delete: boolean;
206
+ RF_editing: boolean;
207
+ RF_level: number;
208
+ RF_levelName: string;
209
+ RF_levelName_Trad: string;
210
+ RF_parameters: boolean;
211
+ RF_setAdmin: boolean;
212
+ RF_spotit: boolean;
213
+ RF_spotit_own: boolean;
214
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jamespot-user-api",
3
- "version": "1.0.158",
3
+ "version": "1.0.159",
4
4
  "main": "lib/jamespot-user-api.js",
5
5
  "types": "lib/src/index.d.ts",
6
6
  "directories": {
@@ -0,0 +1,7 @@
1
+ {
2
+ "o": "spot",
3
+ "f": "addToFavorite",
4
+ "error": 400,
5
+ "messages": [],
6
+ "errorMsg": "Ce groupe est privé. Il vous faut une invitation par un membre du groupe pour en faire partie."
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "o": "spot",
3
+ "f": "addToFavorite",
4
+ "error": 403,
5
+ "messages": [],
6
+ "errorMsg": "Vous n'êtes pas autorisé"
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "o": "spot",
3
+ "f": "addToFavorite",
4
+ "error": 0,
5
+ "messages": "Vous êtes désormais membre de ce groupe",
6
+ "result": true
7
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "o": "spot",
3
+ "f": "getUserLevelAndRight",
4
+ "error": 0,
5
+ "messages": [],
6
+ "result": {
7
+ "userLevelSpot": {
8
+ "RF_delete": true,
9
+ "RF_parameters": true,
10
+ "RF_spotit": true,
11
+ "RF_spotit_own": true,
12
+ "RF_editing": true,
13
+ "RF_setAdmin": true,
14
+ "RF_Constant_levelName": "Creator",
15
+ "RF_levelName": "Creator",
16
+ "RF_level": 0,
17
+ "RF_levelName_Trad": "Fondateur"
18
+ },
19
+ "spotMinLevelToInvit": 2,
20
+ "userRights": {
21
+ "create": false,
22
+ "read": true,
23
+ "publish": true,
24
+ "administrate": false,
25
+ "update": true,
26
+ "delete": true,
27
+ "comment": false,
28
+ "member": true
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "o": "spot",
3
+ "f": "request",
4
+ "error": 403,
5
+ "messages": [],
6
+ "errorMsg": "ERROR_Access_Forbidden"
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "o": "spot",
3
+ "f": "request",
4
+ "error": 400,
5
+ "messages": [],
6
+ "errorMsg": "Votre demande est en attente de validation."
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "o": "spot",
3
+ "f": "request",
4
+ "error": 0,
5
+ "messages": [],
6
+ "result": true
7
+ }