@opexa/portal-sdk 0.59.71 → 0.59.73

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/dist/index.cjs CHANGED
@@ -87,6 +87,14 @@ var MEMBER_WALLET_ACCOUNT_QUERY = gql`
87
87
  }
88
88
  }
89
89
  `;
90
+ var MEMBER_LEVEL_HISTORY_QUERY = gql`
91
+ query MemberLevelHistory {
92
+ self {
93
+ id
94
+ memberLevelHistory
95
+ }
96
+ }
97
+ `;
90
98
  var POINTS_WALLET_QUERY = gql`
91
99
  query PointsWallet {
92
100
  pointsWallet {
@@ -3340,6 +3348,30 @@ var FAVORITE_GAMES_QUERY = gql`
3340
3348
  }
3341
3349
  }
3342
3350
  `;
3351
+ var FAVORITE_GAMES_QUERY__NEXT = gql`
3352
+ query FavoriteGames {
3353
+ favoriteGames {
3354
+ id
3355
+ }
3356
+ }
3357
+ `;
3358
+ var RECENT_GAMES_QUERY = gql`
3359
+ query RecentGames {
3360
+ recentGames {
3361
+ id
3362
+ }
3363
+ }
3364
+ `;
3365
+ var ADD_FAVORITE_GAME_MUTATION = gql`
3366
+ mutation AddFavoriteGame($game: ObjectId!) {
3367
+ addFavoriteGame(input: { game: $game })
3368
+ }
3369
+ `;
3370
+ var REMOVE_FAVORITE_GAME_MUTATION = gql`
3371
+ mutation RemoveFavoriteGame($game: ObjectId!) {
3372
+ removeFavoriteGame(input: { game: $game })
3373
+ }
3374
+ `;
3343
3375
  var WALLET_GAMES_QUERY = gql`
