mezon-js 2.9.4 → 2.9.6

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
@@ -428,6 +428,11 @@ export interface ApiCategoryOrderUpdate {
428
428
  order?: number;
429
429
  }
430
430
 
431
+ export interface ApiListChannelAppsResponse {
432
+ //
433
+ channel_apps?: Array<ApiChannelAppResponse>;
434
+ }
435
+
431
436
  /** Update fields in a given channel. */
432
437
  export interface ApiChangeChannelPrivateRequest {
433
438
  //The ID of the channel to update.
@@ -440,6 +445,20 @@ export interface ApiChangeChannelPrivateRequest {
440
445
  user_ids?: Array<string>;
441
446
  }
442
447
 
448
+ /** */
449
+ export interface ApiChannelAppResponse {
450
+ //
451
+ app_id?: string;
452
+ //
453
+ channel_id?: string;
454
+ //
455
+ clan_id?: string;
456
+ //
457
+ id?: string;
458
+ //
459
+ url?: string;
460
+ }
461
+
443
462
  /** */
444
463
  export interface ApiChannelAttachment {
445
464
  //The UNIX time (for gRPC clients) or ISO string (for REST clients) when the group was created.
@@ -732,6 +751,8 @@ export interface ApiCreateCategoryDescRequest {
732
751
 
733
752
  /** Create a channel within clan. */
734
753
  export interface ApiCreateChannelDescRequest {
754
+ //
755
+ app_url?: string;
735
756
  //
736
757
  category_id?: string;
737
758
  //The channel this message belongs to.
@@ -3413,6 +3434,39 @@ export class MezonApi {
3413
3434
  ]);
3414
3435
  }
3415
3436
 
3437
+ /** List channel apps. */
3438
+ listChannelApps(bearerToken: string,
3439
+ clanId?:string,
3440
+ options: any = {}): Promise<ApiListChannelAppsResponse> {
3441
+
3442
+ const urlPath = "/v2/channel-apps";
3443
+ const queryParams = new Map<string, any>();
3444
+ queryParams.set("clan_id", clanId);
3445
+
3446
+ let bodyJson : string = "";
3447
+
3448
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
3449
+ const fetchOptions = buildFetchOptions("GET", options, bodyJson);
3450
+ if (bearerToken) {
3451
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
3452
+ }
3453
+
3454
+ return Promise.race([
3455
+ fetch(fullUrl, fetchOptions).then((response) => {
3456
+ if (response.status == 204) {
3457
+ return response;
3458
+ } else if (response.status >= 200 && response.status < 300) {
3459
+ return response.json();
3460
+ } else {
3461
+ throw response;
3462
+ }
3463
+ }),
3464
+ new Promise((_, reject) =>
3465
+ setTimeout(reject, this.timeoutMs, "Request timed out.")
3466
+ ),
3467
+ ]);
3468
+ }
3469
+
3416
3470
  /** List a channel's message history. */
3417
3471
  listChannelMessages(bearerToken: string,
3418
3472
  channelId:string,
@@ -5637,41 +5691,6 @@ export class MezonApi {
5637
5691
  ]);
5638
5692
  }
5639
5693
 
5640
- /** */
5641
- getPermissionOfUserInTheClan(bearerToken: string,
5642
- clanId:string,
5643
- options: any = {}): Promise<ApiPermissionList> {
5644
-
5645
- if (clanId === null || clanId === undefined) {
5646
- throw new Error("'clanId' is a required parameter but is null or undefined.");
5647
- }
5648
- const urlPath = "/v2/permissionuserinclan/{clanId}"
5649
- .replace("{clanId}", encodeURIComponent(String(clanId)));
5650
- const queryParams = new Map<string, any>();
5651
-
5652
- let bodyJson : string = "";
5653
-
5654
- const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
5655
- const fetchOptions = buildFetchOptions("GET", options, bodyJson);
5656
- if (bearerToken) {
5657
- fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
5658
- }
5659
-
5660
- return Promise.race([
5661
- fetch(fullUrl, fetchOptions).then((response) => {
5662
- if (response.status == 204) {
5663
- return response;
5664
- } else if (response.status >= 200 && response.status < 300) {
5665
- return response.json();
5666
- } else {
5667
- throw response;
5668
- }
5669
- }),
5670
- new Promise((_, reject) =>
5671
- setTimeout(reject, this.timeoutMs, "Request timed out.")
5672
- ),
5673
- ]);
5674
- }
5675
5694
 
5676
5695
  /** */
5677
5696
  deletePinMessage(bearerToken: string,
@@ -6121,6 +6140,44 @@ export class MezonApi {
6121
6140
  ]);
6122
6141
  }
