mezon-js 2.7.2 → 2.7.4

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/api.gen.ts CHANGED
@@ -146,6 +146,14 @@ export interface ApiAccountSteam {
146
146
  vars?: Record<string, string>;
147
147
  }
148
148
 
149
+ /** Add a role for channel. */
150
+ export interface ApiAddRoleChannelDescRequest {
151
+ //
152
+ channel_id?: string;
153
+ //
154
+ role_ids?: Array<string>;
155
+ }
156
+
149
157
  /** */
150
158
  export interface ApiCategoryDesc {
151
159
  //
@@ -398,6 +406,14 @@ export interface ApiCreateRoleRequest {
398
406
  title?: string;
399
407
  }
400
408
 
409
+ /** Delete a role the user has access to. */
410
+ export interface ApiDeleteRoleRequest {
411
+ //
412
+ channel_id?: string;
413
+ //The id of a role.
414
+ role_id?: string;
415
+ }
416
+
401
417
  /** Storage objects to delete. */
402
418
  export interface ApiDeleteStorageObjectId {
403
419
  //The collection which stores the object.
@@ -654,6 +670,10 @@ export interface ApiRole {
654
670
  slug?: string;
655
671
  //
656
672
  title?: string;
673
+ //
674
+ role_channel_active?: string;
675
+ //
676
+ channel_id?: string;
657
677
  }
658
678
 
659
679
  /** A list of role description, usually a result of a list operation. */
@@ -3462,6 +3482,78 @@ export class MezonApi {
3462
3482
  ]);
3463
3483
  }
3464
3484
 
3485
+ /** */
3486
+ addRolesChannelDesc(bearerToken: string,
3487
+ body:ApiAddRoleChannelDescRequest,
3488
+ options: any = {}): Promise<any> {
3489
+
3490
+ if (body === null || body === undefined) {
3491
+ throw new Error("'body' is a required parameter but is null or undefined.");
3492
+ }
3493
+ const urlPath = "/v2/rolechannel/addrole";
3494
+ const queryParams = new Map<string, any>();
3495
+
3496
+ let bodyJson : string = "";
3497
+ bodyJson = JSON.stringify(body || {});
3498
+
3499
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
3500
+ const fetchOptions = buildFetchOptions("POST", options, bodyJson);
3501
+ if (bearerToken) {
3502
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
3503
+ }
3504
+
3505
+ return Promise.race([
3506
+ fetch(fullUrl, fetchOptions).then((response) => {
3507
+ if (response.status == 204) {
3508
+ return response;
3509
+ } else if (response.status >= 200 && response.status < 300) {
3510
+ return response.json();
3511
+ } else {
3512
+ throw response;
3513
+ }
3514
+ }),
3515
+ new Promise((_, reject) =>
3516
+ setTimeout(reject, this.timeoutMs, "Request timed out.")
3517
+ ),
3518
+ ]);
3519
+ }
3520
+
3521
+ /** Update a role when Delete a role by ID. */
3522
+ deleteRoleChannelDesc(bearerToken: string,
3523
+ body:ApiDeleteRoleRequest,
3524
+ options: any = {}): Promise<any> {
3525
+
3526
+ if (body === null || body === undefined) {
3527
+ throw new Error("'body' is a required parameter but is null or undefined.");
3528
+ }
3529
+ const urlPath = "/v2/rolechannel/delete";
3530
+ const queryParams = new Map<string, any>();
3531
+
3532
+ let bodyJson : string = "";
3533
+ bodyJson = JSON.stringify(body || {});
3534
+
3535
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
3536
+ const fetchOptions = buildFetchOptions("PUT", options, bodyJson);
3537
+ if (bearerToken) {
3538
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
3539
+ }
3540
+
3541
+ return Promise.race([
3542
+ fetch(fullUrl, fetchOptions).then((response) => {
3543
+ if (response.status == 204) {
3544
+ return response;
3545
+ } else if (response.status >= 200 && response.status < 300) {
3546
+ return response.json();
3547
+ } else {
3548
+ throw response;
3549
+ }
3550
+ }),
3551
+ new Promise((_, reject) =>
3552
+ setTimeout(reject, this.timeoutMs, "Request timed out.")
3553
+ ),
3554
+ ]);
3555
+ }
3556
+
3465
3557
  /** List user roles */