3344
3376
  query Games($first: Int $after: Cursor, $filter: GameFilterInput) {
3345
3377
  games(first: $first, after: $after, filter: $filter) {
@@ -5078,6 +5110,74 @@ var PortalService = class {
5078
5110
  data: res.data.recommendedGames
5079
5111
  };
5080
5112
  }
5113
+ async favoriteGames() {
5114
+ const res = await this.client.request(
5115
+ FAVORITE_GAMES_QUERY__NEXT
5116
+ );
5117
+ if (!res.ok) return res;
5118
+ if (!res.data.favoriteGames) {
5119
+ return {
5120
+ ok: false,
5121
+ error: {
5122
+ name: "UnknownError",
5123
+ message: "Something went wrong."
5124
+ }
5125
+ };
5126
+ }
5127
+ return {
5128
+ ok: true,
5129
+ data: res.data.favoriteGames
5130
+ };
5131
+ }
5132
+ async recentGames() {
5133
+ const res = await this.client.request(RECENT_GAMES_QUERY);
5134
+ if (!res.ok) return res;
5135
+ if (!res.data.recentGames) {
5136
+ return {
5137
+ ok: false,
5138
+ error: {
5139
+ name: "UnknownError",
5140
+ message: "Something went wrong."
5141
+ }
5142
+ };
5143
+ }
5144
+ return {
5145
+ ok: true,
5146
+ data: res.data.recentGames
5147
+ };
5148
+ }
5149
+ async addFavoriteGame(variables) {
5150
+ const res = await this.client.request(ADD_FAVORITE_GAME_MUTATION, variables);
5151
+ if (!res.ok) return res;
5152
+ if (!res.data.addFavoriteGame) {
5153
+ return {
5154
+ ok: false,
5155
+ error: {
5156
+ name: "UnknownError",
5157
+ message: "Something went wrong."
5158
+ }
5159
+ };
5160
+ }
5161
+ return {
5162
+ ok: true
5163
+ };
5164
+ }
5165
+ async removeFavoriteGame(variables) {
5166
+ const res = await this.client.request(REMOVE_FAVORITE_GAME_MUTATION, variables);
5167
+ if (!res.ok) return res;
5168
+ if (!res.data.removeFavoriteGame) {
5169
+ return {
5170
+ ok: false,
5171
+ error: {
5172
+ name: "UnknownError",
5173
+ message: "Something went wrong."
5174
+ }
5175
+ };
5176
+ }
5177
+ return {
5178
+ ok: true
5179
+ };
5180
+ }
5081
5181
  async onboardingStatus() {
5082
5182
  const res = await this.client.request(
5083
5183
  ONBOARDING_STATUS_QUERY
@@ -5562,6 +5662,12 @@ var WalletService = class {
5562
5662
  );
5563
5663
  return res.ok ? { ok: res.ok, data: res.data.self } : res;
5564
5664
  }
5665
+ async memberLevelHistory() {
5666
+ const res = await this.client.request(
5667
+ MEMBER_LEVEL_HISTORY_QUERY
5668
+ );
5669
+ return res.ok ? { ok: res.ok, data: res.data.self } : res;
5670
+ }
5565
5671
  async deposit(variables) {
5566
5672
  const res = await this.client.request(
5567
5673
  DEPOSIT_QUERY,
@@ -6963,8 +7069,8 @@ function pollable(func, config) {
6963
7069
  };
6964
7070
  }
6965
7071
 
6966
- // src/sdk/session-manager.ts
6967
- var SessionManager = class {
7072
+ // src/sdk/session-manager-cookie.ts
7073
+ var SessionManagerCookie = class {
6968
7074
  logger;
6969
7075
  storageKey = "session";
6970
7076
  platformStorageKey = "session/platform";
@@ -6975,10 +7081,6 @@ var SessionManager = class {
6975
7081
  this.authService = config.authService;
6976
7082
  this.walletService = config.walletService;
6977
7083
  this.logger = config.logger;
6978
- if (config.sessionPrefix) {
6979
- this.storageKey = `${config.sessionPrefix}/${this.storageKey}`;
6980
- this.platformStorageKey = `${config.sessionPrefix}/${this.platformStorageKey}`;
6981
- }
6982
7084
  }
6983
7085
  get refreshing() {
6984
7086
  return this._refreshing;
@@ -6987,16 +7089,6 @@ var SessionManager = class {
6987
7089
  this._refreshing = value;
6988
7090
  }
6989
7091
  async create(input, version = 1) {
6990
- if (this.isServer) {
6991
- this.logger.warn("'localStorage' is not available on the server.");
6992
- return {
6993
- ok: false,
6994
- error: {
6995
- name: "UnknownError",
6996
- message: "Server sign in is not supported."
6997
- }
6998
- };
6999
- }
7000
7092
  if (input.type === "MAYA") {
7001
7093
  localStorage.setItem(this.platformStorageKey, "MAYA");
7002
7094
  const f0 = () => this.walletService.mayaSession({ id: input.sessionId });
@@ -7023,13 +7115,14 @@ var SessionManager = class {
7023
7115
  })();
7024
7116
  if (!r1.ok) return r1;
7025
7117
  const now2 = /* @__PURE__ */ new Date();
7026
- localStorage.setItem(
7118
+ cookies__default.default.set(
7027
7119
  this.storageKey,
7028
7120
  JSON.stringify({
7029
7121
  ...r1.data,
7030
7122
  accessTokenExpiresAt: addMinutes(now2, 8).getTime(),
7031
7123
  refreshTokenExpiresAt: subMinutes(addDays(now2, 30), 2).getTime()
7032
- })
7124
+ }),
7125
+ { expires: subMinutes(addDays(now2, 30), 2).getTime() }
7033
7126
  );
7034
7127
  return {
7035
7128
  ok: true,
@@ -7040,13 +7133,16 @@ var SessionManager = class {
7040
7133
  const res2 = await this.authService.createSession(input, version);
7041
7134
  if (res2.ok) {
7042
7135
  const now2 = /* @__PURE__ */ new Date();
7043
- localStorage.setItem(
7136
+ cookies__default.default.set(
7044
7137
  this.storageKey,
7045
7138
  JSON.stringify({
7046
7139
  ...res2.data,
7047
7140
  accessTokenExpiresAt: addMinutes(now2, 8).getTime(),
7048
7141
  refreshTokenExpiresAt: subMinutes(addDays(now2, 30), 2).getTime()
7049
- })
7142
+ }),
7143
+ {
7144
+ expires: subMinutes(addDays(now2, 30), 2).getTime()
7145
+ }
7050
7146
  );
7051
7147
  return {
7052
7148
  ok: true,
@@ -7059,20 +7155,20 @@ var SessionManager = class {
7059
7155
  const res2 = await this.authService.createSession(
7060
7156
  {
7061
7157
  type: "SOCIALS",
7062
- token: input.token,
7063
- channel: input.channel
7158
+ token: input.token
7064
7159
  },
7065
7160
  version
7066
7161
  );
7067
7162
  if (res2.ok) {
7068
7163
  const now2 = /* @__PURE__ */ new Date();
7069
- localStorage.setItem(
7164
+ cookies__default.default.set(
7070
7165
  this.storageKey,
7071
7166
  JSON.stringify({
7072
7167
  ...res2.data,
7073
7168
  accessTokenExpiresAt: addMinutes(now2, 8).getTime(),
7074
7169
  refreshTokenExpiresAt: subMinutes(addDays(now2, 30), 2).getTime()
7075
- })
7170
+ }),
7171
+ { expires: subMinutes(addDays(now2, 30), 2).getTime() }
7076
7172
  );
7077
7173
  return {
7078
7174
  ok: true,
@@ -7086,13 +7182,14 @@ var SessionManager = class {
7086
7182
  const res2 = await this.authService.createSession(input, version);
7087
7183
  if (res2.ok) {
7088
7184
  const now2 = /* @__PURE__ */ new Date();
7089
- localStorage.setItem(
7185
+ cookies__default.default.set(
7090
7186
  this.storageKey,
7091
7187
  JSON.stringify({
7092
7188
  ...res2.data,
7093
7189
  accessTokenExpiresAt: addMinutes(now2, 8).getTime(),
7094
7190
  refreshTokenExpiresAt: subMinutes(addDays(now2, 30), 2).getTime()
7095
- })
7191
+ }),
7192
+ { expires: subMinutes(addDays(now2, 30), 2).getTime() }
7096
7193
  );
7097
7194
  return {
7098
7195
  ok: true,
@@ -7112,13 +7209,14 @@ var SessionManager = class {
7112
7209
  };
7113
7210
  }
7114
7211
  const now = /* @__PURE__ */ new Date();
7115
- localStorage.setItem(
7212
+ cookies__default.default.set(
7116
7213
  this.storageKey,
7117
7214
  JSON.stringify({
7118
7215
  ...res.data,
7119
7216
  accessTokenExpiresAt: addMinutes(now, 8).getTime(),
7120
7217
  refreshTokenExpiresAt: subMinutes(addDays(now, 30), 2).getTime()
7121
- })
7218
+ }),
7219
+ {}
7122
7220
  );
7123
7221
  return {
7124
7222
  ok: true,
@@ -7130,15 +7228,18 @@ var SessionManager = class {
7130
7228
  if (res.ok) {
7131
7229
  const now = /* @__PURE__ */ new Date();
7132
7230
  if (this.isServer) {
7133
- this.logger.warn("'localStorage' is not available on the server.");
7231
+ this.logger.warn("'client cookies' is not available on the server.");
7134
7232
  } else {
7135
- localStorage.setItem(
7233
+ cookies__default.default.set(
7136
7234
  this.storageKey,
7137
7235
  JSON.stringify({
7138
7236
  ...res.data,
7139
7237
  accessTokenExpiresAt: addMinutes(now, 8).getTime(),
7140
7238
  refreshTokenExpiresAt: subMinutes(addDays(now, 30), 2).getTime()
7141
- })
7239
+ }),
7240
+ {
7241
+ expires: subMinutes(addDays(now, 30), 2).getTime()
7242
+ }
7142
7243
  );
7143
7244
  }
7144
7245
  return { ok: true };
@@ -7148,7 +7249,7 @@ var SessionManager = class {
7148
7249
  }
7149
7250
  async get() {
7150
7251
  if (this.isServer) {
7151
- this.logger.warn("'localStorage' is not available on the server.");
7252
+ this.logger.warn("'client cookies' is not available on the server.");
7152
7253
  return {
7153
7254
  ok: true,
7154
7255
  data: null
@@ -7158,7 +7259,7 @@ var SessionManager = class {
7158
7259
  await sleep(1e3);
7159
7260
  return await this.get();
7160
7261
  }
7161
- const val = localStorage.getItem(this.storageKey);
7262
+ const val = cookies__default.default.get(this.storageKey);
7162
7263
  if (!val) {
7163
7264
  return {
7164
7265
  ok: true,
@@ -7172,7 +7273,7 @@ var SessionManager = class {
7172
7273
  const refreshTokenExpiresAt = new Date(obj.refreshTokenExpiresAt);
7173
7274
  if (isAfter(now, refreshTokenExpiresAt)) {
7174
7275
  this.logger.warn("Session expired. Logging out..");
7175
- localStorage.removeItem(this.storageKey);
7276
+ cookies__default.default.remove(this.storageKey);
7176
7277
  return {
7177
7278
  ok: false,
7178
7279
  error: {
@@ -7189,7 +7290,7 @@ var SessionManager = class {
7189
7290
  if (!res.ok) {
7190
7291
  this.logger.error(`Failed to refresh session: ${res.error.message}`);
7191
7292
  if (res.error.name === "InvalidTokenError" || res.error.name === "AccountBlacklistedError" || res.error.name === "VerificationLockedError") {
7192
- localStorage.removeItem(this.storageKey);
7293
+ cookies__default.default.remove(this.storageKey);
7193
7294
  return {
7194
7295
  ok: false,
7195
7296
  error: res.error
@@ -7210,7 +7311,9 @@ var SessionManager = class {
7210
7311
  accessTokenExpiresAt: addMinutes(now, 8).getTime(),
7211
7312
  refreshTokenExpiresAt: subMinutes(addDays(now, 30), 2).getTime()
7212
7313
  };
7213
- localStorage.setItem(this.storageKey, JSON.stringify(obj));
7314
+ cookies__default.default.set(this.storageKey, JSON.stringify(obj), {
7315
+ expires: subMinutes(addDays(now, 30), 2).getTime()
7316
+ });
7214
7317
  }
7215
7318
  return {
7216
7319
  ok: true,
@@ -7228,13 +7331,13 @@ var SessionManager = class {
7228
7331
  }
7229
7332
  async refresh() {
7230
7333
  if (this.isServer) {
7231
- this.logger.warn("'localStorage' is not available on the server.");
7334
+ this.logger.warn("'client cookies' is not available on the server.");
7232
7335
  return {
7233
7336
  ok: true,
7234
7337
  data: null
7235
7338
  };
7236
7339
  }
7237
- const val = localStorage.getItem(this.storageKey);
7340
+ const val = cookies__default.default.get(this.storageKey);
7238
7341
  if (!val) {
7239
7342
  return {
7240
7343
  ok: true,
@@ -7251,7 +7354,7 @@ var SessionManager = class {
7251
7354
  if (!res.ok) {
7252
7355
  this.logger.error(`Failed to refresh session: ${res.error.message}`);
7253
7356
  if (res.error.name === "InvalidTokenError" || res.error.name === "AccountBlacklistedError" || res.error.name === "VerificationLockedError") {
7254
- localStorage.removeItem(this.storageKey);
7357
+ cookies__default.default.remove(this.storageKey);
7255
7358
  return {
7256
7359
  ok: false,
7257
7360
  error: res.error
@@ -7272,7 +7375,9 @@ var SessionManager = class {
7272
7375
  accessTokenExpiresAt: addMinutes(now, 8).getTime(),
7273
7376
  refreshTokenExpiresAt: subMinutes(addDays(now, 30), 2).getTime()
7274
7377
  };
7275
- localStorage.setItem(this.storageKey, JSON.stringify(obj));
7378
+ cookies__default.default.set(this.storageKey, JSON.stringify(obj), {
7379
+ expires: subMinutes(addDays(now, 30), 2).getTime()
7380
+ });
7276
7381
  return {
7277
7382
  ok: true,
7278
7383
  data: obj
@@ -7289,18 +7394,18 @@ var SessionManager = class {
7289
7394
  }
7290
7395
  async destroy() {
7291
7396
  if (this.isServer) {
7292
- this.logger.warn("'localStorage' is not available on the server.");
7397
+ this.logger.warn("'client cookies' is not available on the server.");
7293
7398
  return;
7294
7399
  }
7295
7400
  const res = await this.get();
7296
7401
  if (res.data?.accessToken) {
7297
7402
  await this.authService.destroySession(res.data.accessToken);
7298
7403
  }
7299
- localStorage.removeItem(this.storageKey);
7404
+ cookies__default.default.remove(this.storageKey);
7300
7405
  }
7301
7406
  async verify() {
7302
7407
  if (this.isServer) {
7303
- this.logger.warn("'localStorage' is not available on the server.");
7408
+ this.logger.warn("'client cookies' is not available on the server.");
7304
7409
  return true;
7305
7410
  }
7306
7411
  const s = await this.get();
@@ -7310,13 +7415,13 @@ var SessionManager = class {
7310
7415
  if (!s.data) return true;
7311
7416
  const v = await this.authService.verifySession(s.data.accessToken);
7312
7417
  if (!v) {
7313
- localStorage.removeItem(this.storageKey);
7418
+ cookies__default.default.remove(this.storageKey);
7314
7419
  }
7315
7420
  return v;
7316
7421
  }
7317
7422
  get onMaya() {
7318
7423
  if (this.isServer) {
7319
- this.logger.warn("'localStorage' is not available on the server.");
7424
+ this.logger.warn("'client cookies' is not available on the server.");
7320
7425
  return false;
7321
7426
  }
7322
7427
  return localStorage.getItem(this.platformStorageKey) === "MAYA";
@@ -7332,7 +7437,9 @@ var SessionManager = class {
7332
7437
  return typeof window === "undefined";
7333
7438
  }
7334
7439
  };
7335
- var SessionManagerCookie = class {
7440
+
7441
+ // src/sdk/session-manager.ts
7442
+ var SessionManager = class {
7336
7443
  logger;
7337
7444
  storageKey = "session";
7338
7445
  platformStorageKey = "session/platform";
@@ -7343,6 +7450,10 @@ var SessionManagerCookie = class {
7343
7450
  this.authService = config.authService;
7344
7451
  this.walletService = config.walletService;
7345
7452
  this.logger = config.logger;
7453
+ if (config.sessionPrefix) {
7454
+ this.storageKey = `${config.sessionPrefix}/${this.storageKey}`;
7455
+ this.platformStorageKey = `${config.sessionPrefix}/${this.platformStorageKey}`;
7456
+ }
7346
7457
  }
7347
7458
  get refreshing() {
7348
7459
  return this._refreshing;
@@ -7351,6 +7462,16 @@ var SessionManagerCookie = class {
7351
7462
  this._refreshing = value;
7352
7463
  }
7353
7464
  async create(input, version = 1) {
7465
+ if (this.isServer) {
7466
+ this.logger.warn("'localStorage' is not available on the server.");
7467
+ return {
7468
+ ok: false,
7469
+ error: {
7470
+ name: "UnknownError",
7471
+ message: "Server sign in is not supported."
7472
+ }
7473
+ };
7474
+ }
7354
7475
  if (input.type === "MAYA") {
7355
7476
  localStorage.setItem(this.platformStorageKey, "MAYA");
7356
7477
  const f0 = () => this.walletService.mayaSession({ id: input.sessionId });
@@ -7377,14 +7498,13 @@ var SessionManagerCookie = class {
7377
7498
  })();
7378
7499
  if (!r1.ok) return r1;
7379
7500
  const now2 = /* @__PURE__ */ new Date();
7380
- cookies__default.default.set(
7501
+ localStorage.setItem(
7381
7502
  this.storageKey,
7382
7503
  JSON.stringify({
7383
7504
  ...r1.data,
7384
7505
  accessTokenExpiresAt: addMinutes(now2, 8).getTime(),
7385
7506
  refreshTokenExpiresAt: subMinutes(addDays(now2, 30), 2).getTime()
7386
- }),
7387
- { expires: subMinutes(addDays(now2, 30), 2).getTime() }
7507
+ })
7388
7508
  );
7389
7509
  return {
7390
7510
  ok: true,
@@ -7395,16 +7515,13 @@ var SessionManagerCookie = class {
7395
7515
  const res2 = await this.authService.createSession(input, version);
7396
7516
  if (res2.ok) {
7397
7517
  const now2 = /* @__PURE__ */ new Date();
7398
- cookies__default.default.set(
7518
+ localStorage.setItem(
7399
7519
  this.storageKey,
7400
7520
  JSON.stringify({
7401
7521
  ...res2.data,
7402
7522
  accessTokenExpiresAt: addMinutes(now2, 8).getTime(),
7403
7523
  refreshTokenExpiresAt: subMinutes(addDays(now2, 30), 2).getTime()
7404
- }),
7405
- {
7406
- expires: subMinutes(addDays(now2, 30), 2).getTime()
7407
- }
7524
+ })
7408
7525
  );
7409
7526
  return {
7410
7527
  ok: true,
@@ -7417,20 +7534,20 @@ var SessionManagerCookie = class {
7417
7534
  const res2 = await this.authService.createSession(
7418
7535
  {
7419
7536
  type: "SOCIALS",
7420
- token: input.token
7537
+ token: input.token,
7538
+ channel: input.channel
7421
7539
  },
7422
7540
  version
7423
7541
  );
7424
7542
  if (res2.ok) {
7425
7543
  const now2 = /* @__PURE__ */ new Date();
7426
- cookies__default.default.set(
7544
+ localStorage.setItem(
7427
7545
  this.storageKey,
7428
7546
  JSON.stringify({
7429
7547
  ...res2.data,
7430
7548
  accessTokenExpiresAt: addMinutes(now2, 8).getTime(),
7431
7549
  refreshTokenExpiresAt: subMinutes(addDays(now2, 30), 2).getTime()
7432
- }),
7433
- { expires: subMinutes(addDays(now2, 30), 2).getTime() }
7550
+ })
7434
7551
  );
7435
7552
  return {
7436
7553
  ok: true,
@@ -7444,14 +7561,13 @@ var SessionManagerCookie = class {
7444
7561
  const res2 = await this.authService.createSession(input, version);
7445
7562
  if (res2.ok) {
7446
7563
  const now2 = /* @__PURE__ */ new Date();
7447
- cookies__default.default.set(
7564
+ localStorage.setItem(
7448
7565
  this.storageKey,
7449
7566
  JSON.stringify({
7450
7567
  ...res2.data,
7451
7568
  accessTokenExpiresAt: addMinutes(now2, 8).getTime(),
7452
7569
  refreshTokenExpiresAt: subMinutes(addDays(now2, 30), 2).getTime()
7453
- }),
7454
- { expires: subMinutes(addDays(now2, 30), 2).getTime() }
7570
+ })
7455
7571
  );
7456
7572
  return {
7457
7573
  ok: true,
@@ -7471,14 +7587,13 @@ var SessionManagerCookie = class {
7471
7587
  };
7472
7588
  }
7473
7589
  const now = /* @__PURE__ */ new Date();
7474
- cookies__default.default.set(
7590
+ localStorage.setItem(
7475
7591
  this.storageKey,
7476
7592
  JSON.stringify({
7477
7593
  ...res.data,
7478
7594
  accessTokenExpiresAt: addMinutes(now, 8).getTime(),
7479
7595
  refreshTokenExpiresAt: subMinutes(addDays(now, 30), 2).getTime()
7480
- }),
7481
- {}
7596
+ })
7482
7597
  );
7483
7598
  return {
7484
7599
  ok: true,
@@ -7490,18 +7605,15 @@ var SessionManagerCookie = class {
7490
7605
  if (res.ok) {
7491
7606
  const now = /* @__PURE__ */ new Date();
7492
7607
  if (this.isServer) {
7493
- this.logger.warn("'client cookies' is not available on the server.");
7608
+ this.logger.warn("'localStorage' is not available on the server.");
7494
7609
  } else {
7495
- cookies__default.default.set(
7610
+ localStorage.setItem(
7496
7611
  this.storageKey,
7497
7612
  JSON.stringify({
7498
7613
  ...res.data,
7499
7614
  accessTokenExpiresAt: addMinutes(now, 8).getTime(),
7500
7615
  refreshTokenExpiresAt: subMinutes(addDays(now, 30), 2).getTime()
7501
- }),
7502
- {
7503
- expires: subMinutes(addDays(now, 30), 2).getTime()
7504
- }
7616
+ })
7505
7617
  );
7506
7618
  }
7507
7619
  return { ok: true };
@@ -7511,7 +7623,7 @@ var SessionManagerCookie = class {
7511
7623
  }
7512
7624
  async get() {
7513
7625
  if (this.isServer) {
7514
- this.logger.warn("'client cookies' is not available on the server.");
7626
+ this.logger.warn("'localStorage' is not available on the server.");
7515
7627
  return {
7516
7628
  ok: true,
7517
7629
  data: null
@@ -7521,7 +7633,7 @@ var SessionManagerCookie = class {
7521
7633
  await sleep(1e3);
7522
7634
  return await this.get();
7523
7635
  }
7524
- const val = cookies__default.default.get(this.storageKey);
7636
+ const val = localStorage.getItem(this.storageKey);
7525
7637
  if (!val) {
7526
7638
  return {
7527
7639
  ok: true,
@@ -7535,7 +7647,7 @@ var SessionManagerCookie = class {
7535
7647
  const refreshTokenExpiresAt = new Date(obj.refreshTokenExpiresAt);
7536
7648
  if (isAfter(now, refreshTokenExpiresAt)) {
7537
7649
  this.logger.warn("Session expired. Logging out..");
7538
- cookies__default.default.remove(this.storageKey);
7650
+ localStorage.removeItem(this.storageKey);
7539
7651
  return {
7540
7652
  ok: false,
7541
7653
  error: {
@@ -7552,7 +7664,7 @@ var SessionManagerCookie = class {
7552
7664
  if (!res.ok) {
7553
7665
  this.logger.error(`Failed to refresh session: ${res.error.message}`);
7554
7666
  if (res.error.name === "InvalidTokenError" || res.error.name === "AccountBlacklistedError" || res.error.name === "VerificationLockedError") {
7555
- cookies__default.default.remove(this.storageKey);
7667
+ localStorage.removeItem(this.storageKey);
7556
7668
  return {
7557
7669
  ok: false,
7558
7670
  error: res.error
@@ -7573,9 +7685,7 @@ var SessionManagerCookie = class {
7573
7685
  accessTokenExpiresAt: addMinutes(now, 8).getTime(),
7574
7686
  refreshTokenExpiresAt: subMinutes(addDays(now, 30), 2).getTime()
7575
7687
  };
7576
- cookies__default.default.set(this.storageKey, JSON.stringify(obj), {
7577
- expires: subMinutes(addDays(now, 30), 2).getTime()
7578
- });
7688
+ localStorage.setItem(this.storageKey, JSON.stringify(obj));
7579
7689
  }
7580
7690
  return {
7581
7691
  ok: true,
@@ -7593,13 +7703,13 @@ var SessionManagerCookie = class {
7593
7703
  }
7594
7704
  async refresh() {
7595
7705
  if (this.isServer) {
7596
- this.logger.warn("'client cookies' is not available on the server.");
7706
+ this.logger.warn("'localStorage' is not available on the server.");
7597
7707
  return {
7598
7708
  ok: true,
7599
7709
  data: null
7600
7710
  };
7601
7711
  }
7602
- const val = cookies__default.default.get(this.storageKey);
7712
+ const val = localStorage.getItem(this.storageKey);
7603
7713
  if (!val) {
7604
7714
  return {
7605
7715
  ok: true,
@@ -7616,7 +7726,7 @@ var SessionManagerCookie = class {
7616
7726
  if (!res.ok) {
7617
7727
  this.logger.error(`Failed to refresh session: ${res.error.message}`);
7618
7728
  if (res.error.name === "InvalidTokenError" || res.error.name === "AccountBlacklistedError" || res.error.name === "VerificationLockedError") {
7619
- cookies__default.default.remove(this.storageKey);
7729
+ localStorage.removeItem(this.storageKey);
7620
7730
  return {
7621
7731
  ok: false,
7622
7732
  error: res.error
@@ -7637,9 +7747,7 @@ var SessionManagerCookie = class {
7637
7747
  accessTokenExpiresAt: addMinutes(now, 8).getTime(),
7638
7748
  refreshTokenExpiresAt: subMinutes(addDays(now, 30), 2).getTime()
7639
7749
  };
7640
- cookies__default.default.set(this.storageKey, JSON.stringify(obj), {
7641
- expires: subMinutes(addDays(now, 30), 2).getTime()
7642
- });
7750
+ localStorage.setItem(this.storageKey, JSON.stringify(obj));
7643
7751
  return {
7644
7752
  ok: true,
7645
7753
  data: obj
@@ -7656,18 +7764,18 @@ var SessionManagerCookie = class {
7656
7764
  }
7657
7765
  async destroy() {
7658
7766
  if (this.isServer) {
7659
- this.logger.warn("'client cookies' is not available on the server.");
7767
+ this.logger.warn("'localStorage' is not available on the server.");
7660
7768
  return;
7661
7769
  }
7662
7770
  const res = await this.get();
7663
7771
  if (res.data?.accessToken) {
7664
7772
  await this.authService.destroySession(res.data.accessToken);
7665
7773
  }
7666
- cookies__default.default.remove(this.storageKey);
7774
+ localStorage.removeItem(this.storageKey);
7667
7775
  }
7668
7776
  async verify() {
7669
7777
  if (this.isServer) {
7670
- this.logger.warn("'client cookies' is not available on the server.");
7778
+ this.logger.warn("'localStorage' is not available on the server.");
7671
7779
  return true;
7672
7780
  }
7673
7781
  const s = await this.get();
@@ -7677,13 +7785,13 @@ var SessionManagerCookie = class {
7677
7785
  if (!s.data) return true;
7678
7786
  const v = await this.authService.verifySession(s.data.accessToken);
7679
7787
  if (!v) {
7680
- cookies__default.default.remove(this.storageKey);
7788
+ localStorage.removeItem(this.storageKey);
7681
7789
  }
7682
7790
  return v;
7683
7791
  }
7684
7792
  get onMaya() {
7685
7793
  if (this.isServer) {
7686
- this.logger.warn("'client cookies' is not available on the server.");
7794
+ this.logger.warn("'localStorage' is not available on the server.");
7687
7795
  return false;
7688
7796
  }
7689
7797
  return localStorage.getItem(this.platformStorageKey) === "MAYA";
@@ -10507,6 +10615,14 @@ var Sdk = class {
10507
10615
  data: res.data ? this.transformer.transform.memberWalletAccount(res.data) : null
10508
10616
  };
10509
10617
  }
10618
+ async memberLevelHistory() {
10619
+ const res = await this.walletService.memberLevelHistory();
10620
+ if (!res.ok) return res;
10621
+ return {
10622
+ ok: true,
10623
+ data: res.data
10624
+ };
10625
+ }
10510
10626
  /*
10511
10627
  *=============================================
10512
10628
  * ANNOUNCEMENT
@@ -11501,6 +11617,66 @@ var Sdk = class {
11501
11617
  }).filter(Boolean) ?? []
11502
11618
  };
11503
11619
  }
11620
+ async favoriteGames__next() {
11621
+ const res0 = await this.portalService.favoriteGames();
11622
+ const ids = res0.data?.length ? [...new Set(res0.data.map((e) => e.id))] : [];
11623
+ if (ids.length <= 0) {
11624
+ return {
11625
+ ok: true,
11626
+ data: []
11627
+ };
11628
+ }
11629
+ const res1 = await this.cmsPortalService.games({
11630
+ filter: {
11631
+ reference: {
11632
+ in: ids
11633
+ }
11634
+ }
11635
+ });
11636
+ if (!res1.ok) return res1;
11637
+ return {
11638
+ ok: true,
11639
+ data: res0.data?.map(({ id }) => {
11640
+ const game = res1.data.edges.find(
11641
+ (e) => id === e.node.reference
11642
+ )?.node;
11643
+ return game ? this.transformer.transform.game(game) : null;
11644
+ }).filter(Boolean) ?? []
11645
+ };
11646
+ }
11647
+ async recentGames() {
11648
+ const res0 = await this.portalService.recentGames();
11649
+ const ids = res0.data?.length ? [...new Set(res0.data.map((e) => e.id))] : [];
11650
+ if (ids.length <= 0) {
11651
+ return {
11652
+ ok: true,
11653
+ data: []
11654
+ };
11655
+ }
11656
+ const res1 = await this.cmsPortalService.games({
11657
+ filter: {
11658
+ reference: {
11659
+ in: ids
11660
+ }
11661
+ }
11662
+ });
11663
+ if (!res1.ok) return res1;
11664
+ return {
11665
+ ok: true,
11666
+ data: res0.data?.map(({ id }) => {
11667
+ const game = res1.data.edges.find(
11668
+ (e) => id === e.node.reference
11669
+ )?.node;
11670
+ return game ? this.transformer.transform.game(game) : null;
11671
+ }).filter(Boolean) ?? []
11672
+ };
11673
+ }
11674
+ async addFavoriteGame(input) {
11675
+ return await this.portalService.addFavoriteGame(input);
11676
+ }
11677
+ async removeFavoriteGame(input) {
11678
+ return await this.portalService.removeFavoriteGame(input);
11679
+ }
11504
11680
  /*
11505
11681
  *=============================================
11506
11682
  * FILE