6123
6142
 
6143
+ /** */
6144
+ getRoleOfUserInTheClan(bearerToken: string,
6145
+ clanId:string,
6146
+ channelId?:string,
6147
+ options: any = {}): Promise<ApiRoleList> {
6148
+
6149
+ if (clanId === null || clanId === undefined) {
6150
+ throw new Error("'clanId' is a required parameter but is null or undefined.");
6151
+ }
6152
+ const urlPath = "/v2/roleuserinclan/{clanId}"
6153
+ .replace("{clanId}", encodeURIComponent(String(clanId)));
6154
+ const queryParams = new Map<string, any>();
6155
+ queryParams.set("channel_id", channelId);
6156
+
6157
+ let bodyJson : string = "";
6158
+
6159
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
6160
+ const fetchOptions = buildFetchOptions("GET", options, bodyJson);
6161
+ if (bearerToken) {
6162
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
6163
+ }
6164
+
6165
+ return Promise.race([
6166
+ fetch(fullUrl, fetchOptions).then((response) => {
6167
+ if (response.status == 204) {
6168
+ return response;
6169
+ } else if (response.status >= 200 && response.status < 300) {
6170
+ return response.json();
6171
+ } else {
6172
+ throw response;
6173
+ }
6174
+ }),
6175
+ new Promise((_, reject) =>
6176
+ setTimeout(reject, this.timeoutMs, "Request timed out.")
6177
+ ),
6178
+ ]);
6179
+ }
6180
+
6124
6181
  /** Execute a Lua function on the server. */