3466
3558
  listRoles(bearerToken: string,
3467
3559
  limit?:number,
package/client.ts CHANGED
@@ -28,6 +28,7 @@ import {
28
28
  ApiChannelDescList,
29
29
  ApiChannelDescription,
30
30
  ApiCreateChannelDescRequest,
31
+ ApiDeleteRoleRequest,
31
32
  ApiClanDescList,
32
33
  ApiCreateClanDescRequest,
33
34
  ApiClanDesc,
@@ -38,6 +39,7 @@ import {
38
39
  ApiRoleUserList,
39
40
  ApiRole,
40
41
  ApiCreateRoleRequest,
42
+ ApiAddRoleChannelDescRequest,
41
43
  ApiCreateCategoryDescRequest,
42
44
  ApiUpdateCategoryDescRequest,
43
45
  ApiDeleteStorageObjectsRequest,
@@ -733,6 +735,30 @@ export class Client {
733
735
  });
734
736
  }
735
737
 
738
+ /** add role for channel. */
739
+ async addRolesChannelDesc(session: Session, request: ApiAddRoleChannelDescRequest): Promise<boolean> {
740
+ if (this.autoRefreshSession && session.refresh_token &&
741
+ session.isexpired((Date.now() + this.expiredTimespanMs)/1000)) {
742
+ await this.sessionRefresh(session);
743
+ }
744
+
745
+ return this.apiClient.addRolesChannelDesc(session.token, request).then((response: ApiRole) => {
746
+ return response !== undefined;
747
+ });
748
+ }
749
+
750
+ /** Update action role when delete role */
751
+ async deleteRoleChannelDesc(session: Session, request:ApiDeleteRoleRequest): Promise<boolean> {
752
+ if (this.autoRefreshSession && session.refresh_token &&
753
+ session.isexpired((Date.now() + this.expiredTimespanMs)/1000)) {
754
+ await this.sessionRefresh(session);
755
+ }
756
+
757
+ return this.apiClient.deleteRoleChannelDesc(session.token, request).then((response: any) => {
758
+ return response !== undefined;
759
+ });
760
+ }
761
+
736
762
  /** A socket created with the client's configuration. */
737
763
  createSocket(useSSL = false, verbose: boolean = false, adapter : WebSocketAdapter = new WebSocketAdapterText(), sendTimeoutMs : number = DefaultSocket.DefaultSendTimeoutMs): Socket {
738
764
  return new DefaultSocket(this.host, this.port, useSSL, verbose, adapter, sendTimeoutMs);
package/dist/api.gen.d.ts CHANGED
@@ -83,6 +83,11 @@ export interface ApiAccountSteam {
83
83
  token?: string;
84
84
  vars?: Record<string, string>;
85
85
  }
86
+ /** Add a role for channel. */
87
+ export interface ApiAddRoleChannelDescRequest {
88
+ channel_id?: string;
89
+ role_ids?: Array<string>;
90
+ }
86
91
  /** */
87
92
  export interface ApiCategoryDesc {
88
93
  category_id?: string;
@@ -226,6 +231,11 @@ export interface ApiCreateRoleRequest {
226
231
  role_icon?: string;
227
232
  title?: string;
228
233
  }
234
+ /** Delete a role the user has access to. */
235
+ export interface ApiDeleteRoleRequest {
236
+ channel_id?: string;
237
+ role_id?: string;
238
+ }
229
239
  /** Storage objects to delete. */
230
240
  export interface ApiDeleteStorageObjectId {
231
241
  collection?: string;
@@ -375,6 +385,8 @@ export interface ApiRole {
375
385
  role_user_list?: ApiRoleUserList;
376
386
  slug?: string;
377
387
  title?: string;
388
+ role_channel_active?: string;
389
+ channel_id?: string;
378
390
  }
379
391
  /** A list of role description, usually a result of a list operation. */
380
392
  export interface ApiRoleList {
@@ -675,6 +687,10 @@ export declare class MezonApi {
675
687
  listNotifications(bearerToken: string, limit?: number, cacheableCursor?: string, options?: any): Promise<ApiNotificationList>;
676
688
  /** */
677
689
  GetPermissionOfUserInTheClan(bearerToken: string, clanId: string, options?: any): Promise<ApiPermissionList>;
690
+ /** */
691
+ addRolesChannelDesc(bearerToken: string, body: ApiAddRoleChannelDescRequest, options?: any): Promise<any>;
692
+ /** Update a role when Delete a role by ID. */
693
+ deleteRoleChannelDesc(bearerToken: string, body: ApiDeleteRoleRequest, options?: any): Promise<any>;
678
694
  /** List user roles */
679
695
  listRoles(bearerToken: string, limit?: number, state?: number, cursor?: string, clanId?: string, options?: any): Promise<ApiRoleList>;
680
696
  /** Create a new role for clan. */
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, ApiClanDescList, ApiCreateClanDescRequest, ApiClanDesc, ApiCategoryDesc, ApiCategoryDescList, ApiRoleList, ApiPermissionList, ApiRoleUserList, ApiRole, ApiCreateRoleRequest, ApiCreateCategoryDescRequest, ApiUpdateCategoryDescRequest, ApiDeleteStorageObjectsRequest, ApiEvent, ApiReadStorageObjectsRequest, ApiStorageObjectAcks, ApiUpdateAccountRequest, ApiAccountApple, ApiLinkSteamRequest, ApiClanDescProfile, ApiClanProfile, ApiChannelUserList, ApiClanUserList, ApiLinkInviteUserRequest, ApiLinkInviteUser, ApiInviteUserRes, ApiUploadAttachmentRequest, ApiUploadAttachment, ApiMessageReaction, ApiMessageMention, ApiMessageAttachment, ApiMessageRef, ApiChannelMessageHeader, ApiVoiceChannelUserList } 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, ApiLinkInviteUser, ApiInviteUserRes, ApiUploadAttachmentRequest, ApiUploadAttachment, ApiMessageReaction, ApiMessageMention, ApiMessageAttachment, ApiMessageRef, ApiChannelMessageHeader, ApiVoiceChannelUserList } from "./api.gen";
17
17
  import { Session } from "./session";
18
18
  import { Socket } from "./socket";
19
19
  import { WebSocketAdapter } from "./web_socket_adapter";
@@ -389,6 +389,10 @@ export declare class Client {
389
389
  createCategoryDesc(session: Session, request: ApiCreateCategoryDescRequest): Promise<ApiCategoryDesc>;
390
390
  /** Create a new role for clan. */
391
391
  createRole(session: Session, request: ApiCreateRoleRequest): Promise<ApiRole>;
392
+ /** add role for channel. */
393
+ addRolesChannelDesc(session: Session, request: ApiAddRoleChannelDescRequest): Promise<boolean>;
394
+ /** Update action role when delete role */
395
+ deleteRoleChannelDesc(session: Session, request: ApiDeleteRoleRequest): Promise<boolean>;
392
396
  /** A socket created with the client's configuration. */
393
397
  createSocket(useSSL?: boolean, verbose?: boolean, adapter?: WebSocketAdapter, sendTimeoutMs?: number): Socket;
394
398
  /** Delete one or more users by ID or username. */
@@ -2643,6 +2643,64 @@ var MezonApi = class {
2643
2643
  )
2644
2644
  ]);
2645
2645
  }
2646
+ /** */
2647
+ addRolesChannelDesc(bearerToken, body, options = {}) {
2648
+ if (body === null || body === void 0) {
2649
+ throw new Error("'body' is a required parameter but is null or undefined.");
2650
+ }
2651
+ const urlPath = "/v2/rolechannel/addrole";
2652
+ const queryParams = /* @__PURE__ */ new Map();
2653
+ let bodyJson = "";
2654
+ bodyJson = JSON.stringify(body || {});
2655
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
2656
+ const fetchOptions = buildFetchOptions("POST", options, bodyJson);
2657
+ if (bearerToken) {
2658
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
2659
+ }
2660
+ return Promise.race([
2661
+ fetch(fullUrl, fetchOptions).then((response) => {
2662
+ if (response.status == 204) {
2663
+ return response;
2664
+ } else if (response.status >= 200 && response.status < 300) {
2665
+ return response.json();
2666
+ } else {
2667
+ throw response;
2668
+ }
2669
+ }),
2670
+ new Promise(
2671
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
2672
+ )
2673
+ ]);
2674
+ }
2675
+ /** Update a role when Delete a role by ID. */
2676
+ deleteRoleChannelDesc(bearerToken, body, options = {}) {
2677
+ if (body === null || body === void 0) {
2678
+ throw new Error("'body' is a required parameter but is null or undefined.");
2679
+ }
2680
+ const urlPath = "/v2/rolechannel/delete";
2681
+ const queryParams = /* @__PURE__ */ new Map();
2682
+ let bodyJson = "";
2683
+ bodyJson = JSON.stringify(body || {});
2684
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
2685
+ const fetchOptions = buildFetchOptions("PUT", options, bodyJson);
2686
+ if (bearerToken) {
2687
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
2688
+ }
2689
+ return Promise.race([
2690
+ fetch(fullUrl, fetchOptions).then((response) => {
2691
+ if (response.status == 204) {
2692
+ return response;
2693
+ } else if (response.status >= 200 && response.status < 300) {
2694
+ return response.json();
2695
+ } else {
2696
+ throw response;
2697
+ }
2698
+ }),
2699
+ new Promise(
2700
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
2701
+ )
2702
+ ]);
2703
+ }
2646
2704
  /** List user roles */
2647
2705
  listRoles(bearerToken, limit, state, cursor, clanId, options = {}) {
2648
2706
  const urlPath = "/v2/roles";
@@ -3456,6 +3514,10 @@ var _DefaultSocket = class _DefaultSocket {
3456
3514
  this.onvoicejoined(message.voice_joined_event);
3457
3515
  } else if (message.voice_leaved_event) {
3458
3516
  this.onvoiceleaved(message.voice_leaved_event);
3517
+ } else if (message.channel_created_event) {
3518
+ this.onchannelcreated(message.channel_created_event);
3519
+ } else if (message.channel_deleted_event) {
3520
+ this.onchanneldeleted(message.channel_deleted_event);
3459
3521
  } else if (message.status_presence_event) {
3460
3522
  this.onstatuspresence(message.status_presence_event);
3461
3523
  } else if (message.stream_presence_event) {
@@ -3650,6 +3712,16 @@ var _DefaultSocket = class _DefaultSocket {
3650
3712
  console.log(voiceParticipant);
3651
3713
  }
3652
3714
  }
3715
+ onchannelcreated(channelCreated) {
3716
+ if (this.verbose && window && window.console) {
3717
+ console.log(channelCreated);
3718
+ }
3719
+ }
3720
+ onchanneldeleted(channelDeleted) {
3721
+ if (this.verbose && window && window.console) {
3722
+ console.log(channelDeleted);
3723
+ }
3724
+ }
3653
3725
  onstreampresence(streamPresence) {
3654
3726
  if (this.verbose && window && window.console) {
3655
3727
  console.log(streamPresence);
@@ -3806,9 +3878,9 @@ var _DefaultSocket = class _DefaultSocket {
3806
3878
  unfollowUsers(user_ids) {
3807
3879
  return this.send({ status_unfollow: { user_ids } });
3808
3880
  }
3809
- updateChatMessage(channel_id, message_id, content) {
3881
+ updateChatMessage(channel_id, channel_label, mode, message_id, content) {
3810
3882
  return __async(this, null, function* () {
3811
- const response = yield this.send({ channel_message_update: { channel_id, message_id, content } });
3883
+ const response = yield this.send({ channel_message_update: { channel_id, channel_label, message_id, content, mode } });
3812
3884
  return response.channel_message_ack;
3813
3885
  });
3814
3886
  }
@@ -4136,6 +4208,28 @@ var Client = class {
4136
4208
  });
4137
4209
  });
4138
4210
  }
4211
+ /** add role for channel. */
4212
+ addRolesChannelDesc(session, request) {
4213
+ return __async(this, null, function* () {
4214
+ if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
4215
+ yield this.sessionRefresh(session);
4216
+ }
4217
+ return this.apiClient.addRolesChannelDesc(session.token, request).then((response) => {
4218
+ return response !== void 0;
4219
+ });
4220
+ });
4221
+ }
4222
+ /** Update action role when delete role */
4223
+ deleteRoleChannelDesc(session, request) {
4224
+ return __async(this, null, function* () {
4225
+ if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
4226
+ yield this.sessionRefresh(session);
4227
+ }
4228
+ return this.apiClient.deleteRoleChannelDesc(session.token, request).then((response) => {
4229
+ return response !== void 0;
4230
+ });
4231
+ });
4232
+ }
4139
4233
  /** A socket created with the client's configuration. */
4140
4234
  createSocket(useSSL = false, verbose = false, adapter = new WebSocketAdapterText(), sendTimeoutMs = DefaultSocket.DefaultSendTimeoutMs) {
4141
4235
  return new DefaultSocket(this.host, this.port, useSSL, verbose, adapter, sendTimeoutMs);
@@ -2615,6 +2615,64 @@ var MezonApi = class {
2615
2615
  )
2616
2616
  ]);
