mezon-js 2.8.81 → 2.8.83

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
@@ -397,6 +397,8 @@ export interface ApiCategoryDesc {
397
397
  //
398
398
  category_name?: string;
399
399
  //
400
+ category_order?: number;
401
+ //
400
402
  clan_id?: string;
401
403
  //
402
404
  creator_id?: string;
@@ -408,6 +410,14 @@ export interface ApiCategoryDescList {
408
410
  categorydesc?: Array<ApiCategoryDesc>;
409
411
  }
410
412
 
413
+ /** */
414
+ export interface ApiCategoryOrderUpdate {
415
+ //
416
+ category_id?: string;
417
+ //
418
+ order?: number;
419
+ }
420
+
411
421
  /** Update fields in a given channel. */
412
422
  export interface ApiChangeChannelPrivateRequest {
413
423
  //The ID of the channel to update.
@@ -506,6 +516,10 @@ export interface ApiChannelDescription {
506
516
  usernames?: string;
507
517
  //
508
518
  status?: number;
519
+ //
520
+ metadata?: Array<string>;
521
+ //
522
+ about_me?: Array<string>;
509
523
  }
510
524
 
511
525
  /** A message sent on a channel. */
@@ -1506,6 +1520,13 @@ export interface ApiUpdateCategoryDescRequest {
1506
1520
  // clan ID
1507
1521
  ClanId: string;
1508
1522
  }
1523
+ /** */
1524
+ export interface ApiUpdateCategoryOrderRequest {
1525
+ //
1526
+ categories?: Array<ApiCategoryOrderUpdate>;
1527
+ //
1528
+ clan_id?: string;
1529
+ }
1509
1530
 
1510
1531
  /** */
1511
1532
  export interface ApiUpdateRoleChannelRequest {
@@ -3208,6 +3229,41 @@ export class MezonApi {
3208
3229
  ),
3209
3230
  ]);
3210
3231
  }
3232
+ /** */
3233
+ updateCategoryOrder(bearerToken: string,
3234
+ body:ApiUpdateCategoryOrderRequest,
3235
+ options: any = {}): Promise<any> {
3236
+
3237
+ if (body === null || body === undefined) {
3238
+ throw new Error("'body' is a required parameter but is null or undefined.");
3239
+ }
3240
+ const urlPath = "/v2/category/orders";
3241
+ const queryParams = new Map<string, any>();
3242
+
3243
+ let bodyJson : string = "";
3244
+ bodyJson = JSON.stringify(body || {});
3245
+
3246
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
3247
+ const fetchOptions = buildFetchOptions("PUT", options, bodyJson);
3248
+ if (bearerToken) {
3249
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
3250
+ }
3251
+
3252
+ return Promise.race([
3253
+ fetch(fullUrl, fetchOptions).then((response) => {
3254
+ if (response.status == 204) {
3255
+ return response;
3256
+ } else if (response.status >= 200 && response.status < 300) {
3257
+ return response.json();
3258
+ } else {
3259
+ throw response;
3260
+ }
3261
+ }),
3262
+ new Promise((_, reject) =>
3263
+ setTimeout(reject, this.timeoutMs, "Request timed out.")
3264
+ ),
3265
+ ]);
3266
+ }
3211
3267
 
3212
3268
  /** */
3213
3269
  listCategoryDescs(bearerToken: string,
@@ -3215,6 +3271,7 @@ export class MezonApi {
3215
3271
  creatorId?:string,
3216
3272
  categoryName?:string,
3217
3273
  categoryId?:string,
3274
+ categoryOrder?:number,
3218
3275
  options: any = {}): Promise<ApiCategoryDescList> {
3219
3276
 
3220
3277
  if (clanId === null || clanId === undefined) {
@@ -3226,6 +3283,7 @@ export class MezonApi {
3226
3283
  queryParams.set("creator_id", creatorId);
3227
3284
  queryParams.set("category_name", categoryName);
3228
3285
  queryParams.set("category_id", categoryId);
3286
+ queryParams.set("category_order", categoryOrder);
3229
3287
 
3230
3288
  let bodyJson : string = "";
3231
3289
 
@@ -4103,6 +4161,42 @@ export class MezonApi {
4103
4161
  ]);
4104
4162
  }
4105
4163
 
4164
+ /** */
4165
+ deleteCategoryOrder(bearerToken: string,
4166
+ clanId:string,
4167
+ options: any = {}): Promise<any> {
4168
+
4169
+ if (clanId === null || clanId === undefined) {
4170
+ throw new Error("'clanId' is a required parameter but is null or undefined.");
4171
+ }
4172
+ const urlPath = "/v2/deletecategoryorder/clan_id/{clanId}"
4173
+ .replace("{clanId}", encodeURIComponent(String(clanId)));
4174
+ const queryParams = new Map<string, any>();
4175
+
4176
+ let bodyJson : string = "";
4177
+
4178
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
4179
+ const fetchOptions = buildFetchOptions("DELETE", options, bodyJson);
4180
+ if (bearerToken) {
4181
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
4182
+ }
4183
+
4184
+ return Promise.race([
4185
+ fetch(fullUrl, fetchOptions).then((response) => {
4186
+ if (response.status == 204) {
4187
+ return response;
4188
+ } else if (response.status >= 200 && response.status < 300) {
4189
+ return response.json();
4190
+ } else {
4191
+ throw response;
4192
+ }
4193
+ }),
4194
+ new Promise((_, reject) =>
4195
+ setTimeout(reject, this.timeoutMs, "Request timed out.")
4196
+ ),
4197
+ ]);
4198
+ }
4199
+
4106
4200
  /** regist fcm device token */
4107
4201
  registFCMDeviceToken(bearerToken: string,
4108
4202
  token?:string,
package/client.ts CHANGED
@@ -100,6 +100,7 @@ import {
100
100
  ApiSystemMessage,
101
101
  ApiSystemMessageRequest,
102
102
  MezonUpdateSystemMessageBody,
103
+ ApiUpdateCategoryOrderRequest,
103
104
  } from "./api.gen";
104
105
 
105
106
  import { Session } from "./session";
@@ -3410,4 +3411,37 @@ export class Client {
3410
3411
  return Promise.resolve(response);
3411
3412
  });
3412
3413
  }
3414
+ async updateCategoryOrder(
3415
+ session: Session,
3416
+ request: ApiUpdateCategoryOrderRequest
3417
+ ): Promise<any> {
3418
+ if (
3419
+ this.autoRefreshSession &&
3420
+ session.refresh_token &&
3421
+ session.isexpired((Date.now() + this.expiredTimespanMs) / 1000)
3422
+ ) {
3423
+ await this.sessionRefresh(session);
3424
+ }
3425
+
3426
+ return this.apiClient
3427
+ .updateCategoryOrder(session.token, request)
3428
+ .then((response: any) => {
3429
+ return Promise.resolve(response);
3430
+ });
3431
+ }
3432
+ async deleteCategoryOrder(session: Session, clanId: string): Promise<any> {
3433
+ if (
3434
+ this.autoRefreshSession &&
3435
+ session.refresh_token &&
3436
+ session.isexpired((Date.now() + this.expiredTimespanMs) / 1000)
3437
+ ) {
3438
+ await this.sessionRefresh(session);
3439
+ }
3440
+
3441
+ return this.apiClient
3442
+ .deleteCategoryOrder(session.token, clanId)
3443
+ .then((response: any) => {
3444
+ return Promise.resolve(response);
3445
+ });
3446
+ }
3413
3447
  }
