mezon-js 2.7.59 → 2.7.61

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -15,10 +15,10 @@ You'll need to setup the server and database before you can connect with the cli
15
15
 
16
16
  1. Install and run the servers. Follow these [instructions](https://mezon.vn/docs/install-docker-quickstart).
17
17
 
18
- 2. Import the client into your project. It's [available on NPM](https://www.npmjs.com/package/@mezon/mezon-js) and can be also be added to a project with Bower or other package managers.
18
+ 2. Import the client into your project. It's [available on NPM](https://www.npmjs.com/package/mezon-js) and can be also be added to a project with Bower or other package managers.
19
19
 
20
20
  ```shell
21
- npm install @mezon/mezon-js
21
+ npm install mezon-js
22
22
  ```
23
23
 
24
24
  You'll now see the code in the "node_modules" folder and package listed in your "package.json".
@@ -26,13 +26,13 @@ You'll need to setup the server and database before you can connect with the cli
26
26
  Optionally, if you would like to use the Protocol Buffers wire format with your sockets, you can import the adapter found in this package:
27
27
 
28
28
  ```shell
29
- npm install @mezon/mezon-js-protobuf
29
+ npm install mezon-js-protobuf
30
30
  ```
31
31
 
32
32
  3. Use the connection credentials to build a client object.
33
33
 
34
34
  ```js
35
- import {Client} from "@mezon/mezon-js";
35
+ import {Client} from "mezon-js";
36
36
 
37
37
  var useSSL = false; // Enable if server is run with an SSL certificate.
38
38
  var client = new Client("defaultkey", "127.0.0.1", "7350", useSSL);
@@ -124,7 +124,7 @@ const session = await socket.connect(session);
124
124
  If you are using the optional protocol buffer adapter, pass the adapter to the Socket object during construction:
125
125
 
126
126
  ```js
127
- import {WebSocketAdapterPb} from "@mezon/mezon-js-protobuf"
127
+ import {WebSocketAdapterPb} from "mezon-js-protobuf"
128
128
 
129
129
  const secure = false; // Enable if server is run with an SSL certificate
130
130
  const trace = false;
@@ -184,7 +184,7 @@ To build from source, first install all workspace dependencies from the reposito
184
184
  Then to build a specific workspace, pass the `--workspace` flag to your build command, for example:
185
185
 
186
186
  ```shell
187
- npm run build --workspace=@mezon/mezon-js
187
+ npm run build --workspace=mezon-js
188
188
  ```
189
189
 
190
190
  ### Run Tests
@@ -195,7 +195,7 @@ Tests are run against each workspace bundle; if you have made source code change
195
195
 
196
196
  ```shell
197
197
  docker-compose -f ./docker-compose.yml up
198
- npm run test --workspace=@mezon/mezon-js-test
198
+ npm run test --workspace=mezon-js-test
199
199
  ```
200
200
 
201
201
  ### Protocol Buffer Web Socket Adapter
package/api.gen.ts CHANGED
@@ -24,6 +24,106 @@ export interface ClanUserListClanUser {
24
24
  user?: ApiUser;
25
25
  }
26
26
 
27
+ /** Update fields in a given channel. */
28
+ export interface MezonUpdateChannelDescBody {
29
+ //
30
+ category_id?: string;
31
+ //
32
+ channel_label?: string;
33
+ }
34
+
35
+ /** */
36
+ export interface MezonUpdateClanDescBody {
37
+ //
38
+ banner?: string;
39
+ //
40
+ clan_name?: string;
41
+ //
42
+ creator_id?: string;
43
+ //
44
+ logo?: string;
45
+ //
46
+ status?: number;
47
+ }
48
+
49
+ /** */
50
+ export interface MezonUpdateClanDescProfileBody {
51
+ //
52
+ avatar_url?: string;
53
+ //
54
+ nick_name?: string;
55
+ //
56
+ profile_banner?: string;
57
+ //
58
+ profile_theme?: string;
59
+ }
60
+
61
+ /** */
62
+ export interface MezonUpdateClanEmojiByIdBody {
63
+ //
64
+ category?: string;
65
+ //
66
+ shortname?: string;
67
+ //
68
+ source?: string;
69
+ }
70
+
71
+ /** update a event within clan. */
72
+ export interface MezonUpdateEventBody {
73
+ //
74
+ address?: string;
75
+ //
76
+ channel_id?: string;
77
+ //
78
+ description?: string;
79
+ //
80
+ end_time?: string;
81
+ //
82
+ logo?: string;
83
+ //
84
+ start_time?: string;
85
+ //
86
+ title?: string;
87
+ }
88
+
89
+ /** Update fields in a given role. */
90
+ export interface MezonUpdateRoleBody {
91
+ //The permissions to add.
92
+ active_permission_ids?: Array<string>;
93
+ //The users to add.
94
+ add_user_ids?: Array<string>;
95
+ //
96
+ allow_mention?: number;
97
+ //
98
+ color?: string;
99
+ //
100
+ description?: string;
101
+ //
102
+ display_online?: number;
103
+ //The permissions to remove.
104
+ remove_permission_ids?: Array<string>;
105
+ //The users to remove.
106
+ remove_user_ids?: Array<string>;
107
+ //
108
+ role_icon?: string;
109
+ //
110
+ title?: string;
111
+ }
112
+
113
+ /** Delete a role the user has access to. */
114
+ export interface MezonUpdateRoleDeleteBody {
115
+ //
116
+ channel_id?: string;
117
+ }
118
+
119
+ /** */
120
+ export interface MezonUpdateUserProfileByClanBody {
121
+ //
122
+ avatar?: string;
123
+ //
124
+ nick_name?: string;
125
+ }
126
+
27
127
  /** A single user-role pair. */
28
128
  export interface RoleUserListRoleUser {
29
129
  //A URL for an avatar image.
@@ -302,14 +402,22 @@ export interface ApiChannelMessage {
302
402
 
303
403
  /** */
304
404
  export interface ApiChannelMessageHeader {
405
+ //
406
+ attachment?: string;
407
+ //
408
+ content?: string;
305
409
  //
306
410
  id?: string;
307
411
  //
412
+ mention?: string;
413
+ //
414
+ reaction?: string;
415
+ //
416
+ referece?: string;
417
+ //
418
+ sender_id?: string;
419
+ //
308
420
  timestamp?: string;
309
- // sender id
310
- sender_id: string;
311
- // content
312
- content: string;
313
421
  }
314
422
 
315
423
  /** A list of channel messages, usually a result of a list operation. */
@@ -378,6 +486,18 @@ export interface ApiClanEmoji {
378
486
  src?: string;
379
487
  }
380
488
 
489
+ /** */
490
+ export interface ApiClanEmojiCreateRequest {
491
+ //
492
+ category?: string;
493
+ //
494
+ clan_id?: string;
495
+ //
496
+ shortname?: string;
497
+ //
498
+ source?: string;
499
+ }
500
+
381
501
  /** */
382
502
  export interface ApiClanEmojiList {
383
503
  //
@@ -899,6 +1019,24 @@ export interface ApiReadStorageObjectsRequest {
899
1019
  object_ids?: Array<ApiReadStorageObjectId>;
900
1020
  }
901
1021
 
1022
+ /** */
1023
+ export interface ApiRegistrationEmailRequest {
1024
+ //
1025
+ avatar_url?: string;
1026
+ //
1027
+ display_name?: string;
1028
+ //
1029
+ dob?: string;
1030
+ //A valid RFC-5322 email address.
1031
+ email?: string;
1032
+ //A password for the user account.
1033
+ password?: string;
1034
+ //Set the username on the account at register. Must be unique.
1035
+ username?: string;
1036
+ //Extra information that will be bundled in the session token.
1037
+ vars?: Record<string, string>;
1038
+ }
1039
+
902
1040
  /** */
903
1041
  export interface ApiRole {
904
1042
  //
@@ -2145,6 +2283,42 @@ export class MezonApi {
2145
2283
  ]);
2146
2284
  }
2147
2285
 
2286
+ /** Authenticate a user with an email+password against the server. */
2287
+ registrationEmail(bearerToken: string,
2288
+ body:ApiRegistrationEmailRequest,
2289
+ options: any = {}): Promise<ApiSession> {
2290
+
2291
+ if (body === null || body === undefined) {
2292
+ throw new Error("'body' is a required parameter but is null or undefined.");
2293
+ }
2294
+ const urlPath = "/v2/account/registry";
2295
+ const queryParams = new Map<string, any>();
2296
+
2297
+ let bodyJson : string = "";
2298
+ bodyJson = JSON.stringify(body || {});
2299
+
2300
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
2301
+ const fetchOptions = buildFetchOptions("POST", options, bodyJson);
2302
+ if (bearerToken) {
2303
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
2304
+ }
2305
+
2306
+ return Promise.race([
2307
+ fetch(fullUrl, fetchOptions).then((response) => {
2308
+ if (response.status == 204) {
2309
+ return response;
2310
+ } else if (response.status >= 200 && response.status < 300) {
2311
+ return response.json();
2312
+ } else {
2313
+ throw response;
2314
+ }
2315
+ }),
2316
+ new Promise((_, reject) =>
2317
+ setTimeout(reject, this.timeoutMs, "Request timed out.")
2318
+ ),
2319
+ ]);
2320
+ }
2321
+
2148
2322
  /** Refresh a user's session using a refresh token retrieved from a previous authentication request. */
2149
2323
  sessionRefresh(basicAuthUsername: string,
2150
2324
  basicAuthPassword: string,
@@ -3473,11 +3647,52 @@ export class MezonApi {
3473
3647
  ]);
3474
3648
  }
3475
3649
 
3476
- /** Get permission list */
3477
- listClanEmoji(bearerToken: string,
3650
+ /** Post permission Emoji /v2/emoji/create */
3651
+ createClanEmoji(bearerToken: string,
3652
+ body:ApiClanEmojiCreateRequest,
3653
+ options: any = {}): Promise<any> {
3654
+
3655
+ if (body === null || body === undefined) {
3656
+ throw new Error("'body' is a required parameter but is null or undefined.");
3657
+ }
3658
+ const urlPath = "/v2/emoji/create";
3659
+ const queryParams = new Map<string, any>();
3660
+
3661
+ let bodyJson : string = "";
3662
+ bodyJson = JSON.stringify(body || {});
3663
+
3664
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
3665
+ const fetchOptions = buildFetchOptions("POST", options, bodyJson);
3666
+ if (bearerToken) {
3667
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
3668
+ }
3669
+
3670
+ return Promise.race([
3671
+ fetch(fullUrl, fetchOptions).then((response) => {
3672
+ if (response.status == 204) {
3673
+ return response;
3674
+ } else if (response.status >= 200 && response.status < 300) {
3675
+ return response.json();
3676
+ } else {
3677
+ throw response;
3678
+ }
3679
+ }),
3680
+ new Promise((_, reject) =>
3681
+ setTimeout(reject, this.timeoutMs, "Request timed out.")
3682
+ ),
3683
+ ]);
3684
+ }
3685
+
3686
+ /** Get permisson list by category */
3687
+ listClanEmojiByClanId(bearerToken: string,
3688
+ clanId:string,
3478
3689
  options: any = {}): Promise<ApiClanEmojiList> {
3479
3690
 
3480
- const urlPath = "/v2/emoji";
3691
+ if (clanId === null || clanId === undefined) {
3692
+ throw new Error("'clanId' is a required parameter but is null or undefined.");
3693
+ }
3694
+ const urlPath = "/v2/emoji/{clanId}"
3695
+ .replace("{clanId}", encodeURIComponent(String(clanId)));
3481
3696
  const queryParams = new Map<string, any>();
3482
3697
 
3483
3698
  let bodyJson : string = "";
@@ -3504,6 +3719,83 @@ export class MezonApi {
3504
3719
  ]);
3505
3720
  }
3506
3721
 
3722
+ /** Delete a role by ID. */
3723
+ deleteByIdClanEmoji(bearerToken: string,
3724
+ id:string,
3725
+ options: any = {}): Promise<any> {
3726
+
3727
+ if (id === null || id === undefined) {
3728
+ throw new Error("'id' is a required parameter but is null or undefined.");
3729
+ }
3730
+ const urlPath = "/v2/emoji/{id}"
3731
+ .replace("{id}", encodeURIComponent(String(id)));
3732
+ const queryParams = new Map<string, any>();
3733
+
3734
+ let bodyJson : string = "";
3735
+
3736
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
3737
+ const fetchOptions = buildFetchOptions("DELETE", options, bodyJson);
3738
+ if (bearerToken) {
3739
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
3740
+ }
3741
+
3742
+ return Promise.race([
3743
+ fetch(fullUrl, fetchOptions).then((response) => {
3744
+ if (response.status == 204) {
3745
+ return response;
3746
+ } else if (response.status >= 200 && response.status < 300) {
3747
+ return response.json();
3748
+ } else {
3749
+ throw response;
3750
+ }
3751
+ }),
3752
+ new Promise((_, reject) =>
3753
+ setTimeout(reject, this.timeoutMs, "Request timed out.")
3754
+ ),
3755
+ ]);
3756
+ }
3757
+
3758
+ /** Update ClanEmoj By id */
3759
+ updateClanEmojiById(bearerToken: string,
3760
+ id:string,
3761
+ body: MezonUpdateClanEmojiByIdBody,
3762
+ options: any = {}): Promise<any> {
3763
+
3764
+ if (id === null || id === undefined) {
3765
+ throw new Error("'id' is a required parameter but is null or undefined.");
3766
+ }
3767
+ if (body === null || body === undefined) {
3768
+ throw new Error("'body' is a required parameter but is null or undefined.");
3769
+ }
3770
+ const urlPath = "/v2/emoji/{id}"
3771
+ .replace("{id}", encodeURIComponent(String(id)));
3772
+ const queryParams = new Map<string, any>();
3773
+
3774
+ let bodyJson : string = "";
3775
+ bodyJson = JSON.stringify(body || {});
3776
+
3777
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
3778
+ const fetchOptions = buildFetchOptions("PATCH", options, bodyJson);
3779
+ if (bearerToken) {
3780
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
3781
+ }
3782
+
3783
+ return Promise.race([
3784
+ fetch(fullUrl, fetchOptions).then((response) => {
3785
+ if (response.status == 204) {
3786
+ return response;
3787
+ } else if (response.status >= 200 && response.status < 300) {
3788
+ return response.json();
3789
+ } else {
3790
+ throw response;
3791
+ }
3792
+ }),
3793
+ new Promise((_, reject) =>
3794
+ setTimeout(reject, this.timeoutMs, "Request timed out.")
3795
+ ),
3796
+ ]);
3797
+ }
3798
+
3507
3799
  /** Search message from elasticsearch service. */
3508
3800
  searchMessage(bearerToken: string,
3509
3801
  body:ApiSearchMessageRequest,
@@ -4951,7 +5243,7 @@ export class MezonApi {
4951
5243
  /** Update a role when Delete a role by ID. */
4952
5244
  updateRoleDelete(bearerToken: string,
4953
5245
  roleId:string,
4954
- body:{},
5246
+ body: MezonUpdateRoleDeleteBody,
4955
5247
  options: any = {}): Promise<any> {
4956
5248
 
4957
5249
  if (roleId === null || roleId === undefined) {
package/client.ts CHANGED
@@ -94,7 +94,8 @@ import {
94
94
  ApiWebhookResponse,
95
95
  ApiDeleteChannelDescRequest,
96
96
  ApiChangeChannelPrivateRequest,
97
- ApiClanEmojiList
97
+ ApiClanEmojiList,
98
+ ApiClanEmojiCreateRequest
98
99
  } from "./api.gen";
99
100
 
100
101
  import { Session } from "./session";
@@ -2221,17 +2222,27 @@ async deletePinMessage(session: Session, message_id: string): Promise<boolean> {
2221
2222
  }
2222
2223
 
2223
2224
  /** List clan emoji. */
2224
- async listClanEmoji(session: Session): Promise<ApiClanEmojiList> {
2225
+ async listClanEmoji(session: Session, clan_id: string): Promise<ApiClanEmojiList> {
2225
2226
  if (this.autoRefreshSession && session.refresh_token &&
2226
2227
  session.isexpired((Date.now() + this.expiredTimespanMs)/1000)) {
2227
2228
  await this.sessionRefresh(session);
2228
2229
  }
2229
2230
 
2230
- return this.apiClient.listClanEmoji(session.token).then((response: ApiClanEmojiList) => {
2231
+ return this.apiClient.listClanEmojiByClanId(session.token, clan_id).then((response: ApiClanEmojiList) => {
2231
2232
  return Promise.resolve(response);
2232
2233
  });
2233
2234
  }
2234
2235
 
2235
- };
2236
+ /** create clan emoji */
2237
+ async createClanEmoji(session: Session, request: ApiClanEmojiCreateRequest) {
2238
+ if (this.autoRefreshSession && session.refresh_token &&
2239
+ session.isexpired((Date.now() + this.expiredTimespanMs)/1000)) {
2240
+ await this.sessionRefresh(session);
2241
+ }
2236
2242
 
2243
+ return this.apiClient.createClanEmoji(session.token, request).then((response: any) => {
2244
+ return response !== undefined;
2245
+ });
2246
+ }
2237
2247
 
2248
+ };
package/dist/api.gen.d.ts CHANGED
@@ -10,6 +10,64 @@ export interface ClanUserListClanUser {
10
10
  role_id?: string;
11
11
  user?: ApiUser;
12
12
  }
13
+ /** Update fields in a given channel. */
14
+ export interface MezonUpdateChannelDescBody {
15
+ category_id?: string;
16
+ channel_label?: string;
17
+ }
18
+ /** */
19
+ export interface MezonUpdateClanDescBody {
20
+ banner?: string;
21
+ clan_name?: string;
22
+ creator_id?: string;
23
+ logo?: string;
24
+ status?: number;
25
+ }
26
+ /** */
27
+ export interface MezonUpdateClanDescProfileBody {
28
+ avatar_url?: string;
29
+ nick_name?: string;
30
+ profile_banner?: string;
31
+ profile_theme?: string;
32
+ }
33
+ /** */
34
+ export interface MezonUpdateClanEmojiByIdBody {
35
+ category?: string;
36
+ shortname?: string;
37
+ source?: string;
38
+ }
39
+ /** update a event within clan. */
40
+ export interface MezonUpdateEventBody {
41
+ address?: string;
42
+ channel_id?: string;
43
+ description?: string;
44
+ end_time?: string;
45
+ logo?: string;
46
+ start_time?: string;
47
+ title?: string;
48
+ }
49
+ /** Update fields in a given role. */
50
+ export interface MezonUpdateRoleBody {
51
+ active_permission_ids?: Array<string>;
52
+ add_user_ids?: Array<string>;
53
+ allow_mention?: number;
54
+ color?: string;
55
+ description?: string;
56
+ display_online?: number;
57
+ remove_permission_ids?: Array<string>;
58
+ remove_user_ids?: Array<string>;
59
+ role_icon?: string;
60
+ title?: string;
61
+ }
62
+ /** Delete a role the user has access to. */
63
+ export interface MezonUpdateRoleDeleteBody {
64
+ channel_id?: string;
65
+ }
66
+ /** */
67
+ export interface MezonUpdateUserProfileByClanBody {
68
+ avatar?: string;
69
+ nick_name?: string;
70
+ }
13
71
  /** A single user-role pair. */
14
72
  export interface RoleUserListRoleUser {
15
73
  avatar_url?: string;
@@ -171,10 +229,14 @@ export interface ApiChannelMessage {
171
229
  }
172
230
  /** */
173
231
  export interface ApiChannelMessageHeader {
232
+ attachment?: string;
233
+ content?: string;
174
234
  id?: string;
235
+ mention?: string;
236
+ reaction?: string;
237
+ referece?: string;
238
+ sender_id?: string;
175
239
  timestamp?: string;
176
- sender_id: string;
177
- content: string;
178
240
  }
179
241
  /** A list of channel messages, usually a result of a list operation. */
180
242
  export interface ApiChannelMessageList {
@@ -216,6 +278,13 @@ export interface ApiClanEmoji {
216
278
  src?: string;
217
279
  }
218
280
  /** */
281
+ export interface ApiClanEmojiCreateRequest {
282
+ category?: string;
283
+ clan_id?: string;
284
+ shortname?: string;
285
+ source?: string;
286
+ }
287
+ /** */
219
288
  export interface ApiClanEmojiList {
220
289
  emoji_list?: Array<ApiClanEmoji>;
221
290
  }
@@ -521,6 +590,16 @@ export interface ApiReadStorageObjectsRequest {
521
590
  object_ids?: Array<ApiReadStorageObjectId>;
522
591
  }
523
592
  /** */
593
+ export interface ApiRegistrationEmailRequest {
594
+ avatar_url?: string;
595
+ display_name?: string;
596
+ dob?: string;
597
+ email?: string;
598
+ password?: string;
599
+ username?: string;
600
+ vars?: Record<string, string>;
601
+ }
602
+ /** */
524
603
  export interface ApiRole {
525
604
  active?: number;
526
605
  allow_mention?: number;
@@ -810,6 +889,8 @@ export declare class MezonApi {
810
889
  linkGoogle(bearerToken: string, body: ApiAccountGoogle, options?: any): Promise<any>;
811
890
  /** Add Steam to the social profiles on the current user's account. */
812
891
  linkSteam(bearerToken: string, body: ApiLinkSteamRequest, options?: any): Promise<any>;
892
+ /** Authenticate a user with an email+password against the server. */
893
+ registrationEmail(bearerToken: string, body: ApiRegistrationEmailRequest, options?: any): Promise<ApiSession>;
813
894
  /** Refresh a user's session using a refresh token retrieved from a previous authentication request. */
814
895
  sessionRefresh(basicAuthUsername: string, basicAuthPassword: string, body: ApiSessionRefreshRequest, options?: any): Promise<ApiSession>;
815
896
  /** Remove the Apple ID from the social profiles on the current user's account. */
@@ -880,8 +961,14 @@ export declare class MezonApi {
880
961
  closeDirectMess(bearerToken: string, body: ApiDeleteChannelDescRequest, options?: any): Promise<any>;
881
962
  /** open direct message. */
882
963
  openDirectMess(bearerToken: string, body: ApiDeleteChannelDescRequest, options?: any): Promise<any>;
883
- /** Get permission list */
884
- listClanEmoji(bearerToken: string, options?: any): Promise<ApiClanEmojiList>;
964
+ /** Post permission Emoji /v2/emoji/create */
965
+ createClanEmoji(bearerToken: string, body: ApiClanEmojiCreateRequest, options?: any): Promise<any>;
966
+ /** Get permisson list by category */
967
+ listClanEmojiByClanId(bearerToken: string, clanId: string, options?: any): Promise<ApiClanEmojiList>;
968
+ /** Delete a role by ID. */
969
+ deleteByIdClanEmoji(bearerToken: string, id: string, options?: any): Promise<any>;
970
+ /** Update ClanEmoj By id */
971
+ updateClanEmojiById(bearerToken: string, id: string, body: MezonUpdateClanEmojiByIdBody, options?: any): Promise<any>;
885
972
  /** Search message from elasticsearch service. */
886
973
  searchMessage(bearerToken: string, body: ApiSearchMessageRequest, options?: any): Promise<ApiSearchMessageResponse>;
887
974
  /** Submit an event for processing in the server's registered runtime custom events handler. */
@@ -965,7 +1052,7 @@ export declare class MezonApi {
965
1052
  /** Create a new role for clan. */
966
1053
  createRole(bearerToken: string, body: ApiCreateRoleRequest, options?: any): Promise<ApiRole>;
967
1054
  /** Update a role when Delete a role by ID. */
968
- updateRoleDelete(bearerToken: string, roleId: string, body: {}, options?: any): Promise<any>;
1055
+ updateRoleDelete(bearerToken: string, roleId: string, body: MezonUpdateRoleDeleteBody, options?: any): Promise<any>;
969
1056
  /** Delete a role by ID. */
970
1057
  deleteRole(bearerToken: string, roleId: string, channelId?: string, options?: any): Promise<any>;
971
1058
  /** Update fields in a given role. */
package/dist/client.d.ts CHANGED
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { ApiAccount, ApiAccountCustom, ApiAccountDevice, ApiAccountEmail, ApiAccountFacebook, ApiAccountFacebookInstantGame, ApiAccountGoogle, ApiAccountGameCenter, ApiAccountSteam, ApiChannelDescList, ApiChannelDescription, ApiCreateChannelDescRequest, ApiDeleteRoleRequest, ApiClanDescList, ApiCreateClanDescRequest, ApiClanDesc, ApiCategoryDesc, ApiCategoryDescList, ApiRoleList, ApiPermissionList, ApiRoleUserList, ApiRole, ApiCreateRoleRequest, ApiAddRoleChannelDescRequest, ApiCreateCategoryDescRequest, ApiUpdateCategoryDescRequest, ApiDeleteStorageObjectsRequest, ApiEvent, ApiReadStorageObjectsRequest, ApiStorageObjectAcks, ApiUpdateAccountRequest, ApiAccountApple, ApiLinkSteamRequest, ApiClanDescProfile, ApiClanProfile, ApiChannelUserList, ApiClanUserList, ApiLinkInviteUserRequest, ApiUpdateEventRequest, ApiLinkInviteUser, ApiInviteUserRes, ApiUploadAttachmentRequest, ApiUploadAttachment, ApiMessageReaction, ApiMessageMention, ApiMessageAttachment, ApiMessageRef, ApiChannelMessageHeader, ApiVoiceChannelUserList, ApiChannelAttachmentList, ApiCreateEventRequest, ApiEventManagement, ApiEventList, ApiDeleteEventRequest, ApiNotificationChannelCategoySettingsList, ApiNotificationSetting, ApiSetDefaultNotificationRequest, ApiNotificationUserChannel, ApiSetNotificationRequest, ApiNotifiReactMessage, ApiSetMuteNotificationRequest, ApiSearchMessageRequest, ApiSearchMessageResponse, ApiPinMessageRequest, ApiPinMessagesList, ApiCreateWebhookRequest, ApiWebhookResponse, ApiDeleteChannelDescRequest, ApiChangeChannelPrivateRequest, ApiClanEmojiList } from "./api.gen";
16
+ import { ApiAccount, ApiAccountCustom, ApiAccountDevice, ApiAccountEmail, ApiAccountFacebook, ApiAccountFacebookInstantGame, ApiAccountGoogle, ApiAccountGameCenter, ApiAccountSteam, ApiChannelDescList, ApiChannelDescription, ApiCreateChannelDescRequest, ApiDeleteRoleRequest, ApiClanDescList, ApiCreateClanDescRequest, ApiClanDesc, ApiCategoryDesc, ApiCategoryDescList, ApiRoleList, ApiPermissionList, ApiRoleUserList, ApiRole, ApiCreateRoleRequest, ApiAddRoleChannelDescRequest, ApiCreateCategoryDescRequest, ApiUpdateCategoryDescRequest, ApiDeleteStorageObjectsRequest, ApiEvent, ApiReadStorageObjectsRequest, ApiStorageObjectAcks, ApiUpdateAccountRequest, ApiAccountApple, ApiLinkSteamRequest, ApiClanDescProfile, ApiClanProfile, ApiChannelUserList, ApiClanUserList, ApiLinkInviteUserRequest, ApiUpdateEventRequest, ApiLinkInviteUser, ApiInviteUserRes, ApiUploadAttachmentRequest, ApiUploadAttachment, ApiMessageReaction, ApiMessageMention, ApiMessageAttachment, ApiMessageRef, ApiChannelMessageHeader, ApiVoiceChannelUserList, ApiChannelAttachmentList, ApiCreateEventRequest, ApiEventManagement, ApiEventList, ApiDeleteEventRequest, ApiNotificationChannelCategoySettingsList, ApiNotificationSetting, ApiSetDefaultNotificationRequest, ApiNotificationUserChannel, ApiSetNotificationRequest, ApiNotifiReactMessage, ApiSetMuteNotificationRequest, ApiSearchMessageRequest, ApiSearchMessageResponse, ApiPinMessageRequest, ApiPinMessagesList, ApiCreateWebhookRequest, ApiWebhookResponse, ApiDeleteChannelDescRequest, ApiChangeChannelPrivateRequest, ApiClanEmojiList, ApiClanEmojiCreateRequest } from "./api.gen";
17
17
  import { Session } from "./session";
18
18
  import { Socket } from "./socket";
19
19
  import { WebSocketAdapter } from "./web_socket_adapter";
@@ -578,5 +578,7 @@ export declare class Client {
578
578
  getPinMessagesList(session: Session, channelId: string): Promise<ApiPinMessagesList>;
579
579
  deletePinMessage(session: Session, message_id: string): Promise<boolean>;
580
580
  /** List clan emoji. */
581
- listClanEmoji(session: Session): Promise<ApiClanEmojiList>;
581
+ listClanEmoji(session: Session, clan_id: string): Promise<ApiClanEmojiList>;
582
+ /** create clan emoji */
583
+ createClanEmoji(session: Session, request: ApiClanEmojiCreateRequest): Promise<boolean>;
582
584
  }
@@ -1300,6 +1300,35 @@ var MezonApi = class {
1300
1300
  )
1301
1301
  ]);
1302
1302
  }
1303
+ /** Authenticate a user with an email+password against the server. */
1304
+ registrationEmail(bearerToken, body, options = {}) {
1305
+ if (body === null || body === void 0) {
1306
+ throw new Error("'body' is a required parameter but is null or undefined.");
1307
+ }
1308
+ const urlPath = "/v2/account/registry";
1309
+ const queryParams = /* @__PURE__ */ new Map();
1310
+ let bodyJson = "";
1311
+ bodyJson = JSON.stringify(body || {});
1312
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
1313
+ const fetchOptions = buildFetchOptions("POST", options, bodyJson);
1314
+ if (bearerToken) {
1315
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
1316
+ }
1317
+ return Promise.race([
1318
+ fetch(fullUrl, fetchOptions).then((response) => {
1319
+ if (response.status == 204) {
1320
+ return response;
1321
+ } else if (response.status >= 200 && response.status < 300) {
1322
+ return response.json();
1323
+ } else {
1324
+ throw response;
1325
+ }
1326
+ }),
1327
+ new Promise(
1328
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
1329
+ )
1330
+ ]);
1331
+ }
1303
1332
  /** Refresh a user's session using a refresh token retrieved from a previous authentication request. */
1304
1333
  sessionRefresh(basicAuthUsername, basicAuthPassword, body, options = {}) {
1305
1334
  if (body === null || body === void 0) {
@@ -2331,9 +2360,41 @@ var MezonApi = class {
2331
2360
  )
2332
2361
  ]);
2333
2362
  }
2334
- /** Get permission list */
2335
- listClanEmoji(bearerToken, options = {}) {
2336
- const urlPath = "/v2/emoji";
2363
+ /** Post permission Emoji /v2/emoji/create */
2364
+ createClanEmoji(bearerToken, body, options = {}) {
2365
+ if (body === null || body === void 0) {
2366
+ throw new Error("'body' is a required parameter but is null or undefined.");
2367
+ }
2368
+ const urlPath = "/v2/emoji/create";
2369
+ const queryParams = /* @__PURE__ */ new Map();
2370
+ let bodyJson = "";
2371
+ bodyJson = JSON.stringify(body || {});
2372
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
2373
+ const fetchOptions = buildFetchOptions("POST", options, bodyJson);
2374
+ if (bearerToken) {
2375
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
2376
+ }
2377
+ return Promise.race([
2378
+ fetch(fullUrl, fetchOptions).then((response) => {
2379
+ if (response.status == 204) {
2380
+ return response;
2381
+ } else if (response.status >= 200 && response.status < 300) {
2382
+ return response.json();
2383
+ } else {
2384
+ throw response;
2385
+ }
2386
+ }),
2387
+ new Promise(
2388
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
2389
+ )
2390
+ ]);
2391
+ }
2392
+ /** Get permisson list by category */
2393
+ listClanEmojiByClanId(bearerToken, clanId, options = {}) {
2394
+ if (clanId === null || clanId === void 0) {
2395
+ throw new Error("'clanId' is a required parameter but is null or undefined.");
2396
+ }
2397
+ const urlPath = "/v2/emoji/{clanId}".replace("{clanId}", encodeURIComponent(String(clanId)));
2337
2398
  const queryParams = /* @__PURE__ */ new Map();
2338
2399
  let bodyJson = "";
2339
2400
  const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
@@ -2356,6 +2417,66 @@ var MezonApi = class {
2356
2417
  )
2357
2418
  ]);
2358
2419
  }
2420
+ /** Delete a role by ID. */
2421
+ deleteByIdClanEmoji(bearerToken, id, options = {}) {
2422
+ if (id === null || id === void 0) {
2423
+ throw new Error("'id' is a required parameter but is null or undefined.");
2424
+ }
2425
+ const urlPath = "/v2/emoji/{id}".replace("{id}", encodeURIComponent(String(id)));
2426
+ const queryParams = /* @__PURE__ */ new Map();
2427
+ let bodyJson = "";
2428
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
2429
+ const fetchOptions = buildFetchOptions("DELETE", options, bodyJson);
2430
+ if (bearerToken) {
2431
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
2432
+ }
2433
+ return Promise.race([
2434
+ fetch(fullUrl, fetchOptions).then((response) => {
2435
+ if (response.status == 204) {
2436
+ return response;
2437
+ } else if (response.status >= 200 && response.status < 300) {
2438
+ return response.json();
2439
+ } else {
2440
+ throw response;
2441
+ }
2442
+ }),
2443
+ new Promise(
2444
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
2445
+ )
2446
+ ]);
2447
+ }
2448
+ /** Update ClanEmoj By id */
2449
+ updateClanEmojiById(bearerToken, id, body, options = {}) {
2450
+ if (id === null || id === void 0) {
2451
+ throw new Error("'id' is a required parameter but is null or undefined.");
2452
+ }
2453
+ if (body === null || body === void 0) {
2454
+ throw new Error("'body' is a required parameter but is null or undefined.");
2455
+ }
2456
+ const urlPath = "/v2/emoji/{id}".replace("{id}", encodeURIComponent(String(id)));
2457
+ const queryParams = /* @__PURE__ */ new Map();
2458
+ let bodyJson = "";
2459
+ bodyJson = JSON.stringify(body || {});
2460
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
2461
+ const fetchOptions = buildFetchOptions("PATCH", options, bodyJson);
2462
+ if (bearerToken) {
2463
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
2464
+ }
2465
+ return Promise.race([
2466
+ fetch(fullUrl, fetchOptions).then((response) => {
2467
+ if (response.status == 204) {
2468
+ return response;
2469
+ } else if (response.status >= 200 && response.status < 300) {
2470
+ return response.json();
2471
+ } else {
2472
+ throw response;
2473
+ }
2474
+ }),
2475
+ new Promise(
2476
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
2477
+ )
2478
+ ]);
2479
+ }
2359
2480
  /** Search message from elasticsearch service. */
2360
2481
  searchMessage(bearerToken, body, options = {}) {
2361
2482
  if (body === null || body === void 0) {
@@ -6265,14 +6386,25 @@ var Client = class {
6265
6386
  });
6266
6387
  }
6267
6388
  /** List clan emoji. */
6268
- listClanEmoji(session) {
6389
+ listClanEmoji(session, clan_id) {
6269
6390
  return __async(this, null, function* () {
6270
6391
  if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
6271
6392
  yield this.sessionRefresh(session);
6272
6393
  }
6273
- return this.apiClient.listClanEmoji(session.token).then((response) => {
6394
+ return this.apiClient.listClanEmojiByClanId(session.token, clan_id).then((response) => {
6274
6395
  return Promise.resolve(response);
6275
6396
  });
6276
6397
  });
6277
6398
  }
6399
+ /** create clan emoji */
6400
+ createClanEmoji(session, request) {
6401
+ return __async(this, null, function* () {
6402
+ if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
6403
+ yield this.sessionRefresh(session);
6404
+ }
6405
+ return this.apiClient.createClanEmoji(session.token, request).then((response) => {
6406
+ return response !== void 0;
6407
+ });
6408
+ });
6409
+ }
6278
6410
  };
@@ -1271,6 +1271,35 @@ var MezonApi = class {
1271
1271
  )
1272
1272
  ]);
1273
1273
  }
1274
+ /** Authenticate a user with an email+password against the server. */
1275
+ registrationEmail(bearerToken, body, options = {}) {
1276
+ if (body === null || body === void 0) {
1277
+ throw new Error("'body' is a required parameter but is null or undefined.");
1278
+ }
1279
+ const urlPath = "/v2/account/registry";
1280
+ const queryParams = /* @__PURE__ */ new Map();
1281
+ let bodyJson = "";
1282
+ bodyJson = JSON.stringify(body || {});
1283
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
1284
+ const fetchOptions = buildFetchOptions("POST", options, bodyJson);
1285
+ if (bearerToken) {
1286
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
1287
+ }
1288
+ return Promise.race([
1289
+ fetch(fullUrl, fetchOptions).then((response) => {
1290
+ if (response.status == 204) {
1291
+ return response;
1292
+ } else if (response.status >= 200 && response.status < 300) {
1293
+ return response.json();
1294
+ } else {
1295
+ throw response;
1296
+ }
1297
+ }),
1298
+ new Promise(
1299
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
1300
+ )
1301
+ ]);
1302
+ }
1274
1303
  /** Refresh a user's session using a refresh token retrieved from a previous authentication request. */
1275
1304
  sessionRefresh(basicAuthUsername, basicAuthPassword, body, options = {}) {
1276
1305
  if (body === null || body === void 0) {
@@ -2302,9 +2331,41 @@ var MezonApi = class {
2302
2331
  )
2303
2332
  ]);
2304
2333
  }
2305
- /** Get permission list */
2306
- listClanEmoji(bearerToken, options = {}) {
2307
- const urlPath = "/v2/emoji";
2334
+ /** Post permission Emoji /v2/emoji/create */
2335
+ createClanEmoji(bearerToken, body, options = {}) {
2336
+ if (body === null || body === void 0) {
2337
+ throw new Error("'body' is a required parameter but is null or undefined.");
2338
+ }
2339
+ const urlPath = "/v2/emoji/create";
2340
+ const queryParams = /* @__PURE__ */ new Map();
2341
+ let bodyJson = "";
2342
+ bodyJson = JSON.stringify(body || {});
2343
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
2344
+ const fetchOptions = buildFetchOptions("POST", options, bodyJson);
2345
+ if (bearerToken) {
2346
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
2347
+ }
2348
+ return Promise.race([
2349
+ fetch(fullUrl, fetchOptions).then((response) => {
2350
+ if (response.status == 204) {
2351
+ return response;
2352
+ } else if (response.status >= 200 && response.status < 300) {
2353
+ return response.json();
2354
+ } else {
2355
+ throw response;
2356
+ }
2357
+ }),
2358
+ new Promise(
2359
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
2360
+ )
2361
+ ]);
2362
+ }
2363
+ /** Get permisson list by category */
2364
+ listClanEmojiByClanId(bearerToken, clanId, options = {}) {
2365
+ if (clanId === null || clanId === void 0) {
2366
+ throw new Error("'clanId' is a required parameter but is null or undefined.");
2367
+ }
2368
+ const urlPath = "/v2/emoji/{clanId}".replace("{clanId}", encodeURIComponent(String(clanId)));
2308
2369
  const queryParams = /* @__PURE__ */ new Map();
2309
2370
  let bodyJson = "";
2310
2371
  const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
@@ -2327,6 +2388,66 @@ var MezonApi = class {
2327
2388
  )
2328
2389
  ]);
2329
2390
  }
2391
+ /** Delete a role by ID. */
2392
+ deleteByIdClanEmoji(bearerToken, id, options = {}) {
2393
+ if (id === null || id === void 0) {
2394
+ throw new Error("'id' is a required parameter but is null or undefined.");
2395
+ }
2396
+ const urlPath = "/v2/emoji/{id}".replace("{id}", encodeURIComponent(String(id)));
2397
+ const queryParams = /* @__PURE__ */ new Map();
2398
+ let bodyJson = "";
2399
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
2400
+ const fetchOptions = buildFetchOptions("DELETE", options, bodyJson);
2401
+ if (bearerToken) {
2402
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
2403
+ }
2404
+ return Promise.race([
2405
+ fetch(fullUrl, fetchOptions).then((response) => {
2406
+ if (response.status == 204) {
2407
+ return response;
2408
+ } else if (response.status >= 200 && response.status < 300) {
2409
+ return response.json();
2410
+ } else {
2411
+ throw response;
2412
+ }
2413
+ }),
2414
+ new Promise(
2415
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
2416
+ )
2417
+ ]);
2418
+ }
2419
+ /** Update ClanEmoj By id */
2420
+ updateClanEmojiById(bearerToken, id, body, options = {}) {
2421
+ if (id === null || id === void 0) {
2422
+ throw new Error("'id' is a required parameter but is null or undefined.");
2423
+ }
2424
+ if (body === null || body === void 0) {
2425
+ throw new Error("'body' is a required parameter but is null or undefined.");
2426
+ }
2427
+ const urlPath = "/v2/emoji/{id}".replace("{id}", encodeURIComponent(String(id)));
2428
+ const queryParams = /* @__PURE__ */ new Map();
2429
+ let bodyJson = "";
2430
+ bodyJson = JSON.stringify(body || {});
2431
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
2432
+ const fetchOptions = buildFetchOptions("PATCH", options, bodyJson);
2433
+ if (bearerToken) {
2434
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
2435
+ }
2436
+ return Promise.race([
2437
+ fetch(fullUrl, fetchOptions).then((response) => {
2438
+ if (response.status == 204) {
2439
+ return response;
2440
+ } else if (response.status >= 200 && response.status < 300) {
2441
+ return response.json();
2442
+ } else {
2443
+ throw response;
2444
+ }
2445
+ }),
2446
+ new Promise(
2447
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
2448
+ )
2449
+ ]);
2450
+ }
2330
2451
  /** Search message from elasticsearch service. */
2331
2452
  searchMessage(bearerToken, body, options = {}) {
2332
2453
  if (body === null || body === void 0) {
@@ -6236,16 +6357,27 @@ var Client = class {
6236
6357
  });
6237
6358
  }
6238
6359
  /** List clan emoji. */
6239
- listClanEmoji(session) {
6360
+ listClanEmoji(session, clan_id) {
6240
6361
  return __async(this, null, function* () {
6241
6362
  if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
6242
6363
  yield this.sessionRefresh(session);
6243
6364
  }
6244
- return this.apiClient.listClanEmoji(session.token).then((response) => {
6365
+ return this.apiClient.listClanEmojiByClanId(session.token, clan_id).then((response) => {
6245
6366
  return Promise.resolve(response);
6246
6367
  });
6247
6368
  });
6248
6369
  }
6370
+ /** create clan emoji */
6371
+ createClanEmoji(session, request) {
6372
+ return __async(this, null, function* () {
6373
+ if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
6374
+ yield this.sessionRefresh(session);
6375
+ }
6376
+ return this.apiClient.createClanEmoji(session.token, request).then((response) => {
6377
+ return response !== void 0;
6378
+ });
6379
+ });
6380
+ }
6249
6381
  };
6250
6382
  export {
6251
6383
  ChannelStreamMode,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mezon-js",
3
- "version": "2.7.59",
3
+ "version": "2.7.61",
4
4
  "scripts": {
5
5
  "build": "npx tsc && npx rollup -c --bundleConfigAsCjs && node build.mjs"
6
6
  },