2617
2617
  }
2618
+ /** */
2619
+ addRolesChannelDesc(bearerToken, body, options = {}) {
2620
+ if (body === null || body === void 0) {
2621
+ throw new Error("'body' is a required parameter but is null or undefined.");
2622
+ }
2623
+ const urlPath = "/v2/rolechannel/addrole";
2624
+ const queryParams = /* @__PURE__ */ new Map();
2625
+ let bodyJson = "";
2626
+ bodyJson = JSON.stringify(body || {});
2627
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
2628
+ const fetchOptions = buildFetchOptions("POST", options, bodyJson);
2629
+ if (bearerToken) {
2630
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
2631
+ }
2632
+ return Promise.race([
2633
+ fetch(fullUrl, fetchOptions).then((response) => {
2634
+ if (response.status == 204) {
2635
+ return response;
2636
+ } else if (response.status >= 200 && response.status < 300) {
2637
+ return response.json();
2638
+ } else {
2639
+ throw response;
2640
+ }
2641
+ }),
2642
+ new Promise(
2643
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
2644
+ )
2645
+ ]);
2646
+ }
2647
+ /** Update a role when Delete a role by ID. */
2648
+ deleteRoleChannelDesc(bearerToken, body, options = {}) {
2649
+ if (body === null || body === void 0) {
2650
+ throw new Error("'body' is a required parameter but is null or undefined.");
2651
+ }
2652
+ const urlPath = "/v2/rolechannel/delete";
2653
+ const queryParams = /* @__PURE__ */ new Map();
2654
+ let bodyJson = "";
2655
+ bodyJson = JSON.stringify(body || {});
2656
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
2657
+ const fetchOptions = buildFetchOptions("PUT", options, bodyJson);
2658
+ if (bearerToken) {
2659
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
2660
+ }
2661
+ return Promise.race([
2662
+ fetch(fullUrl, fetchOptions).then((response) => {
2663
+ if (response.status == 204) {
2664
+ return response;
2665
+ } else if (response.status >= 200 && response.status < 300) {
2666
+ return response.json();
2667
+ } else {
2668
+ throw response;
2669
+ }
2670
+ }),
2671
+ new Promise(
2672
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
2673
+ )
2674
+ ]);
2675
+ }
2618
2676
  /** List user roles */
