@openora/core 0.4.1-canary.135 → 0.4.1-canary.138

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 (145) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/plugin.d.ts +1 -1
  3. package/dist/analytics/plugin.d.ts +1 -1
  4. package/dist/audit/plugin.d.ts +1 -1
  5. package/dist/audit/plugin.d.ts.map +1 -1
  6. package/dist/audit/plugin.js +27 -0
  7. package/dist/audit/plugin.js.map +1 -1
  8. package/dist/casino/gaming/__tests__/gaming.service.int.test.js +55 -3
  9. package/dist/casino/gaming/__tests__/gaming.service.int.test.js.map +1 -1
  10. package/dist/casino/gaming/adapters/mock/mock-game-adapter.d.ts.map +1 -1
  11. package/dist/casino/gaming/adapters/mock/mock-game-adapter.js +3 -1
  12. package/dist/casino/gaming/adapters/mock/mock-game-adapter.js.map +1 -1
  13. package/dist/casino/gaming/contract/index.d.ts +2 -2
  14. package/dist/casino/gaming/contract/index.d.ts.map +1 -1
  15. package/dist/casino/gaming/contract/index.js +3 -1
  16. package/dist/casino/gaming/contract/index.js.map +1 -1
  17. package/dist/casino/gaming/plugin.d.ts +1 -1
  18. package/dist/casino/gaming/router/index.d.ts +1 -1
  19. package/dist/casino/gaming/service/gaming.service.d.ts +4 -1
  20. package/dist/casino/gaming/service/gaming.service.d.ts.map +1 -1
  21. package/dist/casino/gaming/service/gaming.service.js +40 -7
  22. package/dist/casino/gaming/service/gaming.service.js.map +1 -1
  23. package/dist/casino/lobby/plugin.d.ts +1 -1
  24. package/dist/cms/plugin.d.ts +1 -1
  25. package/dist/compliance/plugin.d.ts +1 -1
  26. package/dist/contracts/adapters/game.d.ts +9 -1
  27. package/dist/contracts/adapters/game.d.ts.map +1 -1
  28. package/dist/contracts/adapters/game.js.map +1 -1
  29. package/dist/contracts/adapters/index.d.ts +1 -1
  30. package/dist/contracts/adapters/index.d.ts.map +1 -1
  31. package/dist/contracts/adapters/rate-limit.d.ts +1 -0
  32. package/dist/contracts/adapters/rate-limit.d.ts.map +1 -1
  33. package/dist/contracts/adapters/rate-limit.js +1 -0
  34. package/dist/contracts/adapters/rate-limit.js.map +1 -1
  35. package/dist/contracts/schemas/events.d.ts +21 -0
  36. package/dist/contracts/schemas/events.d.ts.map +1 -1
  37. package/dist/contracts/schemas/events.js +20 -0
  38. package/dist/contracts/schemas/events.js.map +1 -1
  39. package/dist/contracts/schemas/identity.d.ts +9 -0
  40. package/dist/contracts/schemas/identity.d.ts.map +1 -1
  41. package/dist/contracts/schemas/identity.js +15 -0
  42. package/dist/contracts/schemas/identity.js.map +1 -1
  43. package/dist/contracts/schemas/mail.d.ts +15 -1
  44. package/dist/contracts/schemas/mail.d.ts.map +1 -1
  45. package/dist/contracts/schemas/mail.js +3 -0
  46. package/dist/contracts/schemas/mail.js.map +1 -1
  47. package/dist/engagement/chat/plugin.d.ts +1 -1
  48. package/dist/engagement/chat-commands/plugin.d.ts +1 -1
  49. package/dist/engagement/notifications/__tests__/notification-event-map.test.js +14 -1
  50. package/dist/engagement/notifications/__tests__/notification-event-map.test.js.map +1 -1
  51. package/dist/engagement/notifications/plugin.d.ts +1 -1
  52. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  53. package/dist/engagement/notifications/plugin.js +11 -1
  54. package/dist/engagement/notifications/plugin.js.map +1 -1
  55. package/dist/engagement/social/plugin.d.ts +1 -1
  56. package/dist/fx/exchange-rate/plugin.d.ts +1 -1
  57. package/dist/iam/plugin.d.ts +1 -1
  58. package/dist/mail/adapters/default-email-template-renderer.d.ts.map +1 -1
  59. package/dist/mail/adapters/default-email-template-renderer.js +5 -0
  60. package/dist/mail/adapters/default-email-template-renderer.js.map +1 -1
  61. package/dist/mail/contract/index.d.ts +8 -0
  62. package/dist/mail/contract/index.d.ts.map +1 -1
  63. package/dist/mail/plugin.d.ts +1 -1
  64. package/dist/pam/identity/__tests__/withdrawal-pin.service.int.test.d.ts +2 -0
  65. package/dist/pam/identity/__tests__/withdrawal-pin.service.int.test.d.ts.map +1 -0
  66. package/dist/pam/identity/__tests__/withdrawal-pin.service.int.test.js +171 -0
  67. package/dist/pam/identity/__tests__/withdrawal-pin.service.int.test.js.map +1 -0
  68. package/dist/pam/identity/contract/index.d.ts +26 -0
  69. package/dist/pam/identity/contract/index.d.ts.map +1 -1
  70. package/dist/pam/identity/contract/index.js +10 -1
  71. package/dist/pam/identity/contract/index.js.map +1 -1
  72. package/dist/pam/identity/drizzle/migrations/0011_useful_the_executioner.sql +2 -0
  73. package/dist/pam/identity/drizzle/migrations/meta/0011_snapshot.json +1078 -0
  74. package/dist/pam/identity/drizzle/migrations/meta/_journal.json +7 -0
  75. package/dist/pam/identity/plugin.d.ts +1 -1
  76. package/dist/pam/identity/plugin.d.ts.map +1 -1
  77. package/dist/pam/identity/plugin.js +15 -1
  78. package/dist/pam/identity/plugin.js.map +1 -1
  79. package/dist/pam/identity/react/account.d.ts +12 -1
  80. package/dist/pam/identity/react/account.d.ts.map +1 -1
  81. package/dist/pam/identity/react/account.js +16 -0
  82. package/dist/pam/identity/react/account.js.map +1 -1
  83. package/dist/pam/identity/router/index.d.ts +28 -1
  84. package/dist/pam/identity/router/index.d.ts.map +1 -1
  85. package/dist/pam/identity/router/index.js +3 -1
  86. package/dist/pam/identity/router/index.js.map +1 -1
  87. package/dist/pam/identity/schema/index.d.ts +34 -0
  88. package/dist/pam/identity/schema/index.d.ts.map +1 -1
  89. package/dist/pam/identity/schema/index.js +5 -0
  90. package/dist/pam/identity/schema/index.js.map +1 -1
  91. package/dist/pam/identity/service/fresh-reauthentication.service.d.ts +21 -0
  92. package/dist/pam/identity/service/fresh-reauthentication.service.d.ts.map +1 -0
  93. package/dist/pam/identity/service/fresh-reauthentication.service.js +50 -0
  94. package/dist/pam/identity/service/fresh-reauthentication.service.js.map +1 -0
  95. package/dist/pam/identity/service/phone-verification.service.d.ts +0 -1
  96. package/dist/pam/identity/service/phone-verification.service.d.ts.map +1 -1
  97. package/dist/pam/identity/service/phone-verification.service.js +7 -43
  98. package/dist/pam/identity/service/phone-verification.service.js.map +1 -1
  99. package/dist/pam/identity/service/security-controls.service.d.ts.map +1 -1
  100. package/dist/pam/identity/service/security-controls.service.js +4 -1
  101. package/dist/pam/identity/service/security-controls.service.js.map +1 -1
  102. package/dist/pam/identity/service/withdrawal-pin-hash.service.d.ts +3 -0
  103. package/dist/pam/identity/service/withdrawal-pin-hash.service.d.ts.map +1 -0
  104. package/dist/pam/identity/service/withdrawal-pin-hash.service.js +10 -0
  105. package/dist/pam/identity/service/withdrawal-pin-hash.service.js.map +1 -0
  106. package/dist/pam/identity/service/withdrawal-pin.service.d.ts +34 -0
  107. package/dist/pam/identity/service/withdrawal-pin.service.d.ts.map +1 -0
  108. package/dist/pam/identity/service/withdrawal-pin.service.js +130 -0
  109. package/dist/pam/identity/service/withdrawal-pin.service.js.map +1 -0
  110. package/dist/pam/player-management/plugin.d.ts +1 -1
  111. package/dist/pam/player-note/plugin.d.ts +1 -1
  112. package/dist/pam/profile/plugin.d.ts +1 -1
  113. package/dist/pam/react.d.ts +1 -1
  114. package/dist/pam/react.d.ts.map +1 -1
  115. package/dist/pam/react.js +1 -1
  116. package/dist/pam/react.js.map +1 -1
  117. package/dist/pam/tag/plugin.d.ts +1 -1
  118. package/dist/server/runtime/core-token-catalog.d.ts +1 -1
  119. package/dist/testing/seed-player.d.ts +4 -0
  120. package/dist/testing/seed-player.d.ts.map +1 -1
  121. package/dist/wallet/__tests__/swap.service.int.test.d.ts +2 -0
  122. package/dist/wallet/__tests__/swap.service.int.test.d.ts.map +1 -0
  123. package/dist/wallet/__tests__/swap.service.int.test.js +281 -0
  124. package/dist/wallet/__tests__/swap.service.int.test.js.map +1 -0
  125. package/dist/wallet/contract/index.d.ts +81 -2
  126. package/dist/wallet/contract/index.d.ts.map +1 -1
  127. package/dist/wallet/contract/index.js +54 -1
  128. package/dist/wallet/contract/index.js.map +1 -1
  129. package/dist/wallet/plugin.d.ts +1 -1
  130. package/dist/wallet/plugin.d.ts.map +1 -1
  131. package/dist/wallet/plugin.js +35 -1
  132. package/dist/wallet/plugin.js.map +1 -1
  133. package/dist/wallet/router/index.d.ts +54 -4
  134. package/dist/wallet/router/index.d.ts.map +1 -1
  135. package/dist/wallet/router/index.js +43 -1
  136. package/dist/wallet/router/index.js.map +1 -1
  137. package/dist/wallet/service/swap.service.d.ts +76 -0
  138. package/dist/wallet/service/swap.service.d.ts.map +1 -0
  139. package/dist/wallet/service/swap.service.js +283 -0
  140. package/dist/wallet/service/swap.service.js.map +1 -0
  141. package/dist/wallet/service/wallet.service.d.ts +1 -0
  142. package/dist/wallet/service/wallet.service.d.ts.map +1 -1
  143. package/dist/wallet/service/wallet.service.js +1 -1
  144. package/dist/wallet/service/wallet.service.js.map +1 -1
  145. package/package.json +1 -1