6125
6182
  rpcFunc2(bearerToken: string,basicAuthUsername: string,
6126
6183
  basicAuthPassword: string,
package/client.ts CHANGED
@@ -106,6 +106,8 @@ import {
106
106
  ApiStreamingChannelUserList,
107
107
  ApiRegisterStreamingChannelRequest,
108
108
  ApiRegisterStreamingChannelResponse,
109
+ ApiRoleList,
110
+ ApiListChannelAppsResponse,
109
111
  } from "./api.gen";
110
112
 
111
113
  import { Session } from "./session";
@@ -2700,10 +2702,10 @@ export class Client {
2700
2702
  }
2701
2703
 
2702
2704
  /** Get permission of user in the clan */
2703
- async getPermissionOfUserInTheClan(
2705
+ async GetRoleOfUserInTheClan(
2704
2706
  session: Session,
2705
2707
  clanId: string
2706
- ): Promise<ApiPermissionList> {
2708
+ ): Promise<ApiRoleList> {
2707
2709
  if (
2708
2710
  this.autoRefreshSession &&
2709
2711
  session.refresh_token &&
@@ -2713,8 +2715,8 @@ export class Client {
2713
2715
  }
2714
2716
 
2715
2717
  return this.apiClient
2716
- .getPermissionOfUserInTheClan(session.token, clanId)
2717
- .then((response: ApiPermissionList) => {
2718
+ .getRoleOfUserInTheClan(session.token, clanId)
2719
+ .then((response: ApiRoleList) => {
2718
2720
  return Promise.resolve(response);
2719
2721
  });
2720
2722
  }
@@ -3554,4 +3556,44 @@ export class Client {
3554
3556
  return response !== undefined;
3555
3557
  });
3556
3558
  }
3559
+
3560
+ /** List a channel's users. */
3561
+ async listChannelApps(
3562
+ session: Session,
3563
+ clanId: string,
3564
+ ): Promise<ApiListChannelAppsResponse> {
3565
+ if (
3566
+ this.autoRefreshSession &&
3567
+ session.refresh_token &&
3568
+ session.isexpired((Date.now() + this.expiredTimespanMs) / 1000)
3569
+ ) {
3570
+ await this.sessionRefresh(session);
3571
+ }
3572
+
3573
+ return this.apiClient
3574
+ .listChannelApps(
3575
+ session.token,
3576
+ clanId,
3577
+ )
3578
+ .then((response: ApiListChannelAppsResponse) => {
3579
+ var result: ApiListChannelAppsResponse = {
3580
+ channel_apps: [],
3581
+ };
3582
+
3583
+ if (response.channel_apps == null) {
3584
+ return Promise.resolve(result);
3585
+ }
3586
+
3587
+ response.channel_apps!.forEach((gu) => {
3588
+ result.channel_apps!.push({
3589
+ id: gu.id,
3590
+ channel_id: gu.channel_id,
3591
+ app_id: gu.app_id,
3592
+ clan_id: gu.clan_id,
3593
+ url: gu.url,
3594
+ });
3595
+ });
3596
+ return Promise.resolve(result);
3597
+ });
3598
+ }
3557
3599
  }
package/dist/api.gen.d.ts CHANGED
@@ -249,6 +249,9 @@ export interface ApiCategoryOrderUpdate {
249
249
  category_id?: string;
250
250
  order?: number;
251
251
  }
252
+ export interface ApiListChannelAppsResponse {
253
+ channel_apps?: Array<ApiChannelAppResponse>;
254
+ }
252
255
  /** Update fields in a given channel. */
253
256
  export interface ApiChangeChannelPrivateRequest {
254
257
  channel_id?: string;
@@ -257,6 +260,14 @@ export interface ApiChangeChannelPrivateRequest {
257
260
  user_ids?: Array<string>;
258
261
  }
259
262
  /** */
263
+ export interface ApiChannelAppResponse {
264
+ app_id?: string;
265
+ channel_id?: string;
266
+ clan_id?: string;
267
+ id?: string;
268
+ url?: string;
269
+ }
270
+ /** */
260
271
  export interface ApiChannelAttachment {
261
272
  create_time?: string;
262
273
  filename?: string;
@@ -420,6 +431,7 @@ export interface ApiCreateCategoryDescRequest {
420
431
  }
421
432
  /** Create a channel within clan. */
422
433
  export interface ApiCreateChannelDescRequest {
434
+ app_url?: string;
423
435
  category_id?: string;
424
436
  channel_id?: string;
425
437
  channel_label?: string;
@@ -1137,6 +1149,8 @@ export declare class MezonApi {
1137
1149
  updateCategoryOrder(bearerToken: string, body: ApiUpdateCategoryOrderRequest, options?: any): Promise<any>;
1138
1150
  /** */
1139
1151
  listCategoryDescs(bearerToken: string, clanId: string, creatorId?: string, categoryName?: string, categoryId?: string, categoryOrder?: number, options?: any): Promise<ApiCategoryDescList>;
1152
+ /** List channel apps. */
1153
+ listChannelApps(bearerToken: string, clanId?: string, options?: any): Promise<ApiListChannelAppsResponse>;
1140
1154
  /** List a channel's message history. */
1141
1155
  listChannelMessages(bearerToken: string, channelId: string, messageId?: string, direction?: number, limit?: number, options?: any): Promise<ApiChannelMessageList>;
1142
1156
  /** Add users to a channel. */
@@ -1258,8 +1272,6 @@ export declare class MezonApi {
1258
1272
  /** Get permission list */
1259
1273
  getListPermission(bearerToken: string, options?: any): Promise<ApiPermissionList>;
1260
1274
  /** */
1261
- getPermissionOfUserInTheClan(bearerToken: string, clanId: string, options?: any): Promise<ApiPermissionList>;
1262
- /** */
1263
1275
  deletePinMessage(bearerToken: string, messageId?: string, options?: any): Promise<any>;
1264
1276
  /** */
1265
1277
  getPinMessagesList(bearerToken: string, channelId?: string, options?: any): Promise<ApiPinMessagesList>;
@@ -1283,6 +1295,8 @@ export declare class MezonApi {
1283
1295
  listRolePermissions(bearerToken: string, roleId: string, options?: any): Promise<ApiPermissionList>;
1284
1296
  /** List role permissions */
1285
1297
  listRoleUsers(bearerToken: string, roleId: string, limit?: number, cursor?: string, options?: any): Promise<ApiRoleUserList>;
1298
+ /** */
1299
+ getRoleOfUserInTheClan(bearerToken: string, clanId: string, channelId?: string, options?: any): Promise<ApiRoleList>;
1286
1300
  /** Execute a Lua function on the server. */
1287
1301
  rpcFunc2(bearerToken: string, basicAuthUsername: string, basicAuthPassword: string, id: string, payload?: string, httpKey?: string, options?: any): Promise<ApiRpc>;
1288
1302
  /** Execute a Lua function on the server. */
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, ApiPermissionList, ApiRoleUserList, ApiRole, ApiCreateRoleRequest, ApiAddRoleChannelDescRequest, ApiCreateCategoryDescRequest, ApiUpdateCategoryDescRequest, ApiEvent, ApiUpdateAccountRequest, ApiAccountApple, ApiLinkSteamRequest, ApiClanDescProfile, ApiClanProfile, ApiChannelUserList, ApiClanUserList, ApiLinkInviteUserRequest, ApiUpdateEventRequest, ApiLinkInviteUser, ApiInviteUserRes, ApiUploadAttachmentRequest, ApiUploadAttachment, ApiMessageReaction, ApiMessageMention, ApiMessageAttachment, ApiMessageRef, ApiChannelMessageHeader, ApiVoiceChannelUserList, ApiChannelAttachmentList, ApiCreateEventRequest, ApiEventManagement, ApiEventList, ApiDeleteEventRequest, ApiSetDefaultNotificationRequest, ApiSetNotificationRequest, ApiSetMuteNotificationRequest, ApiSearchMessageRequest, ApiSearchMessageResponse, ApiPinMessageRequest, ApiPinMessagesList, ApiDeleteChannelDescRequest, ApiChangeChannelPrivateRequest, ApiClanEmojiCreateRequest, MezonUpdateClanEmojiByIdBody, ApiWebhookCreateRequest, ApiWebhookListResponse, MezonUpdateWebhookByIdBody, ApiWebhookGenerateResponse, ApiCheckDuplicateClanNameResponse, ApiClanStickerAddRequest, MezonUpdateClanStickerByIdBody, MezonChangeChannelCategoryBody, ApiUpdateRoleChannelRequest, ApiAddAppRequest, ApiAppList, ApiApp, MezonUpdateAppBody, ApiSystemMessagesList, ApiSystemMessage, ApiSystemMessageRequest, MezonUpdateSystemMessageBody, ApiUpdateCategoryOrderRequest, ApiGiveCoffeeEvent, ApiListStreamingChannelsResponse, ApiStreamingChannelUserList, ApiRegisterStreamingChannelRequest } from "./api.gen";
16
+ import { ApiAccount, ApiAccountCustom, ApiAccountDevice, ApiAccountEmail, ApiAccountFacebook, ApiAccountFacebookInstantGame, ApiAccountGoogle, ApiAccountGameCenter, ApiAccountSteam, ApiChannelDescList, ApiChannelDescription, ApiCreateChannelDescRequest, ApiDeleteRoleRequest, ApiClanDescList, ApiCreateClanDescRequest, ApiClanDesc, ApiCategoryDesc, ApiCategoryDescList, ApiPermissionList, ApiRoleUserList, ApiRole, ApiCreateRoleRequest, ApiAddRoleChannelDescRequest, ApiCreateCategoryDescRequest, ApiUpdateCategoryDescRequest, ApiEvent, ApiUpdateAccountRequest, ApiAccountApple, ApiLinkSteamRequest, ApiClanDescProfile, ApiClanProfile, ApiChannelUserList, ApiClanUserList, ApiLinkInviteUserRequest, ApiUpdateEventRequest, ApiLinkInviteUser, ApiInviteUserRes, ApiUploadAttachmentRequest, ApiUploadAttachment, ApiMessageReaction, ApiMessageMention, ApiMessageAttachment, ApiMessageRef, ApiChannelMessageHeader, ApiVoiceChannelUserList, ApiChannelAttachmentList, ApiCreateEventRequest, ApiEventManagement, ApiEventList, ApiDeleteEventRequest, ApiSetDefaultNotificationRequest, ApiSetNotificationRequest, ApiSetMuteNotificationRequest, ApiSearchMessageRequest, ApiSearchMessageResponse, ApiPinMessageRequest, ApiPinMessagesList, ApiDeleteChannelDescRequest, ApiChangeChannelPrivateRequest, ApiClanEmojiCreateRequest, MezonUpdateClanEmojiByIdBody, ApiWebhookCreateRequest, ApiWebhookListResponse, MezonUpdateWebhookByIdBody, ApiWebhookGenerateResponse, ApiCheckDuplicateClanNameResponse, ApiClanStickerAddRequest, MezonUpdateClanStickerByIdBody, MezonChangeChannelCategoryBody, ApiUpdateRoleChannelRequest, ApiAddAppRequest, ApiAppList, ApiApp, MezonUpdateAppBody, ApiSystemMessagesList, ApiSystemMessage, ApiSystemMessageRequest, MezonUpdateSystemMessageBody, ApiUpdateCategoryOrderRequest, ApiGiveCoffeeEvent, ApiListStreamingChannelsResponse, ApiStreamingChannelUserList, ApiRegisterStreamingChannelRequest, ApiRoleList, ApiListChannelAppsResponse } from "./api.gen";
17
17
  import { Session } from "./session";
18
18
  import { Socket } from "./socket";
19
19
  import { WebSocketAdapter } from "./web_socket_adapter";
@@ -500,7 +500,7 @@ export declare class Client {
500
500
  /** Get link invite user */
501
501
  getLinkInvite(session: Session, inviteId: string): Promise<ApiInviteUserRes>;
502
502
  /** Get permission of user in the clan */
503
- getPermissionOfUserInTheClan(session: Session, clanId: string): Promise<ApiPermissionList>;
503
+ GetRoleOfUserInTheClan(session: Session, clanId: string): Promise<ApiRoleList>;
504
504
  /** invite user */
505
505
  inviteUser(session: Session, inviteId: string): Promise<ApiInviteUserRes>;
506
506
  /** Set default notification clan*/
@@ -557,4 +557,6 @@ export declare class Client {
557
557
  /** List a channel's users. */
558
558
  listStreamingChannelUsers(session: Session, clanId: string, channelId: string, channelType: number, state?: number, limit?: number, cursor?: string): Promise<ApiStreamingChannelUserList>;
559
559
  registerStreamingChannel(session: Session, request: ApiRegisterStreamingChannelRequest): Promise<boolean>;
560
+ /** List a channel's users. */
561
+ listChannelApps(session: Session, clanId: string): Promise<ApiListChannelAppsResponse>;
560
562
  }
@@ -1946,6 +1946,32 @@ var MezonApi = class {
1946
1946
  )
1947
1947
  ]);
1948
1948
  }
1949
+ /** List channel apps. */
1950
+ listChannelApps(bearerToken, clanId, options = {}) {
1951
+ const urlPath = "/v2/channel-apps";
1952
+ const queryParams = /* @__PURE__ */ new Map();
1953
+ queryParams.set("clan_id", clanId);
1954
+ let bodyJson = "";
1955
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
1956
+ const fetchOptions = buildFetchOptions("GET", options, bodyJson);
1957
+ if (bearerToken) {
1958
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
1959
+ }
1960
+ return Promise.race([
1961
+ fetch(fullUrl, fetchOptions).then((response) => {
1962
+ if (response.status == 204) {
1963
+ return response;
1964
+ } else if (response.status >= 200 && response.status < 300) {
1965
+ return response.json();
1966
+ } else {
1967
+ throw response;
1968
+ }
1969
+ }),
1970
+ new Promise(
1971
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
1972
+ )
1973
+ ]);
1974
+ }
1949
1975
  /** List a channel's message history. */
1950
1976
  listChannelMessages(bearerToken, channelId, messageId, direction, limit, options = {}) {
1951
1977
  if (channelId === null || channelId === void 0) {
@@ -3681,34 +3707,6 @@ var MezonApi = class {
3681
3707
  ]);
3682
3708
  }
3683
3709
  /** */
3684
- getPermissionOfUserInTheClan(bearerToken, clanId, options = {}) {
3685
- if (clanId === null || clanId === void 0) {
3686
- throw new Error("'clanId' is a required parameter but is null or undefined.");
3687
- }
3688
- const urlPath = "/v2/permissionuserinclan/{clanId}".replace("{clanId}", encodeURIComponent(String(clanId)));
3689
- const queryParams = /* @__PURE__ */ new Map();
3690
- let bodyJson = "";
3691
- const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
3692
- const fetchOptions = buildFetchOptions("GET", options, bodyJson);
3693
- if (bearerToken) {
3694
- fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
3695
- }
3696
- return Promise.race([
3697
- fetch(fullUrl, fetchOptions).then((response) => {
3698
- if (response.status == 204) {
3699
- return response;
3700
- } else if (response.status >= 200 && response.status < 300) {
3701
- return response.json();
3702
- } else {
3703
- throw response;
3704
- }
3705
- }),
3706
- new Promise(
3707
- (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
3708
- )
3709
- ]);
3710
- }
3711
- /** */
3712
3710
  deletePinMessage(bearerToken, messageId, options = {}) {
3713
3711
  const urlPath = "/v2/pinmessage/delete";
3714
3712
  const queryParams = /* @__PURE__ */ new Map();
@@ -4060,6 +4058,35 @@ var MezonApi = class {
4060
4058
  )
4061
4059
  ]);
4062
4060
  }
4061
+ /** */
4062
+ getRoleOfUserInTheClan(bearerToken, clanId, channelId, options = {}) {
4063
+ if (clanId === null || clanId === void 0) {
4064
+ throw new Error("'clanId' is a required parameter but is null or undefined.");
4065
+ }
4066
+ const urlPath = "/v2/roleuserinclan/{clanId}".replace("{clanId}", encodeURIComponent(String(clanId)));
4067
+ const queryParams = /* @__PURE__ */ new Map();
4068
+ queryParams.set("channel_id", channelId);
4069
+ let bodyJson = "";
4070
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
4071
+ const fetchOptions = buildFetchOptions("GET", options, bodyJson);
4072
+ if (bearerToken) {
4073
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
4074
+ }
4075
+ return Promise.race([
4076
+ fetch(fullUrl, fetchOptions).then((response) => {
4077
+ if (response.status == 204) {
4078
+ return response;
4079
+ } else if (response.status >= 200 && response.status < 300) {
4080
+ return response.json();
4081
+ } else {
4082
+ throw response;
4083
+ }
4084
+ }),
4085
+ new Promise(
4086
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
4087
+ )
4088
+ ]);
4089
+ }
4063
4090
  /** Execute a Lua function on the server. */
4064
4091
  rpcFunc2(bearerToken, basicAuthUsername, basicAuthPassword, id, payload, httpKey, options = {}) {
4065
4092
  if (id === null || id === void 0) {
@@ -7015,12 +7042,12 @@ var Client = class {
7015
7042
  });
7016
7043
  }
7017
7044
  /** Get permission of user in the clan */
7018
- getPermissionOfUserInTheClan(session, clanId) {
7045
+ GetRoleOfUserInTheClan(session, clanId) {
7019
7046
  return __async(this, null, function* () {
7020
7047
  if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
7021
7048
  yield this.sessionRefresh(session);
7022
7049
  }
7023
- return this.apiClient.getPermissionOfUserInTheClan(session.token, clanId).then((response) => {
7050
+ return this.apiClient.getRoleOfUserInTheClan(session.token, clanId).then((response) => {
7024
7051
  return Promise.resolve(response);
7025
7052
  });
7026
7053
  });
@@ -7503,4 +7530,33 @@ var Client = class {
7503
7530
  });
7504
7531
  });
7505
7532
  }
7533
+ /** List a channel's users. */
7534
+ listChannelApps(session, clanId) {
7535
+ return __async(this, null, function* () {
7536
+ if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
7537
+ yield this.sessionRefresh(session);
7538
+ }
7539
+ return this.apiClient.listChannelApps(
7540
+ session.token,
7541
+ clanId
7542
+ ).then((response) => {
7543
+ var result = {
7544
+ channel_apps: []
7545
+ };
7546
+ if (response.channel_apps == null) {
7547
+ return Promise.resolve(result);
7548
+ }
7549
+ response.channel_apps.forEach((gu) => {
7550
+ result.channel_apps.push({
7551
+ id: gu.id,
7552
+ channel_id: gu.channel_id,
7553
+ app_id: gu.app_id,
7554
+ clan_id: gu.clan_id,
7555
+ url: gu.url
7556
+ });
7557
+ });
7558
+ return Promise.resolve(result);
7559
+ });
7560
+ });
7561
+ }
7506
7562
  };
@@ -1917,6 +1917,32 @@ var MezonApi = class {
1917
1917
  )
1918
1918
  ]);
