mezon-js 2.13.44 → 2.13.46

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
@@ -2445,7 +2445,10 @@ export interface ApiSession {
2445
2445
  token?: string;
2446
2446
  // Whether to enable "Remember Me" for extended session duration.
2447
2447
  is_remember?: boolean;
2448
+ // endpoint url that belong to user
2448
2449
  api_url?: string;
2450
+ // id token for zklogin
2451
+ id_token?: string;
2449
2452
  }
2450
2453
 
2451
2454
  /** Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user. */
package/client.ts CHANGED
@@ -471,6 +471,15 @@ export class Client {
471
471
  this.apiClient = new MezonApi(serverkey, timeout, basePath);
472
472
  }
473
473
 
474
+ /**
475
+ * Called when a token refresh is initiated.
476
+ * This is a placeholder method that subclasses or instances can override
477
+ * to perform actions before or after the refresh logic.
478
+ */
479
+ onRefreshSession(session: ApiSession): void {
480
+ console.log(`Token refresh occurred. Token: ${session.token}`);
481
+ }
482
+
474
483
  /** check session isexpired */
475
484
  isexpired(session: Session): boolean {
476
485
  return session.isexpired(Date.now() / 1000)
@@ -505,7 +514,8 @@ export class Client {
505
514
  apiSession.refresh_token || "",
506
515
  apiSession.created || false,
507
516
  apiSession.api_url || "",
508
- false
517
+ apiSession.id_token || "",
518
+ false,
509
519
  );
510
520
  });
511
521
  }
@@ -563,6 +573,7 @@ export class Client {
563
573
  apiSession.refresh_token || "",
564
574
  apiSession.created || false,
565
575
  apiSession.api_url || "",
576
+ apiSession.id_token || "",
566
577
  false,
567
578
  );
568
579
  });
@@ -592,6 +603,7 @@ export class Client {
592
603
  apiSession.refresh_token || "",
593
604
  apiSession.created || false,
594
605
  apiSession.api_url || "",
606
+ apiSession.id_token || "",
595
607
  false,
596
608
  );
597
609
  });
@@ -2110,6 +2122,7 @@ export class Client {
2110
2122
  }
2111
2123
  );
2112
2124
  session.update(apiSession.token!, apiSession.refresh_token!, apiSession.is_remember || false);
2125
+ this.onRefreshSession(apiSession);
2113
2126
  resolve(session);
2114
2127
  } catch (error) {
2115
2128
  console.error("Session refresh failed:", error);
@@ -3966,6 +3979,7 @@ export class Client {
3966
3979
  apiSession.refresh_token || "",
3967
3980
  apiSession.created || false,
3968
3981
  apiSession.api_url || "",
3982
+ apiSession.id_token || "",
3969
3983
  apiSession.is_remember || false
3970
3984
  );
3971
3985
  }
package/dist/api.gen.d.ts CHANGED
@@ -1400,6 +1400,7 @@ export interface ApiSession {
1400
1400
  token?: string;
1401
1401
  is_remember?: boolean;
1402
1402
  api_url?: string;
1403
+ id_token?: string;
1403
1404
  }
1404
1405
  /** Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user. */
