@openora/core 0.4.1-canary.113 → 0.4.1-canary.115

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 (206) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/plugin.d.ts +11 -0
  3. package/dist/admin-console/plugin.d.ts.map +1 -1
  4. package/dist/analytics/plugin.d.ts +11 -0
  5. package/dist/analytics/plugin.d.ts.map +1 -1
  6. package/dist/audit/__tests__/map-event.test.js +34 -0
  7. package/dist/audit/__tests__/map-event.test.js.map +1 -1
  8. package/dist/audit/plugin.d.ts +11 -0
  9. package/dist/audit/plugin.d.ts.map +1 -1
  10. package/dist/audit/plugin.js +63 -7
  11. package/dist/audit/plugin.js.map +1 -1
  12. package/dist/casino/gaming/plugin.d.ts +11 -0
  13. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  14. package/dist/casino/lobby/plugin.d.ts +11 -0
  15. package/dist/casino/lobby/plugin.d.ts.map +1 -1
  16. package/dist/cms/plugin.d.ts +11 -0
  17. package/dist/cms/plugin.d.ts.map +1 -1
  18. package/dist/compliance/plugin.d.ts +11 -0
  19. package/dist/compliance/plugin.d.ts.map +1 -1
  20. package/dist/contracts/adapters/admin-security.d.ts +27 -0
  21. package/dist/contracts/adapters/admin-security.d.ts.map +1 -0
  22. package/dist/contracts/adapters/admin-security.js +9 -0
  23. package/dist/contracts/adapters/admin-security.js.map +1 -0
  24. package/dist/contracts/adapters/index.d.ts +3 -1
  25. package/dist/contracts/adapters/index.d.ts.map +1 -1
  26. package/dist/contracts/adapters/index.js +1 -0
  27. package/dist/contracts/adapters/index.js.map +1 -1
  28. package/dist/contracts/adapters/realtime.d.ts +36 -3
  29. package/dist/contracts/adapters/realtime.d.ts.map +1 -1
  30. package/dist/contracts/adapters/realtime.js.map +1 -1
  31. package/dist/contracts/schemas/common.d.ts +3 -1
  32. package/dist/contracts/schemas/common.d.ts.map +1 -1
  33. package/dist/contracts/schemas/common.js +2 -0
  34. package/dist/contracts/schemas/common.js.map +1 -1
  35. package/dist/contracts/schemas/events.d.ts +114 -0
  36. package/dist/contracts/schemas/events.d.ts.map +1 -1
  37. package/dist/contracts/schemas/events.js +77 -0
  38. package/dist/contracts/schemas/events.js.map +1 -1
  39. package/dist/contracts/schemas/identity.d.ts +26 -0
  40. package/dist/contracts/schemas/identity.d.ts.map +1 -1
  41. package/dist/contracts/schemas/identity.js +32 -1
  42. package/dist/contracts/schemas/identity.js.map +1 -1
  43. package/dist/contracts/schemas/platform-config.d.ts +39 -0
  44. package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
  45. package/dist/contracts/schemas/platform-config.js +43 -0
  46. package/dist/contracts/schemas/platform-config.js.map +1 -1
  47. package/dist/engagement/chat/__tests__/chat.router.test.d.ts +2 -0
  48. package/dist/engagement/chat/__tests__/chat.router.test.d.ts.map +1 -0
  49. package/dist/engagement/chat/__tests__/chat.router.test.js +44 -0
  50. package/dist/engagement/chat/__tests__/chat.router.test.js.map +1 -0
  51. package/dist/engagement/chat/__tests__/chat.service.int.test.js +590 -6
  52. package/dist/engagement/chat/__tests__/chat.service.int.test.js.map +1 -1
  53. package/dist/engagement/chat/contract/constants.d.ts +2 -0
  54. package/dist/engagement/chat/contract/constants.d.ts.map +1 -1
  55. package/dist/engagement/chat/contract/constants.js +7 -0
  56. package/dist/engagement/chat/contract/constants.js.map +1 -1
  57. package/dist/engagement/chat/contract/index.d.ts +39 -0
  58. package/dist/engagement/chat/contract/index.d.ts.map +1 -1
  59. package/dist/engagement/chat/contract/index.js +25 -1
  60. package/dist/engagement/chat/contract/index.js.map +1 -1
  61. package/dist/engagement/chat/drizzle/migrations/0009_massive_bill_hollister.sql +1 -0
  62. package/dist/engagement/chat/drizzle/migrations/0010_backfill_role_assigned_at.sql +9 -0
  63. package/dist/engagement/chat/drizzle/migrations/meta/0009_snapshot.json +1468 -0
  64. package/dist/engagement/chat/drizzle/migrations/meta/0010_snapshot.json +1468 -0
  65. package/dist/engagement/chat/drizzle/migrations/meta/_journal.json +14 -0
  66. package/dist/engagement/chat/plugin.d.ts +11 -0
  67. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  68. package/dist/engagement/chat/router/index.d.ts +19 -0
  69. package/dist/engagement/chat/router/index.d.ts.map +1 -1
  70. package/dist/engagement/chat/router/index.js +31 -2
  71. package/dist/engagement/chat/router/index.js.map +1 -1
  72. package/dist/engagement/chat/schema/index.d.ts +17 -0
  73. package/dist/engagement/chat/schema/index.d.ts.map +1 -1
  74. package/dist/engagement/chat/schema/index.js +3 -0
  75. package/dist/engagement/chat/schema/index.js.map +1 -1
  76. package/dist/engagement/chat/service/chat-ban.service.d.ts.map +1 -1
  77. package/dist/engagement/chat/service/chat-ban.service.js +6 -6
  78. package/dist/engagement/chat/service/chat-ban.service.js.map +1 -1
  79. package/dist/engagement/chat/service/chat-room-ban.service.js +1 -1
  80. package/dist/engagement/chat/service/chat-room-ban.service.js.map +1 -1
  81. package/dist/engagement/chat/service/chat-room-membership.service.d.ts +15 -0
  82. package/dist/engagement/chat/service/chat-room-membership.service.d.ts.map +1 -1
  83. package/dist/engagement/chat/service/chat-room-membership.service.js +96 -4
  84. package/dist/engagement/chat/service/chat-room-membership.service.js.map +1 -1
  85. package/dist/engagement/chat/service/chat.service.d.ts +3 -2
  86. package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
  87. package/dist/engagement/chat/service/chat.service.js +73 -24
  88. package/dist/engagement/chat/service/chat.service.js.map +1 -1
  89. package/dist/engagement/chat/service/errors/chat-moderation.errors.d.ts +1 -0
  90. package/dist/engagement/chat/service/errors/chat-moderation.errors.d.ts.map +1 -1
  91. package/dist/engagement/chat/service/errors/chat-moderation.errors.js +1 -0
  92. package/dist/engagement/chat/service/errors/chat-moderation.errors.js.map +1 -1
  93. package/dist/engagement/chat-commands/plugin.d.ts +11 -0
  94. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
  95. package/dist/engagement/notifications/plugin.d.ts +11 -0
  96. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  97. package/dist/engagement/social/plugin.d.ts +11 -0
  98. package/dist/engagement/social/plugin.d.ts.map +1 -1
  99. package/dist/iam/plugin.d.ts +11 -0
  100. package/dist/iam/plugin.d.ts.map +1 -1
  101. package/dist/pam/identity/__tests__/admin-security.int.test.d.ts +2 -0
  102. package/dist/pam/identity/__tests__/admin-security.int.test.d.ts.map +1 -0
  103. package/dist/pam/identity/__tests__/admin-security.int.test.js +137 -0
  104. package/dist/pam/identity/__tests__/admin-security.int.test.js.map +1 -0
  105. package/dist/pam/identity/__tests__/device-fingerprint.test.d.ts +2 -0
  106. package/dist/pam/identity/__tests__/device-fingerprint.test.d.ts.map +1 -0
  107. package/dist/pam/identity/__tests__/device-fingerprint.test.js +105 -0
  108. package/dist/pam/identity/__tests__/device-fingerprint.test.js.map +1 -0
  109. package/dist/pam/identity/__tests__/identity.rate-limit.int.test.js +3 -3
  110. package/dist/pam/identity/__tests__/identity.rate-limit.int.test.js.map +1 -1
  111. package/dist/pam/identity/__tests__/identity.service.int.test.js +221 -1
  112. package/dist/pam/identity/__tests__/identity.service.int.test.js.map +1 -1
  113. package/dist/pam/identity/contract/index.d.ts +144 -0
  114. package/dist/pam/identity/contract/index.d.ts.map +1 -1
  115. package/dist/pam/identity/contract/index.js +84 -1
  116. package/dist/pam/identity/contract/index.js.map +1 -1
  117. package/dist/pam/identity/drizzle/migrations/0008_pink_bucky.sql +23 -0
  118. package/dist/pam/identity/drizzle/migrations/0009_hard_sauron.sql +2 -0
  119. package/dist/pam/identity/drizzle/migrations/meta/0008_snapshot.json +913 -0
  120. package/dist/pam/identity/drizzle/migrations/meta/0009_snapshot.json +926 -0
  121. package/dist/pam/identity/drizzle/migrations/meta/_journal.json +14 -0
  122. package/dist/pam/identity/plugin.d.ts +11 -0
  123. package/dist/pam/identity/plugin.d.ts.map +1 -1
  124. package/dist/pam/identity/plugin.js +81 -26
  125. package/dist/pam/identity/plugin.js.map +1 -1
  126. package/dist/pam/identity/react/account.d.ts +5 -0
  127. package/dist/pam/identity/react/account.d.ts.map +1 -1
  128. package/dist/pam/identity/react/auth.d.ts +2 -0
  129. package/dist/pam/identity/react/auth.d.ts.map +1 -1
  130. package/dist/pam/identity/router/index.d.ts +105 -1
  131. package/dist/pam/identity/router/index.d.ts.map +1 -1
  132. package/dist/pam/identity/router/index.js +44 -3
  133. package/dist/pam/identity/router/index.js.map +1 -1
  134. package/dist/pam/identity/schema/index.d.ts +314 -0
  135. package/dist/pam/identity/schema/index.d.ts.map +1 -1
  136. package/dist/pam/identity/schema/index.js +38 -0
  137. package/dist/pam/identity/schema/index.js.map +1 -1
  138. package/dist/pam/identity/service/admin-security.service.d.ts +82 -0
  139. package/dist/pam/identity/service/admin-security.service.d.ts.map +1 -0
  140. package/dist/pam/identity/service/admin-security.service.js +277 -0
  141. package/dist/pam/identity/service/admin-security.service.js.map +1 -0
  142. package/dist/pam/identity/service/device-fingerprint.service.d.ts +32 -0
  143. package/dist/pam/identity/service/device-fingerprint.service.d.ts.map +1 -0
  144. package/dist/pam/identity/service/device-fingerprint.service.js +79 -0
  145. package/dist/pam/identity/service/device-fingerprint.service.js.map +1 -0
  146. package/dist/pam/identity/service/identity.service.d.ts +37 -2
  147. package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
  148. package/dist/pam/identity/service/identity.service.js +233 -19
  149. package/dist/pam/identity/service/identity.service.js.map +1 -1
  150. package/dist/pam/identity/service/phone-login.service.d.ts +1 -0
  151. package/dist/pam/identity/service/phone-login.service.d.ts.map +1 -1
  152. package/dist/pam/identity/service/phone-login.service.js +2 -0
  153. package/dist/pam/identity/service/phone-login.service.js.map +1 -1
  154. package/dist/pam/identity/service/session.service.d.ts +45 -1
  155. package/dist/pam/identity/service/session.service.d.ts.map +1 -1
  156. package/dist/pam/identity/service/session.service.js +81 -12
  157. package/dist/pam/identity/service/session.service.js.map +1 -1
  158. package/dist/pam/identity/service/trusted-device.service.d.ts +54 -0
  159. package/dist/pam/identity/service/trusted-device.service.d.ts.map +1 -0
  160. package/dist/pam/identity/service/trusted-device.service.js +157 -0
  161. package/dist/pam/identity/service/trusted-device.service.js.map +1 -0
  162. package/dist/pam/identity/service/two-factor-lockout.service.d.ts +25 -0
  163. package/dist/pam/identity/service/two-factor-lockout.service.d.ts.map +1 -0
  164. package/dist/pam/identity/service/two-factor-lockout.service.js +121 -0
  165. package/dist/pam/identity/service/two-factor-lockout.service.js.map +1 -0
  166. package/dist/pam/player-management/plugin.d.ts +11 -0
  167. package/dist/pam/player-management/plugin.d.ts.map +1 -1
  168. package/dist/pam/player-note/plugin.d.ts +11 -0
  169. package/dist/pam/player-note/plugin.d.ts.map +1 -1
  170. package/dist/pam/profile/plugin.d.ts +11 -0
  171. package/dist/pam/profile/plugin.d.ts.map +1 -1
  172. package/dist/pam/tag/plugin.d.ts +11 -0
  173. package/dist/pam/tag/plugin.d.ts.map +1 -1
  174. package/dist/react/context/__tests__/realtime-client.test.d.ts +2 -0
  175. package/dist/react/context/__tests__/realtime-client.test.d.ts.map +1 -0
  176. package/dist/react/context/__tests__/realtime-client.test.js +75 -0
  177. package/dist/react/context/__tests__/realtime-client.test.js.map +1 -0
  178. package/dist/react/context/realtime-client.d.ts +14 -0
  179. package/dist/react/context/realtime-client.d.ts.map +1 -1
  180. package/dist/react/context/realtime-client.js.map +1 -1
  181. package/dist/server/auth/__tests__/admin-guard.int.test.js +3 -1
  182. package/dist/server/auth/__tests__/admin-guard.int.test.js.map +1 -1
  183. package/dist/server/auth/admin-guard.d.ts +3 -2
  184. package/dist/server/auth/admin-guard.d.ts.map +1 -1
  185. package/dist/server/auth/admin-guard.js +18 -2
  186. package/dist/server/auth/admin-guard.js.map +1 -1
  187. package/dist/server/auth/auth.d.ts +14 -0
  188. package/dist/server/auth/auth.d.ts.map +1 -1
  189. package/dist/server/auth/auth.js +18 -1
  190. package/dist/server/auth/auth.js.map +1 -1
  191. package/dist/server/kernel/realtime-transport.d.ts +11 -3
  192. package/dist/server/kernel/realtime-transport.d.ts.map +1 -1
  193. package/dist/server/kernel/realtime-transport.js +53 -10
  194. package/dist/server/kernel/realtime-transport.js.map +1 -1
  195. package/dist/server/runtime/core-token-catalog.d.ts +11 -0
  196. package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
  197. package/dist/server/runtime/core-token-catalog.js +2 -1
  198. package/dist/server/runtime/core-token-catalog.js.map +1 -1
  199. package/dist/server/runtime/create-app.d.ts.map +1 -1
  200. package/dist/server/runtime/create-app.js +2 -2
  201. package/dist/server/runtime/create-app.js.map +1 -1
  202. package/dist/testing/seed-player.d.ts +10 -2
  203. package/dist/testing/seed-player.d.ts.map +1 -1
  204. package/dist/wallet/plugin.d.ts +11 -0
  205. package/dist/wallet/plugin.d.ts.map +1 -1
  206. package/package.json +1 -1