1919
1919
  }
1920
+ /** List channel apps. */
1921
+ listChannelApps(bearerToken, clanId, options = {}) {
1922
+ const urlPath = "/v2/channel-apps";
1923
+ const queryParams = /* @__PURE__ */ new Map();
1924
+ queryParams.set("clan_id", clanId);
1925
+ let bodyJson = "";
1926
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
1927
+ const fetchOptions = buildFetchOptions("GET", options, bodyJson);
1928
+ if (bearerToken) {
1929
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
1930
+ }
1931
+ return Promise.race([
1932
+ fetch(fullUrl, fetchOptions).then((response) => {
1933
+ if (response.status == 204) {
1934
+ return response;
1935
+ } else if (response.status >= 200 && response.status < 300) {
1936
+ return response.json();
1937
+ } else {
1938
+ throw response;
1939
+ }
1940
+ }),
1941
+ new Promise(
1942
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
1943
+ )
1944
+ ]);
1945
+ }
1920
1946
  /** List a channel's message history. */
1921
1947
  listChannelMessages(bearerToken, channelId, messageId, direction, limit, options = {}) {
1922
1948
  if (channelId === null || channelId === void 0) {
@@ -3652,34 +3678,6 @@ var MezonApi = class {
3652
3678
  ]);
3653
3679
  }