1405
1406
  export interface ApiSessionLogoutRequest {
package/dist/client.d.ts CHANGED
@@ -230,6 +230,12 @@ export declare class Client {
230
230
  port: string;
231
231
  useSSL: boolean;
232
232
  constructor(serverkey?: string, host?: string, port?: string, useSSL?: boolean, timeout?: number, autoRefreshSession?: boolean);
233
+ /**
234
+ * Called when a token refresh is initiated.
235
+ * This is a placeholder method that subclasses or instances can override
236
+ * to perform actions before or after the refresh logic.
237
+ */
238
+ onRefreshSession(session: ApiSession): void;
233
239
  /** check session isexpired */
234
240
  isexpired(session: Session): boolean;
235
241
  /** Authenticate a user with a custom id against the server. */
@@ -7207,20 +7207,23 @@ var MezonApi = class {
7207
7207
 
7208
7208
  // session.ts
7209
7209
  var Session = class _Session {
7210
- constructor(token, refresh_token, created, api_url, is_remember) {
7210
+ constructor(token, refresh_token, created, apiurl, idtoken, is_remember) {
7211
7211
  this.created = created;
7212
- this.api_url = api_url;
7212
+ this.apiurl = apiurl;
7213
+ this.idtoken = idtoken;
7213
7214
  this.token = token;
7214
7215
  this.refresh_token = refresh_token;
7216
+ this.id_token = idtoken;
7217
+ this.api_url = apiurl;
7215
7218
  this.created_at = Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
7216
7219
  this.is_remember = is_remember;
7217
7220
  this.update(token, refresh_token, is_remember);
7218
7221
  }
7219
7222
  isexpired(currenttime) {
7220
- return this.expires_at - currenttime <= 5;
7223
+ return this.expires_at - currenttime <= 0;
7221
7224
  }
7222
7225
  isrefreshexpired(currenttime) {
7223
- return this.refresh_expires_at - currenttime <= 5;
7226
+ return this.refresh_expires_at - currenttime <= 0;
7224
7227
  }
7225
7228
  update(token, refreshToken, isRemember) {
7226
7229
  const tokenParts = token.split(".");
@@ -7247,7 +7250,7 @@ var Session = class _Session {
7247
7250
  this.vars = tokenDecoded["vrs"];
7248
7251
  }
7249
7252
  static restore(token, refreshToken, api_url, isRemember) {
7250
- return new _Session(token, refreshToken, false, api_url, isRemember);
7253
+ return new _Session(token, refreshToken, false, api_url, "", isRemember);
7251
7254
  }
7252
7255
  };
7253
7256
 
@@ -8546,6 +8549,14 @@ var Client = class {
8546
8549
  const basePath = `${scheme}${host}:${port}`;
8547
8550
  this.apiClient = new MezonApi(serverkey, timeout, basePath);
8548
8551
  }
8552
+ /**
8553
+ * Called when a token refresh is initiated.
8554
+ * This is a placeholder method that subclasses or instances can override
8555
+ * to perform actions before or after the refresh logic.
8556
+ */
8557
+ onRefreshSession(session) {
8558
+ console.log(`Token refresh occurred. Token: ${session.token}`);
8559
+ }
8549
8560
  /** check session isexpired */
8550
8561
  isexpired(session) {
8551
8562
  return session.isexpired(Date.now() / 1e3);
@@ -8570,6 +8581,7 @@ var Client = class {
8570
8581
  apiSession.refresh_token || "",
8571
8582
  apiSession.created || false,
8572
8583
  apiSession.api_url || "",
8584
+ apiSession.id_token || "",
8573
8585
  false
8574
8586
  );
8575
8587
  });
@@ -8608,6 +8620,7 @@ var Client = class {
8608
8620
  apiSession.refresh_token || "",
8609
8621
  apiSession.created || false,
8610
8622
  apiSession.api_url || "",
8623
+ apiSession.id_token || "",
8611
8624
  false
8612
8625
  );
8613
8626
  });
@@ -8629,6 +8642,7 @@ var Client = class {
8629
8642
  apiSession.refresh_token || "",
8630
8643
  apiSession.created || false,
8631
8644
  apiSession.api_url || "",
8645
+ apiSession.id_token || "",
8632
8646
  false
8633
8647
  );
8634
8648
  });
@@ -9573,6 +9587,7 @@ var Client = class {
9573
9587
  }
9574
9588
  );
9575
9589
  session.update(apiSession.token, apiSession.refresh_token, apiSession.is_remember || false);
9590
+ this.onRefreshSession(apiSession);
9576
9591
  resolve(session);