@@ -0,0 +1,926 @@
1
+ {
2
+ "id": "3ed4d13d-bb10-4611-8b8e-97f8737a4b47",
3
+ "prevId": "54c87318-23a9-466f-a74f-f6493808659b",
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.session": {
271
+ "name": "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
+ "expires_at": {
282
+ "name": "expires_at",
283
+ "type": "timestamp with time zone",
284
+ "primaryKey": false,
285
+ "notNull": true
286
+ },
287
+ "token": {
288
+ "name": "token",
289
+ "type": "text",
290
+ "primaryKey": false,
291
+ "notNull": true
292
+ },
293
+ "created_at": {
294
+ "name": "created_at",
295
+ "type": "timestamp with time zone",
296
+ "primaryKey": false,
297
+ "notNull": true,
298
+ "default": "now()"
299
+ },
300
+ "updated_at": {
301
+ "name": "updated_at",
302
+ "type": "timestamp with time zone",
303
+ "primaryKey": false,
304
+ "notNull": true
305
+ },
306
+ "ip_address": {
307
+ "name": "ip_address",
308
+ "type": "text",
309
+ "primaryKey": false,
310
+ "notNull": false
311
+ },
312
+ "user_agent": {
313
+ "name": "user_agent",
314
+ "type": "text",
315
+ "primaryKey": false,
316
+ "notNull": false
317
+ },
318
+ "last_seen_at": {
319
+ "name": "last_seen_at",
320
+ "type": "timestamp with time zone",
321
+ "primaryKey": false,
322
+ "notNull": false
323
+ },
324
+ "user_id": {
325
+ "name": "user_id",
326
+ "type": "uuid",
327
+ "primaryKey": false,
328
+ "notNull": true
329
+ }
330
+ },
331
+ "indexes": {
332
+ "session_user_id_idx": {
333
+ "name": "session_user_id_idx",
334
+ "columns": [
335
+ {
336
+ "expression": "user_id",
337
+ "isExpression": false,
338
+ "asc": true,
339
+ "nulls": "last"
340
+ }
341
+ ],
342
+ "isUnique": false,
343
+ "concurrently": false,
344
+ "method": "btree",
345
+ "with": {}
346
+ }
347
+ },
348
+ "foreignKeys": {
349
+ "session_user_id_user_id_fk": {
350
+ "name": "session_user_id_user_id_fk",
351
+ "tableFrom": "session",
352
+ "tableTo": "user",
353
+ "columnsFrom": ["user_id"],
354
+ "columnsTo": ["id"],
355
+ "onDelete": "cascade",
356
+ "onUpdate": "no action"
357
+ }
358
+ },
359
+ "compositePrimaryKeys": {},
360
+ "uniqueConstraints": {
361
+ "session_token_unique": {
362
+ "name": "session_token_unique",
363
+ "nullsNotDistinct": false,
364
+ "columns": ["token"]
365
+ }
366
+ },
367
+ "policies": {},
368
+ "checkConstraints": {},
369
+ "isRLSEnabled": false
370
+ },
371
+ "public.sms_otp_session": {
372
+ "name": "sms_otp_session",
373
+ "schema": "",
374
+ "columns": {
375
+ "id": {
376
+ "name": "id",
377
+ "type": "uuid",
378
+ "primaryKey": true,
379
+ "notNull": true,
380
+ "default": "gen_random_uuid()"
381
+ },
382
+ "user_id": {
383
+ "name": "user_id",
384
+ "type": "uuid",
385
+ "primaryKey": false,
386
+ "notNull": true
387
+ },
388
+ "phone": {
389
+ "name": "phone",
390
+ "type": "text",
391
+ "primaryKey": false,
392
+ "notNull": true
393
+ },
394
+ "code_hash": {
395
+ "name": "code_hash",
396
+ "type": "text",
397
+ "primaryKey": false,
398
+ "notNull": true
399
+ },
400
+ "expires_at": {
401
+ "name": "expires_at",
402
+ "type": "timestamp with time zone",
403
+ "primaryKey": false,
404
+ "notNull": true
405
+ },
406
+ "failed_attempts": {
407
+ "name": "failed_attempts",
408
+ "type": "integer",
409
+ "primaryKey": false,
410
+ "notNull": true,
411
+ "default": 0
412
+ },
413
+ "created_at": {
414
+ "name": "created_at",
415
+ "type": "timestamp with time zone",
416
+ "primaryKey": false,
417
+ "notNull": true,
418
+ "default": "now()"
419
+ }
420
+ },
421
+ "indexes": {
422
+ "sms_otp_session_phone_idx": {
423
+ "name": "sms_otp_session_phone_idx",
424
+ "columns": [
425
+ {
426
+ "expression": "phone",
427
+ "isExpression": false,
428
+ "asc": true,
429
+ "nulls": "last"
430
+ }
431
+ ],
432
+ "isUnique": false,
433
+ "concurrently": false,
434
+ "method": "btree",
435
+ "with": {}
436
+ }
437
+ },
438
+ "foreignKeys": {
439
+ "sms_otp_session_user_id_user_id_fk": {
440
+ "name": "sms_otp_session_user_id_user_id_fk",
441
+ "tableFrom": "sms_otp_session",
442
+ "tableTo": "user",
443
+ "columnsFrom": ["user_id"],
444
+ "columnsTo": ["id"],
445
+ "onDelete": "cascade",
446
+ "onUpdate": "no action"
447
+ }
448
+ },
449
+ "compositePrimaryKeys": {},
450
+ "uniqueConstraints": {
451
+ "sms_otp_session_userId_unique": {
452
+ "name": "sms_otp_session_userId_unique",
453
+ "nullsNotDistinct": false,
454
+ "columns": ["user_id"]
455
+ }
456
+ },
457
+ "policies": {},
458
+ "checkConstraints": {},
459
+ "isRLSEnabled": false
460
+ },
461
+ "public.two_factor": {
462
+ "name": "two_factor",
463
+ "schema": "",
464
+ "columns": {
465
+ "id": {
466
+ "name": "id",
467
+ "type": "uuid",
468
+ "primaryKey": true,
469
+ "notNull": true,
470
+ "default": "gen_random_uuid()"
471
+ },
472
+ "secret": {
473
+ "name": "secret",
474
+ "type": "text",
475
+ "primaryKey": false,
476
+ "notNull": true
477
+ },
478
+ "backup_codes": {
479
+ "name": "backup_codes",
480
+ "type": "text",
481
+ "primaryKey": false,
482
+ "notNull": true
483
+ },
484
+ "user_id": {
485
+ "name": "user_id",
486
+ "type": "uuid",
487
+ "primaryKey": false,
488
+ "notNull": true
489
+ },
490
+ "verified": {
491
+ "name": "verified",
492
+ "type": "boolean",
493
+ "primaryKey": false,
494
+ "notNull": false,
495
+ "default": true
496
+ },
497
+ "failed_verification_count": {
498
+ "name": "failed_verification_count",
499
+ "type": "integer",
500
+ "primaryKey": false,
501
+ "notNull": true,
502
+ "default": 0
503
+ },
504
+ "locked_until": {
505
+ "name": "locked_until",
506
+ "type": "timestamp with time zone",
507
+ "primaryKey": false,
508
+ "notNull": false
509
+ }
510
+ },
511
+ "indexes": {
512
+ "two_factor_user_id_idx": {
513
+ "name": "two_factor_user_id_idx",
514
+ "columns": [
515
+ {
516
+ "expression": "user_id",
517
+ "isExpression": false,
518
+ "asc": true,
519
+ "nulls": "last"
520
+ }
521
+ ],
522
+ "isUnique": false,
523
+ "concurrently": false,
524
+ "method": "btree",
525
+ "with": {}
526
+ },
527
+ "two_factor_secret_idx": {
528
+ "name": "two_factor_secret_idx",
529
+ "columns": [
530
+ {
531
+ "expression": "secret",
532
+ "isExpression": false,
533
+ "asc": true,
534
+ "nulls": "last"
535
+ }
536
+ ],
537
+ "isUnique": false,
538
+ "concurrently": false,
539
+ "method": "btree",
540
+ "with": {}
541
+ }
542
+ },
543
+ "foreignKeys": {
544
+ "two_factor_user_id_user_id_fk": {
545
+ "name": "two_factor_user_id_user_id_fk",
546
+ "tableFrom": "two_factor",
547
+ "tableTo": "user",
548
+ "columnsFrom": ["user_id"],
549
+ "columnsTo": ["id"],
550
+ "onDelete": "cascade",
551
+ "onUpdate": "no action"
552
+ }
553
+ },
554
+ "compositePrimaryKeys": {},
555
+ "uniqueConstraints": {},
556
+ "policies": {},
557
+ "checkConstraints": {},
558
+ "isRLSEnabled": false
559
+ },
560
+ "public.user": {
561
+ "name": "user",
562
+ "schema": "",
563
+ "columns": {
564
+ "id": {
565
+ "name": "id",
566
+ "type": "uuid",
567
+ "primaryKey": true,
568
+ "notNull": true,
569
+ "default": "gen_random_uuid()"
570
+ },
571
+ "name": {
572
+ "name": "name",
573
+ "type": "text",
574
+ "primaryKey": false,
575
+ "notNull": true
576
+ },
577
+ "username": {
578
+ "name": "username",
579
+ "type": "text",
580
+ "primaryKey": false,
581
+ "notNull": true
582
+ },
583
+ "email": {
584
+ "name": "email",
585
+ "type": "text",
586
+ "primaryKey": false,
587
+ "notNull": true
588
+ },
589
+ "email_verified": {
590
+ "name": "email_verified",
591
+ "type": "boolean",
592
+ "primaryKey": false,
593
+ "notNull": true,
594
+ "default": false
595
+ },
596
+ "image": {
597
+ "name": "image",
598
+ "type": "text",
599
+ "primaryKey": false,
600
+ "notNull": false
601
+ },
602
+ "theme": {
603
+ "name": "theme",
604
+ "type": "user_theme",
605
+ "typeSchema": "public",
606
+ "primaryKey": false,
607
+ "notNull": true,
608
+ "default": "'system'"
609
+ },
610
+ "language": {
611
+ "name": "language",
612
+ "type": "text",
613
+ "primaryKey": false,
614
+ "notNull": true,
615
+ "default": "'en'"
616
+ },
617
+ "role": {
618
+ "name": "role",
619
+ "type": "text",
620
+ "primaryKey": false,
621
+ "notNull": true,
622
+ "default": "'player'"
623
+ },
624
+ "is_active": {
625
+ "name": "is_active",
626
+ "type": "boolean",
627
+ "primaryKey": false,
628
+ "notNull": true,
629
+ "default": true
630
+ },
631
+ "banned": {
632
+ "name": "banned",
633
+ "type": "boolean",
634
+ "primaryKey": false,
635
+ "notNull": false,
636
+ "default": false
637
+ },
638
+ "ban_reason": {
639
+ "name": "ban_reason",
640
+ "type": "text",
641
+ "primaryKey": false,
642
+ "notNull": false
643
+ },
644
+ "ban_expires": {
645
+ "name": "ban_expires",
646
+ "type": "timestamp with time zone",
647
+ "primaryKey": false,
648
+ "notNull": false
649
+ },
650
+ "two_factor_enabled": {
651
+ "name": "two_factor_enabled",
652
+ "type": "boolean",
653
+ "primaryKey": false,
654
+ "notNull": false,
655
+ "default": false
656
+ },
657
+ "phone_number": {
658
+ "name": "phone_number",
659
+ "type": "text",
660
+ "primaryKey": false,
661
+ "notNull": false
662
+ },
663
+ "phone_verified": {
664
+ "name": "phone_verified",
665
+ "type": "boolean",
666
+ "primaryKey": false,
667
+ "notNull": true,
668
+ "default": false
669
+ },
670
+ "phone_verified_at": {
671
+ "name": "phone_verified_at",
672
+ "type": "timestamp with time zone",
673
+ "primaryKey": false,
674
+ "notNull": false
675
+ },
676
+ "failed_login_attempts": {
677
+ "name": "failed_login_attempts",
678
+ "type": "integer",
679
+ "primaryKey": false,
680
+ "notNull": true,
681
+ "default": 0
682
+ },
683
+ "lockout_until": {
684
+ "name": "lockout_until",
685
+ "type": "timestamp with time zone",
686
+ "primaryKey": false,
687
+ "notNull": false
688
+ },
689
+ "failed_two_factor_attempts": {
690
+ "name": "failed_two_factor_attempts",
691
+ "type": "integer",
692
+ "primaryKey": false,
693
+ "notNull": true,
694
+ "default": 0
695
+ },
696
+ "two_factor_lockout_until": {
697
+ "name": "two_factor_lockout_until",
698
+ "type": "timestamp with time zone",
699
+ "primaryKey": false,
700
+ "notNull": false
701
+ },
702
+ "two_factor_lockout_count": {
703
+ "name": "two_factor_lockout_count",
704
+ "type": "integer",
705
+ "primaryKey": false,
706
+ "notNull": true,
707
+ "default": 0
708
+ },
709
+ "last_failed_two_factor_at": {
710
+ "name": "last_failed_two_factor_at",
711
+ "type": "timestamp with time zone",
712
+ "primaryKey": false,
713
+ "notNull": false
714
+ },
715
+ "lockout_count": {
716
+ "name": "lockout_count",
717
+ "type": "integer",
718
+ "primaryKey": false,
719
+ "notNull": true,
720
+ "default": 0
721
+ },
722
+ "last_lockout_at": {
723
+ "name": "last_lockout_at",
724
+ "type": "timestamp with time zone",
725
+ "primaryKey": false,
726
+ "notNull": false
727
+ },
728
+ "last_failed_login_at": {
729
+ "name": "last_failed_login_at",
730
+ "type": "timestamp with time zone",
731
+ "primaryKey": false,
732
+ "notNull": false
733
+ },
734
+ "rg_blocked": {
735
+ "name": "rg_blocked",
736
+ "type": "boolean",
737
+ "primaryKey": false,
738
+ "notNull": true,
739
+ "default": false
740
+ },
741
+ "rg_blocked_until": {
742
+ "name": "rg_blocked_until",
743
+ "type": "timestamp with time zone",
744
+ "primaryKey": false,
745
+ "notNull": false
746
+ },
747
+ "created_at": {
748
+ "name": "created_at",
749
+ "type": "timestamp with time zone",
750
+ "primaryKey": false,
751
+ "notNull": true,
752
+ "default": "now()"
753
+ },
754
+ "updated_at": {
755
+ "name": "updated_at",
756
+ "type": "timestamp with time zone",
757
+ "primaryKey": false,
758
+ "notNull": true
759
+ }
760
+ },
761
+ "indexes": {
762
+ "user_username_unique": {
763
+ "name": "user_username_unique",
764
+ "columns": [
765
+ {
766
+ "expression": "lower(\"username\")",
767
+ "asc": true,
768
+ "isExpression": true,
769
+ "nulls": "last"
770
+ }
771
+ ],
772
+ "isUnique": true,
773
+ "concurrently": false,
774
+ "method": "btree",
775
+ "with": {}
776
+ },
777
+ "user_email_trgm_idx": {
778
+ "name": "user_email_trgm_idx",
779
+ "columns": [
780
+ {
781
+ "expression": "\"email\" gin_trgm_ops",
782
+ "asc": true,
783
+ "isExpression": true,
784
+ "nulls": "last"
785
+ }
786
+ ],
787
+ "isUnique": false,
788
+ "concurrently": false,
789
+ "method": "gin",
790
+ "with": {}
791
+ },
792
+ "user_username_trgm_idx": {
793
+ "name": "user_username_trgm_idx",
794
+ "columns": [
795
+ {
796
+ "expression": "\"username\" gin_trgm_ops",
797
+ "asc": true,
798
+ "isExpression": true,
799
+ "nulls": "last"
800
+ }
801
+ ],
802
+ "isUnique": false,
803
+ "concurrently": false,
804
+ "method": "gin",
805
+ "with": {}
806
+ },
807
+ "user_created_at_idx": {
808
+ "name": "user_created_at_idx",
809
+ "columns": [
810
+ {
811
+ "expression": "created_at",
812
+ "isExpression": false,
813
+ "asc": true,
814
+ "nulls": "last"
815
+ }
816
+ ],
817
+ "isUnique": false,
818
+ "concurrently": false,
819
+ "method": "btree",
820
+ "with": {}
821
+ }
822
+ },
823
+ "foreignKeys": {},
824
+ "compositePrimaryKeys": {},
825
+ "uniqueConstraints": {
826
+ "user_email_unique": {
827
+ "name": "user_email_unique",
828
+ "nullsNotDistinct": false,
829
+ "columns": ["email"]
830
+ },
831
+ "user_phoneNumber_unique": {
832
+ "name": "user_phoneNumber_unique",
833
+ "nullsNotDistinct": false,
834
+ "columns": ["phone_number"]
835
+ }
836
+ },
837
+ "policies": {},
838
+ "checkConstraints": {},
839
+ "isRLSEnabled": false
840
+ },
841
+ "public.verification": {
842
+ "name": "verification",
843
+ "schema": "",
844
+ "columns": {
845
+ "id": {
846
+ "name": "id",
847
+ "type": "uuid",
848
+ "primaryKey": true,
849
+ "notNull": true,
850
+ "default": "gen_random_uuid()"
851
+ },
852
+ "identifier": {
853
+ "name": "identifier",
854
+ "type": "text",
855
+ "primaryKey": false,
856
+ "notNull": true
857
+ },
858
+ "value": {
859
+ "name": "value",
860
+ "type": "text",
861
+ "primaryKey": false,
862
+ "notNull": true
863
+ },
864
+ "expires_at": {
865
+ "name": "expires_at",
866
+ "type": "timestamp with time zone",
867
+ "primaryKey": false,
868
+ "notNull": true
869
+ },
870
+ "created_at": {
871
+ "name": "created_at",
872
+ "type": "timestamp with time zone",
873
+ "primaryKey": false,
874
+ "notNull": true,
875
+ "default": "now()"
876
+ },
877
+ "updated_at": {
878
+ "name": "updated_at",
879
+ "type": "timestamp with time zone",
880
+ "primaryKey": false,
881
+ "notNull": true
882
+ }
883
+ },
884
+ "indexes": {
885
+ "verification_identifier_idx": {
886
+ "name": "verification_identifier_idx",
887
+ "columns": [
888
+ {
889
+ "expression": "identifier",
890
+ "isExpression": false,
891
+ "asc": true,
892
+ "nulls": "last"
893
+ }
894
+ ],
895
+ "isUnique": false,
896
+ "concurrently": false,
897
+ "method": "btree",
898
+ "with": {}
899
+ }
900
+ },
901
+ "foreignKeys": {},
902
+ "compositePrimaryKeys": {},
903
+ "uniqueConstraints": {},
904
+ "policies": {},
905
+ "checkConstraints": {},
906
+ "isRLSEnabled": false
907
+ }
908
+ },
909
+ "enums": {
910
+ "public.user_theme": {
911
+ "name": "user_theme",
912
+ "schema": "public",
913
+ "values": ["light", "dark", "system"]
914
+ }
915
+ },
916
+ "schemas": {},
917
+ "sequences": {},
918
+ "roles": {},
919
+ "policies": {},
920
+ "views": {},
921
+ "_meta": {
922
+ "columns": {},
923
+ "schemas": {},
924
+ "tables": {}
925
+ }
926
+ }