3654
3680
  /** */
3655
- getPermissionOfUserInTheClan(bearerToken, clanId, options = {}) {
3656
- if (clanId === null || clanId === void 0) {
3657
- throw new Error("'clanId' is a required parameter but is null or undefined.");
3658
- }
3659
- const urlPath = "/v2/permissionuserinclan/{clanId}".replace("{clanId}", encodeURIComponent(String(clanId)));
3660
- const queryParams = /* @__PURE__ */ new Map();
3661
- let bodyJson = "";
3662
- const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
3663
- const fetchOptions = buildFetchOptions("GET", options, bodyJson);
3664
- if (bearerToken) {
3665
- fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
3666
- }
3667
- return Promise.race([
3668
- fetch(fullUrl, fetchOptions).then((response) => {
3669
- if (response.status == 204) {
3670
- return response;
3671
- } else if (response.status >= 200 && response.status < 300) {
3672
- return response.json();
3673
- } else {
3674
- throw response;
3675
- }
3676
- }),
3677
- new Promise(
3678
- (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
3679
- )
3680
- ]);
3681
- }
3682
- /** */
3683
3681
  deletePinMessage(bearerToken, messageId, options = {}) {
3684
3682
  const urlPath = "/v2/pinmessage/delete";
3685
3683
  const queryParams = /* @__PURE__ */ new Map();
@@ -4031,6 +4029,35 @@ var MezonApi = class {
4031
4029
  )
4032
4030
  ]);