9577
9592
  } catch (error) {
9578
9593
  console.error("Session refresh failed:", error);
@@ -10626,6 +10641,7 @@ var Client = class {
10626
10641
  apiSession.refresh_token || "",
10627
10642
  apiSession.created || false,
10628
10643
  apiSession.api_url || "",
10644
+ apiSession.id_token || "",
10629
10645
  apiSession.is_remember || false
10630
10646
  );
10631
10647
  });
@@ -7173,20 +7173,23 @@ var MezonApi = class {
7173
7173
 
7174
7174
  // session.ts
7175
7175
  var Session = class _Session {
7176
- constructor(token, refresh_token, created, api_url, is_remember) {
7176
+ constructor(token, refresh_token, created, apiurl, idtoken, is_remember) {
7177
7177
  this.created = created;
7178
- this.api_url = api_url;
7178
+ this.apiurl = apiurl;
7179
+ this.idtoken = idtoken;
7179
7180
  this.token = token;
7180
7181
  this.refresh_token = refresh_token;
7182
+ this.id_token = idtoken;
7183
+ this.api_url = apiurl;
7181
7184
  this.created_at = Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3);
7182
7185
  this.is_remember = is_remember;
7183
7186
  this.update(token, refresh_token, is_remember);
7184
7187
  }
7185
7188
  isexpired(currenttime) {
7186
- return this.expires_at - currenttime <= 5;
7189
+ return this.expires_at - currenttime <= 0;
7187
7190
  }
7188
7191
  isrefreshexpired(currenttime) {
7189
- return this.refresh_expires_at - currenttime <= 5;
7192
+ return this.refresh_expires_at - currenttime <= 0;
7190
7193
  }
7191
7194
  update(token, refreshToken, isRemember) {
7192
7195
  const tokenParts = token.split(".");
@@ -7213,7 +7216,7 @@ var Session = class _Session {
7213
7216
  this.vars = tokenDecoded["vrs"];
7214
7217
  }
7215
7218
  static restore(token, refreshToken, api_url, isRemember) {
7216
- return new _Session(token, refreshToken, false, api_url, isRemember);
7219
+ return new _Session(token, refreshToken, false, api_url, "", isRemember);
7217
7220
  }
7218
7221
  };
7219
7222
 
@@ -8512,6 +8515,14 @@ var Client = class {
8512
8515
  const basePath = `${scheme}${host}:${port}`;
8513
8516
  this.apiClient = new MezonApi(serverkey, timeout, basePath);
8514
8517
  }
8518
+ /**
8519
+ * Called when a token refresh is initiated.
8520
+ * This is a placeholder method that subclasses or instances can override
8521
+ * to perform actions before or after the refresh logic.
8522
+ */
8523
+ onRefreshSession(session) {
8524
+ console.log(`Token refresh occurred. Token: ${session.token}`);
8525
+ }
8515
8526
  /** check session isexpired */
8516
8527
  isexpired(session) {
8517
8528
  return session.isexpired(Date.now() / 1e3);
@@ -8536,6 +8547,7 @@ var Client = class {
8536
8547
  apiSession.refresh_token || "",
8537
8548
  apiSession.created || false,
8538
8549
  apiSession.api_url || "",
8550
+ apiSession.id_token || "",
8539
8551
  false
8540
8552
  );
8541
8553
  });
@@ -8574,6 +8586,7 @@ var Client = class {
8574
8586
  apiSession.refresh_token || "",
8575
8587
  apiSession.created || false,
8576
8588
  apiSession.api_url || "",
8589
+ apiSession.id_token || "",
8577
8590
  false
8578
8591
  );
8579
8592
  });
@@ -8595,6 +8608,7 @@ var Client = class {
8595
8608
  apiSession.refresh_token || "",
8596
8609
  apiSession.created || false,
8597
8610
  apiSession.api_url || "",
8611
+ apiSession.id_token || "",
8598
8612
  false
8599
8613
  );
8600
8614
  });
@@ -9539,6 +9553,7 @@ var Client = class {
9539
9553
  }
9540
9554
  );
9541
9555
  session.update(apiSession.token, apiSession.refresh_token, apiSession.is_remember || false);
