@opexa/portal-sdk 0.0.21 → 0.0.23

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.
Files changed (36) hide show
  1. package/dist/index.js +481 -469
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.mjs +920 -868
  4. package/dist/index.mjs.map +1 -1
  5. package/dist/sdk/sdk.d.ts +8 -23
  6. package/dist/sdk/session-manager.d.ts +8 -3
  7. package/dist/sdk/types.d.ts +141 -98
  8. package/dist/services/account.service.d.ts +1 -4
  9. package/dist/services/auth.service.d.ts +2 -4
  10. package/dist/services/file.service.d.ts +1 -1
  11. package/dist/services/game.service.d.ts +12 -7
  12. package/dist/services/index.d.ts +0 -16
  13. package/dist/services/portal.service.d.ts +1 -1
  14. package/dist/services/queries.d.ts +55 -0
  15. package/dist/services/report.service.d.ts +1 -6
  16. package/dist/services/types.d.ts +793 -8
  17. package/dist/services/utils.d.ts +2 -9
  18. package/dist/services/wallet.service.d.ts +17 -10
  19. package/dist/utils/clamp.d.ts +1 -0
  20. package/dist/utils/pollable.d.ts +28 -0
  21. package/package.json +4 -1
  22. package/dist/services/announcement.d.ts +0 -29
  23. package/dist/services/bet-record.d.ts +0 -65
  24. package/dist/services/bonus.d.ts +0 -45
  25. package/dist/services/cashback.d.ts +0 -20
  26. package/dist/services/deposit.d.ts +0 -90
  27. package/dist/services/file.d.ts +0 -49
  28. package/dist/services/game.d.ts +0 -98
  29. package/dist/services/member.d.ts +0 -202
  30. package/dist/services/platform.d.ts +0 -38
  31. package/dist/services/points.d.ts +0 -24
  32. package/dist/services/promo.d.ts +0 -33
  33. package/dist/services/session.d.ts +0 -80
  34. package/dist/services/transaction.d.ts +0 -25
  35. package/dist/services/wallet.d.ts +0 -14
  36. package/dist/services/withdrawal.d.ts +0 -114