4033
4031
  }
4032
+ /** */
4033
+ getRoleOfUserInTheClan(bearerToken, clanId, channelId, options = {}) {
4034
+ if (clanId === null || clanId === void 0) {
4035
+ throw new Error("'clanId' is a required parameter but is null or undefined.");
4036
+ }
4037
+ const urlPath = "/v2/roleuserinclan/{clanId}".replace("{clanId}", encodeURIComponent(String(clanId)));
4038
+ const queryParams = /* @__PURE__ */ new Map();
4039
+ queryParams.set("channel_id", channelId);
4040
+ let bodyJson = "";
4041
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
4042
+ const fetchOptions = buildFetchOptions("GET", options, bodyJson);
4043
+ if (bearerToken) {
4044
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
4045
+ }
4046
+ return Promise.race([
4047
+ fetch(fullUrl, fetchOptions).then((response) => {
4048
+ if (response.status == 204) {
4049
+ return response;
4050
+ } else if (response.status >= 200 && response.status < 300) {
4051
+ return response.json();
4052
+ } else {
4053
+ throw response;
4054
+ }
4055
+ }),
4056
+ new Promise(
4057
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
4058
+ )
4059
+ ]);
4060
+ }
4034
4061
  /** Execute a Lua function on the server. */
4035
4062
  rpcFunc2(bearerToken, basicAuthUsername, basicAuthPassword, id, payload, httpKey, options = {}) {
4036
4063
  if (id === null || id === void 0) {
@@ -6986,12 +7013,12 @@ var Client = class {
6986
7013
  });
6987
7014
  }
