mezon-js 2.9.2 → 2.9.5
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 +40 -35
- package/client.ts +5 -4
- package/dist/api.gen.d.ts +3 -2
- package/dist/client.d.ts +2 -2
- package/dist/mezon-js.cjs.js +43 -36
- package/dist/mezon-js.esm.mjs +43 -36
- package/dist/socket.d.ts +5 -4
- package/dist/web_socket_adapter.d.ts +2 -2
- package/package.json +1 -1
- package/socket.ts +8 -6
- package/web_socket_adapter.ts +17 -13
package/api.gen.ts
CHANGED
@@ -1638,6 +1638,8 @@ export interface ApiUpdateRoleChannelRequest {
|
|
1638
1638
|
permission_update?: Array<ApiPermissionUpdate>;
|
1639
1639
|
//The ID of the role to update.
|
1640
1640
|
role_id?: string;
|
1641
|
+
//
|
1642
|
+
user_id?: string;
|
1641
1643
|
}
|
1642
1644
|
|
1643
1645
|
/** Fetch a batch of zero or more users from the server. */
|
@@ -5635,41 +5637,6 @@ export class MezonApi {
|
|
5635
5637
|
]);
|
5636
5638
|
}
|
5637
5639
|
|
5638
|
-
/** */
|
5639
|
-
getPermissionOfUserInTheClan(bearerToken: string,
|
5640
|
-
clanId:string,
|
5641
|
-
options: any = {}): Promise<ApiPermissionList> {
|
5642
|
-
|
5643
|
-
if (clanId === null || clanId === undefined) {
|
5644
|
-
throw new Error("'clanId' is a required parameter but is null or undefined.");
|
5645
|
-
}
|
5646
|
-
const urlPath = "/v2/permissionuserinclan/{clanId}"
|
5647
|
-
.replace("{clanId}", encodeURIComponent(String(clanId)));
|
5648
|
-
const queryParams = new Map<string, any>();
|
5649
|
-
|
5650
|
-
let bodyJson : string = "";
|
5651
|
-
|
5652
|
-
const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
|
5653
|
-
const fetchOptions = buildFetchOptions("GET", options, bodyJson);
|
5654
|
-
if (bearerToken) {
|
5655
|
-
fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
|
5656
|
-
}
|
5657
|
-
|
5658
|
-
return Promise.race([
|
5659
|
-
fetch(fullUrl, fetchOptions).then((response) => {
|
5660
|
-
if (response.status == 204) {
|
5661
|
-
return response;
|
5662
|
-
} else if (response.status >= 200 && response.status < 300) {
|
5663
|
-
return response.json();
|
5664
|
-
} else {
|
5665
|
-
throw response;
|
5666
|
-
}
|
5667
|
-
}),
|
5668
|
-
new Promise((_, reject) =>
|
5669
|
-
setTimeout(reject, this.timeoutMs, "Request timed out.")
|
5670
|
-
),
|
5671
|
-
]);
|
5672
|
-
}
|
5673
5640
|
|
5674
5641
|
/** */
|
5675
5642
|
deletePinMessage(bearerToken: string,
|
@@ -6119,6 +6086,44 @@ export class MezonApi {
|
|
6119
6086
|
]);
|
6120
6087
|
}
|
6121
6088
|
|
6089
|
+
/** */
|
6090
|
+
getRoleOfUserInTheClan(bearerToken: string,
|
6091
|
+
clanId:string,
|
6092
|
+
channelId?:string,
|
6093
|
+
options: any = {}): Promise<ApiRoleList> {
|
6094
|
+
|
6095
|
+
if (clanId === null || clanId === undefined) {
|
6096
|
+
throw new Error("'clanId' is a required parameter but is null or undefined.");
|
6097
|
+
}
|
6098
|
+
const urlPath = "/v2/roleuserinclan/{clanId}"
|
6099
|
+
.replace("{clanId}", encodeURIComponent(String(clanId)));
|
6100
|
+
const queryParams = new Map<string, any>();
|
6101
|
+
queryParams.set("channel_id", channelId);
|
6102
|
+
|
6103
|
+
let bodyJson : string = "";
|
6104
|
+
|
6105
|
+
const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
|
6106
|
+
const fetchOptions = buildFetchOptions("GET", options, bodyJson);
|
6107
|
+
if (bearerToken) {
|
6108
|
+
fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
|
6109
|
+
}
|
6110
|
+
|
6111
|
+
return Promise.race([
|
6112
|
+
fetch(fullUrl, fetchOptions).then((response) => {
|
6113
|
+
if (response.status == 204) {
|
6114
|
+
return response;
|
6115
|
+
} else if (response.status >= 200 && response.status < 300) {
|
6116
|
+
return response.json();
|
6117
|
+
} else {
|
6118
|
+
throw response;
|
6119
|
+
}
|
6120
|
+
}),
|
6121
|
+
new Promise((_, reject) =>
|
6122
|
+
setTimeout(reject, this.timeoutMs, "Request timed out.")
|
6123
|
+
),
|
6124
|
+
]);
|
6125
|
+
}
|
6126
|
+
|
6122
6127
|
/** Execute a Lua function on the server. */
|
6123
6128
|
rpcFunc2(bearerToken: string,basicAuthUsername: string,
|
6124
6129
|
basicAuthPassword: string,
|
package/client.ts
CHANGED
@@ -106,6 +106,7 @@ import {
|
|
106
106
|
ApiStreamingChannelUserList,
|
107
107
|
ApiRegisterStreamingChannelRequest,
|
108
108
|
ApiRegisterStreamingChannelResponse,
|
109
|
+
ApiRoleList,
|
109
110
|
} from "./api.gen";
|
110
111
|
|
111
112
|
import { Session } from "./session";
|
@@ -2700,10 +2701,10 @@ export class Client {
|
|
2700
2701
|
}
|
2701
2702
|
|
2702
2703
|
/** Get permission of user in the clan */
|
2703
|
-
async
|
2704
|
+
async GetRoleOfUserInTheClan(
|
2704
2705
|
session: Session,
|
2705
2706
|
clanId: string
|
2706
|
-
): Promise<
|
2707
|
+
): Promise<ApiRoleList> {
|
2707
2708
|
if (
|
2708
2709
|
this.autoRefreshSession &&
|
2709
2710
|
session.refresh_token &&
|
@@ -2713,8 +2714,8 @@ export class Client {
|
|
2713
2714
|
}
|
2714
2715
|
|
2715
2716
|
return this.apiClient
|
2716
|
-
.
|
2717
|
-
.then((response:
|
2717
|
+
.getRoleOfUserInTheClan(session.token, clanId)
|
2718
|
+
.then((response: ApiRoleList) => {
|
2718
2719
|
return Promise.resolve(response);
|
2719
2720
|
});
|
2720
2721
|
}
|
package/dist/api.gen.d.ts
CHANGED
@@ -949,6 +949,7 @@ export interface ApiUpdateRoleChannelRequest {
|
|
949
949
|
max_permission_id: string;
|
950
950
|
permission_update?: Array<ApiPermissionUpdate>;
|
951
951
|
role_id?: string;
|
952
|
+
user_id?: string;
|
952
953
|
}
|
953
954
|
/** Fetch a batch of zero or more users from the server. */
|
954
955
|
export interface ApiUpdateUsersRequest {
|
@@ -1257,8 +1258,6 @@ export declare class MezonApi {
|
|
1257
1258
|
/** Get permission list */
|
1258
1259
|
getListPermission(bearerToken: string, options?: any): Promise<ApiPermissionList>;
|
1259
1260
|
/** */
|
1260
|
-
getPermissionOfUserInTheClan(bearerToken: string, clanId: string, options?: any): Promise<ApiPermissionList>;
|
1261
|
-
/** */
|
1262
1261
|
deletePinMessage(bearerToken: string, messageId?: string, options?: any): Promise<any>;
|
1263
1262
|
/** */
|
1264
1263
|
getPinMessagesList(bearerToken: string, channelId?: string, options?: any): Promise<ApiPinMessagesList>;
|
@@ -1282,6 +1281,8 @@ export declare class MezonApi {
|
|
1282
1281
|
listRolePermissions(bearerToken: string, roleId: string, options?: any): Promise<ApiPermissionList>;
|
1283
1282
|
/** List role permissions */
|
1284
1283
|
listRoleUsers(bearerToken: string, roleId: string, limit?: number, cursor?: string, options?: any): Promise<ApiRoleUserList>;
|
1284
|
+
/** */
|
1285
|
+
getRoleOfUserInTheClan(bearerToken: string, clanId: string, channelId?: string, options?: any): Promise<ApiRoleList>;
|
1285
1286
|
/** Execute a Lua function on the server. */
|
1286
1287
|
rpcFunc2(bearerToken: string, basicAuthUsername: string, basicAuthPassword: string, id: string, payload?: string, httpKey?: string, options?: any): Promise<ApiRpc>;
|
1287
1288
|
/** 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 } 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
|
-
|
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*/
|
package/dist/mezon-js.cjs.js
CHANGED
@@ -3681,34 +3681,6 @@ var MezonApi = class {
|
|
3681
3681
|
]);
|
3682
3682
|
}
|
3683
3683
|
/** */
|
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
3684
|
deletePinMessage(bearerToken, messageId, options = {}) {
|
3713
3685
|
const urlPath = "/v2/pinmessage/delete";
|
3714
3686
|
const queryParams = /* @__PURE__ */ new Map();
|
@@ -4060,6 +4032,35 @@ var MezonApi = class {
|
|
4060
4032
|
)
|
4061
4033
|
]);
|
4062
4034
|
}
|
4035
|
+
/** */
|
4036
|
+
getRoleOfUserInTheClan(bearerToken, clanId, channelId, options = {}) {
|
4037
|
+
if (clanId === null || clanId === void 0) {
|
4038
|
+
throw new Error("'clanId' is a required parameter but is null or undefined.");
|
4039
|
+
}
|
4040
|
+
const urlPath = "/v2/roleuserinclan/{clanId}".replace("{clanId}", encodeURIComponent(String(clanId)));
|
4041
|
+
const queryParams = /* @__PURE__ */ new Map();
|
4042
|
+
queryParams.set("channel_id", channelId);
|
4043
|
+
let bodyJson = "";
|
4044
|
+
const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
|
4045
|
+
const fetchOptions = buildFetchOptions("GET", options, bodyJson);
|
4046
|
+
if (bearerToken) {
|
4047
|
+
fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
|
4048
|
+
}
|
4049
|
+
return Promise.race([
|
4050
|
+
fetch(fullUrl, fetchOptions).then((response) => {
|
4051
|
+
if (response.status == 204) {
|
4052
|
+
return response;
|
4053
|
+
} else if (response.status >= 200 && response.status < 300) {
|
4054
|
+
return response.json();
|
4055
|
+
} else {
|
4056
|
+
throw response;
|
4057
|
+
}
|
4058
|
+
}),
|
4059
|
+
new Promise(
|
4060
|
+
(_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
|
4061
|
+
)
|
4062
|
+
]);
|
4063
|
+
}
|
4063
4064
|
/** Execute a Lua function on the server. */
|
4064
4065
|
rpcFunc2(bearerToken, basicAuthUsername, basicAuthPassword, id, payload, httpKey, options = {}) {
|
4065
4066
|
if (id === null || id === void 0) {
|
@@ -4916,12 +4917,18 @@ var WebSocketAdapterText = class {
|
|
4916
4917
|
var _a;
|
4917
4918
|
return ((_a = this._socket) == null ? void 0 : _a.readyState) == WebSocket.OPEN;
|
4918
4919
|
}
|
4919
|
-
connect(scheme, host, port, createStatus, token) {
|
4920
|
+
connect(scheme, host, port, createStatus, token, signal) {
|
4921
|
+
if (signal) {
|
4922
|
+
signal.addEventListener("abort", () => {
|
4923
|
+
this.close();
|
4924
|
+
});
|
4925
|
+
}
|
4920
4926
|
const url = `${scheme}${host}:${port}/ws?lang=en&status=${encodeURIComponent(createStatus.toString())}&token=${encodeURIComponent(token)}`;
|
4921
4927
|
this._socket = new WebSocket(url);
|
4922
4928
|
}
|
4923
4929
|
close() {
|
4924
|
-
|
4930
|
+
var _a;
|
4931
|
+
(_a = this._socket) == null ? void 0 : _a.close();
|
4925
4932
|
this._socket = void 0;
|
4926
4933
|
}
|
4927
4934
|
send(msg) {
|
@@ -4959,12 +4966,12 @@ var _DefaultSocket = class _DefaultSocket {
|
|
4959
4966
|
isOpen() {
|
4960
4967
|
return this.adapter.isOpen();
|
4961
4968
|
}
|
4962
|
-
connect(session, createStatus = false, connectTimeoutMs = _DefaultSocket.DefaultConnectTimeoutMs) {
|
4969
|
+
connect(session, createStatus = false, connectTimeoutMs = _DefaultSocket.DefaultConnectTimeoutMs, signal) {
|
4963
4970
|
if (this.adapter.isOpen()) {
|
4964
4971
|
return Promise.resolve(session);
|
4965
4972
|
}
|
4966
4973
|
const scheme = this.useSSL ? "wss://" : "ws://";
|
4967
|
-
this.adapter.connect(scheme, this.host, this.port, createStatus, session.token);
|
4974
|
+
this.adapter.connect(scheme, this.host, this.port, createStatus, session.token, signal);
|
4968
4975
|
this.adapter.onClose = (evt) => {
|
4969
4976
|
this.ondisconnect(evt);
|
4970
4977
|
};
|
@@ -5549,9 +5556,9 @@ var _DefaultSocket = class _DefaultSocket {
|
|
5549
5556
|
return response.hashtag_dm_list_event;
|
5550
5557
|
});
|
5551
5558
|
}
|
5552
|
-
getPermissionByRoleIdChannelId(role_id, channel_id) {
|
5559
|
+
getPermissionByRoleIdChannelId(role_id, channel_id, user_id) {
|
5553
5560
|
return __async(this, null, function* () {
|
5554
|
-
const response = yield this.send({ permission_role_channel_list_event: { role_id, channel_id } });
|
5561
|
+
const response = yield this.send({ permission_role_channel_list_event: { role_id, channel_id, user_id } });
|
5555
5562
|
return response.permission_role_channel_list_event;
|
5556
5563
|
});
|
5557
5564
|
}
|
@@ -7009,12 +7016,12 @@ var Client = class {
|
|
7009
7016
|
});
|
7010
7017
|
}
|
7011
7018
|
/** Get permission of user in the clan */
|
7012
|
-
|
7019
|
+
GetRoleOfUserInTheClan(session, clanId) {
|
7013
7020
|
return __async(this, null, function* () {
|
7014
7021
|
if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
|
7015
7022
|
yield this.sessionRefresh(session);
|
7016
7023
|
}
|
7017
|
-
return this.apiClient.
|
7024
|
+
return this.apiClient.getRoleOfUserInTheClan(session.token, clanId).then((response) => {
|
7018
7025
|
return Promise.resolve(response);
|
7019
7026
|
});
|
7020
7027
|
});
|
package/dist/mezon-js.esm.mjs
CHANGED
@@ -3652,34 +3652,6 @@ var MezonApi = class {
|
|
3652
3652
|
]);
|
3653
3653
|
}
|
3654
3654
|
/** */
|
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
3655
|
deletePinMessage(bearerToken, messageId, options = {}) {
|
3684
3656
|
const urlPath = "/v2/pinmessage/delete";
|
3685
3657
|
const queryParams = /* @__PURE__ */ new Map();
|
@@ -4031,6 +4003,35 @@ var MezonApi = class {
|
|
4031
4003
|
)
|
4032
4004
|
]);
|
4033
4005
|
}
|
4006
|
+
/** */
|
4007
|
+
getRoleOfUserInTheClan(bearerToken, clanId, channelId, options = {}) {
|
4008
|
+
if (clanId === null || clanId === void 0) {
|
4009
|
+
throw new Error("'clanId' is a required parameter but is null or undefined.");
|
4010
|
+
}
|
4011
|
+
const urlPath = "/v2/roleuserinclan/{clanId}".replace("{clanId}", encodeURIComponent(String(clanId)));
|
4012
|
+
const queryParams = /* @__PURE__ */ new Map();
|
4013
|
+
queryParams.set("channel_id", channelId);
|
4014
|
+
let bodyJson = "";
|
4015
|
+
const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
|
4016
|
+
const fetchOptions = buildFetchOptions("GET", options, bodyJson);
|
4017
|
+
if (bearerToken) {
|
4018
|
+
fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
|
4019
|
+
}
|
4020
|
+
return Promise.race([
|
4021
|
+
fetch(fullUrl, fetchOptions).then((response) => {
|
4022
|
+
if (response.status == 204) {
|
4023
|
+
return response;
|
4024
|
+
} else if (response.status >= 200 && response.status < 300) {
|
4025
|
+
return response.json();
|
4026
|
+
} else {
|
4027
|
+
throw response;
|
4028
|
+
}
|
4029
|
+
}),
|
4030
|
+
new Promise(
|
4031
|
+
(_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
|
4032
|
+
)
|
4033
|
+
]);
|
4034
|
+
}
|
4034
4035
|
/** Execute a Lua function on the server. */
|
4035
4036
|
rpcFunc2(bearerToken, basicAuthUsername, basicAuthPassword, id, payload, httpKey, options = {}) {
|
4036
4037
|
if (id === null || id === void 0) {
|
@@ -4887,12 +4888,18 @@ var WebSocketAdapterText = class {
|
|
4887
4888
|
var _a;
|
4888
4889
|
return ((_a = this._socket) == null ? void 0 : _a.readyState) == WebSocket.OPEN;
|
4889
4890
|
}
|
4890
|
-
connect(scheme, host, port, createStatus, token) {
|
4891
|
+
connect(scheme, host, port, createStatus, token, signal) {
|
4892
|
+
if (signal) {
|
4893
|
+
signal.addEventListener("abort", () => {
|
4894
|
+
this.close();
|
4895
|
+
});
|
4896
|
+
}
|
4891
4897
|
const url = `${scheme}${host}:${port}/ws?lang=en&status=${encodeURIComponent(createStatus.toString())}&token=${encodeURIComponent(token)}`;
|
4892
4898
|
this._socket = new WebSocket(url);
|
4893
4899
|
}
|
4894
4900
|
close() {
|
4895
|
-
|
4901
|
+
var _a;
|
4902
|
+
(_a = this._socket) == null ? void 0 : _a.close();
|
4896
4903
|
this._socket = void 0;
|
4897
4904
|
}
|
4898
4905
|
send(msg) {
|
@@ -4930,12 +4937,12 @@ var _DefaultSocket = class _DefaultSocket {
|
|
4930
4937
|
isOpen() {
|
4931
4938
|
return this.adapter.isOpen();
|
4932
4939
|
}
|
4933
|
-
connect(session, createStatus = false, connectTimeoutMs = _DefaultSocket.DefaultConnectTimeoutMs) {
|
4940
|
+
connect(session, createStatus = false, connectTimeoutMs = _DefaultSocket.DefaultConnectTimeoutMs, signal) {
|
4934
4941
|
if (this.adapter.isOpen()) {
|
4935
4942
|
return Promise.resolve(session);
|
4936
4943
|
}
|
4937
4944
|
const scheme = this.useSSL ? "wss://" : "ws://";
|
4938
|
-
this.adapter.connect(scheme, this.host, this.port, createStatus, session.token);
|
4945
|
+
this.adapter.connect(scheme, this.host, this.port, createStatus, session.token, signal);
|
4939
4946
|
this.adapter.onClose = (evt) => {
|
4940
4947
|
this.ondisconnect(evt);
|
4941
4948
|
};
|
@@ -5520,9 +5527,9 @@ var _DefaultSocket = class _DefaultSocket {
|
|
5520
5527
|
return response.hashtag_dm_list_event;
|
5521
5528
|
});
|
5522
5529
|
}
|
5523
|
-
getPermissionByRoleIdChannelId(role_id, channel_id) {
|
5530
|
+
getPermissionByRoleIdChannelId(role_id, channel_id, user_id) {
|
5524
5531
|
return __async(this, null, function* () {
|
5525
|
-
const response = yield this.send({ permission_role_channel_list_event: { role_id, channel_id } });
|
5532
|
+
const response = yield this.send({ permission_role_channel_list_event: { role_id, channel_id, user_id } });
|
5526
5533
|
return response.permission_role_channel_list_event;
|
5527
5534
|
});
|
5528
5535
|
}
|
@@ -6980,12 +6987,12 @@ var Client = class {
|
|
6980
6987
|
});
|
6981
6988
|
}
|
6982
6989
|
/** Get permission of user in the clan */
|
6983
|
-
|
6990
|
+
GetRoleOfUserInTheClan(session, clanId) {
|
6984
6991
|
return __async(this, null, function* () {
|
6985
6992
|
if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
|
6986
6993
|
yield this.sessionRefresh(session);
|
6987
6994
|
}
|
6988
|
-
return this.apiClient.
|
6995
|
+
return this.apiClient.getRoleOfUserInTheClan(session.token, clanId).then((response) => {
|
6989
6996
|
return Promise.resolve(response);
|
6990
6997
|
});
|
6991
6998
|
});
|
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;
|
@@ -642,7 +643,7 @@ export interface Socket {
|
|
642
643
|
/** Connection is Open */
|
643
644
|
isOpen(): boolean;
|
644
645
|
/** Connect to the server. */
|
645
|
-
connect(session: Session, createStatus: boolean): Promise<Session>;
|
646
|
+
connect(session: Session, createStatus: boolean, connectTimeoutMs?: number, signal?: AbortSignal): Promise<Session>;
|
646
647
|
/** Disconnect from the server. */
|
647
648
|
disconnect(fireDisconnectEvent: boolean): void;
|
648
649
|
/** Subscribe to one or more users for their status updates. */
|
@@ -748,7 +749,7 @@ export interface Socket {
|
|
748
749
|
getNotificationCategorySetting(category_id: string): Promise<NotificationCategorySettingEvent>;
|
749
750
|
getNotificationClanSetting(clan_id: string): Promise<NotificationClanSettingEvent>;
|
750
751
|
getNotificationReactMessage(channel_id_req: string): Promise<NotifiReactMessageEvent>;
|
751
|
-
getPermissionByRoleIdChannelId(role_id: string, channel_id: string): Promise<PermissionRoleChannelListEvent>;
|
752
|
+
getPermissionByRoleIdChannelId(role_id: string, channel_id: string, user_id: string): Promise<PermissionRoleChannelListEvent>;
|
752
753
|
getNotificationChannelCategorySetting(clan_id: string): Promise<NotificationChannelCategorySettingEvent>;
|
753
754
|
oneventcreated: (clan_event_created: ApiCreateEventRequest) => void;
|
754
755
|
oncoffeegiven: (give_coffee_event: ApiGiveCoffeeEvent) => void;
|
@@ -783,7 +784,7 @@ export declare class DefaultSocket implements Socket {
|
|
783
784
|
constructor(host: string, port: string, useSSL?: boolean, verbose?: boolean, adapter?: WebSocketAdapter, sendTimeoutMs?: number);
|
784
785
|
generatecid(): string;
|
785
786
|
isOpen(): boolean;
|
786
|
-
connect(session: Session, createStatus?: boolean, connectTimeoutMs?: number): Promise<Session>;
|
787
|
+
connect(session: Session, createStatus?: boolean, connectTimeoutMs?: number, signal?: AbortSignal): Promise<Session>;
|
787
788
|
disconnect(fireDisconnectEvent?: boolean): void;
|
788
789
|
setHeartbeatTimeoutMs(ms: number): void;
|
789
790
|
getHeartbeatTimeoutMs(): number;
|
@@ -853,7 +854,7 @@ export declare class DefaultSocket implements Socket {
|
|
853
854
|
listUserClansByUserId(): Promise<AllUserClans>;
|
854
855
|
listUsersAddChannelByChannelId(channelId: string, limit: number): Promise<AllUsersAddChannelEvent>;
|
855
856
|
hashtagDMList(user_id: Array<string>, limit: number): Promise<HashtagDmListEvent>;
|
856
|
-
getPermissionByRoleIdChannelId(role_id: string, channel_id: string): Promise<PermissionRoleChannelListEvent>;
|
857
|
+
getPermissionByRoleIdChannelId(role_id: string, channel_id: string, user_id: string): Promise<PermissionRoleChannelListEvent>;
|
857
858
|
listStickersByUserId(): Promise<StrickerListedEvent>;
|
858
859
|
getNotificationChannelSetting(channel_id: string): Promise<NotificationChannelSettingEvent>;
|
859
860
|
getNotificationCategorySetting(category_id: string): Promise<NotificationCategorySettingEvent>;
|
@@ -35,7 +35,7 @@ export interface WebSocketAdapter {
|
|
35
35
|
onOpen: SocketOpenHandler | null;
|
36
36
|
isOpen(): boolean;
|
37
37
|
close(): void;
|
38
|
-
connect(scheme: string, host: string, port: string, createStatus: boolean, token: string): void;
|
38
|
+
connect(scheme: string, host: string, port: string, createStatus: boolean, token: string, signal?: AbortSignal): void;
|
39
39
|
send(message: any): void;
|
40
40
|
}
|
41
41
|
/**
|
@@ -77,7 +77,7 @@ export declare class WebSocketAdapterText implements WebSocketAdapter {
|
|
77
77
|
get onOpen(): SocketOpenHandler | null;
|
78
78
|
set onOpen(value: SocketOpenHandler | null);
|
79
79
|
isOpen(): boolean;
|
80
|
-
connect(scheme: string, host: string, port: string, createStatus: boolean, token: string): void;
|
80
|
+
connect(scheme: string, host: string, port: string, createStatus: boolean, token: string, signal?: AbortSignal): void;
|
81
81
|
close(): void;
|
82
82
|
send(msg: any): void;
|
83
83
|
}
|
package/package.json
CHANGED
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 {
|
@@ -935,7 +937,7 @@ export interface Socket {
|
|
935
937
|
isOpen(): boolean;
|
936
938
|
|
937
939
|
/** Connect to the server. */
|
938
|
-
connect(session: Session, createStatus: boolean): Promise<Session>;
|
940
|
+
connect(session: Session, createStatus: boolean, connectTimeoutMs?: number, signal?: AbortSignal): Promise<Session>;
|
939
941
|
|
940
942
|
/** Disconnect from the server. */
|
941
943
|
disconnect(fireDisconnectEvent: boolean): void;
|
@@ -1122,7 +1124,7 @@ export interface Socket {
|
|
1122
1124
|
|
1123
1125
|
getNotificationReactMessage(channel_id_req: string): Promise<NotifiReactMessageEvent>;
|
1124
1126
|
|
1125
|
-
getPermissionByRoleIdChannelId(role_id: string, channel_id: string): Promise<PermissionRoleChannelListEvent>;
|
1127
|
+
getPermissionByRoleIdChannelId(role_id: string, channel_id: string, user_id: string): Promise<PermissionRoleChannelListEvent>;
|
1126
1128
|
|
1127
1129
|
getNotificationChannelCategorySetting(clan_id : string): Promise<NotificationChannelCategorySettingEvent>;
|
1128
1130
|
|
@@ -1185,13 +1187,13 @@ export class DefaultSocket implements Socket {
|
|
1185
1187
|
return this.adapter.isOpen();
|
1186
1188
|
}
|
1187
1189
|
|
1188
|
-
connect(session: Session, createStatus: boolean = false, connectTimeoutMs: number = DefaultSocket.DefaultConnectTimeoutMs): Promise<Session> {
|
1190
|
+
connect(session: Session, createStatus: boolean = false, connectTimeoutMs: number = DefaultSocket.DefaultConnectTimeoutMs, signal?: AbortSignal): Promise<Session> {
|
1189
1191
|
if (this.adapter.isOpen()) {
|
1190
1192
|
return Promise.resolve(session);
|
1191
1193
|
}
|
1192
1194
|
|
1193
1195
|
const scheme = (this.useSSL) ? "wss://" : "ws://";
|
1194
|
-
this.adapter.connect(scheme, this.host, this.port, createStatus, session.token);
|
1196
|
+
this.adapter.connect(scheme, this.host, this.port, createStatus, session.token, signal);
|
1195
1197
|
|
1196
1198
|
this.adapter.onClose = (evt: Event) => {
|
1197
1199
|
this.ondisconnect(evt);
|
@@ -1828,8 +1830,8 @@ export class DefaultSocket implements Socket {
|
|
1828
1830
|
return response.hashtag_dm_list_event
|
1829
1831
|
}
|
1830
1832
|
|
1831
|
-
async getPermissionByRoleIdChannelId(role_id: string, channel_id: string): Promise<PermissionRoleChannelListEvent> {
|
1832
|
-
const response = await this.send({permission_role_channel_list_event: {role_id: role_id, channel_id: channel_id }});
|
1833
|
+
async getPermissionByRoleIdChannelId(role_id: string, channel_id: string, user_id: string): Promise<PermissionRoleChannelListEvent> {
|
1834
|
+
const response = await this.send({permission_role_channel_list_event: {role_id: role_id, channel_id: channel_id, user_id: user_id }});
|
1833
1835
|
return response.permission_role_channel_list_event
|
1834
1836
|
}
|
1835
1837
|
|
package/web_socket_adapter.ts
CHANGED
@@ -25,34 +25,34 @@ export interface WebSocketAdapter {
|
|
25
25
|
/**
|
26
26
|
* Dispatched when the web socket closes.
|
27
27
|
*/
|
28
|
-
onClose
|
28
|
+
onClose: SocketCloseHandler | null;
|
29
29
|
|
30
30
|
/**
|
31
31
|
* Dispatched when the web socket receives an error.
|
32
32
|
*/
|
33
|
-
onError
|
33
|
+
onError: SocketErrorHandler | null;
|
34
34
|
|
35
35
|
/**
|
36
36
|
* Dispatched when the web socket receives a normal message.
|
37
37
|
*/
|
38
|
-
onMessage
|
38
|
+
onMessage: SocketMessageHandler | null;
|
39
39
|
|
40
40
|
/**
|
41
41
|
* Dispatched when the web socket opens.
|
42
42
|
*/
|
43
|
-
onOpen
|
43
|
+
onOpen: SocketOpenHandler | null;
|
44
44
|
|
45
45
|
isOpen(): boolean;
|
46
|
-
close()
|
47
|
-
connect(scheme: string, host: string, port
|
48
|
-
send(message: any)
|
46
|
+
close(): void;
|
47
|
+
connect(scheme: string, host: string, port: string, createStatus: boolean, token: string, signal?: AbortSignal): void;
|
48
|
+
send(message: any): void;
|
49
49
|
}
|
50
50
|
|
51
51
|
/**
|
52
52
|
* SocketCloseHandler defines a lambda that handles WebSocket close events.
|
53
53
|
*/
|
54
54
|
export interface SocketCloseHandler {
|
55
|
-
(this
|
55
|
+
(this: WebSocket, evt: CloseEvent): void;
|
56
56
|
}
|
57
57
|
|
58
58
|
/**
|
@@ -60,7 +60,7 @@ export interface SocketCloseHandler {
|
|
60
60
|
* that indicate an error.
|
61
61
|
*/
|
62
62
|
export interface SocketErrorHandler {
|
63
|
-
(this
|
63
|
+
(this: WebSocket, evt: Event): void;
|
64
64
|
}
|
65
65
|
|
66
66
|
/**
|
@@ -74,7 +74,7 @@ export interface SocketMessageHandler {
|
|
74
74
|
* SocketOpenHandler defines a lambda that handles WebSocket open events.
|
75
75
|
*/
|
76
76
|
export interface SocketOpenHandler {
|
77
|
-
(this
|
77
|
+
(this: WebSocket, evt: Event): void
|
78
78
|
}
|
79
79
|
|
80
80
|
/**
|
@@ -107,7 +107,6 @@ export class WebSocketAdapterText implements WebSocketAdapter {
|
|
107
107
|
if (value) {
|
108
108
|
this._socket!.onmessage = (evt: MessageEvent) => {
|
109
109
|
const message: any = JSON.parse(evt.data);
|
110
|
-
|
111
110
|
if (message.party_data && message.party_data.data) {
|
112
111
|
message.party_data.data = new Uint8Array(decode(message.party_data.data));
|
113
112
|
}
|
@@ -132,13 +131,18 @@ export class WebSocketAdapterText implements WebSocketAdapter {
|
|
132
131
|
return this._socket?.readyState == WebSocket.OPEN;
|
133
132
|
}
|
134
133
|
|
135
|
-
connect(scheme: string, host: string, port: string, createStatus: boolean, token: string): void {
|
134
|
+
connect(scheme: string, host: string, port: string, createStatus: boolean, token: string, signal?: AbortSignal): void {
|
135
|
+
if (signal) {
|
136
|
+
signal.addEventListener('abort', () => {
|
137
|
+
this.close();
|
138
|
+
});
|
139
|
+
}
|
136
140
|
const url = `${scheme}${host}:${port}/ws?lang=en&status=${encodeURIComponent(createStatus.toString())}&token=${encodeURIComponent(token)}`;
|
137
141
|
this._socket = new WebSocket(url);
|
138
142
|
}
|
139
143
|
|
140
144
|
close() {
|
141
|
-
this._socket
|
145
|
+
this._socket?.close();
|
142
146
|
this._socket = undefined;
|
143
147
|
}
|
144
148
|
|