@opexa/portal-sdk 0.0.21 → 0.0.22

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 +466 -469
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.mjs +902 -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 +11 -6
  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 +54 -0
  15. package/dist/services/report.service.d.ts +1 -6
  16. package/dist/services/types.d.ts +780 -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 Mt=Object.defineProperty;var Dt=(l,u,w)=>u in l?Mt(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
+ `,_e=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
+ `,Te=o`
19
+ mutation UploadPrivateImageFile($input: UploadFileInput!) {
20
+ uploadPrivateImageFile(input: $input) {
21
+ ... on FileFormatNotSupportedError {
22
+ __typename
23
+ }
24
+ ... on FileNameTooLongError {
25
+ __typename
26
+ }
27
+ ... on FileSizeTooBigError {
28
+ __typename
29
+ }
30
+ }
31
+ }
32
+ `,ve=o`
33
+ query Wallet {
34
+ wallet {
35
+ id
36
+ balance
37
+ currency
38
+ dateTimeCreated
39
+ dateTimeLastUpdated
40
+ }
41
+ }
42
+ `,Me=o`
43
+ query PointsWallet {
44
+ pointsWallet {
45
+ id
46
+ points
47
+ account
48
+ dateTimeCreated
49
+ }
50
+ }
51
+ `,De=o`
52
+ mutation PointsToCashConversion($input: PointsToCashConversionInput!) {
53
+ pointsToCashConversion(input: $input) {
54
+ ... on InsufficientPointsError {
55
+ __typename
24
56
  }
25
57
  }
26
58
  }
27
- `,E=i`
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
+ `,N=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
+ `,R=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
+ `,G=o`
85
108
  mutation CreateGameSession($input: CreateGameSessionInput!) {
86
109
  createGameSession(input: $input) {
87
110
  ... on GameDoesNotExistError {
@@ -89,43 +112,110 @@
89
112
  }
90
113
  }
91
114
  }
92
- `,Te=i`
115
+ `,Ne=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
+ mutation EndGameSession($input: EndGameSessionInput!) {
121
+ endGameSession(input: $input) {
122
+ ... on GameSessionDoesNotExistError {
123
+ __typename
124
+ }
125
+ ... on GameSessionAlreadyClosedError {
126
+ __typename
127
+ }
128
+ ... on GameProviderError {
129
+ __typename
130
+ }
131
+ }
132
+ }
133
+ `,Re=o`
134
+ query Announcements($first: Int, $after: Cursor, $filter: AnnouncementFilterInput) {
135
+ announcements(first: $first, after: $after, filter: $filter) {
136
+ edges {
137
+ cursor
138
+ node {
139
+ ... on Announcement {
140
+ id
141
+ type
142
+ title
143
+ status
144
+ message
145
+ activationStartDateTime
146
+ activationEndDateTime
147
+ dateTimeCreated
148
+ dateTimeLastUpdated
149
+ }
150
+ }
151
+ }
152
+ totalCount
153
+ pageInfo {
154
+ hasNextPage
155
+ endCursor
156
+ }
157
+ }
158
+ }
159
+ `,Ge=o`
160
+ query WithdrawalRecords($first: Int, $after: Cursor, $filter: WithdrawalRecordFilterInput) {
100
161
  member {
101
- betRecords(first: $first, after: $after, filter: $filter) {
102
- totalCount
162
+ withdrawalRecords(first: $first, after: $after, filter: $filter) {
103
163
  edges {
104
164
  cursor
105
165
  node {
106
- ... on BetRecord {
166
+ ... on BankWithdrawalRecord {
107
167
  id
108
- serialCode
109
- game {
110
- ...GameFragment
111
- }
112
- bet
113
- payout
114
- winloss
115
- jackpotPayout
116
- jackpotContribution
168
+ type
169
+ bank
170
+ fee
171
+ netAmount
172
+ reference
173
+ amount
117
174
  status
175
+ withdrawalNumber
176
+ dateTimeCreated
177
+ dateTimeLastUpdated
178
+ }
179
+ ... on GCashWithdrawalRecord {
180
+ id
181
+ type
182
+ fee
183
+ netAmount
184
+ reference
185
+ amount
186
+ status
187
+ withdrawalNumber
188
+ recipientMobileNumber
189
+ dateTimeCreated
190
+ dateTimeLastUpdated
191
+ }
192
+ ... on ManualWithdrawalRecord {
193
+ id
194
+ type
195
+ fee
196
+ netAmount
197
+ reference
198
+ amount
199
+ status
200
+ withdrawalNumber
201
+ dateTimeCreated
202
+ dateTimeLastUpdated
203
+ }
204
+ ... on MayaAppWithdrawalRecord {
205
+ id
206
+ type
207
+ fee
208
+ netAmount
209
+ reference
210
+ amount
211
+ status
212
+ withdrawalNumber
118
213
  dateTimeCreated
119
- dateTimeSettled
120
214
  dateTimeLastUpdated
121
- metadata
122
- vendorRoundId
123
- betContent
124
- contestName
125
- externalCategory
126
215
  }
127
216
  }
128
217
  }
218
+ totalCount
129
219
  pageInfo {
130
220
  hasNextPage
131
221
  endCursor
@@ -133,168 +223,100 @@
133
223
  }
134
224
  }
135
225
  }
136
- `,ve=i`
137
- query LatestBetRecords {
138
- latestBetRecords {
139
- id
140
- member {
141
- id
142
- name
226
+ `,Pe=o`
227
+ mutation CreateGCashWithdrawal($input: CreateGCashWithdrawalInput!) {
228
+ createGCashWithdrawal(input: $input) {
229
+ ... on AccountNotVerifiedError {
230
+ __typename
143
231
  }
144
- game {
145
- ...GameFragment
232
+ ... on InvalidTransactionPasswordError {
233
+ __typename
146
234
  }
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
235
+ ... on InvalidWithdrawalAmountError {
236
+ __typename
170
237
  }
171
- }
172
- }
173
- `,De=i`
174
- mutation UploadPrivateImageFile($input: UploadFileInput!) {
175
- uploadPrivateImageFile(input: $input) {
176
- ... on FileFormatNotSupportedError {
238
+ ... on MobileNumberNotVerifiedError {
177
239
  __typename
178
240
  }
179
- ... on FileNameTooLongError {
241
+ ... on NotEnoughBalanceError {
180
242
  __typename
181
243
  }
182
- ... on FileSizeTooBigError {
244
+ ... on WithdrawalDailyLimitExceededError {
183
245
  __typename
184
246
  }
185
247
  }
186
248
  }
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
249
+ `,xe=o`
250
+ mutation CreateMayaWithdrawal($input: CreateMayaWithdrawalInput!) {
251
+ createMayaWithdrawal(input: $input) {
252
+ ... on AccountNotVerifiedError {
253
+ __typename
254
254
  }
255
- deposit {
256
- type
257
- amount
258
- netAmount
259
- fee
260
- status
261
- reference
262
- dateTimeCreated
263
- dateTimeLastUpdated
255
+ ... on InvalidTransactionPasswordError {
256
+ __typename
257
+ }
258
+ ... on InvalidWithdrawalAmountError {
259
+ __typename
260
+ }
261
+ ... on MobileNumberNotVerifiedError {
262
+ __typename
263
+ }
264
+ ... on NotEnoughBalanceError {
265
+ __typename
266
+ }
267
+ ... on WithdrawalDailyLimitExceededError {
268
+ __typename
264
269
  }
265
- amount
266
- balance
267
- turnoverRequirement
268
- currentTurnoverRequirementContribution
269
- currentTurnoverRequirementContributionPercentage
270
- expiration
271
- dateTimeCreated
272
- dateTimeLastUpdated
273
270
  }
274
271
  }
275
- `,Ge=i`
276
- ${N}
277
-
278
- query CashbackBonuses {
279
- cashbackBonuses {
280
- id
281
- balance
282
- cashback {
283
- ...CashbackFragment
272
+ `,$e=o`
273
+ mutation CreateMayaAppWithdrawal($input: CreateMayaAppWithdrawalInput!) {
274
+ createMayaAppWithdrawal(input: $input) {
275
+ ... on AccountNotVerifiedError {
276
+ __typename
277
+ }
278
+ ... on InvalidTransactionPasswordError {
279
+ __typename
280
+ }
281
+ ... on InvalidWithdrawalAmountError {
282
+ __typename
283
+ }
284
+ ... on NotEnoughBalanceError {
285
+ __typename
286
+ }
287
+ ... on WithdrawalDailyLimitExceededError {
288
+ __typename
284
289
  }
285
- dateTimeCreated
286
- dateTimeLastUpdated
287
290
  }
288
291
  }
289
- `,xe=i`
290
- mutation ClaimCashbackBonus($input: ClaimCashbackBonusInput!) {
291
- claimCashbackBonus(input: $input) {
292
- ... on CashbackBonusDoesNotExistError {
292
+ `,Be=o`
293
+ mutation CreateBankWithdrawal($input: CreateBankWithdrawalInput!) {
294
+ createBankWithdrawal(input: $input) {
295
+ ... on MobileNumberNotVerifiedError {
296
+ __typename
297
+ }
298
+ ... on AccountNotVerifiedError {
299
+ __typename
300
+ }
301
+ ... on InvalidWithdrawalAmountError {
302
+ __typename
303
+ }
304
+ ... on WithdrawalDailyLimitExceededError {
305
+ __typename
306
+ }
307
+ ... on InvalidTransactionPasswordError {
308
+ __typename
309
+ }
310
+ ... on NotEnoughBalanceError {
293
311
  __typename
294
312
  }
295
313
  }
296
314
  }
297
- `,$e=i`
315
+ `,We=o`
316
+ query RemainingDailyWithdrawalsCount {
317
+ remainingDailyWithdrawalsCount
318
+ }
319
+ `,Ue=o`
298
320
  query DepositRecords($after: Cursor, $first: Int, $filter: DepositRecordFilterInput) {
299
321
  member {
300
322
  depositRecords(after: $after, first: $first, filter: $filter) {
@@ -323,7 +345,7 @@
323
345
  }
324
346
  }
325
347
  }
326
- `,Be=i`
348
+ `,Oe=o`
327
349
  mutation CreateGCashDeposit($input: CreateGCashDepositInput!) {
328
350
  createGCashDeposit(input: $input) {
329
351
  ... on DepositPromoMaximumAmountExceededError {
@@ -352,7 +374,7 @@
352
374
  }
353
375
  }
354
376
  }
355
- `,We=i`
377
+ `,qe=o`
356
378
  mutation CreateMayaDeposit($input: CreateMayaDepositInput!) {
357
379
  createMayaDeposit(input: $input) {
358
380
  ... on DepositPromoMaximumAmountExceededError {
@@ -381,7 +403,7 @@
381
403
  }
382
404
  }
383
405
  }
384
- `,Ue=i`
406
+ `,Fe=o`
385
407
  mutation CreateMayaAppDeposit($input: CreateMayaAppDepositInput!) {
386
408
  createMayaAppDeposit(input: $input) {
387
409
  ... on DepositPromoMaximumAmountExceededError {
@@ -410,35 +432,199 @@
410
432
  }
411
433
  }
412
434
  }
413
- `,Oe=i`
435
+ `,Le=o`
414
436
  query Deposit($id: ObjectId!) {
415
437
  node(id: $id) {
416
438
  ... on GCashDeposit {
417
439
  id
418
440
  type
419
- amount
420
- netAmount
421
- fee
422
441
  status
423
- reference
424
442
  checkoutUrl
425
- dateTimeCreated
426
- dateTimeLastUpdated
427
443
  }
428
444
  ... on MayaDeposit {
429
445
  id
430
446
  type
431
- amount
432
- netAmount
433
- fee
434
447
  status
435
- reference
436
448
  checkoutUrl
437
- dateTimeCreated
438
- dateTimeLastUpdated
439
449
  }
440
- ... on MayaAppDeposit {
441
- id
450
+ ... on MayaAppDeposit {
451
+ id
452
+ type
453
+ status
454
+ }
455
+ ... on BankDeposit {
456
+ id
457
+ type
458
+ status
459
+ }
460
+ ... on ManualDeposit {
461
+ id
462
+ type
463
+ status
464
+ }
465
+ }
466
+ }
467
+ `,Ve=o`
468
+ query DepositsCount {
469
+ member {
470
+ depositsCount
471
+ }
472
+ }
473
+ `,Ye=o`
474
+ ${T}
475
+
476
+ query BetRecords($first: Int, $after: Cursor, $filter: BetRecordFilterInput) {
477
+ member {
478
+ betRecords(first: $first, after: $after, filter: $filter) {
479
+ totalCount
480
+ edges {
481
+ cursor
482
+ node {
483
+ ... on BetRecord {
484
+ id
485
+ serialCode
486
+ game {
487
+ ...GameFragment
488
+ }
489
+ bet
490
+ payout
491
+ winloss
492
+ jackpotPayout
493
+ jackpotContribution
494
+ status
495
+ dateTimeCreated
496
+ dateTimeSettled
497
+ dateTimeLastUpdated
498
+ metadata
499
+ vendorRoundId
500
+ betContent
501
+ contestName
502
+ externalCategory
503
+ }
504
+ }
505
+ }
506
+ pageInfo {
507
+ hasNextPage
508
+ endCursor
509
+ }
510
+ }
511
+ }
512
+ }
513
+ `,He=o`
514
+ query LatestBetRecords {
515
+ latestBetRecords {
516
+ id
517
+ member {
518
+ id
519
+ name
520
+ }
521
+ game {
522
+ ...GameFragment
523
+ }
524
+ bet
525
+ payout
526
+ validBet
527
+ dateTimeSettled
528
+ dateTimeCreated
529
+ }
530
+ }
531
+
532
+ ${T}
533
+ `,je=o`
534
+ query TransactionRecords($first: Int, $after: Cursor, $filter: TransactionRecordFilter) {
535
+ member {
536
+ transactionRecords(first: $first, after: $after, filter: $filter) {
537
+ edges {
538
+ cursor
539
+ node {
540
+ ... on TransactionRecord {
541
+ id
542
+ type
543
+ amount
544
+ content
545
+ currentBalance
546
+ referenceNumber
547
+ dateTimeCreated
548
+ }
549
+ }
550
+ }
551
+ totalCount
552
+ pageInfo {
553
+ hasNextPage
554
+ endCursor
555
+ }
556
+ }
557
+ }
558
+ }
559
+ `,v=o`
560
+ ${_}
561
+
562
+ fragment PromoFragment on Promo {
563
+ id
564
+ type
565
+ name
566
+ banner {
567
+ ...FileFragment
568
+ }
569
+ status
570
+ description
571
+ maximumBonusAmount
572
+ minimumBonusAmount
573
+ activationStartDateTime
574
+ activationEndDateTime
575
+ dateTimeCreated
576
+ dateTimeLastUpdated
577
+ }
578
+ `,Qe=o`
579
+ ${v}
580
+
581
+ query Promos {
582
+ promos {
583
+ ...PromoFragment
584
+ }
585
+ }
586
+ `,Ke=o`
587
+ ${v}
588
+
589
+ query AvailablePromos($filter: PromoFilterInput) {
590
+ availablePromos(filter: $filter) {
591
+ ...PromoFragment
592
+ }
593
+ }
594
+ `,P=o`
595
+ ${_}
596
+
597
+ fragment CashbackFragment on Cashback {
598
+ id
599
+ name
600
+ banner {
601
+ ...FileFragment
602
+ }
603
+ status
604
+ description
605
+ activationStartDateTime
606
+ activationEndDateTime
607
+ dateTimeCreated
608
+ dateTimeLastUpdated
609
+ }
610
+ `,ze=o`
611
+ ${P}
612
+
613
+ query Cashbacks {
614
+ cashbacks {
615
+ ...CashbackFragment
616
+ }
617
+ }
618
+ `,Je=o`
619
+ ${v}
620
+
621
+ query Bonus {
622
+ bonus {
623
+ id
624
+ promo {
625
+ ...PromoFragment
626
+ }
627
+ deposit {
442
628
  type
443
629
  amount
444
630
  netAmount
@@ -448,21 +634,45 @@
448
634
  dateTimeCreated
449
635
  dateTimeLastUpdated
450
636
  }
637
+ amount
638
+ balance
639
+ turnoverRequirement
640
+ currentTurnoverRequirementContribution
641
+ currentTurnoverRequirementContributionPercentage
642
+ expiration
643
+ dateTimeCreated
644
+ dateTimeLastUpdated
451
645
  }
452
646
  }
453
- `,qe=i`
454
- query DepositsCount {
455
- member {
456
- depositsCount
647
+ `,Xe=o`
648
+ ${P}
649
+
650
+ query CashbackBonuses {
651
+ cashbackBonuses {
652
+ id
653
+ balance
654
+ cashback {
655
+ ...CashbackFragment
656
+ }
657
+ dateTimeCreated
658
+ dateTimeLastUpdated
659
+ }
660
+ }
661
+ `,Ze=o`
662
+ mutation ClaimCashbackBonus($input: ClaimCashbackBonusInput!) {
663
+ claimCashbackBonus(input: $input) {
664
+ ... on CashbackBonusDoesNotExistError {
665
+ __typename
666
+ }
457
667
  }
458
668
  }
459
- `,Fe=i`
669
+ `,et=o`
460
670
  query Member {
461
671
  member {
462
672
  dateTimeLastActive
463
673
  }
464
674
  }
465
- `,Le=i`
675
+ `,tt=o`
466
676
  query MemberAccount {
467
677
  memberAccount: self {
468
678
  ... on MemberAccount {
@@ -486,8 +696,8 @@
486
696
  }
487
697
  }
488
698
  }
489
- `,Ve=i`
490
- ${T}
699
+ `,at=o`
700
+ ${_}
491
701
 
492
702
  query MemberVerification {
493
703
  memberAccount: self {
@@ -510,7 +720,7 @@
510
720
  }
511
721
  }
512
722
  }
513
- `,Ye=i`
723
+ `,rt=o`
514
724
  mutation RegisterMemberAccount(
515
725
  $input: RegisterMemberAccountInput!
516
726
  $referralCode: String
@@ -546,7 +756,7 @@
546
756
  }
547
757
  }
548
758
  }
549
- `,He=i`
759
+ `,nt=o`
550
760
  mutation UpdateMemberAccount($input: UpdateMemberAccountInput!) {
551
761
  updateMemberAccount(input: $input) {
552
762
  ... on AccountNameNotAvailableError {
@@ -572,7 +782,7 @@
572
782
  }
573
783
  }
574
784
  }
575
- `,je=i`
785
+ `,ot=o`
576
786
  mutation ResetPassword($input: ResetPasswordInput!, $verificationCode: String) {
577
787
  resetPassword(input: $input, verificationCode: $verificationCode) {
578
788
  ... on AccountNotFoundError {
@@ -583,22 +793,11 @@
583
793
  }
584
794
  }
585
795
  }
586
- `,Qe=i`
796
+ `,it=o`
587
797
  mutation DeleteMemberAccount($input: DeleteMemberAccountInput!) {
588
798
  deleteMemberAccount(input: $input)
589
799
  }
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`
800
+ `,st=o`
602
801
  mutation VerifyMobileNumber($input: VerifyMobileNumberInput!) {
603
802
  verifyMobileNumber(input: $input) {
604
803
  ... on InvalidSMSVerificationCodeError {
@@ -609,7 +808,7 @@
609
808
  }
610
809
  }
611
810
  }
612
- `,Je=i`
811
+ `,dt=o`
613
812
  mutation CreateMemberVerification($input: CreateMemberVerificationInput!) {
614
813
  createMemberVerification(input: $input) {
615
814
  ... on FileDoesNotExistError {
@@ -623,7 +822,7 @@
623
822
  }
624
823
  }
625
824
  }
626
- `,Xe=i`
825
+ `,mt=o`
627
826
  mutation UpdateMemberVerification($input: UpdateMemberVerificationInput!) {
628
827
  updateMemberVerification(input: $input) {
629
828
  ... on FileDoesNotExistError {
@@ -640,7 +839,7 @@
640
839
  }
641
840
  }
642
841
  }
643
- `,Ze=i`
842
+ `,ct=o`
644
843
  query ProfileCompletion {
645
844
  profileCompletion {
646
845
  completionPercentage
@@ -651,7 +850,18 @@
651
850
  accountPassword
652
851
  }
653
852
  }
654
- `,et=i`
853
+ `,ut=o`
854
+ mutation SendVerificationCode($input: SendVerificationCodeInput!) {
855
+ sendVerificationCode(input: $input) {
856
+ ... on InvalidPlatformError {
857
+ __typename
858
+ }
859
+ ... on NotReadyToSendVerficationCodeError {
860
+ __typename
861
+ }
862
+ }
863
+ }
864
+ `,lt=o`
655
865
  fragment DepositGatewaySettingsCoreData on DepositGatewaySettings {
656
866
  minimumAmount
657
867
  maximumAmount
@@ -705,24 +915,7 @@
705
915
  multiplier
706
916
  }
707
917
  }
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`
918
+ `,pt=o`
726
919
  query MayaSession($id: ObjectId!) {
727
920
  mayaSession(id: $id) {
728
921
  id
@@ -730,201 +923,5 @@
730
923
  dateTimeCreated
731
924
  }
732
925
  }
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"})});
926
+ `;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 ft{constructor(e){m(this,"client");this.client=e}async memberAccount(){const e=await this.client.request(tt);return e.ok?{ok:!0,data:e.data.memberAccount}:e}async registerMemberAccount(e){const t=await this.client.request(rt,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(nt,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(it,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(ot,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(ct);return e.ok?{ok:!0,data:e.data.profileCompletion}:e}async platform(){return await this.client.request(lt)}async sendVerificationCode(e){const t=await this.client.request(ut,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(st,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(dt,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(mt,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(at);return e.ok?{ok:!0,data:e.data.memberAccount.verification}:e}async announcements(e){const t=await this.client.request(Re,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 ht{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 wt{constructor(e){m(this,"client");this.client=e}async file(e){const t=await this.client.request(_e,e);return t.ok?{ok:!0,data:t.data.node}:t}async uploadPrivateImageFile(e){const t=await this.client.upload(Te,e);return t.ok?t.data.uploadPrivateImageFile?{ok:!1,error:c(t.data.uploadPrivateImageFile.__typename)}:{ok:!0}:t}}class yt{constructor(e){m(this,"client");this.client=e}async betRecords(e){const t=await this.client.request(Ye,e);return t.ok?{ok:t.ok,data:t.data.member.betRecords}:t}async transactionRecords(e){const t=await this.client.request(je,e);return t.ok?{ok:t.ok,data:t.data.member.transactionRecords}:t}async withdrawalRecords(e){const t=await this.client.request(Ge,e);return t.ok?{ok:t.ok,data:t.data.member.withdrawalRecords}:t}async depositRecords(e){const t=await this.client.request(Ue,e);return t.ok?{ok:t.ok,data:t.data.member.depositRecords}:t}async depositsCount(){const e=await this.client.request(Ve);return e.ok?{ok:e.ok,data:e.data.member.depositsCount}:e}async member(){const e=await this.client.request(et);return e.ok?{ok:e.ok,data:e.data.member}:e}}class bt{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 x{constructor(e){m(this,"client");this.client=e}async promos(){const e=await this.client.request(Qe);return e.ok?{ok:e.ok,data:e.data.promos}:e}async cashbacks(){const e=await this.client.request(ze);return e.ok?{ok:e.ok,data:e.data.cashbacks}:e}async availablePromos(e){const t=await this.client.request(Ke,e);return t.ok?{ok:t.ok,data:t.data.availablePromos}:t}async cashbackBonuses(){const e=await this.client.request(Xe);return e.ok?{ok:e.ok,data:e.data.cashbackBonuses}:e}async claimCashbackBonus(e){const t=await this.client.request(Ze,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(Je);return e.ok?{ok:e.ok,data:e.data.bonus}:e}async wallet(){const e=await this.client.request(ve);return e.ok?{ok:e.ok,data:e.data.wallet}:e}async deposit(e){const t=await this.client.request(Le,e);return t.ok?{ok:t.ok,data:t.data.node}:t}async createGCashDeposit(e){const t=await this.client.request(Oe,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(qe,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(Fe,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(Pe,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(xe,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($e,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(Be,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(We);return e.ok?{ok:e.ok,data:e.data.remainingDailyWithdrawalsCount}:e}async pointsWallet(){const e=await this.client.request(Me);return e.ok?{ok:e.ok,data:e.data.pointsWallet}:e}async pointsToCashConversion(e){const t=await this.client.request(De,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(pt,e);return t.ok?{ok:t.ok,data:t.data.mayaSession}:t}async games(e){const t=await this.client.request(N,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(R,e);return t.ok?{ok:!0,data:t.data.node}:t}async createGameSession(e){const t=await this.client.request(G,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(Ne,e);return t.ok?t.data.endGameSession?{ok:!0}:{ok:!1,error:{name:"UnknownError",message:"Something went wrong."}}:t}}class gt{constructor(e){m(this,"client");this.client=e}async games(e){const t=await this.client.request(N,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(R,e);return t.ok?{ok:!0,data:t.data.node}:t}async createGameSession(e){const t=await this.client.request(G,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(Ie,e);return t.ok?t.data.endGameSession?{ok:!1,error:c(t.data.endGameSession.__typename)}:{ok:!0}:t}}class Et{constructor(e){m(this,"client");this.client=e}async latestBetRecords(){const e=await this.client.request(He);return e.ok?{ok:!0,data:e.data.latestBetRecords}:e}}function At(n,e,t){return n<e?e:n>t?t:n}function St(n){return Object.prototype.toString.call(n)==="[object Object]"&&Object(n)===n}function kt(n){const e=[];function t(a,r=[]){for(const s in a){const d=a[s];St(d)?t(d,[...r,s]):Array.isArray(d)?t(Ct(d),[...r,s]):e.push({key:[...r,s],value:d})}}return t(n),e}function Ct(n){return n.reduce((e,t,a)=>(e[a]=t,e),{})}class A{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=kt(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 ${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(n){return new Date(n.getTime())}function S(n,e){const t=D(n);return t.setDate(t.getDate()+e),t}function k(n,e){const t=D(n);return t.setMinutes(t.getMinutes()+e),t}function B(n,e){return n.getTime()>e.getTime()}function W(n){return new Promise(e=>{setTimeout(e,n)})}function U(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 W(a*((r-y)/2)),s(d,y-1)):h}return async(...d)=>await s(d)}function C(n,e){const t=D(n);return t.setMinutes(t.getMinutes()-e),t}class _t{constructor(e){m(this,"logger");m(this,"storageKey","session");m(this,"authService");m(this,"walletService");m(this,"_refreshing",!1);this.authService=new ht({url:e.authUrl,platform:e.platform}),this.walletService=new x(new A(e.walletUrl,{middlewares:[t=>(t.headers.set("Platform",e.platform),t.headers.set("Role","MEMBER"),t)]})),this.logger=new $({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 U(()=>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 U(()=>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(S(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(S(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(S(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(S(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 W(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(B(a,s))return this.logger.warn("Session expired. Logging out.."),window.localStorage.removeItem(this.storageKey),{ok:!1,error:{name:"SessionExpired",message:"Session expired."}};if(B(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(S(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 Tt{constructor(e){m(this,"staticService");const t=(e==null?void 0:e.environment)==="development";this.staticService=new bt({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,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,Ae,Se,ke,Ce;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((O=e.gcashDepositGatewaySettings)==null?void 0:O.minimumAmount),maximumAmount:i((q=e.gcashDepositGatewaySettings)==null?void 0:q.maximumAmount)},maya:{androidEnabled:((F=e.mayaDepositGatewaySettings)==null?void 0:F.androidEnabled)??!1,iosEnabled:((L=e.mayaDepositGatewaySettings)==null?void 0:L.iosEnabled)??!1,webEnabled:((V=e.mayaDepositGatewaySettings)==null?void 0:V.webEnabled)??!1,mobileWebEnabled:((Y=e.mayaDepositGatewaySettings)==null?void 0:Y.mobileWebEnabled)??!1,minimumAmount:i((H=e.mayaDepositGatewaySettings)==null?void 0:H.minimumAmount),maximumAmount:i((j=e.mayaDepositGatewaySettings)==null?void 0:j.maximumAmount)},mayaApp:{androidEnabled:((Q=e.mayaAppDepositGatewaySettings)==null?void 0:Q.androidEnabled)??!1,iosEnabled:((K=e.mayaAppDepositGatewaySettings)==null?void 0:K.iosEnabled)??!1,webEnabled:((z=e.mayaAppDepositGatewaySettings)==null?void 0:z.webEnabled)??!1,mobileWebEnabled:((J=e.mayaAppDepositGatewaySettings)==null?void 0:J.mobileWebEnabled)??!1,minimumAmount:i((X=e.mayaAppDepositGatewaySettings)==null?void 0:X.minimumAmount),maximumAmount:i((Z=e.mayaAppDepositGatewaySettings)==null?void 0:Z.maximumAmount)}},withdrawalGateway:{bank:{androidEnabled:((ee=e.bankWithdrawalGatewaySettings)==null?void 0:ee.androidEnabled)??!1,iosEnabled:((te=e.bankWithdrawalGatewaySettings)==null?void 0:te.iosEnabled)??!1,webEnabled:((ae=e.bankWithdrawalGatewaySettings)==null?void 0:ae.webEnabled)??!1,mobileWebEnabled:((re=e.bankWithdrawalGatewaySettings)==null?void 0:re.mobileWebEnabled)??!1,minimumAmount:i((ne=e.bankWithdrawalGatewaySettings)==null?void 0:ne.minimumAmount),maximumAmount:i((oe=e.bankWithdrawalGatewaySettings)==null?void 0:oe.maximumAmount)},gcash:{androidEnabled:((ie=e.gcashWithdrawalGatewaySettings)==null?void 0:ie.androidEnabled)??!1,iosEnabled:((se=e.gcashWithdrawalGatewaySettings)==null?void 0:se.iosEnabled)??!1,webEnabled:((de=e.gcashWithdrawalGatewaySettings)==null?void 0:de.webEnabled)??!1,mobileWebEnabled:((me=e.gcashWithdrawalGatewaySettings)==null?void 0:me.mobileWebEnabled)??!1,minimumAmount:i((ce=e.gcashWithdrawalGatewaySettings)==null?void 0:ce.minimumAmount),maximumAmount:i((ue=e.gcashWithdrawalGatewaySettings)==null?void 0:ue.maximumAmount,1e6)},maya:{androidEnabled:((le=e.mayaWithdrawalGatewaySettings)==null?void 0:le.androidEnabled)??!1,iosEnabled:((pe=e.mayaWithdrawalGatewaySettings)==null?void 0:pe.iosEnabled)??!1,webEnabled:((fe=e.mayaWithdrawalGatewaySettings)==null?void 0:fe.webEnabled)??!1,mobileWebEnabled:((he=e.mayaWithdrawalGatewaySettings)==null?void 0:he.mobileWebEnabled)??!1,minimumAmount:i((we=e.mayaWithdrawalGatewaySettings)==null?void 0:we.minimumAmount),maximumAmount:i((ye=e.mayaWithdrawalGatewaySettings)==null?void 0:ye.maximumAmount)},mayaApp:{androidEnabled:((be=e.mayaAppWithdrawalGatewaySettings)==null?void 0:be.androidEnabled)??!1,iosEnabled:((ge=e.mayaAppWithdrawalGatewaySettings)==null?void 0:ge.iosEnabled)??!1,webEnabled:((Ee=e.mayaAppWithdrawalGatewaySettings)==null?void 0:Ee.webEnabled)??!1,mobileWebEnabled:((Ae=e.mayaAppWithdrawalGatewaySettings)==null?void 0:Ae.mobileWebEnabled)??!1,minimumAmount:i((Se=e.mayaAppWithdrawalGatewaySettings)==null?void 0:Se.minimumAmount),maximumAmount:i((ke=e.mayaAppWithdrawalGatewaySettings)==null?void 0:ke.maximumAmount,1e6)}}},pointsClubSettings:{multiplier:i((Ce=e.pointsClubSettings)==null?void 0:Ce.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 vt{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 _t({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 gt(new A(t?"https://game.development.opexa.io/graphql":"https://game.opexa.io/graphql",a)),this.fileService=new wt(new A(t?"https://file.development.opexa.io/graphql":"https://file.opexa.io/graphql",a)),this.walletService=new x(new A(t?"https://wallet.development.opexa.io/graphql":"https://wallet.opexa.io/graphql",a)),this.reportService=new yt(new A(t?"https://report.development.opexa.io/graphql":"https://report.opexa.io/graphql",a)),this.accountService=new ft(new A(t?"https://account.development.opexa.io/graphql":"https://account.opexa.io/graphql",a)),this.portalService=new Et(new A(t?"https://portal.development.opexa.io/graphql":"https://portal.opexa.io/graphql",a)),this.transformer=new Tt(e),this.logger=new $({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):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=vt,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})});
930
927
  //# sourceMappingURL=index.js.map