6988
7015
  /** Get permission of user in the clan */
6989
- getPermissionOfUserInTheClan(session, clanId) {
7016
+ GetRoleOfUserInTheClan(session, clanId) {
6990
7017
  return __async(this, null, function* () {
6991
7018
  if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
6992
7019
  yield this.sessionRefresh(session);
6993
7020
  }
6994
- return this.apiClient.getPermissionOfUserInTheClan(session.token, clanId).then((response) => {
7021
+ return this.apiClient.getRoleOfUserInTheClan(session.token, clanId).then((response) => {
6995
7022
  return Promise.resolve(response);
6996
7023
  });
6997
7024
  });
@@ -7474,6 +7501,35 @@ var Client = class {
7474
7501
  });
7475
7502
  });
7476
7503
  }
7504
+ /** List a channel's users. */
7505
+ listChannelApps(session, clanId) {
7506
+ return __async(this, null, function* () {
7507
+ if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
7508
+ yield this.sessionRefresh(session);
7509
+ }
7510
+ return this.apiClient.listChannelApps(
7511
+ session.token,
7512
+ clanId
7513
+ ).then((response) => {
7514
+ var result = {
7515
+ channel_apps: []
7516
+ };
7517
+ if (response.channel_apps == null) {
7518
+ return Promise.resolve(result);
7519
+ }
7520
+ response.channel_apps.forEach((gu) => {
7521
+ result.channel_apps.push({
7522
+ id: gu.id,
7523
+ channel_id: gu.channel_id,
7524
+ app_id: gu.app_id,
7525
+ clan_id: gu.clan_id,
7526
+ url: gu.url
7527
+ });
7528
+ });
7529
+ return Promise.resolve(result);
7530
+ });
7531
+ });
7532
+ }
7477
7533
  };
7478
7534
  export {
7479
7535
  ChannelStreamMode,
package/dist/socket.d.ts CHANGED
@@ -560,6 +560,7 @@ export interface NotificationChannelCategorySetting {
560
560
  channel_category_label: string;
561
561
  notification_setting_type: number;
562
562
  channel_category_title: string;
563
+ action: number;
563
564
  }
564
565
  export interface NotificationChannelCategorySettingEvent {
565
566
  clan_id?: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mezon-js",
3
3
 
4
- "version": "2.9.4",
4
+ "version": "2.9.6",
5
5
 
6
6
  "scripts": {
7
7
  "build": "npx tsc && npx rollup -c --bundleConfigAsCjs && node build.mjs"
package/socket.ts CHANGED
@@ -842,6 +842,8 @@ export interface NotificationChannelCategorySetting {
842
842
  notification_setting_type :number;
843
843
  //
844
844
  channel_category_title : string;
845
+ //
846
+ action: number
845
847
  }
846
848
 
847
849
  export interface NotificationChannelCategorySettingEvent {