package/dist/api.gen.d.ts CHANGED
@@ -231,6 +231,7 @@ export interface ApiAppList {
231
231
  export interface ApiCategoryDesc {
232
232
  category_id?: string;
233
233
  category_name?: string;
234
+ category_order?: number;
234
235
  clan_id?: string;
235
236
  creator_id?: string;
236
237
  }
@@ -238,6 +239,11 @@ export interface ApiCategoryDesc {
238
239
  export interface ApiCategoryDescList {
239
240
  categorydesc?: Array<ApiCategoryDesc>;
240
241
  }
242
+ /** */
243
+ export interface ApiCategoryOrderUpdate {
244
+ category_id?: string;
245
+ order?: number;
246
+ }
241
247
  /** Update fields in a given channel. */
242
248
  export interface ApiChangeChannelPrivateRequest {
243
249
  channel_id?: string;
@@ -292,6 +298,8 @@ export interface ApiChannelDescription {
292
298
  user_id?: Array<string>;
293
299
  usernames?: string;
294
300
  status?: number;
301
+ metadata?: Array<string>;
302
+ about_me?: Array<string>;
295
303
  }
296
304
  /** A message sent on a channel. */
297
305
  export interface ApiChannelMessage {
@@ -874,6 +882,11 @@ export interface ApiUpdateCategoryDescRequest {
874
882
  ClanId: string;
875
883
  }
876
884
  /** */
885
+ export interface ApiUpdateCategoryOrderRequest {
886
+ categories?: Array<ApiCategoryOrderUpdate>;
887
+ clan_id?: string;
888
+ }
889
+ /** */
877
890
  export interface ApiUpdateRoleChannelRequest {
878
891
  channel_id?: string;
879
892
  permission_update?: Array<ApiPermissionUpdate>;
@@ -1062,7 +1075,9 @@ export declare class MezonApi {
1062
1075
  /** Unban an app. */
1063
1076
  unbanApp(bearerToken: string, id: string, options?: any): Promise<any>;
1064
1077
  /** */
1065
- listCategoryDescs(bearerToken: string, clanId: string, creatorId?: string, categoryName?: string, categoryId?: string, options?: any): Promise<ApiCategoryDescList>;
1078
+ updateCategoryOrder(bearerToken: string, body: ApiUpdateCategoryOrderRequest, options?: any): Promise<any>;
1079
+ /** */
1080
+ listCategoryDescs(bearerToken: string, clanId: string, creatorId?: string, categoryName?: string, categoryId?: string, categoryOrder?: number, options?: any): Promise<ApiCategoryDescList>;
1066
1081
  /** List a channel's message history. */
1067
1082
  listChannelMessages(bearerToken: string, channelId: string, messageId?: string, direction?: number, limit?: number, options?: any): Promise<ApiChannelMessageList>;
1068
1083
  /** Add users to a channel. */
@@ -1107,6 +1122,8 @@ export declare class MezonApi {
1107
1122
  createCategoryDesc(bearerToken: string, body: ApiCreateCategoryDescRequest, options?: any): Promise<ApiCategoryDesc>;
1108
1123
  /** */
1109
1124
  deleteCategoryDesc(bearerToken: string, creatorId: string, options?: any): Promise<any>;
1125
+ /** */
1126
+ deleteCategoryOrder(bearerToken: string, clanId: string, options?: any): Promise<any>;
1110
1127
  /** regist fcm device token */
1111
1128
  registFCMDeviceToken(bearerToken: string, token?: string, deviceId?: string, platform?: string, options?: any): Promise<any>;
1112
1129
  /** close direct message. */
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 } 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 } from "./api.gen";
17
17
  import { Session } from "./session";
18
18
  import { Socket } from "./socket";
19
19
  import { WebSocketAdapter } from "./web_socket_adapter";
@@ -548,4 +548,6 @@ export declare class Client {
548
548
  createSystemMessage(session: Session, request: ApiSystemMessageRequest): Promise<any>;
549
549
  updateSystemMessage(session: Session, clanId: string, request: MezonUpdateSystemMessageBody): Promise<any>;
550
550
  deleteSystemMessage(session: Session, clanId: string): Promise<any>;
551
+ updateCategoryOrder(session: Session, request: ApiUpdateCategoryOrderRequest): Promise<any>;
552
+ deleteCategoryOrder(session: Session, clanId: string): Promise<any>;
551
553
  }
@@ -65,11 +65,12 @@ __export(mezon_js_exports, {
65
65
  module.exports = __toCommonJS(mezon_js_exports);
66
66
 
67
67
  // ../../node_modules/whatwg-fetch/fetch.js
68
- var global = typeof globalThis !== "undefined" && globalThis || typeof self !== "undefined" && self || typeof global !== "undefined" && global;
68
+ var g = typeof globalThis !== "undefined" && globalThis || typeof self !== "undefined" && self || // eslint-disable-next-line no-undef
69
+ typeof global !== "undefined" && global || {};
69
70
  var support = {
70
- searchParams: "URLSearchParams" in global,
71
- iterable: "Symbol" in global && "iterator" in Symbol,
72
- blob: "FileReader" in global && "Blob" in global && function() {
71
+ searchParams: "URLSearchParams" in g,
72
+ iterable: "Symbol" in g && "iterator" in Symbol,
73
+ blob: "FileReader" in g && "Blob" in g && function() {
73
74
  try {
74
75
  new Blob();
75
76
  return true;
@@ -77,8 +78,8 @@ var support = {
77
78
  return false;
78
79
  }
79
80
  }(),
80
- formData: "FormData" in global,
81
- arrayBuffer: "ArrayBuffer" in global
81
+ formData: "FormData" in g,
82
+ arrayBuffer: "ArrayBuffer" in g
82
83
  };
83
84
  function isDataView(obj) {
84
85
  return obj && DataView.prototype.isPrototypeOf(obj);
@@ -138,6 +139,9 @@ function Headers(headers) {
138
139
  }, this);
139
140
  } else if (Array.isArray(headers)) {
140
141
  headers.forEach(function(header) {
142
+ if (header.length != 2) {
143
+ throw new TypeError("Headers constructor: expected name/value pair to be length 2, found" + header.length);
144
+ }
141
145
  this.append(header[0], header[1]);
142
146
  }, this);
143
147
  } else if (headers) {
@@ -197,6 +201,8 @@ if (support.iterable) {
197
201
  Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
198
202
  }
199
203
  function consumed(body) {
204
+ if (body._noBody)
205
+ return;
200
206
  if (body.bodyUsed) {
201
207
  return Promise.reject(new TypeError("Already read"));
202
208
  }
@@ -221,7 +227,9 @@ function readBlobAsArrayBuffer(blob) {
221
227
  function readBlobAsText(blob) {
222
228
  var reader = new FileReader();
223
229
  var promise = fileReaderReady(reader);
224
- reader.readAsText(blob);
230
+ var match = /charset=([A-Za-z0-9_-]+)/.exec(blob.type);
231
+ var encoding = match ? match[1] : "utf-8";
232
+ reader.readAsText(blob, encoding);
225
233
  return promise;
226
234
  }
227
235
  function readArrayBufferAsText(buf) {
@@ -247,6 +255,7 @@ function Body() {
247
255
  this.bodyUsed = this.bodyUsed;
248
256
  this._bodyInit = body;
249
257
  if (!body) {
258
+ this._noBody = true;
250
259
  this._bodyText = "";
251
260
  } else if (typeof body === "string") {
252
261
  this._bodyText = body;
@@ -290,27 +299,28 @@ function Body() {
290
299
  return Promise.resolve(new Blob([this._bodyText]));
291
300
  }
292
301
  };
293
- this.arrayBuffer = function() {
294
- if (this._bodyArrayBuffer) {
295
- var isConsumed = consumed(this);
296
- if (isConsumed) {
297
- return isConsumed;
298
- }
299
- if (ArrayBuffer.isView(this._bodyArrayBuffer)) {
300
- return Promise.resolve(
301
- this._bodyArrayBuffer.buffer.slice(
302
- this._bodyArrayBuffer.byteOffset,
303
- this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength
304
- )
305
- );
306
- } else {
307
- return Promise.resolve(this._bodyArrayBuffer);
308
- }
302
+ }
303
+ this.arrayBuffer = function() {
304
+ if (this._bodyArrayBuffer) {
305
+ var isConsumed = consumed(this);
306
+ if (isConsumed) {
307
+ return isConsumed;
308
+ } else if (ArrayBuffer.isView(this._bodyArrayBuffer)) {
309
+ return Promise.resolve(
310
+ this._bodyArrayBuffer.buffer.slice(
311
+ this._bodyArrayBuffer.byteOffset,
312
+ this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength
313
+ )
314
+ );
309
315
  } else {
310
- return this.blob().then(readBlobAsArrayBuffer);
316
+ return Promise.resolve(this._bodyArrayBuffer);
311
317
  }
312
- };
313
- }
318
+ } else if (support.blob) {
319
+ return this.blob().then(readBlobAsArrayBuffer);
320
+ } else {
321
+ throw new Error("could not read as ArrayBuffer");
322
+ }
323
+ };
314
324
  this.text = function() {
315
325
  var rejected = consumed(this);
316
326
  if (rejected) {
@@ -336,7 +346,7 @@ function Body() {
336
346
  };
337
347
  return this;
338
348
  }
339
- var methods = ["DELETE", "GET", "HEAD", "OPTIONS", "POST", "PUT"];
349
+ var methods = ["CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"];
340
350
  function normalizeMethod(method) {
341
351
  var upcased = method.toUpperCase();
342
352
  return methods.indexOf(upcased) > -1 ? upcased : method;
@@ -372,7 +382,12 @@ function Request(input, options) {
372
382
  }
373
383
  this.method = normalizeMethod(options.method || this.method || "GET");
374
384
  this.mode = options.mode || this.mode || null;
375
- this.signal = options.signal || this.signal;
385
+ this.signal = options.signal || this.signal || function() {
386
+ if ("AbortController" in g) {
387
+ var ctrl = new AbortController();
388
+ return ctrl.signal;
389
+ }
390
+ }();
376
391
  this.referrer = null;
377
392
  if ((this.method === "GET" || this.method === "HEAD") && body) {
378
393
  throw new TypeError("Body not allowed for GET or HEAD requests");
@@ -415,7 +430,11 @@ function parseHeaders(rawHeaders) {
415
430
  var key = parts.shift().trim();
416
431
  if (key) {
417
432
  var value = parts.join(":").trim();
418
- headers.append(key, value);
433
+ try {
434
+ headers.append(key, value);
435
+ } catch (error) {
436
+ console.warn("Response " + error.message);
437
+ }
419
438
  }
420
439
  });
421
440
  return headers;
@@ -430,6 +449,9 @@ function Response(bodyInit, options) {
430
449
  }
431
450
  this.type = "default";
432
451
  this.status = options.status === void 0 ? 200 : options.status;
452
+ if (this.status < 200 || this.status > 599) {
453
+ throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");
454
+ }
433
455
  this.ok = this.status >= 200 && this.status < 300;
434
456
  this.statusText = options.statusText === void 0 ? "" : "" + options.statusText;
435
457
  this.headers = new Headers(options.headers);
@@ -446,7 +468,9 @@ Response.prototype.clone = function() {
446
468
  });
447
469
  };
448
470
  Response.error = function() {
449
- var response = new Response(null, { status: 0, statusText: "" });
471
+ var response = new Response(null, { status: 200, statusText: "" });
472
+ response.ok = false;
473
+ response.status = 0;
450
474
  response.type = "error";
451
475
  return response;
452
476
  };
@@ -457,7 +481,7 @@ Response.redirect = function(url, status) {
457
481
  }
458
482
  return new Response(null, { status, headers: { location: url } });
459
483
  };
460
- var DOMException = global.DOMException;
484
+ var DOMException = g.DOMException;
461
485
  try {
462
486
  new DOMException();
463
487
  } catch (err) {
@@ -482,10 +506,14 @@ function fetch2(input, init) {
482
506
  }
483
507
  xhr.onload = function() {
484
508
  var options = {
485
- status: xhr.status,
486
509
  statusText: xhr.statusText,
487
510
  headers: parseHeaders(xhr.getAllResponseHeaders() || "")
488
511
  };
512
+ if (request.url.indexOf("file://") === 0 && (xhr.status < 200 || xhr.status > 599)) {
513
+ options.status = 200;
514
+ } else {
515
+ options.status = xhr.status;
516
+ }
489
517
  options.url = "responseURL" in xhr ? xhr.responseURL : options.headers.get("X-Request-URL");
490
518
  var body = "response" in xhr ? xhr.response : xhr.responseText;
491
519
  setTimeout(function() {
@@ -499,7 +527,7 @@ function fetch2(input, init) {
499
527
  };
500
528
  xhr.ontimeout = function() {
501
529
  setTimeout(function() {
502
- reject(new TypeError("Network request failed"));
530
+ reject(new TypeError("Network request timed out"));
503
531
  }, 0);
504
532
  };
505
533
  xhr.onabort = function() {
@@ -509,7 +537,7 @@ function fetch2(input, init) {
509
537
  };
510
538
  function fixUrl(url) {
511
539
  try {
512
- return url === "" && global.location.href ? global.location.href : url;
540
+ return url === "" && g.location.href ? g.location.href : url;
513
541
  } catch (e) {
514
542
  return url;
515
543
  }
@@ -523,14 +551,21 @@ function fetch2(input, init) {
523
551
  if ("responseType" in xhr) {
524
552
  if (support.blob) {
525
553
  xhr.responseType = "blob";
526
- } else if (support.arrayBuffer && request.headers.get("Content-Type") && request.headers.get("Content-Type").indexOf("application/octet-stream") !== -1) {
554
+ } else if (support.arrayBuffer) {
527
555
  xhr.responseType = "arraybuffer";
528
556
  }
529
557
  }
530
- if (init && typeof init.headers === "object" && !(init.headers instanceof Headers)) {
558
+ if (init && typeof init.headers === "object" && !(init.headers instanceof Headers || g.Headers && init.headers instanceof g.Headers)) {
559
+ var names = [];
531
560
  Object.getOwnPropertyNames(init.headers).forEach(function(name) {
561
+ names.push(normalizeName(name));
532
562
  xhr.setRequestHeader(name, normalizeValue(init.headers[name]));
533
563
  });
564
+ request.headers.forEach(function(value, name) {
565
+ if (names.indexOf(name) === -1) {
566
+ xhr.setRequestHeader(name, value);
567
+ }
568
+ });
534
569
  } else {
535
570
  request.headers.forEach(function(value, name) {
536
571
  xhr.setRequestHeader(name, value);
@@ -548,16 +583,14 @@ function fetch2(input, init) {
548
583
  });
549
584
  }
550
585
  fetch2.polyfill = true;
551
- if (!global.fetch) {
552
- global.fetch = fetch2;
553
- global.Headers = Headers;
554
- global.Request = Request;
555
- global.Response = Response;
586
+ if (!g.fetch) {
587
+ g.fetch = fetch2;
588
+ g.Headers = Headers;
589
+ g.Request = Request;
590
+ g.Response = Response;
556
591
  }
557
592
 
558
593
  // ../../node_modules/js-base64/base64.mjs
559
- var _hasatob = typeof atob === "function";
560
- var _hasbtoa = typeof btoa === "function";
561
594
  var _hasBuffer = typeof Buffer === "function";
562
595
  var _TD = typeof TextDecoder === "function" ? new TextDecoder() : void 0;
563
596
  var _TE = typeof TextEncoder === "function" ? new TextEncoder() : void 0;
@@ -570,7 +603,7 @@ var b64tab = ((a) => {
570
603
  })(b64chs);
571
604
  var b64re = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/;
572
605
  var _fromCC = String.fromCharCode.bind(String);
573
- var _U8Afrom = typeof Uint8Array.from === "function" ? Uint8Array.from.bind(Uint8Array) : (it, fn = (x) => x) => new Uint8Array(Array.prototype.slice.call(it, 0).map(fn));
606
+ var _U8Afrom = typeof Uint8Array.from === "function" ? Uint8Array.from.bind(Uint8Array) : (it) => new Uint8Array(Array.prototype.slice.call(it, 0));
574
607
  var _mkUriSafe = (src) => src.replace(/=/g, "").replace(/[+\/]/g, (m0) => m0 == "+" ? "-" : "_");
575
608
  var _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\+\/]/g, "");
576
609
  var btoaPolyfill = (bin) => {
@@ -584,7 +617,7 @@ var btoaPolyfill = (bin) => {
584
617
  }
585
618
  return pad ? asc.slice(0, pad - 3) + "===".substring(pad) : asc;
586
619
  };
587
- var _btoa = _hasbtoa ? (bin) => btoa(bin) : _hasBuffer ? (bin) => Buffer.from(bin, "binary").toString("base64") : btoaPolyfill;
620
+ var _btoa = typeof btoa === "function" ? (bin) => btoa(bin) : _hasBuffer ? (bin) => Buffer.from(bin, "binary").toString("base64") : btoaPolyfill;
588
621
  var _fromUint8Array = _hasBuffer ? (u8a) => Buffer.from(u8a).toString("base64") : (u8a) => {
589
622
  const maxargs = 4096;
590
623
  let strs = [];
@@ -618,7 +651,7 @@ var atobPolyfill = (asc) => {
618
651
  }
619
652
  return bin;
620
653
  };
621
- var _atob = _hasatob ? (asc) => atob(_tidyB64(asc)) : _hasBuffer ? (asc) => Buffer.from(asc, "base64").toString("binary") : atobPolyfill;
654
+ var _atob = typeof atob === "function" ? (asc) => atob(_tidyB64(asc)) : _hasBuffer ? (asc) => Buffer.from(asc, "base64").toString("binary") : atobPolyfill;
622
655
 
623
656
  // utils.ts
624
657
  function buildFetchOptions(method, options, bodyJson) {
@@ -1853,7 +1886,36 @@ var MezonApi = class {
1853
1886
  ]);
1854
1887
  }
1855
1888
  /** */
1856
- listCategoryDescs(bearerToken, clanId, creatorId, categoryName, categoryId, options = {}) {
1889
+ updateCategoryOrder(bearerToken, body, options = {}) {
1890
+ if (body === null || body === void 0) {
1891
+ throw new Error("'body' is a required parameter but is null or undefined.");
1892
+ }
1893
+ const urlPath = "/v2/category/orders";
1894
+ const queryParams = /* @__PURE__ */ new Map();
1895
+ let bodyJson = "";
1896
+ bodyJson = JSON.stringify(body || {});
1897
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
1898
+ const fetchOptions = buildFetchOptions("PUT", options, bodyJson);
1899
+ if (bearerToken) {
1900
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
1901
+ }
1902
+ return Promise.race([
1903
+ fetch(fullUrl, fetchOptions).then((response) => {
1904
+ if (response.status == 204) {
1905
+ return response;
1906
+ } else if (response.status >= 200 && response.status < 300) {
1907
+ return response.json();
1908
+ } else {
1909
+ throw response;
1910
+ }
1911
+ }),
1912
+ new Promise(
1913
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
1914
+ )
1915
+ ]);
1916
+ }
1917
+ /** */
1918
+ listCategoryDescs(bearerToken, clanId, creatorId, categoryName, categoryId, categoryOrder, options = {}) {
1857
1919
  if (clanId === null || clanId === void 0) {
1858
1920
  throw new Error("'clanId' is a required parameter but is null or undefined.");
1859
1921
  }
@@ -1862,6 +1924,7 @@ var MezonApi = class {
1862
1924
  queryParams.set("creator_id", creatorId);
1863
1925
  queryParams.set("category_name", categoryName);
1864
1926
  queryParams.set("category_id", categoryId);
1927
+ queryParams.set("category_order", categoryOrder);
1865
1928
  let bodyJson = "";
1866
1929
  const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
1867
1930
  const fetchOptions = buildFetchOptions("GET", options, bodyJson);
@@ -2535,6 +2598,34 @@ var MezonApi = class {
2535
2598
  )
2536
2599
  ]);
2537
2600
  }
2601
+ /** */
2602
+ deleteCategoryOrder(bearerToken, clanId, options = {}) {
2603
+ if (clanId === null || clanId === void 0) {
2604
+ throw new Error("'clanId' is a required parameter but is null or undefined.");
2605
+ }
2606
+ const urlPath = "/v2/deletecategoryorder/clan_id/{clanId}".replace("{clanId}", encodeURIComponent(String(clanId)));
2607
+ const queryParams = /* @__PURE__ */ new Map();
2608
+ let bodyJson = "";
2609
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
2610
+ const fetchOptions = buildFetchOptions("DELETE", options, bodyJson);
2611
+ if (bearerToken) {
2612
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
2613
+ }
2614
+ return Promise.race([
2615
+ fetch(fullUrl, fetchOptions).then((response) => {
2616
+ if (response.status == 204) {
2617
+ return response;
2618
+ } else if (response.status >= 200 && response.status < 300) {
2619
+ return response.json();
2620
+ } else {
2621
+ throw response;
2622
+ }
2623
+ }),
2624
+ new Promise(
2625
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
2626
+ )
2627
+ ]);
2628
+ }
2538
2629
  /** regist fcm device token */
2539
2630
  registFCMDeviceToken(bearerToken, token, deviceId, platform, options = {}) {
2540
2631
  const urlPath = "/v2/devicetoken";
@@ -5291,18 +5382,6 @@ var _DefaultSocket = class _DefaultSocket {
5291
5382
  return response.notification_channel_category_setting_event;
5292
5383
  });
5293
5384
  }
5294
- addUserEmojiUsage(add_user_emoji_usage_event) {
5295
- return __async(this, null, function* () {
5296
- const response = yield this.send({ add_user_emoji_usage_event: { add_user_emoji_usage_event } });
5297
- return response.add_user_emoji_usage_event;
5298
- });
5299
- }
5300
- getUserEmojiUsage(clan_id) {
5301
- return __async(this, null, function* () {
5302
- const response = yield this.send({ get_user_emoji_usage_event: { clan_id } });
5303
- return response.get_user_emoji_usage_event;
5304
- });
5305
- }
5306
5385
  pingPong() {
5307
5386
  return __async(this, null, function* () {
5308
5387
  if (!this.adapter.isOpen()) {
@@ -7125,4 +7204,24 @@ var Client = class {
7125
7204
  });
7126
7205
  });
7127
7206
  }
7207
+ updateCategoryOrder(session, request) {
7208
+ return __async(this, null, function* () {
7209
+ if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
7210
+ yield this.sessionRefresh(session);
7211
+ }
7212
+ return this.apiClient.updateCategoryOrder(session.token, request).then((response) => {
7213
+ return Promise.resolve(response);
7214
+ });
7215
+ });
7216
+ }
7217
+ deleteCategoryOrder(session, clanId) {
7218
+ return __async(this, null, function* () {
7219
+ if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
7220
+ yield this.sessionRefresh(session);
7221
+ }
7222
+ return this.apiClient.deleteCategoryOrder(session.token, clanId).then((response) => {
7223
+ return Promise.resolve(response);
7224
+ });
7225
+ });
7226
+ }
7128
7227
  };
@@ -36,11 +36,12 @@ var __async = (__this, __arguments, generator) => {
36
36
  };
37
37
 
38
38
  // ../../node_modules/whatwg-fetch/fetch.js
39
- var global = typeof globalThis !== "undefined" && globalThis || typeof self !== "undefined" && self || typeof global !== "undefined" && global;
39
+ var g = typeof globalThis !== "undefined" && globalThis || typeof self !== "undefined" && self || // eslint-disable-next-line no-undef
40
+ typeof global !== "undefined" && global || {};
40
41
  var support = {
41
- searchParams: "URLSearchParams" in global,
42
- iterable: "Symbol" in global && "iterator" in Symbol,
43
- blob: "FileReader" in global && "Blob" in global && function() {
42
+ searchParams: "URLSearchParams" in g,
43
+ iterable: "Symbol" in g && "iterator" in Symbol,
44
+ blob: "FileReader" in g && "Blob" in g && function() {
44
45
  try {
45
46
  new Blob();
46
47
  return true;
@@ -48,8 +49,8 @@ var support = {
48
49
  return false;
49
50
  }
50
51
  }(),
51
- formData: "FormData" in global,
52
- arrayBuffer: "ArrayBuffer" in global
52
+ formData: "FormData" in g,
53
+ arrayBuffer: "ArrayBuffer" in g
53
54
  };
54
55
  function isDataView(obj) {
55
56
  return obj && DataView.prototype.isPrototypeOf(obj);
@@ -109,6 +110,9 @@ function Headers(headers) {
109
110
  }, this);
110
111
  } else if (Array.isArray(headers)) {
111
112
  headers.forEach(function(header) {
113
+ if (header.length != 2) {
114
+ throw new TypeError("Headers constructor: expected name/value pair to be length 2, found" + header.length);
115
+ }
112
116
  this.append(header[0], header[1]);
113
117
  }, this);
114
118
  } else if (headers) {
@@ -168,6 +172,8 @@ if (support.iterable) {
168
172
  Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
169
173
  }
170
174
  function consumed(body) {
175
+ if (body._noBody)
176
+ return;
171
177
  if (body.bodyUsed) {
172
178
  return Promise.reject(new TypeError("Already read"));
173
179
  }
@@ -192,7 +198,9 @@ function readBlobAsArrayBuffer(blob) {
192
198
  function readBlobAsText(blob) {
193
199
  var reader = new FileReader();
194
200
  var promise = fileReaderReady(reader);
195
- reader.readAsText(blob);
201
+ var match = /charset=([A-Za-z0-9_-]+)/.exec(blob.type);
202
+ var encoding = match ? match[1] : "utf-8";
203
+ reader.readAsText(blob, encoding);
196
204
  return promise;
197
205
  }
198
206
  function readArrayBufferAsText(buf) {
@@ -218,6 +226,7 @@ function Body() {
218
226
  this.bodyUsed = this.bodyUsed;
219
227
  this._bodyInit = body;
220
228
  if (!body) {
229
+ this._noBody = true;
221
230
  this._bodyText = "";
222
231
  } else if (typeof body === "string") {
223
232
  this._bodyText = body;
@@ -261,27 +270,28 @@ function Body() {
261
270
  return Promise.resolve(new Blob([this._bodyText]));
262
271
  }
263
272
  };
264
- this.arrayBuffer = function() {
265
- if (this._bodyArrayBuffer) {
266
- var isConsumed = consumed(this);
267
- if (isConsumed) {
268
- return isConsumed;
269
- }
270
- if (ArrayBuffer.isView(this._bodyArrayBuffer)) {
271
- return Promise.resolve(
272
- this._bodyArrayBuffer.buffer.slice(
273
- this._bodyArrayBuffer.byteOffset,
274
- this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength
275
- )
276
- );
277
- } else {
278
- return Promise.resolve(this._bodyArrayBuffer);
279
- }
273
+ }
274
+ this.arrayBuffer = function() {
275
+ if (this._bodyArrayBuffer) {
276
+ var isConsumed = consumed(this);
277
+ if (isConsumed) {
278
+ return isConsumed;
279
+ } else if (ArrayBuffer.isView(this._bodyArrayBuffer)) {
280
+ return Promise.resolve(
281
+ this._bodyArrayBuffer.buffer.slice(
282
+ this._bodyArrayBuffer.byteOffset,
283
+ this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength
284
+ )
285
+ );
280
286
  } else {
281
- return this.blob().then(readBlobAsArrayBuffer);
287
+ return Promise.resolve(this._bodyArrayBuffer);
282
288
  }
283
- };
284
- }
289
+ } else if (support.blob) {
290
+ return this.blob().then(readBlobAsArrayBuffer);
291
+ } else {
292
+ throw new Error("could not read as ArrayBuffer");
293
+ }
294
+ };
285
295
  this.text = function() {
286
296
  var rejected = consumed(this);
287
297
  if (rejected) {
@@ -307,7 +317,7 @@ function Body() {
307
317
  };
308
318
  return this;
309
319
  }
310
- var methods = ["DELETE", "GET", "HEAD", "OPTIONS", "POST", "PUT"];
320
+ var methods = ["CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"];
311
321
  function normalizeMethod(method) {
312
322
  var upcased = method.toUpperCase();
313
323
  return methods.indexOf(upcased) > -1 ? upcased : method;
@@ -343,7 +353,12 @@ function Request(input, options) {
343
353
  }
344
354
  this.method = normalizeMethod(options.method || this.method || "GET");
345
355
  this.mode = options.mode || this.mode || null;
346
- this.signal = options.signal || this.signal;
356
+ this.signal = options.signal || this.signal || function() {
357
+ if ("AbortController" in g) {
358
+ var ctrl = new AbortController();
359
+ return ctrl.signal;
360
+ }
361
+ }();
347
362
  this.referrer = null;
348
363
  if ((this.method === "GET" || this.method === "HEAD") && body) {
349
364
  throw new TypeError("Body not allowed for GET or HEAD requests");
@@ -386,7 +401,11 @@ function parseHeaders(rawHeaders) {
386
401
  var key = parts.shift().trim();
387
402
  if (key) {
388
403
  var value = parts.join(":").trim();
389
- headers.append(key, value);
404
+ try {
405
+ headers.append(key, value);
406
+ } catch (error) {
407
+ console.warn("Response " + error.message);
408
+ }
390
409
  }
391
410
  });
392
411
  return headers;
@@ -401,6 +420,9 @@ function Response(bodyInit, options) {
401
420
  }
402
421
  this.type = "default";
403
422
  this.status = options.status === void 0 ? 200 : options.status;
423
+ if (this.status < 200 || this.status > 599) {
424
+ throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");
425
+ }
404
426
  this.ok = this.status >= 200 && this.status < 300;
405
427
  this.statusText = options.statusText === void 0 ? "" : "" + options.statusText;
406
428
  this.headers = new Headers(options.headers);
@@ -417,7 +439,9 @@ Response.prototype.clone = function() {
417
439
  });
418
440
  };
419
441
  Response.error = function() {
420
- var response = new Response(null, { status: 0, statusText: "" });
442
+ var response = new Response(null, { status: 200, statusText: "" });
443
+ response.ok = false;
444
+ response.status = 0;
421
445
  response.type = "error";
422
446
  return response;
423
447
  };
@@ -428,7 +452,7 @@ Response.redirect = function(url, status) {
428
452
  }
429
453
  return new Response(null, { status, headers: { location: url } });
430
454
  };
431
- var DOMException = global.DOMException;
455
+ var DOMException = g.DOMException;
432
456
  try {
433
457
  new DOMException();
434
458
  } catch (err) {
@@ -453,10 +477,14 @@ function fetch2(input, init) {
453
477
  }
454
478
  xhr.onload = function() {
455
479
  var options = {
456
- status: xhr.status,
457
480
  statusText: xhr.statusText,
458
481
  headers: parseHeaders(xhr.getAllResponseHeaders() || "")
459
482
  };
483
+ if (request.url.indexOf("file://") === 0 && (xhr.status < 200 || xhr.status > 599)) {
484
+ options.status = 200;
485
+ } else {
486
+ options.status = xhr.status;
487
+ }
460
488
  options.url = "responseURL" in xhr ? xhr.responseURL : options.headers.get("X-Request-URL");
461
489
  var body = "response" in xhr ? xhr.response : xhr.responseText;
462
490
  setTimeout(function() {
@@ -470,7 +498,7 @@ function fetch2(input, init) {
470
498
  };
471
499
  xhr.ontimeout = function() {
472
500
  setTimeout(function() {
473
- reject(new TypeError("Network request failed"));
501
+ reject(new TypeError("Network request timed out"));
474
502
  }, 0);
475
503
  };
476
504
  xhr.onabort = function() {
@@ -480,7 +508,7 @@ function fetch2(input, init) {
480
508
  };
481
509
  function fixUrl(url) {
482
510
  try {
483
- return url === "" && global.location.href ? global.location.href : url;
511
+ return url === "" && g.location.href ? g.location.href : url;
484
512
  } catch (e) {
485
513
  return url;
486
514
  }
@@ -494,14 +522,21 @@ function fetch2(input, init) {
494
522
  if ("responseType" in xhr) {
495
523
  if (support.blob) {
496
524
  xhr.responseType = "blob";
497
- } else if (support.arrayBuffer && request.headers.get("Content-Type") && request.headers.get("Content-Type").indexOf("application/octet-stream") !== -1) {
525
+ } else if (support.arrayBuffer) {
498
526
  xhr.responseType = "arraybuffer";
499
527
  }
500
528
  }
501
- if (init && typeof init.headers === "object" && !(init.headers instanceof Headers)) {
529
+ if (init && typeof init.headers === "object" && !(init.headers instanceof Headers || g.Headers && init.headers instanceof g.Headers)) {
530
+ var names = [];
502
531
  Object.getOwnPropertyNames(init.headers).forEach(function(name) {
532
+ names.push(normalizeName(name));
503
533
  xhr.setRequestHeader(name, normalizeValue(init.headers[name]));
504
534
  });
535
+ request.headers.forEach(function(value, name) {
536
+ if (names.indexOf(name) === -1) {
537
+ xhr.setRequestHeader(name, value);
538
+ }
539
+ });
505
540
  } else {
506
541
  request.headers.forEach(function(value, name) {
507
542
  xhr.setRequestHeader(name, value);
@@ -519,16 +554,14 @@ function fetch2(input, init) {
519
554
  });
520
555
  }
521
556
  fetch2.polyfill = true;
522
- if (!global.fetch) {
523
- global.fetch = fetch2;
524
- global.Headers = Headers;
525
- global.Request = Request;
526
- global.Response = Response;
557
+ if (!g.fetch) {
558
+ g.fetch = fetch2;
559
+ g.Headers = Headers;
560
+ g.Request = Request;
561
+ g.Response = Response;
527
562
  }
528
563
 
529
564
  // ../../node_modules/js-base64/base64.mjs
530
- var _hasatob = typeof atob === "function";
531
- var _hasbtoa = typeof btoa === "function";
532
565
  var _hasBuffer = typeof Buffer === "function";
533
566
  var _TD = typeof TextDecoder === "function" ? new TextDecoder() : void 0;
534
567
  var _TE = typeof TextEncoder === "function" ? new TextEncoder() : void 0;
@@ -541,7 +574,7 @@ var b64tab = ((a) => {
541
574
  })(b64chs);
542
575
  var b64re = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/;
543
576
  var _fromCC = String.fromCharCode.bind(String);
544
- var _U8Afrom = typeof Uint8Array.from === "function" ? Uint8Array.from.bind(Uint8Array) : (it, fn = (x) => x) => new Uint8Array(Array.prototype.slice.call(it, 0).map(fn));
577
+ var _U8Afrom = typeof Uint8Array.from === "function" ? Uint8Array.from.bind(Uint8Array) : (it) => new Uint8Array(Array.prototype.slice.call(it, 0));
545
578
  var _mkUriSafe = (src) => src.replace(/=/g, "").replace(/[+\/]/g, (m0) => m0 == "+" ? "-" : "_");
546
579
  var _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\+\/]/g, "");
547
580
  var btoaPolyfill = (bin) => {
@@ -555,7 +588,7 @@ var btoaPolyfill = (bin) => {
555
588
  }
556
589
  return pad ? asc.slice(0, pad - 3) + "===".substring(pad) : asc;
557
590
  };
558
- var _btoa = _hasbtoa ? (bin) => btoa(bin) : _hasBuffer ? (bin) => Buffer.from(bin, "binary").toString("base64") : btoaPolyfill;
591
+ var _btoa = typeof btoa === "function" ? (bin) => btoa(bin) : _hasBuffer ? (bin) => Buffer.from(bin, "binary").toString("base64") : btoaPolyfill;
559
592
  var _fromUint8Array = _hasBuffer ? (u8a) => Buffer.from(u8a).toString("base64") : (u8a) => {
560
593
  const maxargs = 4096;
561
594
  let strs = [];
@@ -589,7 +622,7 @@ var atobPolyfill = (asc) => {
589
622
  }
590
623
  return bin;
591
624
  };
592
- var _atob = _hasatob ? (asc) => atob(_tidyB64(asc)) : _hasBuffer ? (asc) => Buffer.from(asc, "base64").toString("binary") : atobPolyfill;
625
+ var _atob = typeof atob === "function" ? (asc) => atob(_tidyB64(asc)) : _hasBuffer ? (asc) => Buffer.from(asc, "base64").toString("binary") : atobPolyfill;
593
626
 
594
627
  // utils.ts
595
628
  function buildFetchOptions(method, options, bodyJson) {
@@ -1824,7 +1857,36 @@ var MezonApi = class {
1824
1857
  ]);
1825
1858
  }
1826
1859
  /** */
1827
- listCategoryDescs(bearerToken, clanId, creatorId, categoryName, categoryId, options = {}) {
1860
+ updateCategoryOrder(bearerToken, body, options = {}) {
1861
+ if (body === null || body === void 0) {
1862
+ throw new Error("'body' is a required parameter but is null or undefined.");
1863
+ }
1864
+ const urlPath = "/v2/category/orders";
1865
+ const queryParams = /* @__PURE__ */ new Map();
1866
+ let bodyJson = "";
1867
+ bodyJson = JSON.stringify(body || {});
1868
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
1869
+ const fetchOptions = buildFetchOptions("PUT", options, bodyJson);
1870
+ if (bearerToken) {
1871
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
1872
+ }
1873
+ return Promise.race([
1874
+ fetch(fullUrl, fetchOptions).then((response) => {
1875
+ if (response.status == 204) {
1876
+ return response;
1877
+ } else if (response.status >= 200 && response.status < 300) {
1878
+ return response.json();
1879
+ } else {
1880
+ throw response;
1881
+ }
1882
+ }),
1883
+ new Promise(
1884
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
1885
+ )
1886
+ ]);
1887
+ }
1888
+ /** */
1889
+ listCategoryDescs(bearerToken, clanId, creatorId, categoryName, categoryId, categoryOrder, options = {}) {
1828
1890
  if (clanId === null || clanId === void 0) {
1829
1891
  throw new Error("'clanId' is a required parameter but is null or undefined.");
1830
1892
  }
@@ -1833,6 +1895,7 @@ var MezonApi = class {
1833
1895
  queryParams.set("creator_id", creatorId);
1834
1896
  queryParams.set("category_name", categoryName);
1835
1897
  queryParams.set("category_id", categoryId);
1898
+ queryParams.set("category_order", categoryOrder);
1836
1899
  let bodyJson = "";
1837
1900
  const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
1838
1901
  const fetchOptions = buildFetchOptions("GET", options, bodyJson);
@@ -2506,6 +2569,34 @@ var MezonApi = class {
2506
2569
  )
2507
2570
  ]);
2508
2571
  }
2572
+ /** */
2573
+ deleteCategoryOrder(bearerToken, clanId, options = {}) {
2574
+ if (clanId === null || clanId === void 0) {
2575
+ throw new Error("'clanId' is a required parameter but is null or undefined.");
2576
+ }
2577
+ const urlPath = "/v2/deletecategoryorder/clan_id/{clanId}".replace("{clanId}", encodeURIComponent(String(clanId)));
2578
+ const queryParams = /* @__PURE__ */ new Map();
2579
+ let bodyJson = "";
2580
+ const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
2581
+ const fetchOptions = buildFetchOptions("DELETE", options, bodyJson);
2582
+ if (bearerToken) {
2583
+ fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
2584
+ }
2585
+ return Promise.race([
2586
+ fetch(fullUrl, fetchOptions).then((response) => {
2587
+ if (response.status == 204) {
2588
+ return response;
2589
+ } else if (response.status >= 200 && response.status < 300) {
2590
+ return response.json();
2591
+ } else {
2592
+ throw response;
2593
+ }
2594
+ }),
2595
+ new Promise(
2596
+ (_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")
2597
+ )
2598
+ ]);
2599
+ }
2509
2600
  /** regist fcm device token */
2510
2601
  registFCMDeviceToken(bearerToken, token, deviceId, platform, options = {}) {
2511
2602
  const urlPath = "/v2/devicetoken";
@@ -5262,18 +5353,6 @@ var _DefaultSocket = class _DefaultSocket {
5262
5353
  return response.notification_channel_category_setting_event;
5263
5354
  });
5264
5355
  }
5265
- addUserEmojiUsage(add_user_emoji_usage_event) {
5266
- return __async(this, null, function* () {
5267
- const response = yield this.send({ add_user_emoji_usage_event: { add_user_emoji_usage_event } });
5268
- return response.add_user_emoji_usage_event;
5269
- });
5270
- }
5271
- getUserEmojiUsage(clan_id) {
5272
- return __async(this, null, function* () {
5273
- const response = yield this.send({ get_user_emoji_usage_event: { clan_id } });
5274
- return response.get_user_emoji_usage_event;
5275
- });
5276
- }
5277
5356
  pingPong() {
5278
5357
  return __async(this, null, function* () {
5279
5358
  if (!this.adapter.isOpen()) {
@@ -7096,6 +7175,26 @@ var Client = class {
7096
7175
  });
7097
7176
  });
7098
7177
  }
7178
+ updateCategoryOrder(session, request) {
7179
+ return __async(this, null, function* () {
7180
+ if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
7181
+ yield this.sessionRefresh(session);
7182
+ }
7183
+ return this.apiClient.updateCategoryOrder(session.token, request).then((response) => {
7184
+ return Promise.resolve(response);
7185
+ });
7186
+ });
7187
+ }
7188
+ deleteCategoryOrder(session, clanId) {
7189
+ return __async(this, null, function* () {
7190
+ if (this.autoRefreshSession && session.refresh_token && session.isexpired((Date.now() + this.expiredTimespanMs) / 1e3)) {
7191
+ yield this.sessionRefresh(session);
7192
+ }
7193
+ return this.apiClient.deleteCategoryOrder(session.token, clanId).then((response) => {
7194
+ return Promise.resolve(response);
7195
+ });
7196
+ });
7197
+ }
7099
7198
  };
7100
7199
  export {
7101
7200
  ChannelStreamMode,
package/dist/socket.d.ts CHANGED
@@ -510,21 +510,6 @@ export interface NotificationChannelCategorySettingEvent {
510
510
  clan_id?: string;
511
511
  notification_channel_category_settings_list?: NotificationChannelCategorySetting[];
512
512
  }
513
- export interface UserEmojiUsage {
514
- user_id: string;
515
- emoji_id: string;
516
- clan_id: string;
517
- create_time: string;
518
- }
519
- export interface AddUserEmojiUsageEvent {
520
- emoji_id: string;
521
- clan_id: string;
522
- }
523
- /** Response cho ListUserEmojiUsage */
524
- export interface GetUserEmojiUsageEvent {
525
- clanId: string;
526
- user_emoji_usage: UserEmojiUsage[];
527
- }
528
513
  /** A socket connection to Mezon server. */
529
514
  export interface Socket {
530
515
  /** Connection is Open */
@@ -633,8 +618,6 @@ export interface Socket {
633
618
  GetPermissionByRoleIdChannelId(role_id: string, channel_id: string): Promise<PermissionRoleChannelListEvent>;
634
619
  getNotificationChannelCategorySetting(clan_id: string): Promise<NotificationChannelCategorySettingEvent>;
635
620
  oneventcreated: (clan_event_created: ApiCreateEventRequest) => void;
636
- addUserEmojiUsage: (add_user_emoji_usage_event: AddUserEmojiUsageEvent) => void;
637
- getUserEmojiUsage(clan_id: string): Promise<GetUserEmojiUsageEvent>;
638
621
  }
639
622
  /** Reports an error received from a socket message. */
640
623
  export interface SocketError {
@@ -724,8 +707,6 @@ export declare class DefaultSocket implements Socket {
724
707
  getNotificationClanSetting(clan_id: string): Promise<NotificationClanSettingEvent>;
725
708
  getNotificationReactMessage(channel_id: string): Promise<NotifiReactMessageEvent>;
726
709
  getNotificationChannelCategorySetting(clan_id: string): Promise<NotificationChannelCategorySettingEvent>;
727
- addUserEmojiUsage(add_user_emoji_usage_event: AddUserEmojiUsageEvent): Promise<any>;
728
- getUserEmojiUsage(clan_id: string): Promise<GetUserEmojiUsageEvent>;
729
710
  private pingPong;
730
711
  }
731
712
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mezon-js",
3
- "version": "2.8.81",
3
+ "version": "2.8.83",
4
4
  "scripts": {
5
5
  "build": "npx tsc && npx rollup -c --bundleConfigAsCjs && node build.mjs"
6
6
  },
package/socket.ts CHANGED
@@ -772,23 +772,6 @@ export interface NotificationChannelCategorySettingEvent {
772
772
  notification_channel_category_settings_list?: NotificationChannelCategorySetting[]
773
773
  }
774
774
 
775
- export interface UserEmojiUsage {
776
- user_id: string;
777
- emoji_id: string;
778
- clan_id: string;
779
- create_time: string;
780
- }
781
-
782
- export interface AddUserEmojiUsageEvent {
783
- emoji_id: string;
784
- clan_id: string;
785
- }
786
-
787
- /** Response cho ListUserEmojiUsage */
788
- export interface GetUserEmojiUsageEvent {
789
- clanId: string;
790
- user_emoji_usage: UserEmojiUsage[];
791
- }
792
775
 
793
776
  /** A socket connection to Mezon server. */
794
777
  export interface Socket {
@@ -972,11 +955,6 @@ export interface Socket {
972
955
  getNotificationChannelCategorySetting(clan_id : string): Promise<NotificationChannelCategorySettingEvent>;
973
956
 
974
957
  oneventcreated: (clan_event_created: ApiCreateEventRequest) => void;
975
-
976
- addUserEmojiUsage: (add_user_emoji_usage_event: AddUserEmojiUsageEvent) => void;
977
-
978
- getUserEmojiUsage(clan_id: string): Promise<GetUserEmojiUsageEvent>
979
-
980
958
  }
981
959
 
982
960
  /** Reports an error received from a socket message. */
@@ -1596,16 +1574,7 @@ export class DefaultSocket implements Socket {
1596
1574
  return response.notification_channel_category_setting_event
1597
1575
  }
1598
1576
 
1599
- async addUserEmojiUsage(add_user_emoji_usage_event: AddUserEmojiUsageEvent) {
1600
- const response = await this.send({add_user_emoji_usage_event: {add_user_emoji_usage_event: add_user_emoji_usage_event}})
1601
- return response.add_user_emoji_usage_event
1602
- }
1603
1577
 
1604
- async getUserEmojiUsage(clan_id: string): Promise<GetUserEmojiUsageEvent> {
1605
- const response = await this.send({get_user_emoji_usage_event: {clan_id: clan_id}})
1606
- return response.get_user_emoji_usage_event
1607
- }
1608
-
1609
1578
  private async pingPong(): Promise<void> {
1610
1579
  if (!this.adapter.isOpen()) {
1611
1580
  return;