9556
+ this.onRefreshSession(apiSession);
9542
9557
  resolve(session);
9543
9558
  } catch (error) {
9544
9559
  console.error("Session refresh failed:", error);
@@ -10592,6 +10607,7 @@ var Client = class {
10592
10607
  apiSession.refresh_token || "",
10593
10608
  apiSession.created || false,
10594
10609
  apiSession.api_url || "",
10610
+ apiSession.id_token || "",
10595
10611
  apiSession.is_remember || false
10596
10612
  );
10597
10613
  });
package/dist/session.d.ts CHANGED
@@ -42,9 +42,12 @@ export interface ISession {
42
42
  }
43
43
  export declare class Session implements ISession {
44
44
  readonly created: boolean;
45
- readonly api_url: string;
45
+ readonly apiurl: string;
46
+ readonly idtoken: string;
46
47
  token: string;
47
48
  readonly created_at: number;
49
+ readonly api_url: string;
50
+ readonly id_token: string;
48
51
  expires_at?: number;
49
52
  refresh_expires_at?: number;
50
53
  refresh_token: string;
@@ -52,7 +55,7 @@ export declare class Session implements ISession {
52
55
  user_id?: string;
53
56
  vars?: object;
54
57
  is_remember?: boolean;
55
- constructor(token: string, refresh_token: string, created: boolean, api_url: string, is_remember: boolean);
58
+ constructor(token: string, refresh_token: string, created: boolean, apiurl: string, idtoken: string, is_remember: boolean);
56
59
  isexpired(currenttime: number): boolean;
57
60
  isrefreshexpired(currenttime: number): boolean;
58
61
  update(token: string, refreshToken: string, isRemember: boolean): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mezon-js",
3
- "version": "2.13.44",
3
+ "version": "2.13.46",
4
4
  "scripts": {
5
5
  "build": "npx tsc && npx rollup -c --bundleConfigAsCjs && node build.mjs"
6
6
  },
package/session.ts CHANGED
@@ -50,6 +50,8 @@ export class Session implements ISession {
50
50
 
51
51
  token : string;
52
52
  readonly created_at: number;
53
+ readonly api_url: string;
54
+ readonly id_token: string;
53
55
  expires_at?: number;
54
56
  refresh_expires_at?: number;
55
57
  refresh_token: string;
@@ -62,21 +64,24 @@ export class Session implements ISession {
62
64
  token: string,
63
65
  refresh_token: string,
64
66
  readonly created: boolean,
65
- readonly api_url: string,
67
+ readonly apiurl: string,
68
+ readonly idtoken: string,
66
69
  is_remember: boolean) {
67
70
  this.token = token;
68
71
  this.refresh_token = refresh_token;
72
+ this.id_token = idtoken;
73
+ this.api_url = apiurl;
69
74
  this.created_at = Math.floor(new Date().getTime() / 1000);
70
75
  this.is_remember = is_remember;
71
76
  this.update(token, refresh_token, is_remember);
72
77
  }
73
78
 
74
79
  isexpired(currenttime: number): boolean {
75
- return (this.expires_at! - currenttime) <= 5; // expire 5s before server expired
80
+ return (this.expires_at! - currenttime) <= 0; // expired
76
81
  }
77
82
 
78
83
  isrefreshexpired(currenttime: number): boolean {
79
- return (this.refresh_expires_at! - currenttime) <= 5;
84
+ return (this.refresh_expires_at! - currenttime) <= 0;
80
85
  }
81
86
 
82
87
  update(token: string, refreshToken: string, isRemember: boolean) {
@@ -114,6 +119,6 @@ export class Session implements ISession {
114
119
  }
115
120
 
116
121
  static restore(token: string, refreshToken: string, api_url: string, isRemember: boolean): Session {
117
- return new Session(token, refreshToken, false, api_url, isRemember);
122
+ return new Session(token, refreshToken, false, api_url, "", isRemember);
118
123
  }
119
124
  }