2619
2677
  listRoles(bearerToken, limit, state, cursor, clanId, options = {}) {
2620
2678
  const urlPath = "/v2/roles";
@@ -3428,6 +3486,10 @@ var _DefaultSocket = class _DefaultSocket {
3428
3486
  this.onvoicejoined(message.voice_joined_event);
3429
3487
  } else if (message.voice_leaved_event) {
3430
3488
  this.onvoiceleaved(message.voice_leaved_event);
3489
+ } else if (message.channel_created_event) {
3490
+ this.onchannelcreated(message.channel_created_event);
3491
+ } else if (message.channel_deleted_event) {
3492
+ this.onchanneldeleted(message.channel_deleted_event);
3431
3493
  } else if (message.status_presence_event) {
3432
3494
  this.onstatuspresence(message.status_presence_event);
3433
3495
  } else if (message.stream_presence_event) {
@@ -3622,6 +3684,16 @@ var _DefaultSocket = class _DefaultSocket {
3622
3684
  console.log(voiceParticipant);
3623
3685
  }
3624
3686
  }
3687
+ onchannelcreated(channelCreated) {
3688
+ if (this.verbose && window && window.console) {
3689
+ console.log(channelCreated);
3690
+ }
3691
+ }
3692
+ onchanneldeleted(channelDeleted) {
3693
+ if (this.verbose && window && window.console) {
3694
+ console.log(channelDeleted);
3695
+ }
3696
+ }
3625
3697
  onstreampresence(streamPresence) {
3626
3698
  if (this.verbose && window && window.console) {
3627
3699
  console.log(streamPresence);
@@ -3778,9 +3850,9 @@ var _DefaultSocket = class _DefaultSocket {
3778
3850
  unfollowUsers(user_ids) {
3779
3851
  return this.send({ status_unfollow: { user_ids } });
3780
3852
  }
3781
- updateChatMessage(channel_id, message_id, content) {
3853
+ updateChatMessage(channel_id, channel_label, mode, message_id, content) {
3782
3854
  return __async(this, null, function* () {
3783
- const response = yield this.send({ channel_message_update: { channel_id, message_id, content } });
3855
+ const response = yield this.send({ channel_message_update: { channel_id, channel_label, message_id, content, mode } });
3784
3856
  return response.channel_message_ack;
3785
3857
  });
3786
3858
  }
@@ -4108,6 +4180,28 @@ var Client = class {
4108
4180
  });
4109
4181
  });
4110
4182
  }
4183
+ /** add role for channel. */
4184
+ addRolesChannelDesc(session, request) {
4185
+ return __async(this, null, function* () {
4186
+ if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
4187
+ yield this.sessionRefresh(session);
4188
+ }
4189
+ return this.apiClient.addRolesChannelDesc(session.token, request).then((response) => {
4190
+ return response !== void 0;
4191
+ });
4192
+ });
4193
+ }
4194
+ /** Update action role when delete role */
4195
+ deleteRoleChannelDesc(session, request) {
4196
+ return __async(this, null, function* () {
4197
+ if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
4198
+ yield this.sessionRefresh(session);
4199
+ }
4200
+ return this.apiClient.deleteRoleChannelDesc(session.token, request).then((response) => {
4201
+ return response !== void 0;
4202
+ });
4203
+ });
4204
+ }
4111
4205
  /** A socket created with the client's configuration. */