@@ -0,0 +1,1078 @@
1
+ {
2
+ "id": "c54c97b7-443f-4926-a6f3-7ea64065abc9",
3
+ "prevId": "a0b9529c-1962-41a7-90fd-07fb3620665e",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.account": {
8
+ "name": "account",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "uuid",
14
+ "primaryKey": true,
15
+ "notNull": true,
16
+ "default": "gen_random_uuid()"
17
+ },
18
+ "account_id": {
19
+ "name": "account_id",
20
+ "type": "text",
21
+ "primaryKey": false,
22
+ "notNull": true
23
+ },
24
+ "provider_id": {
25
+ "name": "provider_id",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": true
29
+ },
30
+ "user_id": {
31
+ "name": "user_id",
32
+ "type": "uuid",
33
+ "primaryKey": false,
34
+ "notNull": true
35
+ },
36
+ "access_token": {
37
+ "name": "access_token",
38
+ "type": "text",
39
+ "primaryKey": false,
40
+ "notNull": false
41
+ },
42
+ "refresh_token": {
43
+ "name": "refresh_token",
44
+ "type": "text",
45
+ "primaryKey": false,
46
+ "notNull": false
47
+ },
48
+ "id_token": {
49
+ "name": "id_token",
50
+ "type": "text",
51
+ "primaryKey": false,
52
+ "notNull": false
53
+ },
54
+ "access_token_expires_at": {
55
+ "name": "access_token_expires_at",
56
+ "type": "timestamp with time zone",
57
+ "primaryKey": false,
58
+ "notNull": false
59
+ },
60
+ "refresh_token_expires_at": {
61
+ "name": "refresh_token_expires_at",
62
+ "type": "timestamp with time zone",
63
+ "primaryKey": false,
64
+ "notNull": false
65
+ },
66
+ "scope": {
67
+ "name": "scope",
68
+ "type": "text",
69
+ "primaryKey": false,
70
+ "notNull": false
71
+ },
72
+ "password": {
73
+ "name": "password",
74
+ "type": "text",
75
+ "primaryKey": false,
76
+ "notNull": false
77
+ },
78
+ "created_at": {
79
+ "name": "created_at",
80
+ "type": "timestamp with time zone",
81
+ "primaryKey": false,
82
+ "notNull": true,
83
+ "default": "now()"
84
+ },
85
+ "updated_at": {
86
+ "name": "updated_at",
87
+ "type": "timestamp with time zone",
88
+ "primaryKey": false,
89
+ "notNull": true
90
+ }
91
+ },
92
+ "indexes": {
93
+ "account_user_id_idx": {
94
+ "name": "account_user_id_idx",
95
+ "columns": [
96
+ {
97
+ "expression": "user_id",
98
+ "isExpression": false,
99
+ "asc": true,
100
+ "nulls": "last"
101
+ }
102
+ ],
103
+ "isUnique": false,
104
+ "concurrently": false,
105
+ "method": "btree",
106
+ "with": {}
107
+ }
108
+ },
109
+ "foreignKeys": {
110
+ "account_user_id_user_id_fk": {
111
+ "name": "account_user_id_user_id_fk",
112
+ "tableFrom": "account",
113
+ "tableTo": "user",
114
+ "columnsFrom": ["user_id"],
115
+ "columnsTo": ["id"],
116
+ "onDelete": "cascade",
117
+ "onUpdate": "no action"
118
+ }
119
+ },
120
+ "compositePrimaryKeys": {},
121
+ "uniqueConstraints": {},
122
+ "policies": {},
123
+ "checkConstraints": {},
124
+ "isRLSEnabled": false
125
+ },
126
+ "public.admin_trusted_device": {
127
+ "name": "admin_trusted_device",
128
+ "schema": "",
129
+ "columns": {
130
+ "id": {
131
+ "name": "id",
132
+ "type": "uuid",
133
+ "primaryKey": true,
134
+ "notNull": true,
135
+ "default": "gen_random_uuid()"
136
+ },
137
+ "user_id": {
138
+ "name": "user_id",
139
+ "type": "uuid",
140
+ "primaryKey": false,
141
+ "notNull": true
142
+ },
143
+ "device_hash": {
144
+ "name": "device_hash",
145
+ "type": "text",
146
+ "primaryKey": false,
147
+ "notNull": true
148
+ },
149
+ "label": {
150
+ "name": "label",
151
+ "type": "text",
152
+ "primaryKey": false,
153
+ "notNull": true
154
+ },
155
+ "ip_address": {
156
+ "name": "ip_address",
157
+ "type": "text",
158
+ "primaryKey": false,
159
+ "notNull": false
160
+ },
161
+ "user_agent": {
162
+ "name": "user_agent",
163
+ "type": "text",
164
+ "primaryKey": false,
165
+ "notNull": false
166
+ },
167
+ "last_used_at": {
168
+ "name": "last_used_at",
169
+ "type": "timestamp with time zone",
170
+ "primaryKey": false,
171
+ "notNull": true,
172
+ "default": "now()"
173
+ },
174
+ "expires_at": {
175
+ "name": "expires_at",
176
+ "type": "timestamp with time zone",
177
+ "primaryKey": false,
178
+ "notNull": true
179
+ },
180
+ "revoked_at": {
181
+ "name": "revoked_at",
182
+ "type": "timestamp with time zone",
183
+ "primaryKey": false,
184
+ "notNull": false
185
+ },
186
+ "revoked_by": {
187
+ "name": "revoked_by",
188
+ "type": "uuid",
189
+ "primaryKey": false,
190
+ "notNull": false
191
+ },
192
+ "created_at": {
193
+ "name": "created_at",
194
+ "type": "timestamp with time zone",
195
+ "primaryKey": false,
196
+ "notNull": true,
197
+ "default": "now()"
198
+ }
199
+ },
200
+ "indexes": {
201
+ "admin_trusted_device_user_hash_idx": {
202
+ "name": "admin_trusted_device_user_hash_idx",
203
+ "columns": [
204
+ {
205
+ "expression": "user_id",
206
+ "isExpression": false,
207
+ "asc": true,
208
+ "nulls": "last"
209
+ },
210
+ {
211
+ "expression": "device_hash",
212
+ "isExpression": false,
213
+ "asc": true,
214
+ "nulls": "last"
215
+ }
216
+ ],
217
+ "isUnique": true,
218
+ "concurrently": false,
219
+ "method": "btree",
220
+ "with": {}
221
+ },
222
+ "admin_trusted_device_user_id_idx": {
223
+ "name": "admin_trusted_device_user_id_idx",
224
+ "columns": [
225
+ {
226
+ "expression": "user_id",
227
+ "isExpression": false,
228
+ "asc": true,
229
+ "nulls": "last"
230
+ }
231
+ ],
232
+ "isUnique": false,
233
+ "concurrently": false,
234
+ "method": "btree",
235
+ "with": {}
236
+ },
237
+ "admin_trusted_device_expires_at_idx": {
238
+ "name": "admin_trusted_device_expires_at_idx",
239
+ "columns": [
240
+ {
241
+ "expression": "expires_at",
242
+ "isExpression": false,
243
+ "asc": true,
244
+ "nulls": "last"
245
+ }
246
+ ],
247
+ "isUnique": false,
248
+ "concurrently": false,
249
+ "method": "btree",
250
+ "with": {}
251
+ }
252
+ },
253
+ "foreignKeys": {
254
+ "admin_trusted_device_user_id_user_id_fk": {
255
+ "name": "admin_trusted_device_user_id_user_id_fk",
256
+ "tableFrom": "admin_trusted_device",
257
+ "tableTo": "user",
258
+ "columnsFrom": ["user_id"],
259
+ "columnsTo": ["id"],
260
+ "onDelete": "cascade",
261
+ "onUpdate": "no action"
262
+ }
263
+ },
264
+ "compositePrimaryKeys": {},
265
+ "uniqueConstraints": {},
266
+ "policies": {},
267
+ "checkConstraints": {},
268
+ "isRLSEnabled": false
269
+ },
270
+ "public.phone_verification_session": {
271
+ "name": "phone_verification_session",
272
+ "schema": "",
273
+ "columns": {
274
+ "id": {
275
+ "name": "id",
276
+ "type": "uuid",
277
+ "primaryKey": true,
278
+ "notNull": true,
279
+ "default": "gen_random_uuid()"
280
+ },
281
+ "user_id": {
282
+ "name": "user_id",
283
+ "type": "uuid",
284
+ "primaryKey": false,
285
+ "notNull": true
286
+ },
287
+ "session_id": {
288
+ "name": "session_id",
289
+ "type": "uuid",
290
+ "primaryKey": false,
291
+ "notNull": true
292
+ },
293
+ "phone": {
294
+ "name": "phone",
295
+ "type": "text",
296
+ "primaryKey": false,
297
+ "notNull": true
298
+ },
299
+ "code_hash": {
300
+ "name": "code_hash",
301
+ "type": "text",
302
+ "primaryKey": false,
303
+ "notNull": true
304
+ },
305
+ "reauthenticated_at": {
306
+ "name": "reauthenticated_at",
307
+ "type": "timestamp with time zone",
308
+ "primaryKey": false,
309
+ "notNull": true
310
+ },
311
+ "expires_at": {
312
+ "name": "expires_at",
313
+ "type": "timestamp with time zone",
314
+ "primaryKey": false,
315
+ "notNull": true
316
+ },
317
+ "failed_attempts": {
318
+ "name": "failed_attempts",
319
+ "type": "integer",
320
+ "primaryKey": false,
321
+ "notNull": true,
322
+ "default": 0
323
+ },
324
+ "created_at": {
325
+ "name": "created_at",
326
+ "type": "timestamp with time zone",
327
+ "primaryKey": false,
328
+ "notNull": true,
329
+ "default": "now()"
330
+ }
331
+ },
332
+ "indexes": {
333
+ "phone_verification_session_phone_idx": {
334
+ "name": "phone_verification_session_phone_idx",
335
+ "columns": [
336
+ {
337
+ "expression": "phone",
338
+ "isExpression": false,
339
+ "asc": true,
340
+ "nulls": "last"
341
+ }
342
+ ],
343
+ "isUnique": false,
344
+ "concurrently": false,
345
+ "method": "btree",
346
+ "with": {}
347
+ },
348
+ "phone_verification_session_session_id_idx": {
349
+ "name": "phone_verification_session_session_id_idx",
350
+ "columns": [
351
+ {
352
+ "expression": "session_id",
353
+ "isExpression": false,
354
+ "asc": true,
355
+ "nulls": "last"
356
+ }
357
+ ],
358
+ "isUnique": false,
359
+ "concurrently": false,
360
+ "method": "btree",
361
+ "with": {}
362
+ }
363
+ },
364
+ "foreignKeys": {
365
+ "phone_verification_session_user_id_user_id_fk": {
366
+ "name": "phone_verification_session_user_id_user_id_fk",
367
+ "tableFrom": "phone_verification_session",
368
+ "tableTo": "user",
369
+ "columnsFrom": ["user_id"],
370
+ "columnsTo": ["id"],
371
+ "onDelete": "cascade",
372
+ "onUpdate": "no action"
373
+ },
374
+ "phone_verification_session_session_id_session_id_fk": {
375
+ "name": "phone_verification_session_session_id_session_id_fk",
376
+ "tableFrom": "phone_verification_session",
377
+ "tableTo": "session",
378
+ "columnsFrom": ["session_id"],
379
+ "columnsTo": ["id"],
380
+ "onDelete": "cascade",
381
+ "onUpdate": "no action"
382
+ }
383
+ },
384
+ "compositePrimaryKeys": {},
385
+ "uniqueConstraints": {
386
+ "phone_verification_session_userId_unique": {
387
+ "name": "phone_verification_session_userId_unique",
388
+ "nullsNotDistinct": false,
389
+ "columns": ["user_id"]
390
+ }
391
+ },
392
+ "policies": {},
393
+ "checkConstraints": {},
394
+ "isRLSEnabled": false
395
+ },
396
+ "public.session": {
397
+ "name": "session",
398
+ "schema": "",
399
+ "columns": {
400
+ "id": {
401
+ "name": "id",
402
+ "type": "uuid",
403
+ "primaryKey": true,
404
+ "notNull": true,
405
+ "default": "gen_random_uuid()"
406
+ },
407
+ "expires_at": {
408
+ "name": "expires_at",
409
+ "type": "timestamp with time zone",
410
+ "primaryKey": false,
411
+ "notNull": true
412
+ },
413
+ "token": {
414
+ "name": "token",
415
+ "type": "text",
416
+ "primaryKey": false,
417
+ "notNull": true
418
+ },
419
+ "created_at": {
420
+ "name": "created_at",
421
+ "type": "timestamp with time zone",
422
+ "primaryKey": false,
423
+ "notNull": true,
424
+ "default": "now()"
425
+ },
426
+ "updated_at": {
427
+ "name": "updated_at",
428
+ "type": "timestamp with time zone",
429
+ "primaryKey": false,
430
+ "notNull": true
431
+ },
432
+ "ip_address": {
433
+ "name": "ip_address",
434
+ "type": "text",
435
+ "primaryKey": false,
436
+ "notNull": false
437
+ },
438
+ "user_agent": {
439
+ "name": "user_agent",
440
+ "type": "text",
441
+ "primaryKey": false,
442
+ "notNull": false
443
+ },
444
+ "last_seen_at": {
445
+ "name": "last_seen_at",
446
+ "type": "timestamp with time zone",
447
+ "primaryKey": false,
448
+ "notNull": false
449
+ },
450
+ "user_id": {
451
+ "name": "user_id",
452
+ "type": "uuid",
453
+ "primaryKey": false,
454
+ "notNull": true
455
+ }
456
+ },
457
+ "indexes": {
458
+ "session_user_id_idx": {
459
+ "name": "session_user_id_idx",
460
+ "columns": [
461
+ {
462
+ "expression": "user_id",
463
+ "isExpression": false,
464
+ "asc": true,
465
+ "nulls": "last"
466
+ }
467
+ ],
468
+ "isUnique": false,
469
+ "concurrently": false,
470
+ "method": "btree",
471
+ "with": {}
472
+ }
473
+ },
474
+ "foreignKeys": {
475
+ "session_user_id_user_id_fk": {
476
+ "name": "session_user_id_user_id_fk",
477
+ "tableFrom": "session",
478
+ "tableTo": "user",
479
+ "columnsFrom": ["user_id"],
480
+ "columnsTo": ["id"],
481
+ "onDelete": "cascade",
482
+ "onUpdate": "no action"
483
+ }
484
+ },
485
+ "compositePrimaryKeys": {},
486
+ "uniqueConstraints": {
487
+ "session_token_unique": {
488
+ "name": "session_token_unique",
489
+ "nullsNotDistinct": false,
490
+ "columns": ["token"]
491
+ }
492
+ },
493
+ "policies": {},
494
+ "checkConstraints": {},
495
+ "isRLSEnabled": false
496
+ },
497
+ "public.sms_otp_session": {
498
+ "name": "sms_otp_session",
499
+ "schema": "",
500
+ "columns": {
501
+ "id": {
502
+ "name": "id",
503
+ "type": "uuid",
504
+ "primaryKey": true,
505
+ "notNull": true,
506
+ "default": "gen_random_uuid()"
507
+ },
508
+ "user_id": {
509
+ "name": "user_id",
510
+ "type": "uuid",
511
+ "primaryKey": false,
512
+ "notNull": true
513
+ },
514
+ "phone": {
515
+ "name": "phone",
516
+ "type": "text",
517
+ "primaryKey": false,
518
+ "notNull": true
519
+ },
520
+ "code_hash": {
521
+ "name": "code_hash",
522
+ "type": "text",
523
+ "primaryKey": false,
524
+ "notNull": true
525
+ },
526
+ "expires_at": {
527
+ "name": "expires_at",
528
+ "type": "timestamp with time zone",
529
+ "primaryKey": false,
530
+ "notNull": true
531
+ },
532
+ "failed_attempts": {
533
+ "name": "failed_attempts",
534
+ "type": "integer",
535
+ "primaryKey": false,
536
+ "notNull": true,
537
+ "default": 0
538
+ },
539
+ "created_at": {
540
+ "name": "created_at",
541
+ "type": "timestamp with time zone",
542
+ "primaryKey": false,
543
+ "notNull": true,
544
+ "default": "now()"
545
+ }
546
+ },
547
+ "indexes": {
548
+ "sms_otp_session_phone_idx": {
549
+ "name": "sms_otp_session_phone_idx",
550
+ "columns": [
551
+ {
552
+ "expression": "phone",
553
+ "isExpression": false,
554
+ "asc": true,
555
+ "nulls": "last"
556
+ }
557
+ ],
558
+ "isUnique": false,
559
+ "concurrently": false,
560
+ "method": "btree",
561
+ "with": {}
562
+ }
563
+ },
564
+ "foreignKeys": {
565
+ "sms_otp_session_user_id_user_id_fk": {
566
+ "name": "sms_otp_session_user_id_user_id_fk",
567
+ "tableFrom": "sms_otp_session",
568
+ "tableTo": "user",
569
+ "columnsFrom": ["user_id"],
570
+ "columnsTo": ["id"],
571
+ "onDelete": "cascade",
572
+ "onUpdate": "no action"
573
+ }
574
+ },
575
+ "compositePrimaryKeys": {},
576
+ "uniqueConstraints": {
577
+ "sms_otp_session_userId_unique": {
578
+ "name": "sms_otp_session_userId_unique",
579
+ "nullsNotDistinct": false,
580
+ "columns": ["user_id"]
581
+ }
582
+ },
583
+ "policies": {},
584
+ "checkConstraints": {},
585
+ "isRLSEnabled": false
586
+ },
587
+ "public.two_factor": {
588
+ "name": "two_factor",
589
+ "schema": "",
590
+ "columns": {
591
+ "id": {
592
+ "name": "id",
593
+ "type": "uuid",
594
+ "primaryKey": true,
595
+ "notNull": true,
596
+ "default": "gen_random_uuid()"
597
+ },
598
+ "secret": {
599
+ "name": "secret",
600
+ "type": "text",
601
+ "primaryKey": false,
602
+ "notNull": true
603
+ },
604
+ "backup_codes": {
605
+ "name": "backup_codes",
606
+ "type": "text",
607
+ "primaryKey": false,
608
+ "notNull": true
609
+ },
610
+ "user_id": {
611
+ "name": "user_id",
612
+ "type": "uuid",
613
+ "primaryKey": false,
614
+ "notNull": true
615
+ },
616
+ "verified": {
617
+ "name": "verified",
618
+ "type": "boolean",
619
+ "primaryKey": false,
620
+ "notNull": false,
621
+ "default": true
622
+ },
623
+ "failed_verification_count": {
624
+ "name": "failed_verification_count",
625
+ "type": "integer",
626
+ "primaryKey": false,
627
+ "notNull": true,
628
+ "default": 0
629
+ },
630
+ "locked_until": {
631
+ "name": "locked_until",
632
+ "type": "timestamp with time zone",
633
+ "primaryKey": false,
634
+ "notNull": false
635
+ }
636
+ },
637
+ "indexes": {
638
+ "two_factor_user_id_idx": {
639
+ "name": "two_factor_user_id_idx",
640
+ "columns": [
641
+ {
642
+ "expression": "user_id",
643
+ "isExpression": false,
644
+ "asc": true,
645
+ "nulls": "last"
646
+ }
647
+ ],
648
+ "isUnique": false,
649
+ "concurrently": false,
650
+ "method": "btree",
651
+ "with": {}
652
+ },
653
+ "two_factor_secret_idx": {
654
+ "name": "two_factor_secret_idx",
655
+ "columns": [
656
+ {
657
+ "expression": "secret",
658
+ "isExpression": false,
659
+ "asc": true,
660
+ "nulls": "last"
661
+ }
662
+ ],
663
+ "isUnique": false,
664
+ "concurrently": false,
665
+ "method": "btree",
666
+ "with": {}
667
+ }
668
+ },
669
+ "foreignKeys": {
670
+ "two_factor_user_id_user_id_fk": {
671
+ "name": "two_factor_user_id_user_id_fk",
672
+ "tableFrom": "two_factor",
673
+ "tableTo": "user",
674
+ "columnsFrom": ["user_id"],
675
+ "columnsTo": ["id"],
676
+ "onDelete": "cascade",
677
+ "onUpdate": "no action"
678
+ }
679
+ },
680
+ "compositePrimaryKeys": {},
681
+ "uniqueConstraints": {},
682
+ "policies": {},
683
+ "checkConstraints": {},
684
+ "isRLSEnabled": false
685
+ },
686
+ "public.user": {
687
+ "name": "user",
688
+ "schema": "",
689
+ "columns": {
690
+ "id": {
691
+ "name": "id",
692
+ "type": "uuid",
693
+ "primaryKey": true,
694
+ "notNull": true,
695
+ "default": "gen_random_uuid()"
696
+ },
697
+ "name": {
698
+ "name": "name",
699
+ "type": "text",
700
+ "primaryKey": false,
701
+ "notNull": true
702
+ },
703
+ "username": {
704
+ "name": "username",
705
+ "type": "text",
706
+ "primaryKey": false,
707
+ "notNull": true
708
+ },
709
+ "email": {
710
+ "name": "email",
711
+ "type": "text",
712
+ "primaryKey": false,
713
+ "notNull": true
714
+ },
715
+ "email_verified": {
716
+ "name": "email_verified",
717
+ "type": "boolean",
718
+ "primaryKey": false,
719
+ "notNull": true,
720
+ "default": false
721
+ },
722
+ "image": {
723
+ "name": "image",
724
+ "type": "text",
725
+ "primaryKey": false,
726
+ "notNull": false
727
+ },
728
+ "theme": {
729
+ "name": "theme",
730
+ "type": "user_theme",
731
+ "typeSchema": "public",
732
+ "primaryKey": false,
733
+ "notNull": true,
734
+ "default": "'system'"
735
+ },
736
+ "language": {
737
+ "name": "language",
738
+ "type": "text",
739
+ "primaryKey": false,
740
+ "notNull": true,
741
+ "default": "'en'"
742
+ },
743
+ "role": {
744
+ "name": "role",
745
+ "type": "text",
746
+ "primaryKey": false,
747
+ "notNull": true,
748
+ "default": "'player'"
749
+ },
750
+ "is_active": {
751
+ "name": "is_active",
752
+ "type": "boolean",
753
+ "primaryKey": false,
754
+ "notNull": true,
755
+ "default": true
756
+ },
757
+ "banned": {
758
+ "name": "banned",
759
+ "type": "boolean",
760
+ "primaryKey": false,
761
+ "notNull": false,
762
+ "default": false
763
+ },
764
+ "ban_reason": {
765
+ "name": "ban_reason",
766
+ "type": "text",
767
+ "primaryKey": false,
768
+ "notNull": false
769
+ },
770
+ "ban_expires": {
771
+ "name": "ban_expires",
772
+ "type": "timestamp with time zone",
773
+ "primaryKey": false,
774
+ "notNull": false
775
+ },
776
+ "two_factor_enabled": {
777
+ "name": "two_factor_enabled",
778
+ "type": "boolean",
779
+ "primaryKey": false,
780
+ "notNull": false,
781
+ "default": false
782
+ },
783
+ "phone_number": {
784
+ "name": "phone_number",
785
+ "type": "text",
786
+ "primaryKey": false,
787
+ "notNull": false
788
+ },
789
+ "phone_verified": {
790
+ "name": "phone_verified",
791
+ "type": "boolean",
792
+ "primaryKey": false,
793
+ "notNull": true,
794
+ "default": false
795
+ },
796
+ "phone_verified_at": {
797
+ "name": "phone_verified_at",
798
+ "type": "timestamp with time zone",
799
+ "primaryKey": false,
800
+ "notNull": false
801
+ },
802
+ "password_meets_policy": {
803
+ "name": "password_meets_policy",
804
+ "type": "boolean",
805
+ "primaryKey": false,
806
+ "notNull": true,
807
+ "default": false
808
+ },
809
+ "login_withdrawal_alerts_enabled": {
810
+ "name": "login_withdrawal_alerts_enabled",
811
+ "type": "boolean",
812
+ "primaryKey": false,
813
+ "notNull": true,
814
+ "default": false
815
+ },
816
+ "withdrawal_pin_hash": {
817
+ "name": "withdrawal_pin_hash",
818
+ "type": "text",
819
+ "primaryKey": false,
820
+ "notNull": false
821
+ },
822
+ "withdrawal_pin_set_at": {
823
+ "name": "withdrawal_pin_set_at",
824
+ "type": "timestamp with time zone",
825
+ "primaryKey": false,
826
+ "notNull": false
827
+ },
828
+ "failed_login_attempts": {
829
+ "name": "failed_login_attempts",
830
+ "type": "integer",
831
+ "primaryKey": false,
832
+ "notNull": true,
833
+ "default": 0
834
+ },
835
+ "lockout_until": {
836
+ "name": "lockout_until",
837
+ "type": "timestamp with time zone",
838
+ "primaryKey": false,
839
+ "notNull": false
840
+ },
841
+ "failed_two_factor_attempts": {
842
+ "name": "failed_two_factor_attempts",
843
+ "type": "integer",
844
+ "primaryKey": false,
845
+ "notNull": true,
846
+ "default": 0
847
+ },
848
+ "two_factor_lockout_until": {
849
+ "name": "two_factor_lockout_until",
850
+ "type": "timestamp with time zone",
851
+ "primaryKey": false,
852
+ "notNull": false
853
+ },
854
+ "two_factor_lockout_count": {
855
+ "name": "two_factor_lockout_count",
856
+ "type": "integer",
857
+ "primaryKey": false,
858
+ "notNull": true,
859
+ "default": 0
860
+ },
861
+ "last_failed_two_factor_at": {
862
+ "name": "last_failed_two_factor_at",
863
+ "type": "timestamp with time zone",
864
+ "primaryKey": false,
865
+ "notNull": false
866
+ },
867
+ "lockout_count": {
868
+ "name": "lockout_count",
869
+ "type": "integer",
870
+ "primaryKey": false,
871
+ "notNull": true,
872
+ "default": 0
873
+ },
874
+ "last_lockout_at": {
875
+ "name": "last_lockout_at",
876
+ "type": "timestamp with time zone",
877
+ "primaryKey": false,
878
+ "notNull": false
879
+ },
880
+ "last_failed_login_at": {
881
+ "name": "last_failed_login_at",
882
+ "type": "timestamp with time zone",
883
+ "primaryKey": false,
884
+ "notNull": false
885
+ },
886
+ "rg_blocked": {
887
+ "name": "rg_blocked",
888
+ "type": "boolean",
889
+ "primaryKey": false,
890
+ "notNull": true,
891
+ "default": false
892
+ },
893
+ "rg_blocked_until": {
894
+ "name": "rg_blocked_until",
895
+ "type": "timestamp with time zone",
896
+ "primaryKey": false,
897
+ "notNull": false
898
+ },
899
+ "created_at": {
900
+ "name": "created_at",
901
+ "type": "timestamp with time zone",
902
+ "primaryKey": false,
903
+ "notNull": true,
904
+ "default": "now()"
905
+ },
906
+ "updated_at": {
907
+ "name": "updated_at",
908
+ "type": "timestamp with time zone",
909
+ "primaryKey": false,
910
+ "notNull": true
911
+ }
912
+ },
913
+ "indexes": {
914
+ "user_username_unique": {
915
+ "name": "user_username_unique",
916
+ "columns": [
917
+ {
918
+ "expression": "lower(\"username\")",
919
+ "asc": true,
920
+ "isExpression": true,
921
+ "nulls": "last"
922
+ }
923
+ ],
924
+ "isUnique": true,
925
+ "concurrently": false,
926
+ "method": "btree",
927
+ "with": {}
928
+ },
929
+ "user_email_trgm_idx": {
930
+ "name": "user_email_trgm_idx",
931
+ "columns": [
932
+ {
933
+ "expression": "\"email\" gin_trgm_ops",
934
+ "asc": true,
935
+ "isExpression": true,
936
+ "nulls": "last"
937
+ }
938
+ ],
939
+ "isUnique": false,
940
+ "concurrently": false,
941
+ "method": "gin",
942
+ "with": {}
943
+ },
944
+ "user_username_trgm_idx": {
945
+ "name": "user_username_trgm_idx",
946
+ "columns": [
947
+ {
948
+ "expression": "\"username\" gin_trgm_ops",
949
+ "asc": true,
950
+ "isExpression": true,
951
+ "nulls": "last"
952
+ }
953
+ ],
954
+ "isUnique": false,
955
+ "concurrently": false,
956
+ "method": "gin",
957
+ "with": {}
958
+ },
959
+ "user_created_at_idx": {
960
+ "name": "user_created_at_idx",
961
+ "columns": [
962
+ {
963
+ "expression": "created_at",
964
+ "isExpression": false,
965
+ "asc": true,
966
+ "nulls": "last"
967
+ }
968
+ ],
969
+ "isUnique": false,
970
+ "concurrently": false,
971
+ "method": "btree",
972
+ "with": {}
973
+ }
974
+ },
975
+ "foreignKeys": {},
976
+ "compositePrimaryKeys": {},
977
+ "uniqueConstraints": {
978
+ "user_email_unique": {
979
+ "name": "user_email_unique",
980
+ "nullsNotDistinct": false,
981
+ "columns": ["email"]
982
+ },
983
+ "user_phoneNumber_unique": {
984
+ "name": "user_phoneNumber_unique",
985
+ "nullsNotDistinct": false,
986
+ "columns": ["phone_number"]
987
+ }
988
+ },
989
+ "policies": {},
990
+ "checkConstraints": {},
991
+ "isRLSEnabled": false
992
+ },
993
+ "public.verification": {
994
+ "name": "verification",
995
+ "schema": "",
996
+ "columns": {
997
+ "id": {
998
+ "name": "id",
999
+ "type": "uuid",
1000
+ "primaryKey": true,
1001
+ "notNull": true,
1002
+ "default": "gen_random_uuid()"
1003
+ },
1004
+ "identifier": {
1005
+ "name": "identifier",
1006
+ "type": "text",
1007
+ "primaryKey": false,
1008
+ "notNull": true
1009
+ },
1010
+ "value": {
1011
+ "name": "value",
1012
+ "type": "text",
1013
+ "primaryKey": false,
1014
+ "notNull": true
1015
+ },
1016
+ "expires_at": {
1017
+ "name": "expires_at",
1018
+ "type": "timestamp with time zone",
1019
+ "primaryKey": false,
1020
+ "notNull": true
1021
+ },
1022
+ "created_at": {
1023
+ "name": "created_at",
1024
+ "type": "timestamp with time zone",
1025
+ "primaryKey": false,
1026
+ "notNull": true,
1027
+ "default": "now()"
1028
+ },
1029
+ "updated_at": {
1030
+ "name": "updated_at",
1031
+ "type": "timestamp with time zone",
1032
+ "primaryKey": false,
1033
+ "notNull": true
1034
+ }
1035
+ },
1036
+ "indexes": {
1037
+ "verification_identifier_idx": {
1038
+ "name": "verification_identifier_idx",
1039
+ "columns": [
1040
+ {
1041
+ "expression": "identifier",
1042
+ "isExpression": false,
1043
+ "asc": true,
1044
+ "nulls": "last"
1045
+ }
1046
+ ],
1047
+ "isUnique": false,
1048
+ "concurrently": false,
1049
+ "method": "btree",
1050
+ "with": {}
1051
+ }
1052
+ },
1053
+ "foreignKeys": {},
1054
+ "compositePrimaryKeys": {},
1055
+ "uniqueConstraints": {},
1056
+ "policies": {},
1057
+ "checkConstraints": {},
1058
+ "isRLSEnabled": false
1059
+ }
1060
+ },
1061
+ "enums": {
1062
+ "public.user_theme": {
1063
+ "name": "user_theme",
1064
+ "schema": "public",
1065
+ "values": ["light", "dark", "system"]
1066
+ }
1067
+ },
1068
+ "schemas": {},
1069
+ "sequences": {},
1070
+ "roles": {},
1071
+ "policies": {},
1072
+ "views": {},
1073
+ "_meta": {
1074
+ "columns": {},
1075
+ "schemas": {},
1076
+ "tables": {}
1077
+ }
1078
+ }