package/dist/index.js CHANGED
@@ -1,52 +1,73 @@
1
- (function(l,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("@opexa/object-id")):typeof define=="function"&&define.amd?define(["exports","@opexa/object-id"],u):(l=typeof globalThis<"u"?globalThis:l||self,u(l.sdk={},l.objectId))})(this,function(l,u){"use strict";var _t=Object.defineProperty;var vt=(l,u,f)=>u in l?_t(l,u,{enumerable:!0,configurable:!0,writable:!0,value:f}):l[u]=f;var m=(l,u,f)=>vt(l,typeof u!="symbol"?u+"":u,f);const f={Account:8,Deposit:9,Withdrawal:14,Verification:15,File:16,GameSession:204,MayaSession:230};function i(o,...e){let t="";for(const[a,r]of o.entries()){const s=e.at(a)??"";t=`${t}${r}${s}`}return t.trim()}const ge=i`
2
- query Announcements($first: Int, $after: Cursor, $filter: AnnouncementFilterInput) {
3
- announcements(first: $first, after: $after, filter: $filter) {
4
- edges {
5
- cursor
6
- node {
7
- ... on Announcement {
8
- id
9
- type
10
- title
11
- status
12
- message
13
- activationStartDateTime
14
- activationEndDateTime
15
- dateTimeCreated
16
- dateTimeLastUpdated
17
- }
18
- }
1
+ (function(l,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("@opexa/object-id")):typeof define=="function"&&define.amd?define(["exports","@opexa/object-id"],u):(l=typeof globalThis<"u"?globalThis:l||self,u(l.sdk={},l.objectId))})(this,function(l,u){"use strict";var Nt=Object.defineProperty;var Dt=(l,u,w)=>u in l?Nt(l,u,{enumerable:!0,configurable:!0,writable:!0,value:w}):l[u]=w;var m=(l,u,w)=>Dt(l,typeof u!="symbol"?u+"":u,w);const w={Account:8,Deposit:9,Withdrawal:14,Verification:15,File:16,GameSession:204,MayaSession:230};function o(n,...e){let t="";for(const[a,r]of n.entries()){const s=e.at(a)??"";t=`${t}${r}${s}`}return t.trim()}const _=o`
2
+ fragment FileFragment on File {
3
+ id
4
+ url
5
+ status
6
+ dateTimeCreated
7
+ }
8
+ `,Ce=o`
9
+ ${_}
10
+
11
+ query File($id: ObjectId!) {
12
+ node(id: $id) {
13
+ ... on File {
14
+ ...FileFragment
19
15
  }
20
- totalCount
21
- pageInfo {
22
- hasNextPage
23
- endCursor
16
+ }
17
+ }
18
+ `,_e=o`
19
+ mutation UploadPrivateImageFile($input: UploadFileInput!) {
20
+ uploadPrivateImageFile(input: $input) {
21
+ ... on FileFormatNotSupportedError {
22
+ __typename
24
23
  }
24
+ ... on FileNameTooLongError {
25
+ __typename
26
+ }
27
+ ... on FileSizeTooBigError {
28
+ __typename
29
+ }
30
+ }
31
+ }
32
+ `,Te=o`
33
+ query Wallet {
34
+ wallet {
35
+ id
36
+ balance
37
+ currency
38
+ dateTimeCreated
39
+ dateTimeLastUpdated
40
+ }
41
+ }
42
+ `,ve=o`
43
+ query PointsWallet {
44
+ pointsWallet {
45
+ id
46
+ points
47
+ account
48
+ dateTimeCreated
25
49
  }
26
50
  }
27
- `,E=i`
51
+ `,Me=o`
52
+ mutation PointsToCashConversion($input: PointsToCashConversionInput!) {
53
+ pointsToCashConversion(input: $input) {
54
+ ... on InsufficientPointsError {
55
+ __typename
56
+ }
57
+ }
58
+ }
59
+ `,T=o`
28
60
  fragment GameFragment on Game {
29
61
  id
30
62
  type
31
63
  name
32
64
  provider
33
65
  }
34
- `,Ee=i`
35
- ${E}
36
-
37
- query Game($id: ObjectId!) {
38
- node(id: $id) {
39
- ... on Game {
40
- ...GameFragment
41
- }
42
- }
43
- }
44
- `,Ae=i`
45
- ${E}
66
+ `,D=o`
67
+ ${T}
46
68
 
47
- query Games($after: Cursor, $first: Int, $filter: GameFilterInput) {
48
- games(after: $after, first: $first, filter: $filter) {
49
- totalCount
69
+ query Games($first: Int, $after: Cursor, $filter: GameFilterInput) {
70
+ games(first: $first, after: $after, filter: $filter) {
50
71
  edges {
51
72
  cursor
52
73
  node {
@@ -55,25 +76,27 @@
55
76
  }
56
77
  }
57
78
  }
79
+ totalCount
58
80
  pageInfo {
59
81
  hasNextPage
60
82
  endCursor
61
83
  }
62
84
  }
63
85
  }
64
- `,Se=i`
65
- ${E}
86
+ `,I=o`
87
+ ${T}
66
88
 
67
- query GamesByName($search: String!, $filter: GameFilterInput, $first: Int) {
68
- gamesByName(search: $search, filter: $filter, first: $first) {
69
- ...GameFragment
89
+ query GamesByName($first: Int, $search: String!, $filter: GameFilterInput) {
90
+ gamesByName(first: $first, search: $search, filter: $filter) {
91
+ id
70
92
  }
71
93
  }
72
- `,ke=i`
94
+ `,Ne=o`
73
95
  query GameSession($id: ObjectId!) {
74
96
  node(id: $id) {
75
97
  ... on GameSession {
76
98
  id
99
+ game
77
100
  status
78
101
  launchUrl
79
102
  dateTimeCreated
@@ -81,7 +104,7 @@
81
104
  }
82
105
  }
83
106
  }
84
- `,Ce=i`
107
+ `,R=o`
85
108
  mutation CreateGameSession($input: CreateGameSessionInput!) {
86
109
  createGameSession(input: $input) {
87
110
  ... on GameDoesNotExistError {
@@ -89,43 +112,125 @@
89
112
  }
90
113
  }
91
114
  }
92
- `,Te=i`
115
+ `,De=o`
93
116
  mutation EndGameSession($input: EndGameSessionInput!) {
94
117
  endGameSession(input: $input)
95
118
  }
96
- `,_e=i`
97
- ${E}
98
-
99
- query BetRecords($first: Int, $after: Cursor, $filter: BetRecordFilterInput) {
119
+ `,Ie=o`
120
+ query GameSession($id: ObjectId!) {
121
+ node(id: $id) {
122
+ ... on GameSession {
123
+ id
124
+ game {
125
+ id
126
+ }
127
+ status
128
+ launchUrl
129
+ dateTimeCreated
130
+ dateTimeLastUpdated
131
+ }
132
+ }
133
+ }
134
+ `,Re=o`
135
+ mutation EndGameSession($input: EndGameSessionInput!) {
136
+ endGameSession(input: $input) {
137
+ ... on GameSessionDoesNotExistError {
138
+ __typename
139
+ }
140
+ ... on GameSessionAlreadyClosedError {
141
+ __typename
142
+ }
143
+ ... on GameProviderError {
144
+ __typename
145
+ }
146
+ }
147
+ }
148
+ `,Ge=o`
149
+ query Announcements($first: Int, $after: Cursor, $filter: AnnouncementFilterInput) {
150
+ announcements(first: $first, after: $after, filter: $filter) {
151
+ edges {
152
+ cursor
153
+ node {
154
+ ... on Announcement {
155
+ id
156
+ type
157
+ title
158
+ status
159
+ message
160
+ activationStartDateTime
161
+ activationEndDateTime
162
+ dateTimeCreated
163
+ dateTimeLastUpdated
164
+ }
165
+ }
166
+ }
167
+ totalCount
168
+ pageInfo {
169
+ hasNextPage
170
+ endCursor
171
+ }
172
+ }
173
+ }
174
+ `,Pe=o`
175
+ query WithdrawalRecords($first: Int, $after: Cursor, $filter: WithdrawalRecordFilterInput) {
100
176
  member {
101
- betRecords(first: $first, after: $after, filter: $filter) {
102
- totalCount
177
+ withdrawalRecords(first: $first, after: $after, filter: $filter) {
103
178
  edges {
104
179
  cursor
105
180
  node {
106
- ... on BetRecord {
181
+ ... on BankWithdrawalRecord {
107
182
  id
108
- serialCode
109
- game {
110
- ...GameFragment
111
- }
112
- bet
113
- payout
114
- winloss
115
- jackpotPayout
116
- jackpotContribution
183
+ type
184
+ bank
185
+ fee
186
+ netAmount
187
+ reference
188
+ amount
117
189
  status
190
+ withdrawalNumber
191
+ dateTimeCreated
192
+ dateTimeLastUpdated
193
+ }
194
+ ... on GCashWithdrawalRecord {
195
+ id
196
+ type
197
+ fee
198
+ netAmount
199
+ reference
200
+ amount
201
+ status
202
+ withdrawalNumber
203
+ recipientMobileNumber
204
+ dateTimeCreated
205
+ dateTimeLastUpdated
206
+ }
207
+ ... on ManualWithdrawalRecord {
208
+ id
209
+ type
210
+ fee
211
+ netAmount
212
+ reference
213
+ amount
214
+ status
215
+ withdrawalNumber
216
+ dateTimeCreated
217
+ dateTimeLastUpdated
218
+ }
219
+ ... on MayaAppWithdrawalRecord {
220
+ id
221
+ type
222
+ fee
223
+ netAmount
224
+ reference
225
+ amount
226
+ status
227
+ withdrawalNumber
118
228
  dateTimeCreated
119
- dateTimeSettled
120
229
  dateTimeLastUpdated
121
- metadata
122
- vendorRoundId
123
- betContent
124
- contestName
125
- externalCategory
126
230
  }
127
231
  }
128
232
  }
233
+ totalCount
129
234
  pageInfo {
130
235
  hasNextPage
131
236
  endCursor
@@ -133,168 +238,100 @@
133
238
  }
134
239
  }
135
240
  }
136
- `,ve=i`
137
- query LatestBetRecords {
138
- latestBetRecords {
139
- id
140
- member {
141
- id
142
- name
241
+ `,xe=o`
242
+ mutation CreateGCashWithdrawal($input: CreateGCashWithdrawalInput!) {
243
+ createGCashWithdrawal(input: $input) {
244
+ ... on AccountNotVerifiedError {
245
+ __typename
143
246
  }
144
- game {
145
- ...GameFragment
247
+ ... on InvalidTransactionPasswordError {
248
+ __typename
146
249
  }
147
- bet
148
- payout
149
- validBet
150
- dateTimeSettled
151
- dateTimeCreated
152
- }
153
- }
154
-
155
- ${E}
156
- `,T=i`
157
- fragment FileFragment on File {
158
- id
159
- url
160
- status
161
- dateTimeCreated
162
- }
163
- `,Me=i`
164
- ${T}
165
-
166
- query File($id: ObjectId!) {
167
- node(id: $id) {
168
- ... on File {
169
- ...FileFragment
250
+ ... on InvalidWithdrawalAmountError {
251
+ __typename
170
252
  }
171
- }
172
- }
173
- `,De=i`
174
- mutation UploadPrivateImageFile($input: UploadFileInput!) {
175
- uploadPrivateImageFile(input: $input) {
176
- ... on FileFormatNotSupportedError {
253
+ ... on MobileNumberNotVerifiedError {
177
254
  __typename
178
255
  }
179
- ... on FileNameTooLongError {
256
+ ... on NotEnoughBalanceError {
180
257
  __typename
181
258
  }
182
- ... on FileSizeTooBigError {
259
+ ... on WithdrawalDailyLimitExceededError {
183
260
  __typename
184
261
  }
185
262
  }
186
263
  }
187
- `,N=i`
188
- ${T}
189
-
190
- fragment CashbackFragment on Cashback {
191
- id
192
- name
193
- banner {
194
- ...FileFragment
195
- }
196
- status
197
- description
198
- activationStartDateTime
199
- activationEndDateTime
200
- dateTimeCreated
201
- dateTimeLastUpdated
202
- }
203
- `,Ne=i`
204
- ${N}
205
-
206
- query Cashbacks {
207
- cashbacks {
208
- ...CashbackFragment
209
- }
210
- }
211
- `,v=i`
212
- ${T}
213
-
214
- fragment PromoFragment on Promo {
215
- id
216
- type
217
- name
218
- banner {
219
- ...FileFragment
220
- }
221
- status
222
- description
223
- maximumBonusAmount
224
- minimumBonusAmount
225
- activationStartDateTime
226
- activationEndDateTime
227
- dateTimeCreated
228
- dateTimeLastUpdated
229
- }
230
- `,Ie=i`
231
- ${v}
232
-
233
- query Promos {
234
- promos {
235
- ...PromoFragment
236
- }
237
- }
238
- `,Re=i`
239
- ${v}
240
-
241
- query AvailablePromos($filter: PromoFilterInput) {
242
- availablePromos(filter: $filter) {
243
- ...PromoFragment
244
- }
245
- }
246
- `,Pe=i`
247
- ${v}
248
-
249
- query Bonus {
250
- bonus {
251
- id
252
- promo {
253
- ...PromoFragment
264
+ `,$e=o`
265
+ mutation CreateMayaWithdrawal($input: CreateMayaWithdrawalInput!) {
266
+ createMayaWithdrawal(input: $input) {
267
+ ... on AccountNotVerifiedError {
268
+ __typename
254
269
  }
255
- deposit {
256
- type
257
- amount
258
- netAmount
259
- fee
260
- status
261
- reference
262
- dateTimeCreated
263
- dateTimeLastUpdated
270
+ ... on InvalidTransactionPasswordError {
271
+ __typename
272
+ }
273
+ ... on InvalidWithdrawalAmountError {
274
+ __typename
275
+ }
276
+ ... on MobileNumberNotVerifiedError {
277
+ __typename
278
+ }
279
+ ... on NotEnoughBalanceError {
280
+ __typename
281
+ }
282
+ ... on WithdrawalDailyLimitExceededError {
283
+ __typename
264
284
  }
265
- amount
266
- balance
267
- turnoverRequirement
268
- currentTurnoverRequirementContribution
269
- currentTurnoverRequirementContributionPercentage
270
- expiration
271
- dateTimeCreated
272
- dateTimeLastUpdated
273
285
  }
274
286
  }
275
- `,Ge=i`
276
- ${N}
277
-
278
- query CashbackBonuses {
279
- cashbackBonuses {
280
- id
281
- balance
282
- cashback {
283
- ...CashbackFragment
287
+ `,Be=o`
288
+ mutation CreateMayaAppWithdrawal($input: CreateMayaAppWithdrawalInput!) {
289
+ createMayaAppWithdrawal(input: $input) {
290
+ ... on AccountNotVerifiedError {
291
+ __typename
292
+ }
293
+ ... on InvalidTransactionPasswordError {
294
+ __typename
295
+ }
296
+ ... on InvalidWithdrawalAmountError {
297
+ __typename
298
+ }
299
+ ... on NotEnoughBalanceError {
300
+ __typename
301
+ }
302
+ ... on WithdrawalDailyLimitExceededError {
303
+ __typename
284
304
  }
285
- dateTimeCreated
286
- dateTimeLastUpdated
287
305
  }
288
306
  }
289
- `,xe=i`
290
- mutation ClaimCashbackBonus($input: ClaimCashbackBonusInput!) {
291
- claimCashbackBonus(input: $input) {
292
- ... on CashbackBonusDoesNotExistError {
307
+ `,We=o`
308
+ mutation CreateBankWithdrawal($input: CreateBankWithdrawalInput!) {
309
+ createBankWithdrawal(input: $input) {
310
+ ... on MobileNumberNotVerifiedError {
311
+ __typename
312
+ }
313
+ ... on AccountNotVerifiedError {
314
+ __typename
315
+ }
316
+ ... on InvalidWithdrawalAmountError {
317
+ __typename
318
+ }
319
+ ... on WithdrawalDailyLimitExceededError {
320
+ __typename
321
+ }
322
+ ... on InvalidTransactionPasswordError {
323
+ __typename
324
+ }
325
+ ... on NotEnoughBalanceError {
293
326
  __typename
294
327
  }
295
328
  }
296
329
  }
297
- `,$e=i`
330
+ `,Ue=o`
331
+ query RemainingDailyWithdrawalsCount {
332
+ remainingDailyWithdrawalsCount
333
+ }
334
+ `,Oe=o`
298
335
  query DepositRecords($after: Cursor, $first: Int, $filter: DepositRecordFilterInput) {
299
336
  member {
300
337
  depositRecords(after: $after, first: $first, filter: $filter) {
@@ -323,7 +360,7 @@
323
360
  }
324
361
  }
325
362
  }
326
- `,Be=i`
363
+ `,qe=o`
327
364
  mutation CreateGCashDeposit($input: CreateGCashDepositInput!) {
328
365
  createGCashDeposit(input: $input) {
329
366
  ... on DepositPromoMaximumAmountExceededError {
@@ -352,7 +389,7 @@
352
389
  }
353
390
  }
354
391
  }
355
- `,We=i`
392
+ `,Fe=o`
356
393
  mutation CreateMayaDeposit($input: CreateMayaDepositInput!) {
357
394
  createMayaDeposit(input: $input) {
358
395
  ... on DepositPromoMaximumAmountExceededError {
@@ -381,7 +418,7 @@
381
418
  }
382
419
  }
383
420
  }
384
- `,Ue=i`
421
+ `,Le=o`
385
422
  mutation CreateMayaAppDeposit($input: CreateMayaAppDepositInput!) {
386
423
  createMayaAppDeposit(input: $input) {
387
424
  ... on DepositPromoMaximumAmountExceededError {
@@ -410,35 +447,199 @@
410
447
  }
411
448
  }
412
449
  }
413
- `,Oe=i`
450
+ `,Ve=o`
414
451
  query Deposit($id: ObjectId!) {
415
452
  node(id: $id) {
416
453
  ... on GCashDeposit {
417
454
  id
418
455
  type
419
- amount
420
- netAmount
421
- fee
422
456
  status
423
- reference
424
457
  checkoutUrl
425
- dateTimeCreated
426
- dateTimeLastUpdated
427
458
  }
428
459
  ... on MayaDeposit {
429
460
  id
430
461
  type
431
- amount
432
- netAmount
433
- fee
434
462
  status
435
- reference
436
463
  checkoutUrl
437
- dateTimeCreated
438
- dateTimeLastUpdated
439
464
  }
440
- ... on MayaAppDeposit {
441
- id
465
+ ... on MayaAppDeposit {
466
+ id
467
+ type
468
+ status
469
+ }
470
+ ... on BankDeposit {
471
+ id
472
+ type
473
+ status
474
+ }
475
+ ... on ManualDeposit {
476
+ id
477
+ type
478
+ status
479
+ }
480
+ }
481
+ }
482
+ `,Ye=o`
483
+ query DepositsCount {
484
+ member {
485
+ depositsCount
486
+ }
487
+ }
488
+ `,He=o`
489
+ ${T}
490
+
491
+ query BetRecords($first: Int, $after: Cursor, $filter: BetRecordFilterInput) {
492
+ member {
493
+ betRecords(first: $first, after: $after, filter: $filter) {
494
+ totalCount
495
+ edges {
496
+ cursor
497
+ node {
498
+ ... on BetRecord {
499
+ id
500
+ serialCode
501
+ game {
502
+ ...GameFragment
503
+ }
504
+ bet
505
+ payout
506
+ winloss
507
+ jackpotPayout
508
+ jackpotContribution
509
+ status
510
+ dateTimeCreated
511
+ dateTimeSettled
512
+ dateTimeLastUpdated
513
+ metadata
514
+ vendorRoundId
515
+ betContent
516
+ contestName
517
+ externalCategory
518
+ }
519
+ }
520
+ }
521
+ pageInfo {
522
+ hasNextPage
523
+ endCursor
524
+ }
525
+ }
526
+ }
527
+ }
528
+ `,je=o`
529
+ query LatestBetRecords {
530
+ latestBetRecords {
531
+ id
532
+ member {
533
+ id
534
+ name
535
+ }
536
+ game {
537
+ ...GameFragment
538
+ }
539
+ bet
540
+ payout
541
+ validBet
542
+ dateTimeSettled
543
+ dateTimeCreated
544
+ }
545
+ }
546
+
547
+ ${T}
548
+ `,Qe=o`
549
+ query TransactionRecords($first: Int, $after: Cursor, $filter: TransactionRecordFilter) {
550
+ member {
551
+ transactionRecords(first: $first, after: $after, filter: $filter) {
552
+ edges {
553
+ cursor
554
+ node {
555
+ ... on TransactionRecord {
556
+ id
557
+ type
558
+ amount
559
+ content
560
+ currentBalance
561
+ referenceNumber
562
+ dateTimeCreated
563
+ }
564
+ }
565
+ }
566
+ totalCount
567
+ pageInfo {
568
+ hasNextPage
569
+ endCursor
570
+ }
571
+ }
572
+ }
573
+ }
574
+ `,v=o`
575
+ ${_}
576
+
577
+ fragment PromoFragment on Promo {
578
+ id
579
+ type
580
+ name
581
+ banner {
582
+ ...FileFragment
583
+ }
584
+ status
585
+ description
586
+ maximumBonusAmount
587
+ minimumBonusAmount
588
+ activationStartDateTime
589
+ activationEndDateTime
590
+ dateTimeCreated
591
+ dateTimeLastUpdated
592
+ }
593
+ `,Ke=o`
594
+ ${v}
595
+
596
+ query Promos {
597
+ promos {
598
+ ...PromoFragment
599
+ }
600
+ }
601
+ `,ze=o`
602
+ ${v}
603
+
604
+ query AvailablePromos($filter: PromoFilterInput) {
605
+ availablePromos(filter: $filter) {
606
+ ...PromoFragment
607
+ }
608
+ }
609
+ `,G=o`
610
+ ${_}
611
+
612
+ fragment CashbackFragment on Cashback {
613
+ id
614
+ name
615
+ banner {
616
+ ...FileFragment
617
+ }
618
+ status
619
+ description
620
+ activationStartDateTime
621
+ activationEndDateTime
622
+ dateTimeCreated
623
+ dateTimeLastUpdated
624
+ }
625
+ `,Je=o`
626
+ ${G}
627
+
628
+ query Cashbacks {
629
+ cashbacks {
630
+ ...CashbackFragment
631
+ }
632
+ }
633
+ `,Xe=o`
634
+ ${v}
635
+
636
+ query Bonus {
637
+ bonus {
638
+ id
639
+ promo {
640
+ ...PromoFragment
641
+ }
642
+ deposit {
442
643
  type
443
644
  amount
444
645
  netAmount
@@ -448,21 +649,45 @@
448
649
  dateTimeCreated
449
650
  dateTimeLastUpdated
450
651
  }
652
+ amount
653
+ balance
654
+ turnoverRequirement
655
+ currentTurnoverRequirementContribution
656
+ currentTurnoverRequirementContributionPercentage
657
+ expiration
658
+ dateTimeCreated
659
+ dateTimeLastUpdated
451
660
  }
452
661
  }
453
- `,qe=i`
454
- query DepositsCount {
455
- member {
456
- depositsCount
662
+ `,Ze=o`
663
+ ${G}
664
+
665
+ query CashbackBonuses {
666
+ cashbackBonuses {
667
+ id
668
+ balance
669
+ cashback {
670
+ ...CashbackFragment
671
+ }
672
+ dateTimeCreated
673
+ dateTimeLastUpdated
674
+ }
675
+ }
676
+ `,et=o`
677
+ mutation ClaimCashbackBonus($input: ClaimCashbackBonusInput!) {
678
+ claimCashbackBonus(input: $input) {
679
+ ... on CashbackBonusDoesNotExistError {
680
+ __typename
681
+ }
457
682
  }
458
683
  }
459
- `,Fe=i`
684
+ `,tt=o`
460
685
  query Member {
461
686
  member {
462
687
  dateTimeLastActive
463
688
  }
464
689
  }
465
- `,Le=i`
690
+ `,at=o`
466
691
  query MemberAccount {
467
692
  memberAccount: self {
468
693
  ... on MemberAccount {
@@ -486,8 +711,8 @@
486
711
  }
487
712
  }
488
713
  }
489
- `,Ve=i`
490
- ${T}
714
+ `,rt=o`
715
+ ${_}
491
716
 
492
717
  query MemberVerification {
493
718
  memberAccount: self {
@@ -510,7 +735,7 @@
510
735
  }
511
736
  }
512
737
  }
513
- `,Ye=i`
738
+ `,nt=o`
514
739
  mutation RegisterMemberAccount(
515
740
  $input: RegisterMemberAccountInput!
516
741
  $referralCode: String
@@ -546,7 +771,7 @@
546
771
  }
547
772
  }
548
773
  }
549
- `,He=i`
774
+ `,ot=o`
550
775
  mutation UpdateMemberAccount($input: UpdateMemberAccountInput!) {
551
776
  updateMemberAccount(input: $input) {
552
777
  ... on AccountNameNotAvailableError {
@@ -572,7 +797,7 @@
572
797
  }
573
798
  }
574
799
  }
575
- `,je=i`
800
+ `,it=o`
576
801
  mutation ResetPassword($input: ResetPasswordInput!, $verificationCode: String) {
577
802
  resetPassword(input: $input, verificationCode: $verificationCode) {
578
803
  ... on AccountNotFoundError {
@@ -583,22 +808,11 @@
583
808
  }
584
809
  }
585
810
  }
586
- `,Qe=i`
811
+ `,st=o`
587
812
  mutation DeleteMemberAccount($input: DeleteMemberAccountInput!) {
588
813
  deleteMemberAccount(input: $input)
589
814
  }
590
- `,Ke=i`
591
- mutation SendVerificationCode($input: SendVerificationCodeInput!) {
592
- sendVerificationCode(input: $input) {
593
- ... on InvalidPlatformError {
594
- __typename
595
- }
596
- ... on NotReadyToSendVerficationCodeError {
597
- __typename
598
- }
599
- }
600
- }
601
- `,ze=i`
815
+ `,dt=o`
602
816
  mutation VerifyMobileNumber($input: VerifyMobileNumberInput!) {
603
817
  verifyMobileNumber(input: $input) {
604
818
  ... on InvalidSMSVerificationCodeError {
@@ -609,7 +823,7 @@
609
823
  }
610
824
  }
611
825
  }
612
- `,Je=i`
826
+ `,mt=o`
613
827
  mutation CreateMemberVerification($input: CreateMemberVerificationInput!) {
614
828
  createMemberVerification(input: $input) {
615
829
  ... on FileDoesNotExistError {
@@ -623,7 +837,7 @@
623
837
  }
624
838
  }
625
839
  }
626
- `,Xe=i`
840
+ `,ct=o`
627
841
  mutation UpdateMemberVerification($input: UpdateMemberVerificationInput!) {
628
842
  updateMemberVerification(input: $input) {
629
843
  ... on FileDoesNotExistError {
@@ -640,7 +854,7 @@
640
854
  }
641
855
  }
642
856
  }
643
- `,Ze=i`
857
+ `,ut=o`
644
858
  query ProfileCompletion {
645
859
  profileCompletion {
646
860
  completionPercentage
@@ -651,7 +865,18 @@
651
865
  accountPassword
652
866
  }
653
867
  }
654
- `,et=i`
868
+ `,lt=o`
869
+ mutation SendVerificationCode($input: SendVerificationCodeInput!) {
870
+ sendVerificationCode(input: $input) {
871
+ ... on InvalidPlatformError {
872
+ __typename
873
+ }
874
+ ... on NotReadyToSendVerficationCodeError {
875
+ __typename
876
+ }
877
+ }
878
+ }
879
+ `,pt=o`
655
880
  fragment DepositGatewaySettingsCoreData on DepositGatewaySettings {
656
881
  minimumAmount
657
882
  maximumAmount
@@ -705,24 +930,7 @@
705
930
  multiplier
706
931
  }
707
932
  }
708
- `,tt=i`
709
- query PointsWallet {
710
- pointsWallet {
711
- id
712
- points
713
- account
714
- dateTimeCreated
715
- }
716
- }
717
- `,at=i`
718
- mutation PointsToCashConversion($input: PointsToCashConversionInput!) {
719
- pointsToCashConversion(input: $input) {
720
- ... on InsufficientPointsError {
721
- __typename
722
- }
723
- }
724
- }
725
- `,rt=i`
933
+ `,ft=o`
726
934
  query MayaSession($id: ObjectId!) {
727
935
  mayaSession(id: $id) {
728
936
  id
@@ -730,201 +938,5 @@
730
938
  dateTimeCreated
731
939
  }
732
940
  }
733
- `,nt=i`
734
- query TransactionRecords($first: Int, $after: Cursor, $filter: TransactionRecordFilter) {
735
- member {
736
- transactionRecords(first: $first, after: $after, filter: $filter) {
737
- edges {
738
- cursor
739
- node {
740
- ... on TransactionRecord {
741
- id
742
- type
743
- amount
744
- content
745
- currentBalance
746
- referenceNumber
747
- dateTimeCreated
748
- }
749
- }
750
- }
751
- totalCount
752
- pageInfo {
753
- hasNextPage
754
- endCursor
755
- }
756
- }
757
- }
758
- }
759
- `,it=i`
760
- query Wallet {
761
- wallet {
762
- id
763
- balance
764
- currency
765
- dateTimeCreated
766
- dateTimeLastUpdated
767
- }
768
- }
769
- `,ot=i`
770
- query WithdrawalRecords($first: Int, $after: Cursor, $filter: WithdrawalRecordFilterInput) {
771
- member {
772
- withdrawalRecords(first: $first, after: $after, filter: $filter) {
773
- edges {
774
- cursor
775
- node {
776
- ... on BankWithdrawalRecord {
777
- id
778
- type
779
- bank
780
- fee
781
- netAmount
782
- reference
783
- amount
784
- status
785
- withdrawalNumber
786
- dateTimeCreated
787
- dateTimeLastUpdated
788
- }
789
- ... on GCashWithdrawalRecord {
790
- id
791
- type
792
- fee
793
- netAmount
794
- reference
795
- amount
796
- status
797
- withdrawalNumber
798
- recipientMobileNumber
799
- dateTimeCreated
800
- dateTimeLastUpdated
801
- }
802
- ... on ManualWithdrawalRecord {
803
- id
804
- type
805
- fee
806
- netAmount
807
- reference
808
- amount
809
- status
810
- withdrawalNumber
811
- dateTimeCreated
812
- dateTimeLastUpdated
813
- }
814
- ... on MayaAppWithdrawalRecord {
815
- id
816
- type
817
- fee
818
- netAmount
819
- reference
820
- amount
821
- status
822
- withdrawalNumber
823
- dateTimeCreated
824
- dateTimeLastUpdated
825
- }
826
- }
827
- }
828
- totalCount
829
- pageInfo {
830
- hasNextPage
831
- endCursor
832
- }
833
- }
834
- }
835
- }
836
- `,st=i`
837
- mutation CreateGCashWithdrawal($input: CreateGCashWithdrawalInput!) {
838
- createGCashWithdrawal(input: $input) {
839
- ... on AccountNotVerifiedError {
840
- __typename
841
- }
842
- ... on InvalidTransactionPasswordError {
843
- __typename
844
- }
845
- ... on InvalidWithdrawalAmountError {
846
- __typename
847
- }
848
- ... on MobileNumberNotVerifiedError {
849
- __typename
850
- }
851
- ... on NotEnoughBalanceError {
852
- __typename
853
- }
854
- ... on WithdrawalDailyLimitExceededError {
855
- __typename
856
- }
857
- }
858
- }
859
- `,dt=i`
860
- mutation CreateMayaWithdrawal($input: CreateMayaWithdrawalInput!) {
861
- createMayaWithdrawal(input: $input) {
862
- ... on AccountNotVerifiedError {
863
- __typename
864
- }
865
- ... on InvalidTransactionPasswordError {
866
- __typename
867
- }
868
- ... on InvalidWithdrawalAmountError {
869
- __typename
870
- }
871
- ... on MobileNumberNotVerifiedError {
872
- __typename
873
- }
874
- ... on NotEnoughBalanceError {
875
- __typename
876
- }
877
- ... on WithdrawalDailyLimitExceededError {
878
- __typename
879
- }
880
- }
881
- }
882
- `,mt=i`
883
- mutation CreateMayaAppWithdrawal($input: CreateMayaAppWithdrawalInput!) {
884
- createMayaAppWithdrawal(input: $input) {
885
- ... on AccountNotVerifiedError {
886
- __typename
887
- }
888
- ... on InvalidTransactionPasswordError {
889
- __typename
890
- }
891
- ... on InvalidWithdrawalAmountError {
892
- __typename
893
- }
894
- ... on NotEnoughBalanceError {
895
- __typename
896
- }
897
- ... on WithdrawalDailyLimitExceededError {
898
- __typename
899
- }
900
- }
901
- }
902
- `,ct=i`
903
- mutation CreateBankWithdrawal($input: CreateBankWithdrawalInput!) {
904
- createBankWithdrawal(input: $input) {
905
- ... on MobileNumberNotVerifiedError {
906
- __typename
907
- }
908
- ... on AccountNotVerifiedError {
909
- __typename
910
- }
911
- ... on InvalidWithdrawalAmountError {
912
- __typename
913
- }
914
- ... on WithdrawalDailyLimitExceededError {
915
- __typename
916
- }
917
- ... on InvalidTransactionPasswordError {
918
- __typename
919
- }
920
- ... on NotEnoughBalanceError {
921
- __typename
922
- }
923
- }
924
- }
925
- `,ut=i`
926
- query RemainingDailyWithdrawalsCount {
927
- remainingDailyWithdrawalsCount
928
- }
929
- `;function c(o){return{name:o,message:{AccountNameNotAvailableError:"Username is no longer available",AccountNotFoundError:"Account does not exist",AccountNotVerifiedError:"Account is not verified",CashbackBonusDoesNotExistError:"Cashback bonus does not exists",DepositPromoMaximumAmountExceededError:"Deposit amount exceeds maximum amount",DepositPromoMinimumAmountNotMetError:"Deposit amount does not meet minimum amount",EmailAddressNotAvailableError:"Email is no longer available",FileDoesNotExistError:"File does not exist",FileFormatNotSupportedError:"File format is not supported",FileNameTooLongError:"File name is too long",FileNotReadyError:"File is not yet ready",FileSizeTooBigError:"File size is too big",GameDoesNotExistError:"Game does not exist",HasActiveBonusError:"Account has active bonus",InsufficientPointsError:"Insufficient points",InvalidPlatformError:"Invalid platform",InvalidReCAPTCHAResponseError:"Invalid reCAPTCHA",InvalidSMSVerificationCodeError:"Invalid SMS verification code",InvalidTransactionPasswordError:"Invalid transaction password",InvalidVerificationCodeError:"Invalid verification code",InvalidWithdrawalAmountError:"Invalid withdrawal amount",MaximumDepositAmountExceededError:"Maximum deposit amount exceeded",MemberVerificationAlreadyApprovedError:"Member verification is already approved",MemberVerificationAlreadyExistsError:"Member verification already exists",MemberVerificationDoesNotExistError:"Member verification does not exist",MinimumAgeRequirementError:"Minimum age requirement not met",MinimumDepositAmountNotMetError:"Minimum deposit amount not met",MinimumFirstDepositAmountNotMetError:"Minimum first deposit amount not met",MobileNumberAlreadyVerifiedError:"Mobile number is already verified",MobileNumberNotAvailableError:"Mobile number is no longer available",MobileNumberNotVerifiedError:"Mobile number is not verified",NickNameNotAvailableError:"Nickname is no longer available",NotEnoughBalanceError:"Insufficient balance",NotReadyToSendVerficationCodeError:"Not ready to send verification code",PromoNotEnabledError:"Promo is not enabled",RealNameAlreadySetError:"Real name is already set",ValidIdAlreadySetError:"Valid ID is already set",WalletDoesNotExistError:"Wallet does not exist",WithdrawalDailyLimitExceededError:"Daily withdrawal limit exceeded",AccountBlacklisted:"Account is blacklisted",AccountNotFound:"Account not found",InvalidToken:"Invalid token",InvalidTokenOrSecretAnswer:"Invalid token or secret answer",SessionExpired:"Session expired"}[o]}}class lt{constructor(e){m(this,"client");this.client=e}async memberAccount(){const e=await this.client.request(Le);return e.ok?{ok:!0,data:e.data.memberAccount}:e}async registerMemberAccount(e){const t=await this.client.request(Ye,e);return t.ok?t.data.registerMemberAccount?{ok:!1,error:c(t.data.registerMemberAccount.__typename)}:{ok:!0}:t}async updateMemberAccount(e){const t=await this.client.request(He,e);return t.ok?t.data.updateMemberAccount?{ok:!1,error:c(t.data.updateMemberAccount.__typename)}:{ok:!0}:t}async deleteMemberAccount(e){const t=await this.client.request(Qe,e);return t.ok?t.data.deleteMemberAccount?{ok:!0}:{ok:!1,error:{name:"UnknownError",message:"Something went wrong."}}:t}async resetPassword(e){const t=await this.client.request(je,e);return t.ok?t.data.resetPassword?{ok:!1,error:c(t.data.resetPassword.__typename)}:{ok:!0}:t}async profileCompletion(){const e=await this.client.request(Ze);return e.ok?{ok:!0,data:e.data.profileCompletion}:e}async platform(){return await this.client.request(et)}async sendVerificationCode(e){const t=await this.client.request(Ke,e);return t.ok?t.data.sendVerificationCode?{ok:!1,error:c(t.data.sendVerificationCode.__typename)}:{ok:!0}:t}async verifyMobileNumber(e){const t=await this.client.request(ze,e);return t.ok?t.data.verifyMobileNumber?{ok:!1,error:c(t.data.verifyMobileNumber.__typename)}:{ok:!0}:t}async createMemberVerification(e){const t=await this.client.request(Je,e);return t.ok?t.data.createMemberVerification?{ok:!1,error:c(t.data.createMemberVerification.__typename)}:{ok:!0}:t}async updateMemberVerification(e){const t=await this.client.request(Xe,e);return t.ok?t.data.updateMemberVerification?{ok:!1,error:c(t.data.updateMemberVerification.__typename)}:{ok:!0}:t}async memberVerification(){const e=await this.client.request(Ve);return e.ok?{ok:!0,data:e.data.memberAccount.verification}:e}async announcements(e){const t=await this.client.request(ge,e);return t.ok?{ok:!0,data:t.data.announcements}:t}}function p(o,e){const t=M[o]?M[o]:M[500];return{name:t.name,message:e??t.message}}const M={400:{name:"HttpBadRequest",message:"Bad Request"},401:{name:"HttpUnauthorized",message:"Unauthorized"},403:{name:"HttpForbidden",message:"Forbidden"},404:{name:"HttpNotFound",message:"Not Found"},408:{name:"HttpRequestTimeout",message:"Request Timeout"},429:{name:"HttpTooManyRequests",message:"Too Many Requests"},500:{name:"HttpInternalServerError",message:"Internal Server Error"}};class pt{constructor(e){m(this,"url");m(this,"platform");this.url=e.url,this.platform=e.platform}async createSession(e){const t=new Headers({"Content-Type":"application/json","Platform-Code":this.platform,Role:"MEMBER"});switch(e.type){case"NAME_AND_PASSWORD":{const a=`${e.name}:${e.password}`,r=Buffer.from(a).toString("base64");t.set("Authorization",`Basic ${r}`);break}case"MOBILE_NUMBER":{const a=`${e.mobileNumber}:${e.verificationCode}`,r=Buffer.from(a).toString("base64");t.set("Authorization",`MobileNumberOTP ${r}`);break}case"MAYA":{t.set("Authorization",`Maya ${e.sessionId}`);break}}try{const a=await fetch(`${this.url}/sessions`,{method:"POST",headers:t}),r=await a.json();return a.ok?{ok:!0,data:r}:r.code==="ACCOUNT_BLACKLISTED"?{ok:!1,error:c("AccountBlacklisted")}:{ok:!1,error:p(a.status)}}catch{return{ok:!1,error:p(500)}}}async authenticate(e){const t=new Headers({"Content-Type":"application/json","Platform-Code":this.platform,Role:"MEMBER"});if(e.type==="SECURITY_QUESTION"){t.set("Authorization",`Bearer ${e.token}`);try{const a=await fetch(`${this.url}/session/${e.token}/authenticate`,{method:"POST",headers:t,body:JSON.stringify({secretAnswer:e.secretAnswer})}),r=await a.json();return a.ok?{ok:!0,data:r}:a.status===401||a.status===403?{ok:!1,error:c("InvalidTokenOrSecretAnswer")}:{ok:!1,error:p(a.status)}}catch{return{ok:!1,error:p(500)}}}throw new Error("Invalid input 'type'")}async refreshSession(e){try{const t=await fetch(`${this.url}/session:refresh`,{method:"POST",headers:{"Content-Type":"application/json","Platform-Code":this.platform,Role:"MEMBER",Authorization:`Bearer ${e}`}}),a=await t.json();return t.ok?{ok:!0,data:a}:a.code==="ACCOUNT_BLACKLISTED"?{ok:!1,error:c("AccountBlacklisted")}:t.status===403||t.status===401?{ok:!1,error:c("InvalidToken")}:{ok:!1,error:p(t.status)}}catch{return{ok:!1,error:p(500)}}}async destroySession(e){try{const t=await fetch(`${this.url}/session`,{method:"DELETE",headers:{"Content-Type":"application/json","Platform-Code":this.platform,Role:"MEMBER",Authorization:`Bearer ${e}`}});return t.ok?{ok:!0}:{ok:!1,error:p(t.status)}}catch{return{ok:!1,error:p(500)}}}async verifySession(e){try{return(await fetch(`${this.url}/session`,{method:"GET",headers:{"Content-Type":"application/json","Platform-Code":this.platform,Role:"MEMBER",Authorization:`Bearer ${e}`}})).ok}catch{return!0}}}class ft{constructor(e){m(this,"client");this.client=e}async file(e){const t=await this.client.request(Me,e);return t.ok?{ok:!0,data:t.data.node}:t}async uploadPrivateImageFile(e){const t=await this.client.upload(De,e);return t.ok?t.data.uploadPrivateImageFile?{ok:!1,error:c(t.data.uploadPrivateImageFile.__typename)}:{ok:!0}:t}}class I{constructor(e){m(this,"client");this.client=e}async game(e){const t=await this.client.request(Ee,e);return t.ok?{ok:!0,data:t.data.node}:t}async games(e){const t=await this.client.request(Ae,e);return t.ok?{ok:!0,data:t.data.games}:t}async gamesByName(e){const t=await this.client.request(Se,e);return t.ok?{ok:!0,data:t.data.gamesByName}:t}async gameSession(e){const t=await this.client.request(ke,e);return t.ok?{ok:!0,data:t.data.node}:t}async createGameSession(e){const t=await this.client.request(Ce,e);return t.ok?t.data.createGameSession?{ok:!1,error:c(t.data.createGameSession.__typename)}:{ok:!0}:t}async endGameSession(e){const t=await this.client.request(Te,e);return t.ok?t.data.endGameSession?{ok:!0}:{ok:!1,error:{name:"UnknownError",message:"Something went wrong."}}:t}}class ht{constructor(e){m(this,"client");this.client=e}async betRecords(e){const t=await this.client.request(_e,e);return t.ok?{ok:t.ok,data:t.data.member.betRecords}:t}async transactionRecords(e){const t=await this.client.request(nt,e);return t.ok?{ok:t.ok,data:t.data.member.transactionRecords}:t}async withdrawalRecords(e){const t=await this.client.request(ot,e);return t.ok?{ok:t.ok,data:t.data.member.withdrawalRecords}:t}async depositRecords(e){const t=await this.client.request($e,e);return t.ok?{ok:t.ok,data:t.data.member.depositRecords}:t}async depositsCount(){const e=await this.client.request(qe);return e.ok?{ok:e.ok,data:e.data.member.depositsCount}:e}async member(){const e=await this.client.request(Fe);return e.ok?{ok:e.ok,data:e.data.member}:e}}class wt{constructor(e){m(this,"url");this.url=e.url}gameThumbnails(e){return[`${this.url}/images/${e.provider.toLowerCase()}/thumbnail-${e.id}.webp`,`${this.url}/images/${e.provider.toLowerCase()}/thumbnail-${e.provider.toLowerCase()}.webp`]}}class yt extends I{async promos(){const e=await this.client.request(Ie);return e.ok?{ok:e.ok,data:e.data.promos}:e}async cashbacks(){const e=await this.client.request(Ne);return e.ok?{ok:e.ok,data:e.data.cashbacks}:e}async availablePromos(e){const t=await this.client.request(Re,e);return t.ok?{ok:t.ok,data:t.data.availablePromos}:t}async cashbackBonuses(){const e=await this.client.request(Ge);return e.ok?{ok:e.ok,data:e.data.cashbackBonuses}:e}async claimCashbackBonus(e){const t=await this.client.request(xe,e);return t.ok?t.data.claimCashbackBonus?{ok:!1,error:c(t.data.claimCashbackBonus.__typename)}:{ok:!0}:{ok:t.ok,error:t.error}}async bonus(){const e=await this.client.request(Pe);return e.ok?{ok:e.ok,data:e.data.bonus}:e}async wallet(){const e=await this.client.request(it);return e.ok?{ok:e.ok,data:e.data.wallet}:e}async deposit(e){const t=await this.client.request(Oe,e);return t.ok?{ok:t.ok,data:t.data.node}:t}async createGCashDeposit(e){const t=await this.client.request(Be,e);return t.ok?t.data.createGCashDeposit?{ok:!1,error:c(t.data.createGCashDeposit.__typename)}:{ok:!0}:t}async createMayaDeposit(e){const t=await this.client.request(We,e);return t.ok?t.data.createMayaDeposit?{ok:!1,error:c(t.data.createMayaDeposit.__typename)}:{ok:!0}:t}async createMayaAppDeposit(e){const t=await this.client.request(Ue,e);return t.ok?t.data.createMayaAppDeposit?{ok:!1,error:c(t.data.createMayaAppDeposit.__typename)}:{ok:!0}:t}async createGCashWithdrawal(e){const t=await this.client.request(st,e);return t.ok?t.data.createGCashWithdrawal?{ok:!1,error:c(t.data.createGCashWithdrawal.__typename)}:{ok:!0}:t}async createMayaWithdrawal(e){const t=await this.client.request(dt,e);return t.ok?t.data.createMayaWithdrawal?{ok:!1,error:c(t.data.createMayaWithdrawal.__typename)}:{ok:!0}:t}async createMayaAppWithdrawal(e){const t=await this.client.request(mt,e);return t.ok?t.data.createMayaAppWithdrawal?{ok:!1,error:c(t.data.createMayaAppWithdrawal.__typename)}:{ok:!0}:t}async createBankWithdrawal(e){const t=await this.client.request(ct,e);return t.ok?t.data.createBankWithdrawal?{ok:!1,error:c(t.data.createBankWithdrawal.__typename)}:{ok:!0}:t}async remainingDailyWithdrawalsCount(){const e=await this.client.request(ut);return e.ok?{ok:e.ok,data:e.data.remainingDailyWithdrawalsCount}:e}async pointsWallet(){const e=await this.client.request(tt);return e.ok?{ok:e.ok,data:e.data.pointsWallet}:e}async pointsToCashConversion(e){const t=await this.client.request(at,e);return t.ok?t.data.pointsToCashConversion?{ok:!1,error:c(t.data.pointsToCashConversion.__typename)}:{ok:!0}:t}async mayaSession(e){const t=await this.client.request(rt,e);return t.ok?{ok:t.ok,data:t.data.mayaSession}:t}}class bt{constructor(e){m(this,"client");this.client=e}async latestBetRecords(){const e=await this.client.request(ve);return e.ok?{ok:!0,data:e.data.latestBetRecords}:e}}function gt(o){return Object.prototype.toString.call(o)==="[object Object]"&&Object(o)===o}function Et(o){const e=[];function t(a,r=[]){for(const s in a){const d=a[s];gt(d)?t(d,[...r,s]):Array.isArray(d)?t(At(d),[...r,s]):e.push({key:[...r,s],value:d})}}return t(o),e}function At(o){return o.reduce((e,t,a)=>(e[a]=t,e),{})}class b{constructor(e,t){m(this,"url");m(this,"options");m(this,"middlewares");var r;const a=new Headers((r=t==null?void 0:t.fetchOptions)==null?void 0:r.headers);this.url=e,this.options={...t==null?void 0:t.fetchOptions,headers:a},this.middlewares=(t==null?void 0:t.middlewares)??[]}async request(e,t){const a=JSON.stringify({query:e,variables:t}),r=new Headers(this.options.headers);r.set("Content-Type","application/json"),r.set("Accept","application/json");const s=await this.runMiddlewares(new Request(this.url,{...this.options,body:a,headers:r,method:"POST"}));return await this.exec(s)}async upload(e,t){const a=this.createUploadBody(e,t),r=new Headers(this.options.headers);r.delete("Content-Type");const s=await this.runMiddlewares(new Request(this.url,{...this.options,body:a,headers:r,method:"POST"}));return await this.exec(s)}async exec(e){var t,a,r,s,d,y;try{const g=await fetch(e);if(!g.ok)return{ok:!1,error:p(g.status)};const C=await g.json(),_=C.data,h=(t=C.errors)==null?void 0:t.at(0);return h?((a=h.extensions)==null?void 0:a.code)==="FORBIDDEN"||((r=h.extensions)==null?void 0:r.code)==="ACCESS_TOKEN_EXPIRED"?{ok:!1,error:p(403,h.message)}:((s=h.extensions)==null?void 0:s.code)==="UNAUTHORIZED"?{ok:!1,error:p(401,h.message)}:((d=h.extensions)==null?void 0:d.code)==="BAD_USER_INPUT"||((y=h.extensions)==null?void 0:y.code)==="BAD_REQUEST"?{ok:!1,error:p(400,h.message)}:{ok:!1,error:p(500,h.message)}:{ok:!0,data:_}}catch{return{ok:!1,error:p(500)}}}async runMiddlewares(e){let t=e.clone();for(const a of this.middlewares)t=await a(t);return t}createUploadBody(e,t){const a=Et(t).filter(d=>d.value instanceof File||d.value instanceof Blob),r=new FormData;r.append("operations",JSON.stringify({query:e,variables:t}));const s={};return a.forEach((d,y)=>{s[y.toString()]=[`variables.${d.key.join(".")}`]}),r.append("map",JSON.stringify(s)),a.forEach((d,y)=>{r.append(y.toString(),d.value)}),r}}async function w(o){const e=new TextEncoder().encode(o),t=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(t)).map(s=>s.toString(16).padStart(2,"0")).join("")}class R{constructor(e){m(this,"enabled");this.enabled=(e==null?void 0:e.enabled)??!0}info(e){this.enabled&&console.log(`\x1B[34m[info] ${e}`)}warn(e){this.enabled&&console.log(`\x1B[33m[warn] ${e}`)}error(e){this.enabled&&console.log(`\x1B[31m[error] ${e}`)}success(e){this.enabled&&console.log(`\x1B[32m[success] ${e}`)}}function D(o){return new Date(o.getTime())}function A(o,e){const t=D(o);return t.setDate(t.getDate()+e),t}function S(o,e){const t=D(o);return t.setMinutes(t.getMinutes()+e),t}function P(o,e){return o.getTime()>e.getTime()}function St(o){return new Promise(e=>{setTimeout(e,o)})}function k(o,e){const t=D(o);return t.setMinutes(t.getMinutes()-e),t}class kt{constructor(e){m(this,"logger");m(this,"storageKey","session");m(this,"authService");m(this,"_refreshing",!1);this.authService=new pt(e),this.logger=new R({enabled:e.log??!1})}get refreshing(){return this._refreshing}set refreshing(e){this._refreshing=e}async create(e){if(this.isServer)return this.logger.warn("'localStorage' is not available on the server."),{ok:!1,error:{name:"UnknownError",message:"Server sign in is not supported."}};if(e.type==="MAYA"){const r=await this.authService.createSession(e);if(r.ok){const s=new Date;return window.localStorage.setItem(this.storageKey,JSON.stringify({...r.data,maya:!0,accessTokenExpiresAt:S(s,8).getTime(),refreshTokenExpiresAt:k(A(s,30),2).getTime()})),{ok:!0,data:null}}return r}if(e.type==="MOBILE_NUMBER"){const r=await this.authService.createSession(e);if(r.ok){const s=new Date;return window.localStorage.setItem(this.storageKey,JSON.stringify({...r.data,accessTokenExpiresAt:S(s,8).getTime(),refreshTokenExpiresAt:k(A(s,30),2).getTime()})),{ok:!0,data:null}}return r}const t=await this.authService.createSession(e);if(!t.ok)return t;if(t.data.authenticator)return{ok:!0,data:{authenticator:t.data.authenticator}};const a=new Date;return window.localStorage.setItem(this.storageKey,JSON.stringify({...t.data,accessTokenExpiresAt:S(a,8).getTime(),refreshTokenExpiresAt:k(A(a,30),2).getTime()})),{ok:!0,data:null}}async createFromAuthenticator(e){const t=await this.authService.authenticate(e);if(t.ok){const a=new Date;return this.isServer?this.logger.warn("'localStorage' is not available on the server."):window.localStorage.setItem(this.storageKey,JSON.stringify({...t.data,accessTokenExpiresAt:S(a,8).getTime(),refreshTokenExpiresAt:k(A(a,30),2).getTime()})),{ok:!0}}else return t}async get(){if(this.isServer)return this.logger.warn("'localStorage' is not available on the server."),{ok:!0,data:null};if(this.refreshing)return await St(1e3),await this.get();const e=window.localStorage.getItem(this.storageKey);if(!e)return{ok:!0,data:null};try{let t=JSON.parse(e),a=new Date;const r=new Date(t.accessTokenExpiresAt),s=new Date(t.refreshTokenExpiresAt);if(P(a,s))return this.logger.warn("Session expired. Logging out.."),window.localStorage.removeItem(this.storageKey),{ok:!1,error:{name:"SessionExpired",message:"Session expired."}};if(P(a,r)){this.logger.info("Refreshing session..."),this.refreshing=!0;const d=await this.authService.refreshSession(t.refreshToken);if(this.refreshing=!1,!d.ok)return this.logger.error(`Failed to refresh session: ${d.error.message}`),d.error.name==="InvalidToken"||d.error.name==="AccountBlacklisted"?(window.localStorage.removeItem(this.storageKey),{ok:!1,error:d.error}):(this.logger.warn("Old session returned."),{ok:!0,data:t});this.logger.success("Session refreshed!"),a=new Date,t={...t,...d.data,accessTokenExpiresAt:S(a,8).getTime(),refreshTokenExpiresAt:k(A(a,30),2).getTime()},window.localStorage.setItem(this.storageKey,JSON.stringify(t))}return{ok:!0,data:t}}catch{return{ok:!1,error:{name:"UnknownError",message:"Something went wrong."}}}}async destroy(){var t;if(this.isServer){this.logger.warn("'localStorage' is not available on the server.");return}const e=await this.get();(t=e.data)!=null&&t.accessToken&&await this.authService.destroySession(e.data.accessToken),window.localStorage.removeItem(this.storageKey)}async verify(){var a,r,s;if(this.isServer)return this.logger.warn("'localStorage' is not available on the server."),!0;const e=await this.get();if(((a=e.error)==null?void 0:a.name)==="InvalidToken"||((r=e.error)==null?void 0:r.name)==="SessionExpired"||((s=e.error)==null?void 0:s.name)==="AccountBlacklisted")return!1;if(!e.data)return!0;const t=await this.authService.verifySession(e.data.accessToken);return t||window.localStorage.removeItem(this.storageKey),t}get isServer(){return typeof window>"u"}}function n(o,e){if(typeof o=="number"&&!Number.isNaN(o))return o;if(typeof o=="string"){const t=Number.parseFloat(o);if(!Number.isNaN(t))return t}return e}class Ct{constructor(e){m(this,"staticService");const t=(e==null?void 0:e.environment)==="development";this.staticService=new wt({url:t?"https://static.development.opexa.io":"https://static.opexa.io"})}get transform(){return{platform:this.platform.bind(this),account:this.account.bind(this),wallet:this.wallet.bind(this),verificationDetails:this.verificationDetails.bind(this),profileCompletion:this.profileCompletion.bind(this),announcement:this.announcement.bind(this),withdrawalRecord:this.withdrawalRecord.bind(this),deposit:this.deposit.bind(this),depositRecord:this.depositRecord.bind(this),betRecord:this.betRecord.bind(this),latestBetRecord:this.latestBetRecord.bind(this),transactionRecord:this.transactionRecord.bind(this),game:this.game.bind(this),gameSession:this.gameSession.bind(this),promo:this.promo.bind(this),cashback:this.cashback.bind(this),bonus:this.bonus.bind(this),cashbackBonus:this.cashbackBonus.bind(this),file:this.file.bind(this),pointsWallet:this.pointsWallet.bind(this)}}platform(e){var t,a,r,s,d,y,g,C,_,h,G,x,$,B,W,U,O,q,F,L,V,Y,H,j,Q,K,z,J,X,Z,ee,te,ae,re,ne,ie,oe,se,de,me,ce,ue,le,pe,fe,he,we,ye,be;return{paymentSettings:{minimumFirstDepositAmount:n(e.minimumFirstDepositAmount),restrictWithdrawalsToVerifiedMembers:e.restrictWithdrawalsToVerifiedMembers,depositGateway:{bank:{androidEnabled:((t=e.bankDepositGatewaySettings)==null?void 0:t.androidEnabled)??!1,iosEnabled:((a=e.bankDepositGatewaySettings)==null?void 0:a.iosEnabled)??!1,webEnabled:((r=e.bankDepositGatewaySettings)==null?void 0:r.webEnabled)??!1,mobileWebEnabled:((s=e.bankDepositGatewaySettings)==null?void 0:s.mobileWebEnabled)??!1,minimumAmount:n((d=e.bankDepositGatewaySettings)==null?void 0:d.minimumAmount),maximumAmount:n((y=e.bankDepositGatewaySettings)==null?void 0:y.maximumAmount)},gcash:{androidEnabled:((g=e.gcashDepositGatewaySettings)==null?void 0:g.androidEnabled)??!1,iosEnabled:((C=e.gcashDepositGatewaySettings)==null?void 0:C.iosEnabled)??!1,webEnabled:((_=e.gcashDepositGatewaySettings)==null?void 0:_.webEnabled)??!1,mobileWebEnabled:((h=e.gcashDepositGatewaySettings)==null?void 0:h.mobileWebEnabled)??!1,minimumAmount:n((G=e.gcashDepositGatewaySettings)==null?void 0:G.minimumAmount),maximumAmount:n((x=e.gcashDepositGatewaySettings)==null?void 0:x.maximumAmount)},maya:{androidEnabled:(($=e.mayaDepositGatewaySettings)==null?void 0:$.androidEnabled)??!1,iosEnabled:((B=e.mayaDepositGatewaySettings)==null?void 0:B.iosEnabled)??!1,webEnabled:((W=e.mayaDepositGatewaySettings)==null?void 0:W.webEnabled)??!1,mobileWebEnabled:((U=e.mayaDepositGatewaySettings)==null?void 0:U.mobileWebEnabled)??!1,minimumAmount:n((O=e.mayaDepositGatewaySettings)==null?void 0:O.minimumAmount),maximumAmount:n((q=e.mayaDepositGatewaySettings)==null?void 0:q.maximumAmount)},mayaApp:{androidEnabled:((F=e.mayaAppDepositGatewaySettings)==null?void 0:F.androidEnabled)??!1,iosEnabled:((L=e.mayaAppDepositGatewaySettings)==null?void 0:L.iosEnabled)??!1,webEnabled:((V=e.mayaAppDepositGatewaySettings)==null?void 0:V.webEnabled)??!1,mobileWebEnabled:((Y=e.mayaAppDepositGatewaySettings)==null?void 0:Y.mobileWebEnabled)??!1,minimumAmount:n((H=e.mayaAppDepositGatewaySettings)==null?void 0:H.minimumAmount),maximumAmount:n((j=e.mayaAppDepositGatewaySettings)==null?void 0:j.maximumAmount)}},withdrawalGateway:{bank:{androidEnabled:((Q=e.bankWithdrawalGatewaySettings)==null?void 0:Q.androidEnabled)??!1,iosEnabled:((K=e.bankWithdrawalGatewaySettings)==null?void 0:K.iosEnabled)??!1,webEnabled:((z=e.bankWithdrawalGatewaySettings)==null?void 0:z.webEnabled)??!1,mobileWebEnabled:((J=e.bankWithdrawalGatewaySettings)==null?void 0:J.mobileWebEnabled)??!1,minimumAmount:n((X=e.bankWithdrawalGatewaySettings)==null?void 0:X.minimumAmount),maximumAmount:n((Z=e.bankWithdrawalGatewaySettings)==null?void 0:Z.maximumAmount)},gcash:{androidEnabled:((ee=e.gcashWithdrawalGatewaySettings)==null?void 0:ee.androidEnabled)??!1,iosEnabled:((te=e.gcashWithdrawalGatewaySettings)==null?void 0:te.iosEnabled)??!1,webEnabled:((ae=e.gcashWithdrawalGatewaySettings)==null?void 0:ae.webEnabled)??!1,mobileWebEnabled:((re=e.gcashWithdrawalGatewaySettings)==null?void 0:re.mobileWebEnabled)??!1,minimumAmount:n((ne=e.gcashWithdrawalGatewaySettings)==null?void 0:ne.minimumAmount),maximumAmount:n((ie=e.gcashWithdrawalGatewaySettings)==null?void 0:ie.maximumAmount,1e6)},maya:{androidEnabled:((oe=e.mayaWithdrawalGatewaySettings)==null?void 0:oe.androidEnabled)??!1,iosEnabled:((se=e.mayaWithdrawalGatewaySettings)==null?void 0:se.iosEnabled)??!1,webEnabled:((de=e.mayaWithdrawalGatewaySettings)==null?void 0:de.webEnabled)??!1,mobileWebEnabled:((me=e.mayaWithdrawalGatewaySettings)==null?void 0:me.mobileWebEnabled)??!1,minimumAmount:n((ce=e.mayaWithdrawalGatewaySettings)==null?void 0:ce.minimumAmount),maximumAmount:n((ue=e.mayaWithdrawalGatewaySettings)==null?void 0:ue.maximumAmount)},mayaApp:{androidEnabled:((le=e.mayaAppWithdrawalGatewaySettings)==null?void 0:le.androidEnabled)??!1,iosEnabled:((pe=e.mayaAppWithdrawalGatewaySettings)==null?void 0:pe.iosEnabled)??!1,webEnabled:((fe=e.mayaAppWithdrawalGatewaySettings)==null?void 0:fe.webEnabled)??!1,mobileWebEnabled:((he=e.mayaAppWithdrawalGatewaySettings)==null?void 0:he.mobileWebEnabled)??!1,minimumAmount:n((we=e.mayaAppWithdrawalGatewaySettings)==null?void 0:we.minimumAmount),maximumAmount:n((ye=e.mayaAppWithdrawalGatewaySettings)==null?void 0:ye.maximumAmount,1e6)}}},pointsClubSettings:{multiplier:n((be=e.pointsClubSettings)==null?void 0:be.multiplier,0)}}}account(e){return{id:e.id,name:e.name,status:e.status,verified:e.verified,nickName:e.nickName??void 0,realName:e.realName??void 0,dateOfBirth:e.birthDay?new Date(e.birthDay):void 0,emailAddress:e.emailAddress??void 0,mobileNumber:e.mobileNumber??void 0,mobileNumberVerified:e.mobileNumberVerified??!1,mobileNumberVerificationRequired:e.mobileNumberVerificationRequired??!1,validId:e.validId??void 0,verificationStatus:e.verificationStatus,transactionPassword:e.transactionPassword,secretAnswerSubmitted:e.secretAnswerSubmitted??!1,dateTimeLastActive:e.dateTimeLastActive?new Date(e.dateTimeLastActive):void 0,dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}wallet(e){return{...e,balance:n(e.balance,0),dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}verificationDetails(e){return{...e,idFrontImage:{...e.idFrontImage,url:e.idFrontImage.url??void 0,dateTimeCreated:new Date(e.idFrontImage.dateTimeCreated)},selfieImage:{...e.selfieImage,url:e.selfieImage.url??void 0,dateTimeCreated:new Date(e.selfieImage.dateTimeCreated)}}}profileCompletion(e){return{...e,completionPercentage:n(e,0)}}announcement(e){return{...e,activationEndDateTime:new Date(e.activationEndDateTime),activationStartDateTime:new Date(e.activationStartDateTime),dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}withdrawalRecord(e){return{...e,amount:n(e.amount,0),netAmount:n(e.netAmount,0),fee:n(e.fee,0),reference:e.reference??void 0,bank:e.bank??void 0,recipientMobileNumber:e.recipientMobileNumber??void 0,dateTimeConfirmed:e.dateTimeConfirmed?new Date(e.dateTimeConfirmed):void 0,dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}deposit(e){return{...e,fee:n(e.fee,0),amount:n(e.amount,0),netAmount:n(e.netAmount,0),reference:e.reference??void 0,checkoutUrl:e.checkoutUrl??void 0,dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}depositRecord(e){return{...e,amount:n(e.amount,0),fee:n(e.fee,0),netAmount:n(e.netAmount,0),reference:e.reference??void 0,dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}betRecord(e){var t;return{...e,bet:n(e.bet,0),payout:n(e.payout,0),jackpotContribution:n(e.jackpotContribution,0),jackpotPayout:n(e.jackpotPayout,0),winloss:n(e.winloss),validBet:n(e.validBet,0),vendorRoundId:e.vendorRoundId??void 0,game:this.game(e.game),dateTimeSettled:e.dateTimeSettled?new Date(e.dateTimeSettled):void 0,dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated),betContent:e.betContent??void 0,contestName:e.contestName??void 0,externalCategory:e.externalCategory??void 0,metadata:{odds:((t=e.metadata)==null?void 0:t.odds)??void 0}}}latestBetRecord(e){return{...e,game:this.game(e.game),bet:n(e.bet,0),payout:n(e.payout,0),validBet:n(e.validBet,0),dateTimeSettled:new Date(e.dateTimeSettled),dateTimeCreated:new Date(e.dateTimeCreated)}}transactionRecord(e){return{...e,amount:n(e.amount,0),content:e.content??void 0,currentBalance:n(e.currentBalance,0),dateTimeCreated:new Date(e.dateTimeCreated)}}game(e){const t=this.staticService.gameThumbnails(e);return{...e,images:t}}gameSession(e){return{...e,dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}promo(e){return{...e,banner:{...e.banner,dateTimeCreated:new Date(e.banner.dateTimeCreated)},maximumBonusAmount:n(e.maximumBonusAmount),minimumBonusAmount:n(e.minimumBonusAmount),activationEndDateTime:new Date(e.activationEndDateTime),activationStartDateTime:new Date(e.activationStartDateTime),dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}cashback(e){return{...e,banner:{...e.banner,dateTimeCreated:new Date(e.banner.dateTimeCreated)},activationEndDateTime:new Date(e.activationEndDateTime),activationStartDateTime:new Date(e.activationStartDateTime),dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}bonus(e){return{...e,promo:this.promo(e.promo),deposit:e.deposit?{...e.deposit,fee:n(e.deposit.fee,0),amount:n(e.deposit.amount,0),netAmount:n(e.deposit.netAmount,0),reference:e.deposit.reference??void 0,dateTimeCreated:new Date(e.deposit.dateTimeCreated),dateTimeLastUpdated:new Date(e.deposit.dateTimeLastUpdated)}:void 0,balance:n(e.balance,0),amount:n(e.amount,0),expiration:new Date(e.expiration),turnoverRequirement:n(e.turnoverRequirement,0),currentTurnoverRequirementContribution:n(e.currentTurnoverRequirementContribution,0),currentTurnoverRequirementContributionPercentage:n(e.currentTurnoverRequirementContributionPercentage,0),dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}cashbackBonus(e){return{id:e.id,balance:n(e.balance,0),cashback:this.cashback(e.cashback),dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}file(e){return{...e,url:e.url??void 0,dateTimeCreated:new Date(e.dateTimeCreated)}}pointsWallet(e){return{id:e.id,points:n(e.points,0),account:e.account,dateTimeCreated:new Date(e.dateTimeCreated)}}}class Tt{constructor(e){m(this,"gameService");m(this,"fileService");m(this,"walletService");m(this,"reportService");m(this,"portalService");m(this,"accountService");m(this,"sessionManager");m(this,"transformer");m(this,"logger");const t=e.environment==="development";this.sessionManager=new kt({...e,url:t?"https://auth.development.opexa.io":"https://auth.opexa.io"});const a={middlewares:[this.authMiddleware],fetchOptions:{headers:{Role:"MEMBER","Platform-Code":e.platform}}};this.gameService=new I(new b(t?"https://game.development.opexa.io/graphql":"https://game.opexa.io/graphql",a)),this.fileService=new ft(new b(t?"https://file.development.opexa.io/graphql":"https://file.opexa.io/graphql",a)),this.walletService=new yt(new b(t?"https://wallet.development.opexa.io/graphql":"https://wallet.opexa.io/graphql",a)),this.reportService=new ht(new b(t?"https://report.development.opexa.io/graphql":"https://report.opexa.io/graphql",a)),this.accountService=new lt(new b(t?"https://account.development.opexa.io/graphql":"https://account.opexa.io/graphql",a)),this.portalService=new bt(new b(t?"https://portal.development.opexa.io/graphql":"https://portal.opexa.io/graphql",a)),this.transformer=new Ct(e),this.logger=new R({enabled:e.log??!1})}get authMiddleware(){return async e=>{this.logger.info("Checking for session");const t=await this.sessionManager.get();return t.data?(e.headers.append("Authorization",`Bearer ${t.data.accessToken}`),this.logger.info("Session found"),this.logger.success("Added 'Authorization' header")):this.logger.info("No session found"),e}}async signIn(e){switch(e.type){case"NAME_AND_PASSWORD":{const t=await this.sessionManager.create({...e,password:await w(e.password)});return t.ok?t.data?{ok:!0,data:{"2FAEnabled":!0,authenticator:t.data.authenticator}}:{ok:!0,data:{"2FAEnabled":!1}}:t}default:{const t=await this.sessionManager.create(e);return t.ok?{ok:!0}:t}}}async authenticate(e){switch(e.type){case"SECURITY_QUESTION":return await this.sessionManager.createFromAuthenticator({type:"SECURITY_QUESTION",token:e.token,secretAnswer:await w(e.secretAnswer)});default:return{ok:!1,error:{name:"HttpBadRequest",message:"Invalid input 'type'"}}}}async signOut(){await this.sessionManager.destroy()}watchSession(e){const t=e.interval??3e4,a=e.onInvalid;let r=null;const s=()=>setTimeout(async()=>{await this.sessionManager.verify()||await a(),r=s()},t);return r=s(),function(){r&&clearTimeout(r)}}async session(){const e=await this.sessionManager.get();return e.ok?{ok:!0,data:e.data?{id:e.data.session.id,dateTimeCreated:new Date(e.data.session.dateTimeCreated)}:null}:e}async platform(){const e=await this.accountService.platform();return e.ok?{ok:!0,data:this.transformer.transform.platform(e.data)}:e}async account(){const[e,t]=await Promise.all([this.accountService.memberAccount(),this.reportService.member()]);return e.ok?t.ok?{ok:!0,data:this.transformer.transform.account({...e.data,...t.data})}:{ok:!1,error:t.error}:{ok:!1,error:e.error}}async createAccount(e){const t=e.id??u.ObjectId.generate(f.Account).toString(),a=await this.accountService.registerMemberAccount({input:{id:t,name:e.name,birthDay:typeof e.dateOfBirth=="string"?e.dateOfBirth:e.dateOfBirth.toISOString(),password:await w(e.password),mobileNumber:this.addAreaCode(e.mobileNumber),domain:e.domain,btag:e.btag},verificationCode:e.verificationCode,reCAPTCHAResponse:e.reCAPTCHAResponse});return a.ok?{ok:!0,data:{id:t}}:a}async updateAccount(e,t){return await this.accountService.updateMemberAccount({input:{id:e,data:{...t,password:t.password?await w(t.password):void 0,transactionPassword:t.transactionPassword?await w(t.transactionPassword):void 0,...t.mobileNumber&&{mobileNumber:this.addAreaCode(t.mobileNumber)},secretAnswer:t.secretAnswer?await w(t.secretAnswer):void 0}}})}async deleteAccount(e){return await this.accountService.deleteMemberAccount({input:{id:e}})}async verificationDetails(){const e=await this.accountService.memberVerification();return e.ok?{ok:!0,data:e.data?this.transformer.transform.verificationDetails(e.data):null}:e}async submitVerificationDetails(e){const t=e.id??u.ObjectId.generate(f.Verification).toString(),a=await this.accountService.createMemberVerification({input:{id:t,...e}});return a.ok?{ok:!0,data:{id:t}}:a}async updateVerificationDetails(e,t){return await this.accountService.updateMemberVerification({input:{id:e,data:{...t}}})}async resetPassword(e){return await this.accountService.resetPassword({input:{mobileNumber:this.addAreaCode(e.mobileNumber),newPassword:await w(e.newPassword)},verificationCode:e.verificationCode})}async verifyMobileNumber(e){return await this.accountService.verifyMobileNumber({input:{verificationCode:e}})}async profileCompletion(){const e=await this.accountService.profileCompletion();return e.ok?{ok:!0,data:this.transformer.transform.profileCompletion(e.data)}:e}async sendVerificationCode(e){return await this.accountService.sendVerificationCode({input:{channel:"SMS",recipient:this.addAreaCode(e)}})}async wallet(){const e=await this.walletService.wallet();return e.ok?{ok:!0,data:e.data?this.transformer.transform.wallet(e.data):null}:e}async announcements(e){const t=await this.accountService.announcements({...e,filter:{visibility:{in:["MEMBER","GLOBAL"]},activationStartDateTime:{greaterThanOrEqual:new Date}}});return t.ok?{ok:!0,data:{announcements:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.announcement(r),cursor:a})),totalCount:t.data.totalCount,endCursor:t.data.pageInfo.endCursor??void 0,hasNextPage:t.data.pageInfo.hasNextPage}}:t}async createWithdrawal(e){const t=e.id??u.ObjectId.generate(f.Withdrawal).toString();if(e.type==="BANK"){const a=await this.walletService.createBankWithdrawal({input:{id:t,amount:e.amount.toString(),transactionPassword:await w(e.transactionPassword)}});if(!a.ok)return a}if(e.type==="GCASH"){const a=await this.walletService.createGCashWithdrawal({input:{id:t,amount:e.amount.toString(),transactionPassword:await w(e.transactionPassword),recipientMobileNumber:this.addAreaCode(e.recipientMobileNumber)}});if(!a.ok)return a}if(e.type==="MAYA"){const a=await this.walletService.createMayaWithdrawal({input:{id:t,amount:e.amount.toString(),transactionPassword:await w(e.transactionPassword),recipientMobileNumber:this.addAreaCode(e.recipientMobileNumber)}});if(!a.ok)return a}if(e.type==="MAYA_APP"){const a=await this.walletService.createMayaAppWithdrawal({input:{id:t,amount:e.amount.toString(),transactionPassword:await w(e.transactionPassword)}});if(!a.ok)return a}return{ok:!0,data:{id:t}}}async withdrawalRecords(e){const t=await this.reportService.withdrawalRecords(e);return t.ok?{ok:!0,data:{withdrawalRecords:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.withdrawalRecord(r),cursor:a})),totalCount:t.data.totalCount,endCursor:t.data.pageInfo.endCursor??void 0,hasNextPage:t.data.pageInfo.hasNextPage}}:t}async remainingDailyWithdrawalsCount(){return await this.walletService.remainingDailyWithdrawalsCount()}async createDeposit(e){const t=e.id??u.ObjectId.generate(f.Deposit).toString();if(e.type==="MAYA"){const a=await this.walletService.createMayaDeposit({input:{id:t,amount:e.amount.toString(),promo:e.promo}});if(!a.ok)return a}if(e.type==="MAYA_APP"){const a=await this.walletService.createMayaAppDeposit({input:{id:t,amount:e.amount.toString(),promo:e.promo}});if(!a.ok)return a}if(e.type==="GCASH"){const a=await this.walletService.createGCashDeposit({input:{id:t,amount:e.amount.toString(),promo:e.promo}});if(!a.ok)return a}return{ok:!0,data:{id:t}}}async deposit(e){const t=await this.walletService.deposit({id:e});return t.ok?{ok:!0,data:t.data?this.transformer.transform.deposit(t.data):null}:t}async depositRecords(e){const t=await this.reportService.depositRecords(e);return t.ok?{ok:!0,data:{depositRecords:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.depositRecord(r),cursor:a})),totalCount:t.data.totalCount,endCursor:t.data.pageInfo.endCursor??void 0,hasNextPage:t.data.pageInfo.hasNextPage}}:t}async depositsCount(){return await this.reportService.depositsCount()}async betRecords(e){const t=await this.reportService.betRecords(e);return t.ok?{ok:!0,data:{betRecords:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.betRecord(r),cursor:a})),totalCount:t.data.totalCount,endCursor:t.data.pageInfo.endCursor??void 0,hasNextPage:t.data.pageInfo.hasNextPage}}:t}async latestBetRecords(){const e=await this.portalService.latestBetRecords();return e.ok?{ok:!0,data:e.data.map(this.transformer.transform.latestBetRecord)}:e}async transactionRecords(e){const t=await this.reportService.transactionRecords(e);return t.ok?{ok:!0,data:{transactionRecords:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.transactionRecord(r),cursor:a})),totalCount:t.data.totalCount,endCursor:t.data.pageInfo.endCursor??void 0,hasNextPage:t.data.pageInfo.hasNextPage}}:t}async promos(){const e=await this.walletService.promos();return e.ok?{ok:!0,data:e.data.map(this.transformer.transform.promo)}:e}async availablePromos(){const e=await this.walletService.availablePromos();return e.ok?{ok:!0,data:e.data.map(this.transformer.transform.promo)}:e}async cashbacks(){const e=await this.walletService.cashbacks();return e.ok?{ok:!0,data:e.data.map(this.transformer.transform.cashback)}:e}async bonus(){const e=await this.walletService.bonus();return e.ok?{ok:!0,data:e.data?this.transformer.transform.bonus(e.data):null}:e}async cashbackBonuses(){const e=await this.walletService.cashbackBonuses();return e.ok?{ok:!0,data:e.data.map(this.transformer.transform.cashbackBonus)}:e}async claimCashbackBonus(e){return await this.walletService.claimCashbackBonus({input:{id:e}})}async games(e){const t=await this.gameService.games(e);return t.ok?{ok:!0,data:{games:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.game(r),cursor:a})),totalCount:t.data.totalCount,hasNextPage:t.data.pageInfo.hasNextPage,endCursor:t.data.pageInfo.endCursor??void 0}}:t}async gamesByName(e){const t=await this.gameService.gamesByName(e);return t.ok?{ok:!0,data:t.data.map(this.transformer.transform.game)}:t}async gamesByName__next(e){const t=await this.walletService.gamesByName(e);return t.ok?{ok:!0,data:t.data.map(this.transformer.transform.game)}:t}async games__next(e){const t=await this.walletService.games(e);return t.ok?{ok:!0,data:{games:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.game(r),cursor:a})),totalCount:t.data.totalCount,endCursor:t.data.pageInfo.endCursor??void 0,hasNextPage:t.data.pageInfo.hasNextPage}}:t}async createGameSession(e){const t=e.id??u.ObjectId.generate(f.GameSession).toString(),a=await this.gameService.createGameSession({input:{id:t,game:e.game}});return a.ok?{ok:!0,data:{id:t}}:a}async createGameSession__next(e){const t=e.id??u.ObjectId.generate(f.GameSession).toString(),a=await this.walletService.createGameSession({input:{id:t,game:e.game}});return a.ok?{ok:!0,data:{id:t}}:a}async gameSession(e){const t=await this.gameService.gameSession({id:e});return t.ok?{ok:!0,data:t.data?this.transformer.transform.gameSession(t.data):null}:t}async gameSession__next(e){const t=await this.walletService.gameSession({id:e});return t.ok?{ok:!0,data:t.data?this.transformer.transform.gameSession(t.data):null}:t}async endGameSession(e){return await this.gameService.endGameSession({input:{id:e}})}async endGameSession__next(e){return await this.walletService.endGameSession({input:{id:e}})}async file(e){const t=await this.fileService.file({id:e});return t.ok?{ok:!0,data:t.data?this.transformer.transform.file(t.data):null}:t}async uploadImageFile(e){const t=e.id??u.ObjectId.generate(f.File).toString(),a=await this.fileService.uploadPrivateImageFile({input:{id:t,file:e.file}});return a.ok?{ok:!0,data:{id:t}}:a}async pointsWallet(){const e=await this.walletService.pointsWallet();return e.ok?{ok:!0,data:e.data?this.transformer.transform.pointsWallet(e.data):null}:e}async pointsToCashConversion(e){return await this.walletService.pointsToCashConversion({input:{amount:e.toString()}})}addAreaCode(e){return e.startsWith("+63")?e:e.startsWith("63")?`+${e}`:e.startsWith("0")?`+63${e.substring(1)}`:`+63${e}`}}Object.defineProperty(l,"ObjectId",{enumerable:!0,get:()=>u.ObjectId}),l.ObjectType=f,l.Sdk=Tt,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});
941
+ `;function c(n){return{name:n,message:{AccountNameNotAvailableError:"Username is no longer available",AccountNotFoundError:"Account does not exist",AccountNotVerifiedError:"Account is not verified",CashbackBonusDoesNotExistError:"Cashback bonus does not exists",DepositPromoMaximumAmountExceededError:"Deposit amount exceeds maximum amount",DepositPromoMinimumAmountNotMetError:"Deposit amount does not meet minimum amount",EmailAddressNotAvailableError:"Email is no longer available",FileDoesNotExistError:"File does not exist",FileFormatNotSupportedError:"File format is not supported",FileNameTooLongError:"File name is too long",FileNotReadyError:"File is not yet ready",FileSizeTooBigError:"File size is too big",GameDoesNotExistError:"Game does not exist",HasActiveBonusError:"Account has active bonus",InsufficientPointsError:"Insufficient points",InvalidPlatformError:"Invalid platform",InvalidReCAPTCHAResponseError:"Invalid reCAPTCHA",InvalidSMSVerificationCodeError:"Invalid SMS verification code",InvalidTransactionPasswordError:"Invalid transaction password",InvalidVerificationCodeError:"Invalid verification code",InvalidWithdrawalAmountError:"Invalid withdrawal amount",MaximumDepositAmountExceededError:"Maximum deposit amount exceeded",MemberVerificationAlreadyApprovedError:"Member verification is already approved",MemberVerificationAlreadyExistsError:"Member verification already exists",MemberVerificationDoesNotExistError:"Member verification does not exist",MinimumAgeRequirementError:"Minimum age requirement not met",MinimumDepositAmountNotMetError:"Minimum deposit amount not met",MinimumFirstDepositAmountNotMetError:"Minimum first deposit amount not met",MobileNumberAlreadyVerifiedError:"Mobile number is already verified",MobileNumberNotAvailableError:"Mobile number is no longer available",MobileNumberNotVerifiedError:"Mobile number is not verified",NickNameNotAvailableError:"Nickname is no longer available",NotEnoughBalanceError:"Insufficient balance",NotReadyToSendVerficationCodeError:"Not ready to send verification code",PromoNotEnabledError:"Promo is not enabled",RealNameAlreadySetError:"Real name is already set",ValidIdAlreadySetError:"Valid ID is already set",WalletDoesNotExistError:"Wallet does not exist",WithdrawalDailyLimitExceededError:"Daily withdrawal limit exceeded",GameProviderError:"Game provider error",GameSessionAlreadyClosedError:"Game session is already closed",GameSessionDoesNotExistError:"Game session does not exist",AccountBlacklisted:"Account is blacklisted",AccountNotFound:"Account not found",InvalidToken:"Invalid token",InvalidTokenOrSecretAnswer:"Invalid token or secret answer",SessionExpired:"Session expired"}[n]}}class ht{constructor(e){m(this,"client");this.client=e}async memberAccount(){const e=await this.client.request(at);return e.ok?{ok:!0,data:e.data.memberAccount}:e}async registerMemberAccount(e){const t=await this.client.request(nt,e);return t.ok?t.data.registerMemberAccount?{ok:!1,error:c(t.data.registerMemberAccount.__typename)}:{ok:!0}:t}async updateMemberAccount(e){const t=await this.client.request(ot,e);return t.ok?t.data.updateMemberAccount?{ok:!1,error:c(t.data.updateMemberAccount.__typename)}:{ok:!0}:t}async deleteMemberAccount(e){const t=await this.client.request(st,e);return t.ok?t.data.deleteMemberAccount?{ok:!0}:{ok:!1,error:{name:"UnknownError",message:"Something went wrong."}}:t}async resetPassword(e){const t=await this.client.request(it,e);return t.ok?t.data.resetPassword?{ok:!1,error:c(t.data.resetPassword.__typename)}:{ok:!0}:t}async profileCompletion(){const e=await this.client.request(ut);return e.ok?{ok:!0,data:e.data.profileCompletion}:e}async platform(){return await this.client.request(pt)}async sendVerificationCode(e){const t=await this.client.request(lt,e);return t.ok?t.data.sendVerificationCode?{ok:!1,error:c(t.data.sendVerificationCode.__typename)}:{ok:!0}:t}async verifyMobileNumber(e){const t=await this.client.request(dt,e);return t.ok?t.data.verifyMobileNumber?{ok:!1,error:c(t.data.verifyMobileNumber.__typename)}:{ok:!0}:t}async createMemberVerification(e){const t=await this.client.request(mt,e);return t.ok?t.data.createMemberVerification?{ok:!1,error:c(t.data.createMemberVerification.__typename)}:{ok:!0}:t}async updateMemberVerification(e){const t=await this.client.request(ct,e);return t.ok?t.data.updateMemberVerification?{ok:!1,error:c(t.data.updateMemberVerification.__typename)}:{ok:!0}:t}async memberVerification(){const e=await this.client.request(rt);return e.ok?{ok:!0,data:e.data.memberAccount.verification}:e}async announcements(e){const t=await this.client.request(Ge,e);return t.ok?{ok:!0,data:t.data.announcements}:t}}function f(n,e){const t=M[n]?M[n]:M[500];return{name:t.name,message:e??t.message}}const M={400:{name:"HttpBadRequest",message:"Bad Request"},401:{name:"HttpUnauthorized",message:"Unauthorized"},403:{name:"HttpForbidden",message:"Forbidden"},404:{name:"HttpNotFound",message:"Not Found"},408:{name:"HttpRequestTimeout",message:"Request Timeout"},429:{name:"HttpTooManyRequests",message:"Too Many Requests"},500:{name:"HttpInternalServerError",message:"Internal Server Error"}};class wt{constructor(e){m(this,"url");m(this,"platform");this.url=e.url,this.platform=e.platform}async createSession(e){const t=new Headers({"Content-Type":"application/json","Platform-Code":this.platform,Role:"MEMBER"});if(e.name){const a=`${e.name}:${e.password}`,r=Buffer.from(a).toString("base64");t.set("Authorization",`Basic ${r}`)}if(e.mobileNumber){const a=`${e.mobileNumber}:${e.verificationCode}`,r=Buffer.from(a).toString("base64");t.set("Authorization",`MobileNumberOTP ${r}`)}e.sessionId&&t.set("Authorization",`Maya ${e.sessionId}`);try{const a=await fetch(`${this.url}/sessions`,{method:"POST",headers:t}),r=await a.json();return a.ok?{ok:!0,data:r}:r.code==="ACCOUNT_BLACKLISTED"?{ok:!1,error:c("AccountBlacklisted")}:{ok:!1,error:f(a.status)}}catch{return{ok:!1,error:f(500)}}}async authenticate(e){const t=new Headers({"Content-Type":"application/json","Platform-Code":this.platform,Role:"MEMBER"});if(e.type==="SECURITY_QUESTION"){t.set("Authorization",`Bearer ${e.token}`);try{const a=await fetch(`${this.url}/session/${e.token}/authenticate`,{method:"POST",headers:t,body:JSON.stringify({secretAnswer:e.secretAnswer})}),r=await a.json();return a.ok?{ok:!0,data:r}:a.status===401||a.status===403?{ok:!1,error:c("InvalidTokenOrSecretAnswer")}:{ok:!1,error:f(a.status)}}catch{return{ok:!1,error:f(500)}}}throw new Error("Invalid input 'type'")}async refreshSession(e){try{const t=await fetch(`${this.url}/session:refresh`,{method:"POST",headers:{"Content-Type":"application/json","Platform-Code":this.platform,Role:"MEMBER",Authorization:`Bearer ${e}`}}),a=await t.json();return t.ok?{ok:!0,data:a}:a.code==="ACCOUNT_BLACKLISTED"?{ok:!1,error:c("AccountBlacklisted")}:t.status===403||t.status===401?{ok:!1,error:c("InvalidToken")}:{ok:!1,error:f(t.status)}}catch{return{ok:!1,error:f(500)}}}async destroySession(e){try{const t=await fetch(`${this.url}/session`,{method:"DELETE",headers:{"Content-Type":"application/json","Platform-Code":this.platform,Role:"MEMBER",Authorization:`Bearer ${e}`}});return t.ok?{ok:!0}:{ok:!1,error:f(t.status)}}catch{return{ok:!1,error:f(500)}}}async verifySession(e){try{return(await fetch(`${this.url}/session`,{method:"GET",headers:{"Content-Type":"application/json","Platform-Code":this.platform,Role:"MEMBER",Authorization:`Bearer ${e}`}})).ok}catch{return!0}}}class yt{constructor(e){m(this,"client");this.client=e}async file(e){const t=await this.client.request(Ce,e);return t.ok?{ok:!0,data:t.data.node}:t}async uploadPrivateImageFile(e){const t=await this.client.upload(_e,e);return t.ok?t.data.uploadPrivateImageFile?{ok:!1,error:c(t.data.uploadPrivateImageFile.__typename)}:{ok:!0}:t}}class bt{constructor(e){m(this,"client");this.client=e}async betRecords(e){const t=await this.client.request(He,e);return t.ok?{ok:t.ok,data:t.data.member.betRecords}:t}async transactionRecords(e){const t=await this.client.request(Qe,e);return t.ok?{ok:t.ok,data:t.data.member.transactionRecords}:t}async withdrawalRecords(e){const t=await this.client.request(Pe,e);return t.ok?{ok:t.ok,data:t.data.member.withdrawalRecords}:t}async depositRecords(e){const t=await this.client.request(Oe,e);return t.ok?{ok:t.ok,data:t.data.member.depositRecords}:t}async depositsCount(){const e=await this.client.request(Ye);return e.ok?{ok:e.ok,data:e.data.member.depositsCount}:e}async member(){const e=await this.client.request(tt);return e.ok?{ok:e.ok,data:e.data.member}:e}}class gt{constructor(e){m(this,"url");this.url=e.url}gameThumbnails(e){return[`${this.url}/images/${e.provider.toLowerCase()}/thumbnail-${e.id}.webp`,`${this.url}/images/${e.provider.toLowerCase()}/thumbnail-${e.provider.toLowerCase()}.webp`]}}class P{constructor(e){m(this,"client");this.client=e}async promos(){const e=await this.client.request(Ke);return e.ok?{ok:e.ok,data:e.data.promos}:e}async cashbacks(){const e=await this.client.request(Je);return e.ok?{ok:e.ok,data:e.data.cashbacks}:e}async availablePromos(e){const t=await this.client.request(ze,e);return t.ok?{ok:t.ok,data:t.data.availablePromos}:t}async cashbackBonuses(){const e=await this.client.request(Ze);return e.ok?{ok:e.ok,data:e.data.cashbackBonuses}:e}async claimCashbackBonus(e){const t=await this.client.request(et,e);return t.ok?t.data.claimCashbackBonus?{ok:!1,error:c(t.data.claimCashbackBonus.__typename)}:{ok:!0}:{ok:t.ok,error:t.error}}async bonus(){const e=await this.client.request(Xe);return e.ok?{ok:e.ok,data:e.data.bonus}:e}async wallet(){const e=await this.client.request(Te);return e.ok?{ok:e.ok,data:e.data.wallet}:e}async deposit(e){const t=await this.client.request(Ve,e);return t.ok?{ok:t.ok,data:t.data.node}:t}async createGCashDeposit(e){const t=await this.client.request(qe,e);return t.ok?t.data.createGCashDeposit?{ok:!1,error:c(t.data.createGCashDeposit.__typename)}:{ok:!0}:t}async createMayaDeposit(e){const t=await this.client.request(Fe,e);return t.ok?t.data.createMayaDeposit?{ok:!1,error:c(t.data.createMayaDeposit.__typename)}:{ok:!0}:t}async createMayaAppDeposit(e){const t=await this.client.request(Le,e);return t.ok?t.data.createMayaAppDeposit?{ok:!1,error:c(t.data.createMayaAppDeposit.__typename)}:{ok:!0}:t}async createGCashWithdrawal(e){const t=await this.client.request(xe,e);return t.ok?t.data.createGCashWithdrawal?{ok:!1,error:c(t.data.createGCashWithdrawal.__typename)}:{ok:!0}:t}async createMayaWithdrawal(e){const t=await this.client.request($e,e);return t.ok?t.data.createMayaWithdrawal?{ok:!1,error:c(t.data.createMayaWithdrawal.__typename)}:{ok:!0}:t}async createMayaAppWithdrawal(e){const t=await this.client.request(Be,e);return t.ok?t.data.createMayaAppWithdrawal?{ok:!1,error:c(t.data.createMayaAppWithdrawal.__typename)}:{ok:!0}:t}async createBankWithdrawal(e){const t=await this.client.request(We,e);return t.ok?t.data.createBankWithdrawal?{ok:!1,error:c(t.data.createBankWithdrawal.__typename)}:{ok:!0}:t}async remainingDailyWithdrawalsCount(){const e=await this.client.request(Ue);return e.ok?{ok:e.ok,data:e.data.remainingDailyWithdrawalsCount}:e}async pointsWallet(){const e=await this.client.request(ve);return e.ok?{ok:e.ok,data:e.data.pointsWallet}:e}async pointsToCashConversion(e){const t=await this.client.request(Me,e);return t.ok?t.data.pointsToCashConversion?{ok:!1,error:c(t.data.pointsToCashConversion.__typename)}:{ok:!0}:t}async mayaSession(e){const t=await this.client.request(ft,e);return t.ok?{ok:t.ok,data:t.data.mayaSession}:t}async games(e){const t=await this.client.request(D,e);return t.ok?{ok:t.ok,data:t.data.games}:t}async gamesByName(e){const t=await this.client.request(I,e);return t.ok?{ok:t.ok,data:t.data.gamesByName}:t}async gameSession(e){const t=await this.client.request(Ne,e);return t.ok?{ok:!0,data:t.data.node}:t}async createGameSession(e){const t=await this.client.request(R,e);return t.ok?t.data.createGameSession?{ok:!1,error:c(t.data.createGameSession.__typename)}:{ok:!0}:t}async endGameSession(e){const t=await this.client.request(De,e);return t.ok?t.data.endGameSession?{ok:!0}:{ok:!1,error:{name:"UnknownError",message:"Something went wrong."}}:t}}class Et{constructor(e){m(this,"client");this.client=e}async games(e){const t=await this.client.request(D,e);return t.ok?{ok:t.ok,data:t.data.games}:t}async gamesByName(e){const t=await this.client.request(I,e);return t.ok?{ok:t.ok,data:t.data.gamesByName}:t}async gameSession(e){const t=await this.client.request(Ie,e);return t.ok?{ok:!0,data:t.data.node}:t}async createGameSession(e){const t=await this.client.request(R,e);return t.ok?t.data.createGameSession?{ok:!1,error:c(t.data.createGameSession.__typename)}:{ok:!0}:t}async endGameSession(e){const t=await this.client.request(Re,e);return t.ok?t.data.endGameSession?{ok:!1,error:c(t.data.endGameSession.__typename)}:{ok:!0}:t}}class St{constructor(e){m(this,"client");this.client=e}async latestBetRecords(){const e=await this.client.request(je);return e.ok?{ok:!0,data:e.data.latestBetRecords}:e}}function At(n,e,t){return n<e?e:n>t?t:n}function kt(n){return Object.prototype.toString.call(n)==="[object Object]"&&Object(n)===n}function Ct(n){const e=[];function t(a,r=[]){for(const s in a){const d=a[s];kt(d)?t(d,[...r,s]):Array.isArray(d)?t(_t(d),[...r,s]):e.push({key:[...r,s],value:d})}}return t(n),e}function _t(n){return n.reduce((e,t,a)=>(e[a]=t,e),{})}class S{constructor(e,t){m(this,"url");m(this,"options");m(this,"middlewares");var r;const a=new Headers((r=t==null?void 0:t.fetchOptions)==null?void 0:r.headers);this.url=e,this.options={...t==null?void 0:t.fetchOptions,headers:a},this.middlewares=(t==null?void 0:t.middlewares)??[]}async request(e,t){const a=JSON.stringify({query:e,variables:t}),r=new Headers(this.options.headers);r.set("Content-Type","application/json"),r.set("Accept","application/json");const s=await this.runMiddlewares(new Request(this.url,{...this.options,body:a,headers:r,method:"POST"}));return await this.exec(s)}async upload(e,t){const a=this.createUploadBody(e,t),r=new Headers(this.options.headers);r.delete("Content-Type");const s=await this.runMiddlewares(new Request(this.url,{...this.options,body:a,headers:r,method:"POST"}));return await this.exec(s)}async exec(e){var t,a,r,s,d,p;try{const y=await fetch(e);if(!y.ok)return{ok:!1,error:f(y.status)};const h=await y.json(),E=h.data,b=(t=h.errors)==null?void 0:t.at(0);return b?((a=b.extensions)==null?void 0:a.code)==="FORBIDDEN"||((r=b.extensions)==null?void 0:r.code)==="ACCESS_TOKEN_EXPIRED"?{ok:!1,error:f(403,b.message)}:((s=b.extensions)==null?void 0:s.code)==="UNAUTHORIZED"?{ok:!1,error:f(401,b.message)}:((d=b.extensions)==null?void 0:d.code)==="BAD_USER_INPUT"||((p=b.extensions)==null?void 0:p.code)==="BAD_REQUEST"?{ok:!1,error:f(400,b.message)}:{ok:!1,error:f(500,b.message)}:{ok:!0,data:E}}catch{return{ok:!1,error:f(500)}}}async runMiddlewares(e){let t=e.clone();for(const a of this.middlewares)t=await a(t);return t}createUploadBody(e,t){const a=Ct(t).filter(d=>d.value instanceof File||d.value instanceof Blob),r=new FormData;r.append("operations",JSON.stringify({query:e,variables:t}));const s={};return a.forEach((d,p)=>{s[p.toString()]=[`variables.${d.key.join(".")}`]}),r.append("map",JSON.stringify(s)),a.forEach((d,p)=>{r.append(p.toString(),d.value)}),r}}async function g(n){const e=new TextEncoder().encode(n),t=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(t)).map(s=>s.toString(16).padStart(2,"0")).join("")}class x{constructor(e){m(this,"enabled");this.enabled=(e==null?void 0:e.enabled)??!0}info(e){this.enabled&&console.log(`\x1B[34m[info] ${e}`)}warn(e){this.enabled&&console.log(`\x1B[33m[warn] ${e}`)}error(e){this.enabled&&console.log(`\x1B[31m[error] ${e}`)}success(e){this.enabled&&console.log(`\x1B[32m[success] ${e}`)}}function N(n){return new Date(n.getTime())}function A(n,e){const t=N(n);return t.setDate(t.getDate()+e),t}function k(n,e){const t=N(n);return t.setMinutes(t.getMinutes()+e),t}function $(n,e){return n.getTime()>e.getTime()}function B(n){return new Promise(e=>{setTimeout(e,n)})}function W(n,e){const{until:t,interval:a=1e3,maxAttempt:r=3}=e;async function s(d,p){const y=p??r,h=await n(...d);return t(h)?h:y>1?(await B(a*((r-y)/2)),s(d,y-1)):h}return async(...d)=>await s(d)}function C(n,e){const t=N(n);return t.setMinutes(t.getMinutes()-e),t}class Tt{constructor(e){m(this,"logger");m(this,"storageKey","session");m(this,"authService");m(this,"walletService");m(this,"_refreshing",!1);this.authService=new wt({url:e.authUrl,platform:e.platform}),this.walletService=new P(new S(e.walletUrl,{middlewares:[t=>(t.headers.set("Platform",e.platform),t.headers.set("Role","MEMBER"),t)]})),this.logger=new x({enabled:e.log??!1})}get refreshing(){return this._refreshing}set refreshing(e){this._refreshing=e}async create(e){if(this.isServer)return this.logger.warn("'localStorage' is not available on the server."),{ok:!1,error:{name:"UnknownError",message:"Server sign in is not supported."}};if(e.type==="MAYA"){const s=await W(()=>this.walletService.mayaSession({id:e.sessionId}),{until:h=>{var E;return h.ok&&((E=h.data)==null?void 0:E.member)!=null},interval:1e3,maxAttempt:5})();if(!s.ok)return s;const p=await W(()=>this.authService.createSession(e),{until:h=>h.ok,interval:1e3,maxAttempt:5})();if(!p.ok)return p;const y=new Date;return window.localStorage.setItem(this.storageKey,JSON.stringify({...p.data,accessTokenExpiresAt:k(y,8).getTime(),refreshTokenExpiresAt:C(A(y,30),2).getTime()})),{ok:!0,data:null}}if(e.type==="MOBILE_NUMBER"){const r=await this.authService.createSession(e);if(r.ok){const s=new Date;return window.localStorage.setItem(this.storageKey,JSON.stringify({...r.data,accessTokenExpiresAt:k(s,8).getTime(),refreshTokenExpiresAt:C(A(s,30),2).getTime()})),{ok:!0,data:null}}return r}const t=await this.authService.createSession(e);if(!t.ok)return t;if(t.data.authenticator)return{ok:!0,data:{authenticator:t.data.authenticator}};const a=new Date;return window.localStorage.setItem(this.storageKey,JSON.stringify({...t.data,accessTokenExpiresAt:k(a,8).getTime(),refreshTokenExpiresAt:C(A(a,30),2).getTime()})),{ok:!0,data:null}}async createFromAuthenticator(e){const t=await this.authService.authenticate(e);if(t.ok){const a=new Date;return this.isServer?this.logger.warn("'localStorage' is not available on the server."):window.localStorage.setItem(this.storageKey,JSON.stringify({...t.data,accessTokenExpiresAt:k(a,8).getTime(),refreshTokenExpiresAt:C(A(a,30),2).getTime()})),{ok:!0}}else return t}async get(){if(this.isServer)return this.logger.warn("'localStorage' is not available on the server."),{ok:!0,data:null};if(this.refreshing)return await B(1e3),await this.get();const e=window.localStorage.getItem(this.storageKey);if(!e)return{ok:!0,data:null};try{let t=JSON.parse(e),a=new Date;const r=new Date(t.accessTokenExpiresAt),s=new Date(t.refreshTokenExpiresAt);if($(a,s))return this.logger.warn("Session expired. Logging out.."),window.localStorage.removeItem(this.storageKey),{ok:!1,error:{name:"SessionExpired",message:"Session expired."}};if($(a,r)){this.logger.info("Refreshing session..."),this.refreshing=!0;const d=await this.authService.refreshSession(t.refreshToken);if(this.refreshing=!1,!d.ok)return this.logger.error(`Failed to refresh session: ${d.error.message}`),d.error.name==="InvalidToken"||d.error.name==="AccountBlacklisted"?(window.localStorage.removeItem(this.storageKey),{ok:!1,error:d.error}):(this.logger.warn("Old session returned."),{ok:!0,data:t});this.logger.success("Session refreshed!"),a=new Date,t={...t,...d.data,accessTokenExpiresAt:k(a,8).getTime(),refreshTokenExpiresAt:C(A(a,30),2).getTime()},window.localStorage.setItem(this.storageKey,JSON.stringify(t))}return{ok:!0,data:t}}catch{return{ok:!1,error:{name:"UnknownError",message:"Something went wrong."}}}}async destroy(){var t;if(this.isServer){this.logger.warn("'localStorage' is not available on the server.");return}const e=await this.get();(t=e.data)!=null&&t.accessToken&&await this.authService.destroySession(e.data.accessToken),window.localStorage.removeItem(this.storageKey)}async verify(){var a,r,s;if(this.isServer)return this.logger.warn("'localStorage' is not available on the server."),!0;const e=await this.get();if(((a=e.error)==null?void 0:a.name)==="InvalidToken"||((r=e.error)==null?void 0:r.name)==="SessionExpired"||((s=e.error)==null?void 0:s.name)==="AccountBlacklisted")return!1;if(!e.data)return!0;const t=await this.authService.verifySession(e.data.accessToken);return t||window.localStorage.removeItem(this.storageKey),t}get isServer(){return typeof window>"u"}}function i(n,e){if(typeof n=="number"&&!Number.isNaN(n))return n;if(typeof n=="string"){const t=Number.parseFloat(n);if(!Number.isNaN(t))return t}return e}class vt{constructor(e){m(this,"staticService");const t=(e==null?void 0:e.environment)==="development";this.staticService=new gt({url:t?"https://static.development.opexa.io":"https://static.opexa.io"})}get transform(){return{platform:this.platform.bind(this),account:this.account.bind(this),wallet:this.wallet.bind(this),verificationDetails:this.verificationDetails.bind(this),profileCompletion:this.profileCompletion.bind(this),announcement:this.announcement.bind(this),withdrawalRecord:this.withdrawalRecord.bind(this),deposit:this.deposit.bind(this),depositRecord:this.depositRecord.bind(this),betRecord:this.betRecord.bind(this),latestBetRecord:this.latestBetRecord.bind(this),transactionRecord:this.transactionRecord.bind(this),game:this.game.bind(this),gameSession:this.gameSession.bind(this),promo:this.promo.bind(this),cashback:this.cashback.bind(this),bonus:this.bonus.bind(this),cashbackBonus:this.cashbackBonus.bind(this),file:this.file.bind(this),pointsWallet:this.pointsWallet.bind(this)}}platform(e){var t,a,r,s,d,p,y,h,E,b,U,O,q,F,L,V,Y,H,j,Q,K,z,J,X,Z,ee,te,ae,re,ne,oe,ie,se,de,me,ce,ue,le,pe,fe,he,we,ye,be,ge,Ee,Se,Ae,ke;return{paymentSettings:{minimumFirstDepositAmount:i(e.minimumFirstDepositAmount),restrictWithdrawalsToVerifiedMembers:e.restrictWithdrawalsToVerifiedMembers,depositGateway:{bank:{androidEnabled:((t=e.bankDepositGatewaySettings)==null?void 0:t.androidEnabled)??!1,iosEnabled:((a=e.bankDepositGatewaySettings)==null?void 0:a.iosEnabled)??!1,webEnabled:((r=e.bankDepositGatewaySettings)==null?void 0:r.webEnabled)??!1,mobileWebEnabled:((s=e.bankDepositGatewaySettings)==null?void 0:s.mobileWebEnabled)??!1,minimumAmount:i((d=e.bankDepositGatewaySettings)==null?void 0:d.minimumAmount),maximumAmount:i((p=e.bankDepositGatewaySettings)==null?void 0:p.maximumAmount)},gcash:{androidEnabled:((y=e.gcashDepositGatewaySettings)==null?void 0:y.androidEnabled)??!1,iosEnabled:((h=e.gcashDepositGatewaySettings)==null?void 0:h.iosEnabled)??!1,webEnabled:((E=e.gcashDepositGatewaySettings)==null?void 0:E.webEnabled)??!1,mobileWebEnabled:((b=e.gcashDepositGatewaySettings)==null?void 0:b.mobileWebEnabled)??!1,minimumAmount:i((U=e.gcashDepositGatewaySettings)==null?void 0:U.minimumAmount),maximumAmount:i((O=e.gcashDepositGatewaySettings)==null?void 0:O.maximumAmount)},maya:{androidEnabled:((q=e.mayaDepositGatewaySettings)==null?void 0:q.androidEnabled)??!1,iosEnabled:((F=e.mayaDepositGatewaySettings)==null?void 0:F.iosEnabled)??!1,webEnabled:((L=e.mayaDepositGatewaySettings)==null?void 0:L.webEnabled)??!1,mobileWebEnabled:((V=e.mayaDepositGatewaySettings)==null?void 0:V.mobileWebEnabled)??!1,minimumAmount:i((Y=e.mayaDepositGatewaySettings)==null?void 0:Y.minimumAmount),maximumAmount:i((H=e.mayaDepositGatewaySettings)==null?void 0:H.maximumAmount)},mayaApp:{androidEnabled:((j=e.mayaAppDepositGatewaySettings)==null?void 0:j.androidEnabled)??!1,iosEnabled:((Q=e.mayaAppDepositGatewaySettings)==null?void 0:Q.iosEnabled)??!1,webEnabled:((K=e.mayaAppDepositGatewaySettings)==null?void 0:K.webEnabled)??!1,mobileWebEnabled:((z=e.mayaAppDepositGatewaySettings)==null?void 0:z.mobileWebEnabled)??!1,minimumAmount:i((J=e.mayaAppDepositGatewaySettings)==null?void 0:J.minimumAmount),maximumAmount:i((X=e.mayaAppDepositGatewaySettings)==null?void 0:X.maximumAmount)}},withdrawalGateway:{bank:{androidEnabled:((Z=e.bankWithdrawalGatewaySettings)==null?void 0:Z.androidEnabled)??!1,iosEnabled:((ee=e.bankWithdrawalGatewaySettings)==null?void 0:ee.iosEnabled)??!1,webEnabled:((te=e.bankWithdrawalGatewaySettings)==null?void 0:te.webEnabled)??!1,mobileWebEnabled:((ae=e.bankWithdrawalGatewaySettings)==null?void 0:ae.mobileWebEnabled)??!1,minimumAmount:i((re=e.bankWithdrawalGatewaySettings)==null?void 0:re.minimumAmount),maximumAmount:i((ne=e.bankWithdrawalGatewaySettings)==null?void 0:ne.maximumAmount)},gcash:{androidEnabled:((oe=e.gcashWithdrawalGatewaySettings)==null?void 0:oe.androidEnabled)??!1,iosEnabled:((ie=e.gcashWithdrawalGatewaySettings)==null?void 0:ie.iosEnabled)??!1,webEnabled:((se=e.gcashWithdrawalGatewaySettings)==null?void 0:se.webEnabled)??!1,mobileWebEnabled:((de=e.gcashWithdrawalGatewaySettings)==null?void 0:de.mobileWebEnabled)??!1,minimumAmount:i((me=e.gcashWithdrawalGatewaySettings)==null?void 0:me.minimumAmount),maximumAmount:i((ce=e.gcashWithdrawalGatewaySettings)==null?void 0:ce.maximumAmount,1e6)},maya:{androidEnabled:((ue=e.mayaWithdrawalGatewaySettings)==null?void 0:ue.androidEnabled)??!1,iosEnabled:((le=e.mayaWithdrawalGatewaySettings)==null?void 0:le.iosEnabled)??!1,webEnabled:((pe=e.mayaWithdrawalGatewaySettings)==null?void 0:pe.webEnabled)??!1,mobileWebEnabled:((fe=e.mayaWithdrawalGatewaySettings)==null?void 0:fe.mobileWebEnabled)??!1,minimumAmount:i((he=e.mayaWithdrawalGatewaySettings)==null?void 0:he.minimumAmount),maximumAmount:i((we=e.mayaWithdrawalGatewaySettings)==null?void 0:we.maximumAmount)},mayaApp:{androidEnabled:((ye=e.mayaAppWithdrawalGatewaySettings)==null?void 0:ye.androidEnabled)??!1,iosEnabled:((be=e.mayaAppWithdrawalGatewaySettings)==null?void 0:be.iosEnabled)??!1,webEnabled:((ge=e.mayaAppWithdrawalGatewaySettings)==null?void 0:ge.webEnabled)??!1,mobileWebEnabled:((Ee=e.mayaAppWithdrawalGatewaySettings)==null?void 0:Ee.mobileWebEnabled)??!1,minimumAmount:i((Se=e.mayaAppWithdrawalGatewaySettings)==null?void 0:Se.minimumAmount),maximumAmount:i((Ae=e.mayaAppWithdrawalGatewaySettings)==null?void 0:Ae.maximumAmount,1e6)}}},pointsClubSettings:{multiplier:i((ke=e.pointsClubSettings)==null?void 0:ke.multiplier,0)}}}account(e){return{id:e.id,name:e.name,status:e.status,verified:e.verified,nickName:e.nickName??void 0,realName:e.realName??void 0,dateOfBirth:e.birthDay?new Date(e.birthDay):void 0,emailAddress:e.emailAddress??void 0,mobileNumber:e.mobileNumber??void 0,mobileNumberVerified:e.mobileNumberVerified??!1,mobileNumberVerificationRequired:e.mobileNumberVerificationRequired??!1,validId:e.validId?e.validId:void 0,verificationStatus:e.verificationStatus,transactionPassword:e.transactionPassword,secretAnswerSubmitted:e.secretAnswerSubmitted??!1,dateTimeLastActive:e.dateTimeLastActive?new Date(e.dateTimeLastActive):void 0,dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}wallet(e){return{...e,balance:i(e.balance,0),dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}verificationDetails(e){return{...e,selfieImage:this.file(e.selfieImage),idFrontImage:this.file(e.idFrontImage)}}profileCompletion(e){return{...e,completionPercentage:i(e,0)}}announcement(e){return{...e,activationEndDateTime:new Date(e.activationEndDateTime),activationStartDateTime:new Date(e.activationStartDateTime),dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}withdrawalRecord(e){return{...e,amount:i(e.amount,0),netAmount:i(e.netAmount,0),fee:i(e.fee,0),reference:e.reference??void 0,bank:e.bank??void 0,recipientMobileNumber:e.recipientMobileNumber??void 0,dateTimeConfirmed:e.dateTimeConfirmed?new Date(e.dateTimeConfirmed):void 0,dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}deposit(e){return{id:e.id,type:e.type,status:e.status,checkoutUrl:e.checkoutUrl??void 0}}depositRecord(e){return{...e,amount:i(e.amount,0),fee:i(e.fee,0),netAmount:i(e.netAmount,0),reference:e.reference??void 0,dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}betRecord(e){var t;return{...e,bet:i(e.bet,0),payout:i(e.payout,0),jackpotContribution:i(e.jackpotContribution,0),jackpotPayout:i(e.jackpotPayout,0),winloss:i(e.winloss),validBet:i(e.validBet,0),vendorRoundId:e.vendorRoundId??void 0,game:this.game(e.game),dateTimeSettled:e.dateTimeSettled?new Date(e.dateTimeSettled):void 0,dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated),betContent:e.betContent??void 0,contestName:e.contestName??void 0,externalCategory:e.externalCategory??void 0,metadata:{odds:((t=e.metadata)==null?void 0:t.odds)??void 0}}}latestBetRecord(e){return{...e,game:this.game(e.game),bet:i(e.bet,0),payout:i(e.payout,0),validBet:i(e.validBet,0),dateTimeSettled:new Date(e.dateTimeSettled),dateTimeCreated:new Date(e.dateTimeCreated)}}transactionRecord(e){return{...e,amount:i(e.amount,0),content:e.content??void 0,currentBalance:i(e.currentBalance,0),dateTimeCreated:new Date(e.dateTimeCreated)}}game(e){const t=this.staticService.gameThumbnails(e);return{...e,images:t}}gameSession(e){return{...e,dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}promo(e){return{...e,banner:this.file(e.banner),maximumBonusAmount:i(e.maximumBonusAmount),minimumBonusAmount:i(e.minimumBonusAmount),activationEndDateTime:new Date(e.activationEndDateTime),activationStartDateTime:new Date(e.activationStartDateTime),dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}cashback(e){return{...e,banner:this.file(e.banner),activationEndDateTime:new Date(e.activationEndDateTime),activationStartDateTime:new Date(e.activationStartDateTime),dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}bonus(e){return{...e,promo:this.promo(e.promo),deposit:e.deposit?{...e.deposit,fee:i(e.deposit.fee,0),amount:i(e.deposit.amount,0),netAmount:i(e.deposit.netAmount,0),reference:e.deposit.reference??void 0,dateTimeCreated:new Date(e.deposit.dateTimeCreated),dateTimeLastUpdated:new Date(e.deposit.dateTimeLastUpdated)}:void 0,balance:i(e.balance,0),amount:i(e.amount,0),expiration:new Date(e.expiration),turnoverRequirement:i(e.turnoverRequirement,0),currentTurnoverRequirementContribution:i(e.currentTurnoverRequirementContribution,0),currentTurnoverRequirementContributionPercentage:i(e.currentTurnoverRequirementContributionPercentage,0),dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}cashbackBonus(e){return{id:e.id,balance:i(e.balance,0),cashback:this.cashback(e.cashback),dateTimeCreated:new Date(e.dateTimeCreated),dateTimeLastUpdated:new Date(e.dateTimeLastUpdated)}}file(e){return{...e,url:e.url??void 0,dateTimeCreated:new Date(e.dateTimeCreated)}}pointsWallet(e){return{id:e.id,points:i(e.points,0),account:e.account,dateTimeCreated:new Date(e.dateTimeCreated)}}}class Mt{constructor(e){m(this,"gameService");m(this,"fileService");m(this,"walletService");m(this,"reportService");m(this,"portalService");m(this,"accountService");m(this,"sessionManager");m(this,"transformer");m(this,"logger");const t=e.environment==="development";this.sessionManager=new Tt({authUrl:t?"https://auth.development.opexa.io":"https://auth.opexa.io",walletUrl:t?"https://wallet.development.opexa.io/graphql":"https://wallet.opexa.io/graphql",platform:e.platform,log:e.log});const a={middlewares:[this.authMiddleware],fetchOptions:{headers:{Role:"MEMBER","Platform-Code":e.platform}}};this.gameService=new Et(new S(t?"https://game.development.opexa.io/graphql":"https://game.opexa.io/graphql",a)),this.fileService=new yt(new S(t?"https://file.development.opexa.io/graphql":"https://file.opexa.io/graphql",a)),this.walletService=new P(new S(t?"https://wallet.development.opexa.io/graphql":"https://wallet.opexa.io/graphql",a)),this.reportService=new bt(new S(t?"https://report.development.opexa.io/graphql":"https://report.opexa.io/graphql",a)),this.accountService=new ht(new S(t?"https://account.development.opexa.io/graphql":"https://account.opexa.io/graphql",a)),this.portalService=new St(new S(t?"https://portal.development.opexa.io/graphql":"https://portal.opexa.io/graphql",a)),this.transformer=new vt(e),this.logger=new x({enabled:e.log??!1})}get authMiddleware(){return async e=>{this.logger.info("Checking for session");const t=await this.sessionManager.get();return t.data?(e.headers.append("Authorization",`Bearer ${t.data.accessToken}`),this.logger.info("Session found"),this.logger.success("Added 'Authorization' header")):this.logger.info("No session found"),e}}async signIn(e){switch(e.type){case"NAME_AND_PASSWORD":{const t=await this.sessionManager.create({...e,password:await g(e.password)});return t.ok?t.data?{ok:!0,data:{"2FAEnabled":!0,authenticator:t.data.authenticator}}:{ok:!0,data:{"2FAEnabled":!1}}:t}default:{const t=await this.sessionManager.create(e);return t.ok?{ok:!0}:t}}}async authenticate(e){switch(e.type){case"SECURITY_QUESTION":return await this.sessionManager.createFromAuthenticator({type:"SECURITY_QUESTION",token:e.token,secretAnswer:await g(e.secretAnswer)});default:return{ok:!1,error:{name:"HttpBadRequest",message:"Invalid input 'type'"}}}}async signOut(){await this.sessionManager.destroy()}watchSession(e){const t=At(e.interval??3e4,3e4,6e4);let a=null;const r=()=>setTimeout(async()=>{await this.sessionManager.verify()||await e.onInvalid(),a=r()},t);return a=r(),function(){a&&clearTimeout(a)}}async session(){const e=await this.sessionManager.get();return e.ok?{ok:!0,data:e.data?{id:e.data.session.id,dateTimeCreated:new Date(e.data.session.dateTimeCreated)}:null}:e}async platform(){const e=await this.accountService.platform();return e.ok?{ok:!0,data:this.transformer.transform.platform(e.data)}:e}async account(){const[e,t]=await Promise.all([this.accountService.memberAccount(),this.reportService.member()]);return e.ok?t.ok?{ok:!0,data:this.transformer.transform.account({...e.data,...t.data})}:{ok:!1,error:t.error}:{ok:!1,error:e.error}}async createAccount(e){const t=e.id??u.ObjectId.generate(w.Account).toString(),a=await this.accountService.registerMemberAccount({input:{id:t,name:e.name,birthDay:typeof e.dateOfBirth=="string"?e.dateOfBirth:e.dateOfBirth.toISOString(),password:await g(e.password),mobileNumber:this.addAreaCode(e.mobileNumber),domain:e.domain,btag:e.referralCode},verificationCode:e.verificationCode,reCAPTCHAResponse:e.reCAPTCHAResponse});return a.ok?{ok:!0,data:{id:t}}:a}async updateAccount(e,t){return await this.accountService.updateMemberAccount({input:{id:e,data:{...t,password:t.password?await g(t.password):void 0,transactionPassword:t.transactionPassword?await g(t.transactionPassword):void 0,...t.mobileNumber&&{mobileNumber:this.addAreaCode(t.mobileNumber)},secretAnswer:t.secretAnswer?await g(t.secretAnswer):void 0}}})}async deleteAccount(e){return await this.accountService.deleteMemberAccount({input:{id:e}})}async verificationDetails(){const e=await this.accountService.memberVerification();return e.ok?{ok:!0,data:e.data?this.transformer.transform.verificationDetails(e.data):null}:e}async submitVerificationDetails(e){const t=e.id??u.ObjectId.generate(w.Verification).toString(),a=await this.accountService.createMemberVerification({input:{id:t,...e}});return a.ok?{ok:!0,data:{id:t}}:a}async updateVerificationDetails(e,t){return await this.accountService.updateMemberVerification({input:{id:e,data:{...t}}})}async resetPassword(e){return await this.accountService.resetPassword({input:{mobileNumber:this.addAreaCode(e.mobileNumber),newPassword:await g(e.newPassword)},verificationCode:e.verificationCode})}async verifyMobileNumber(e){return await this.accountService.verifyMobileNumber({input:{verificationCode:e}})}async profileCompletion(){const e=await this.accountService.profileCompletion();return e.ok?{ok:!0,data:this.transformer.transform.profileCompletion(e.data)}:e}async sendVerificationCode(e){return await this.accountService.sendVerificationCode({input:{channel:"SMS",recipient:this.addAreaCode(e)}})}async wallet(){const e=await this.walletService.wallet();return e.ok?{ok:!0,data:e.data?this.transformer.transform.wallet(e.data):null}:e}async announcements(e){const t=await this.accountService.announcements({...e,filter:{visibility:{in:["MEMBER","GLOBAL"]},activationStartDateTime:{greaterThanOrEqual:new Date}}});return t.ok?{ok:!0,data:{announcements:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.announcement(r),cursor:a})),totalCount:t.data.totalCount,endCursor:t.data.pageInfo.endCursor??void 0,hasNextPage:t.data.pageInfo.hasNextPage}}:t}async createWithdrawal(e){const t=e.id??u.ObjectId.generate(w.Withdrawal).toString();if(e.type==="BANK"){const a=await this.walletService.createBankWithdrawal({input:{id:t,amount:e.amount.toString(),transactionPassword:await g(e.transactionPassword)}});if(!a.ok)return a}if(e.type==="GCASH"){const a=await this.walletService.createGCashWithdrawal({input:{id:t,amount:e.amount.toString(),transactionPassword:await g(e.transactionPassword),recipientMobileNumber:this.addAreaCode(e.recipientMobileNumber)}});if(!a.ok)return a}if(e.type==="MAYA"){const a=await this.walletService.createMayaWithdrawal({input:{id:t,amount:e.amount.toString(),transactionPassword:await g(e.transactionPassword),recipientMobileNumber:this.addAreaCode(e.recipientMobileNumber)}});if(!a.ok)return a}if(e.type==="MAYA_APP"){const a=await this.walletService.createMayaAppWithdrawal({input:{id:t,amount:e.amount.toString(),transactionPassword:await g(e.transactionPassword)}});if(!a.ok)return a}return{ok:!0,data:{id:t}}}async withdrawalRecords(e){const t=await this.reportService.withdrawalRecords(e);return t.ok?{ok:!0,data:{withdrawalRecords:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.withdrawalRecord(r),cursor:a})),totalCount:t.data.totalCount,endCursor:t.data.pageInfo.endCursor??void 0,hasNextPage:t.data.pageInfo.hasNextPage}}:t}async remainingDailyWithdrawalsCount(){return await this.walletService.remainingDailyWithdrawalsCount()}async createDeposit(e){const t=e.id??u.ObjectId.generate(w.Deposit).toString();if(e.type==="MAYA"){const a=await this.walletService.createMayaDeposit({input:{id:t,amount:e.amount.toString(),promo:e.promo}});if(!a.ok)return a}if(e.type==="MAYA_APP"){const a=await this.walletService.createMayaAppDeposit({input:{id:t,amount:e.amount.toString(),promo:e.promo}});if(!a.ok)return a}if(e.type==="GCASH"){const a=await this.walletService.createGCashDeposit({input:{id:t,amount:e.amount.toString(),promo:e.promo}});if(!a.ok)return a}return{ok:!0,data:{id:t}}}async deposit(e){const t=await this.walletService.deposit({id:e});return t.ok?{ok:!0,data:t.data?this.transformer.transform.deposit(t.data):null}:t}async depositRecords(e){const t=await this.reportService.depositRecords(e);return t.ok?{ok:!0,data:{depositRecords:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.depositRecord(r),cursor:a})),totalCount:t.data.totalCount,endCursor:t.data.pageInfo.endCursor??void 0,hasNextPage:t.data.pageInfo.hasNextPage}}:t}async depositsCount(){return await this.reportService.depositsCount()}async betRecords(e){const t=await this.reportService.betRecords(e);return t.ok?{ok:!0,data:{betRecords:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.betRecord(r),cursor:a})),totalCount:t.data.totalCount,endCursor:t.data.pageInfo.endCursor??void 0,hasNextPage:t.data.pageInfo.hasNextPage}}:t}async latestBetRecords(){const e=await this.portalService.latestBetRecords();return e.ok?{ok:!0,data:e.data.map(this.transformer.transform.latestBetRecord)}:e}async transactionRecords(e){const t=await this.reportService.transactionRecords(e);return t.ok?{ok:!0,data:{transactionRecords:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.transactionRecord(r),cursor:a})),totalCount:t.data.totalCount,endCursor:t.data.pageInfo.endCursor??void 0,hasNextPage:t.data.pageInfo.hasNextPage}}:t}async promos(){const e=await this.walletService.promos();return e.ok?{ok:!0,data:e.data.map(this.transformer.transform.promo)}:e}async availablePromos(){const e=await this.walletService.availablePromos();return e.ok?{ok:!0,data:e.data.map(this.transformer.transform.promo)}:e}async cashbacks(){const e=await this.walletService.cashbacks();return e.ok?{ok:!0,data:e.data.map(this.transformer.transform.cashback)}:e}async bonus(){const e=await this.walletService.bonus();return e.ok?{ok:!0,data:e.data?this.transformer.transform.bonus(e.data):null}:e}async cashbackBonuses(){const e=await this.walletService.cashbackBonuses();return e.ok?{ok:!0,data:e.data.map(this.transformer.transform.cashbackBonus)}:e}async claimCashbackBonus(e){return await this.walletService.claimCashbackBonus({input:{id:e}})}async games(e){const t=await this.walletService.games(e);return t.ok?{ok:!0,data:{games:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.game(r),cursor:a})),totalCount:t.data.totalCount,hasNextPage:t.data.pageInfo.hasNextPage,endCursor:t.data.pageInfo.endCursor??void 0}}:t}async games__legacy(e){const t=await this.gameService.games(e);return t.ok?{ok:!0,data:{games:t.data.edges.map(({cursor:a,node:r})=>({...this.transformer.transform.game(r),cursor:a})),totalCount:t.data.totalCount,hasNextPage:t.data.pageInfo.hasNextPage,endCursor:t.data.pageInfo.endCursor??void 0}}:t}async gamesByName(e){const t=await this.walletService.gamesByName(e);return t.ok?{ok:!0,data:t.data.map(this.transformer.transform.game)}:t}async gamesByName__legacy(e){const t=await this.gameService.gamesByName(e);return t.ok?{ok:!0,data:t.data.map(this.transformer.transform.game)}:t}async gameSession(e){const t=await this.walletService.gameSession({id:e});return t.ok?{ok:!0,data:t.data?this.transformer.transform.gameSession(t.data):null}:t}async gameSession__legacy(e){const t=await this.gameService.gameSession({id:e});return t.ok?{ok:!0,data:t.data?this.transformer.transform.gameSession({...t.data,game:t.data.game.id}):null}:t}async createGameSession(e){const t=e.id??u.ObjectId.generate(w.GameSession).toString(),a=await this.walletService.createGameSession({input:{id:t,game:e.game}});return a.ok?{ok:!0,data:{id:t}}:a}async createGameSession__legacy(e){const t=e.id??u.ObjectId.generate(w.GameSession).toString(),a=await this.gameService.createGameSession({input:{id:t,game:e.game}});return a.ok?{ok:!0,data:{id:t}}:a}async endGameSession(e){return await this.walletService.endGameSession({input:{id:e}})}async endGameSession__legacy(e){return await this.gameService.endGameSession({input:{id:e}})}async file(e){const t=await this.fileService.file({id:e});return t.ok?{ok:!0,data:t.data?this.transformer.transform.file(t.data):null}:t}async uploadImageFile(e){const t=e.id??u.ObjectId.generate(w.File).toString(),a=await this.fileService.uploadPrivateImageFile({input:{id:t,file:e.file}});return a.ok?{ok:!0,data:{id:t}}:a}async pointsWallet(){const e=await this.walletService.pointsWallet();return e.ok?{ok:!0,data:e.data?this.transformer.transform.pointsWallet(e.data):null}:e}async pointsToCashConversion(e){return await this.walletService.pointsToCashConversion({input:{amount:e.toString()}})}addAreaCode(e){return e.startsWith("+63")?e:e.startsWith("63")?`+${e}`:e.startsWith("0")?`+63${e.substring(1)}`:`+63${e}`}}Object.defineProperty(l,"ObjectId",{enumerable:!0,get:()=>u.ObjectId}),l.ObjectType=w,l.Sdk=Mt,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});
930
942
  //# sourceMappingURL=index.js.map