4112
4206
  createSocket(useSSL = false, verbose = false, adapter = new WebSocketAdapterText(), sendTimeoutMs = DefaultSocket.DefaultSendTimeoutMs) {
4113
4207
  return new DefaultSocket(this.host, this.port, useSSL, verbose, adapter, sendTimeoutMs);
package/dist/socket.d.ts CHANGED
@@ -215,10 +215,14 @@ interface ChannelMessageUpdate {
215
215
  channel_message_update: {
216
216
  /** The server-assigned channel ID. */
217
217
  channel_id: string;
218
+ /** The server-assigned channel label. */
219
+ channel_label: string;
218
220
  /** A unique ID for the chat message to be updated. */
219
221
  message_id: string;
220
222
  /** The content payload. */
221
223
  content: any;
224
+ /** The mode payload. */
225
+ mode: number;
222
226
  };
223
227
  }
224
228
  /** Remove a message previously sent to a realtime chat channel. */
@@ -260,6 +264,19 @@ export interface VoiceJoinedEvent {
260
264
  voice_channel_id: string;
261
265
  last_screenshot: string;
262
266
  }
267
+ export interface ChannelCreatedEvent {
268
+ clan_id: string;
269
+ category_id: string;
270
+ creator_id: string;
271
+ channel_id: string;
272
+ channel_label: string;
273
+ }
274
+ export interface ChannelDeletedEvent {
275
+ clan_id: string;
276
+ category_id: string;
277
+ channel_id: string;
278
+ deletor: string;
279
+ }
263
280
  /** Stream identifier */
264
281
  export interface StreamId {
265
282
  /** The type of stream (e.g. chat). */
@@ -587,6 +604,8 @@ export interface Socket {
587
604
  onchannelpresence: (channelPresence: ChannelPresenceEvent) => void;
588
605
  onvoicejoined: (voiceParticipant: VoiceJoinedEvent) => void;
589
606
  onvoiceleaved: (voiceParticipant: VoiceLeavedEvent) => void;
607
+ onchannelcreated: (channelCreated: ChannelCreatedEvent) => void;
608
+ onchanneldeleted: (channelDeleted: ChannelDeletedEvent) => void;
590
609
  setHeartbeatTimeoutMs(ms: number): void;
591
610
  getHeartbeatTimeoutMs(): number;
592
611
  }
@@ -635,6 +654,8 @@ export declare class DefaultSocket implements Socket {
635
654
  onstatuspresence(statusPresence: StatusPresenceEvent): void;
636
655
  onvoicejoined(voiceParticipant: VoiceJoinedEvent): void;
637
656
  onvoiceleaved(voiceParticipant: VoiceLeavedEvent): void;
657
+ onchannelcreated(channelCreated: ChannelCreatedEvent): void;
658
+ onchanneldeleted(channelDeleted: ChannelDeletedEvent): void;
638
659
  onstreampresence(streamPresence: StreamPresenceEvent): void;
639
660
  onstreamdata(streamData: StreamData): void;
640
661
  onheartbeattimeout(): void;
@@ -655,7 +676,7 @@ export declare class DefaultSocket implements Socket {
655
676
  rpc(id?: string, payload?: string, http_key?: string): Promise<ApiRpc>;
656
677
  sendPartyData(party_id: string, op_code: number, data: string | Uint8Array): Promise<void>;
657
678
  unfollowUsers(user_ids: string[]): Promise<void>;
658
- updateChatMessage(channel_id: string, message_id: string, content: any): Promise<ChannelMessageAck>;
679
+ updateChatMessage(channel_id: string, channel_label: string, mode: number, message_id: string, content: any): Promise<ChannelMessageAck>;
659
680
  updateStatus(status?: string): Promise<void>;
660
681
  writeChatMessage(clan_id: string, channel_id: string, channel_label: string, mode: number, content: any, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, references?: Array<ApiMessageRef>): Promise<ChannelMessageAck>;
661
682
  writeMessageReaction(id: string, channel_id: string, channel_label: string, mode: number, message_id: string, emoji: string, count: number, message_sender_id: string, action_delete: boolean): Promise<MessageReactionEvent>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mezon-js",
3
- "version": "2.7.2",
3
+ "version": "2.7.4",
4
4
  "scripts": {
5
5
  "build": "npx tsc && npx rollup -c --bundleConfigAsCjs && node build.mjs"
6
6
  },
package/socket.ts CHANGED
@@ -295,10 +295,14 @@ interface ChannelMessageUpdate {
295
295
  channel_message_update: {
296
296
  /** The server-assigned channel ID. */
297
297
  channel_id: string,
298
+ /** The server-assigned channel label. */
299
+ channel_label: string,
298
300
  /** A unique ID for the chat message to be updated. */
299
301
  message_id: string,
300
302
  /** The content payload. */
301
- content: any;
303
+ content: any,
304
+ /** The mode payload. */
305
+ mode: number;
302
306
  };
303
307
  }
304
308
 
@@ -360,6 +364,32 @@ export interface VoiceJoinedEvent {
360
364
  last_screenshot: string;
361
365
  }
362
366
 
367
+
368
+ export interface ChannelCreatedEvent {
369
+ // clan id
370
+ clan_id: string;
371
+ // category
372
+ category_id: string;
373
+ // creator
374
+ creator_id: string;
375
+ // channel id
376
+ channel_id: string;
377
+ // channel label
378
+ channel_label: string;
379
+ }
380
+
381
+ export interface ChannelDeletedEvent {
382
+ // clan id
383
+ clan_id: string;
384
+ // category
385
+ category_id: string;
386
+ // channel id
387
+ channel_id: string;
388
+ // deletor
389
+ deletor: string;
390
+ }
391
+
392
+
363
393
  /** Stream identifier */
364
394
  export interface StreamId {
365
395
  /** The type of stream (e.g. chat). */
@@ -758,6 +788,12 @@ export interface Socket {
758
788
  // when someone join to voice room
759
789
  onvoiceleaved: (voiceParticipant: VoiceLeavedEvent) => void;
760
790
 
791
+ // when channel is created
792
+ onchannelcreated: (channelCreated: ChannelCreatedEvent) => void;
793
+
794
+ // when channel is created
795
+ onchanneldeleted: (channelDeleted: ChannelDeletedEvent) => void;
796
+
761
797
  /* Set the heartbeat timeout used by the socket to detect if it has lost connectivity to the server. */
762
798
  setHeartbeatTimeoutMs(ms : number) : void;
763
799
 
@@ -834,6 +870,10 @@ export class DefaultSocket implements Socket {
834
870
  this.onvoicejoined(message.voice_joined_event)
835
871
  } else if (message.voice_leaved_event) {
836
872
  this.onvoiceleaved(message.voice_leaved_event)
873
+ } else if (message.channel_created_event) {
874
+ this.onchannelcreated(message.channel_created_event)
875
+ } else if (message.channel_deleted_event) {
876
+ this.onchanneldeleted(message.channel_deleted_event)
837
877
  } else if (message.status_presence_event) {
838
878
  this.onstatuspresence(<StatusPresenceEvent>message.status_presence_event);
839
879
  } else if (message.stream_presence_event) {
@@ -1058,6 +1098,18 @@ export class DefaultSocket implements Socket {
1058
1098
  }
1059
1099
  }
1060
1100
 
1101
+ onchannelcreated(channelCreated: ChannelCreatedEvent) {
1102
+ if (this.verbose && window && window.console) {
1103
+ console.log(channelCreated);
1104
+ }
1105
+ }
1106
+
1107
+ onchanneldeleted(channelDeleted: ChannelDeletedEvent) {
1108
+ if (this.verbose && window && window.console) {
1109
+ console.log(channelDeleted);
1110
+ }
1111
+ }
1112
+
1061
1113
  onstreampresence(streamPresence: StreamPresenceEvent) {
1062
1114
  if (this.verbose && window && window.console) {
1063
1115
  console.log(streamPresence);
@@ -1229,8 +1281,8 @@ export class DefaultSocket implements Socket {
1229
1281
  return this.send({status_unfollow: {user_ids: user_ids}});
1230
1282
  }
1231
1283
 
1232
- async updateChatMessage(channel_id: string, message_id : string, content: any): Promise<ChannelMessageAck> {
1233
- const response = await this.send({channel_message_update: {channel_id: channel_id, message_id: message_id, content: content}});
1284
+ async updateChatMessage(channel_id: string, channel_label: string, mode: number, message_id : string, content: any): Promise<ChannelMessageAck> {
1285
+ const response = await this.send({channel_message_update: {channel_id: channel_id,channel_label:channel_label, message_id: message_id, content: content, mode: mode}});
1234
1286
  return response.channel_message_ack;
1235
1287
  }
1236
1288