@openora/core 0.4.1-canary.154 → 0.4.1-canary.156

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 (167) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/plugin.d.ts +2 -0
  3. package/dist/admin-console/plugin.d.ts.map +1 -1
  4. package/dist/analytics/plugin.d.ts +2 -0
  5. package/dist/analytics/plugin.d.ts.map +1 -1
  6. package/dist/audit/plugin.d.ts +2 -0
  7. package/dist/audit/plugin.d.ts.map +1 -1
  8. package/dist/audit/plugin.js +31 -0
  9. package/dist/audit/plugin.js.map +1 -1
  10. package/dist/casino/gaming/__tests__/gaming.service.int.test.js +65 -11
  11. package/dist/casino/gaming/__tests__/gaming.service.int.test.js.map +1 -1
  12. package/dist/casino/gaming/plugin.d.ts +2 -0
  13. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  14. package/dist/casino/gaming/plugin.js +2 -2
  15. package/dist/casino/gaming/plugin.js.map +1 -1
  16. package/dist/casino/gaming/router/index.d.ts.map +1 -1
  17. package/dist/casino/gaming/router/index.js +3 -3
  18. package/dist/casino/gaming/router/index.js.map +1 -1
  19. package/dist/casino/gaming/service/gaming.service.d.ts +13 -3
  20. package/dist/casino/gaming/service/gaming.service.d.ts.map +1 -1
  21. package/dist/casino/gaming/service/gaming.service.js +20 -3
  22. package/dist/casino/gaming/service/gaming.service.js.map +1 -1
  23. package/dist/casino/lobby/__tests__/lobby-contract.test.d.ts +2 -0
  24. package/dist/casino/lobby/__tests__/lobby-contract.test.d.ts.map +1 -0
  25. package/dist/casino/lobby/__tests__/lobby-contract.test.js +39 -0
  26. package/dist/casino/lobby/__tests__/lobby-contract.test.js.map +1 -0
  27. package/dist/casino/lobby/__tests__/lobby-layout.int.test.d.ts +2 -0
  28. package/dist/casino/lobby/__tests__/lobby-layout.int.test.d.ts.map +1 -0
  29. package/dist/casino/lobby/__tests__/lobby-layout.int.test.js +145 -0
  30. package/dist/casino/lobby/__tests__/lobby-layout.int.test.js.map +1 -0
  31. package/dist/casino/lobby/__tests__/lobby.cache.int.test.js +45 -7
  32. package/dist/casino/lobby/__tests__/lobby.cache.int.test.js.map +1 -1
  33. package/dist/casino/lobby/contract/index.d.ts +84 -0
  34. package/dist/casino/lobby/contract/index.d.ts.map +1 -1
  35. package/dist/casino/lobby/contract/index.js +38 -1
  36. package/dist/casino/lobby/contract/index.js.map +1 -1
  37. package/dist/casino/lobby/drizzle/migrations/0001_true_clea.sql +20 -0
  38. package/dist/casino/lobby/drizzle/migrations/meta/0001_snapshot.json +343 -0
  39. package/dist/casino/lobby/drizzle/migrations/meta/_journal.json +7 -0
  40. package/dist/casino/lobby/plugin.d.ts +2 -0
  41. package/dist/casino/lobby/plugin.d.ts.map +1 -1
  42. package/dist/casino/lobby/plugin.js +7 -3
  43. package/dist/casino/lobby/plugin.js.map +1 -1
  44. package/dist/casino/lobby/router/index.d.ts +42 -2
  45. package/dist/casino/lobby/router/index.d.ts.map +1 -1
  46. package/dist/casino/lobby/router/index.js +13 -2
  47. package/dist/casino/lobby/router/index.js.map +1 -1
  48. package/dist/casino/lobby/schema/index.d.ts +222 -0
  49. package/dist/casino/lobby/schema/index.d.ts.map +1 -1
  50. package/dist/casino/lobby/schema/index.js +21 -1
  51. package/dist/casino/lobby/schema/index.js.map +1 -1
  52. package/dist/casino/lobby/service/lobby.service.d.ts +36 -3
  53. package/dist/casino/lobby/service/lobby.service.d.ts.map +1 -1
  54. package/dist/casino/lobby/service/lobby.service.js +253 -13
  55. package/dist/casino/lobby/service/lobby.service.js.map +1 -1
  56. package/dist/cms/plugin.d.ts +2 -0
  57. package/dist/cms/plugin.d.ts.map +1 -1
  58. package/dist/compliance/__tests__/compliance.service.int.test.js +152 -3
  59. package/dist/compliance/__tests__/compliance.service.int.test.js.map +1 -1
  60. package/dist/compliance/contract/index.d.ts +59 -2
  61. package/dist/compliance/contract/index.d.ts.map +1 -1
  62. package/dist/compliance/contract/index.js +28 -2
  63. package/dist/compliance/contract/index.js.map +1 -1
  64. package/dist/compliance/drizzle/migrations/0009_living_felicia_hardy.sql +12 -0
  65. package/dist/compliance/drizzle/migrations/meta/0009_snapshot.json +974 -0
  66. package/dist/compliance/drizzle/migrations/meta/_journal.json +7 -0
  67. package/dist/compliance/plugin.d.ts +2 -0
  68. package/dist/compliance/plugin.d.ts.map +1 -1
  69. package/dist/compliance/plugin.js +2 -1
  70. package/dist/compliance/plugin.js.map +1 -1
  71. package/dist/compliance/router/index.d.ts +34 -1
  72. package/dist/compliance/router/index.d.ts.map +1 -1
  73. package/dist/compliance/router/index.js +13 -1
  74. package/dist/compliance/router/index.js.map +1 -1
  75. package/dist/compliance/schema/index.d.ts +110 -0
  76. package/dist/compliance/schema/index.d.ts.map +1 -1
  77. package/dist/compliance/schema/index.js +16 -0
  78. package/dist/compliance/schema/index.js.map +1 -1
  79. package/dist/compliance/service/compliance.service.d.ts +49 -2
  80. package/dist/compliance/service/compliance.service.d.ts.map +1 -1
  81. package/dist/compliance/service/compliance.service.js +111 -4
  82. package/dist/compliance/service/compliance.service.js.map +1 -1
  83. package/dist/contracts/adapters/__tests__/geo-ip.test.d.ts +2 -0
  84. package/dist/contracts/adapters/__tests__/geo-ip.test.d.ts.map +1 -0
  85. package/dist/contracts/adapters/__tests__/geo-ip.test.js +13 -0
  86. package/dist/contracts/adapters/__tests__/geo-ip.test.js.map +1 -0
  87. package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.d.ts +2 -0
  88. package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.d.ts.map +1 -0
  89. package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.js +25 -0
  90. package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.js.map +1 -0
  91. package/dist/contracts/adapters/game-geo-check.d.ts +33 -0
  92. package/dist/contracts/adapters/game-geo-check.d.ts.map +1 -0
  93. package/dist/contracts/adapters/game-geo-check.js +23 -0
  94. package/dist/contracts/adapters/game-geo-check.js.map +1 -0
  95. package/dist/contracts/adapters/geo-ip.d.ts +2 -4
  96. package/dist/contracts/adapters/geo-ip.d.ts.map +1 -1
  97. package/dist/contracts/adapters/geo-ip.js +9 -0
  98. package/dist/contracts/adapters/geo-ip.js.map +1 -1
  99. package/dist/contracts/adapters/index.d.ts +5 -1
  100. package/dist/contracts/adapters/index.d.ts.map +1 -1
  101. package/dist/contracts/adapters/index.js +3 -1
  102. package/dist/contracts/adapters/index.js.map +1 -1
  103. package/dist/contracts/adapters/lobby-section-catalog.d.ts +39 -0
  104. package/dist/contracts/adapters/lobby-section-catalog.d.ts.map +1 -0
  105. package/dist/contracts/adapters/lobby-section-catalog.js +34 -0
  106. package/dist/contracts/adapters/lobby-section-catalog.js.map +1 -0
  107. package/dist/contracts/schemas/__tests__/events.test.js +39 -0
  108. package/dist/contracts/schemas/__tests__/events.test.js.map +1 -1
  109. package/dist/contracts/schemas/compliance.d.ts +1 -0
  110. package/dist/contracts/schemas/compliance.d.ts.map +1 -1
  111. package/dist/contracts/schemas/compliance.js +1 -0
  112. package/dist/contracts/schemas/compliance.js.map +1 -1
  113. package/dist/contracts/schemas/events.d.ts +68 -0
  114. package/dist/contracts/schemas/events.d.ts.map +1 -1
  115. package/dist/contracts/schemas/events.js +34 -1
  116. package/dist/contracts/schemas/events.js.map +1 -1
  117. package/dist/contracts/schemas/iam.d.ts +1 -1
  118. package/dist/contracts/schemas/iam.js +1 -1
  119. package/dist/contracts/schemas/iam.js.map +1 -1
  120. package/dist/contracts/schemas/index.d.ts +1 -0
  121. package/dist/contracts/schemas/index.d.ts.map +1 -1
  122. package/dist/contracts/schemas/index.js +1 -0
  123. package/dist/contracts/schemas/index.js.map +1 -1
  124. package/dist/contracts/schemas/lobby.d.ts +27 -0
  125. package/dist/contracts/schemas/lobby.d.ts.map +1 -0
  126. package/dist/contracts/schemas/lobby.js +22 -0
  127. package/dist/contracts/schemas/lobby.js.map +1 -0
  128. package/dist/engagement/chat/plugin.d.ts +2 -0
  129. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  130. package/dist/engagement/chat-commands/plugin.d.ts +2 -0
  131. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
  132. package/dist/engagement/notifications/plugin.d.ts +2 -0
  133. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  134. package/dist/engagement/social/plugin.d.ts +2 -0
  135. package/dist/engagement/social/plugin.d.ts.map +1 -1
  136. package/dist/fx/exchange-rate/plugin.d.ts +2 -0
  137. package/dist/fx/exchange-rate/plugin.d.ts.map +1 -1
  138. package/dist/iam/plugin.d.ts +2 -0
  139. package/dist/iam/plugin.d.ts.map +1 -1
  140. package/dist/mail/plugin.d.ts +2 -0
  141. package/dist/mail/plugin.d.ts.map +1 -1
  142. package/dist/pam/identity/plugin.d.ts +2 -0
  143. package/dist/pam/identity/plugin.d.ts.map +1 -1
  144. package/dist/pam/player-management/plugin.d.ts +2 -0
  145. package/dist/pam/player-management/plugin.d.ts.map +1 -1
  146. package/dist/pam/player-note/plugin.d.ts +2 -0
  147. package/dist/pam/player-note/plugin.d.ts.map +1 -1
  148. package/dist/pam/profile/plugin.d.ts +2 -0
  149. package/dist/pam/profile/plugin.d.ts.map +1 -1
  150. package/dist/pam/tag/plugin.d.ts +2 -0
  151. package/dist/pam/tag/plugin.d.ts.map +1 -1
  152. package/dist/server/auth/permissions.d.ts +12 -12
  153. package/dist/server/auth/permissions.js +1 -1
  154. package/dist/server/auth/permissions.js.map +1 -1
  155. package/dist/server/runtime/__tests__/create-app.test.js +8 -5
  156. package/dist/server/runtime/__tests__/create-app.test.js.map +1 -1
  157. package/dist/server/runtime/core-token-catalog.d.ts +2 -0
  158. package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
  159. package/dist/server/runtime/core-token-catalog.js +3 -1
  160. package/dist/server/runtime/core-token-catalog.js.map +1 -1
  161. package/dist/server/runtime/create-app.d.ts +1 -1
  162. package/dist/server/runtime/create-app.d.ts.map +1 -1
  163. package/dist/server/runtime/create-app.js +2 -8
  164. package/dist/server/runtime/create-app.js.map +1 -1
  165. package/dist/wallet/plugin.d.ts +2 -0
  166. package/dist/wallet/plugin.d.ts.map +1 -1
  167. package/package.json +1 -1
@@ -0,0 +1,343 @@
1
+ {
2
+ "id": "9229e7b7-9f32-4f44-929e-a5d6c9959467",
3
+ "prevId": "ad9b745c-3bff-46b2-b0d6-c1406485bace",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.featured_slot": {
8
+ "name": "featured_slot",
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
+ "game_id": {
19
+ "name": "game_id",
20
+ "type": "uuid",
21
+ "primaryKey": false,
22
+ "notNull": true
23
+ },
24
+ "title": {
25
+ "name": "title",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": true
29
+ },
30
+ "placement": {
31
+ "name": "placement",
32
+ "type": "text",
33
+ "primaryKey": false,
34
+ "notNull": true
35
+ },
36
+ "sort_order": {
37
+ "name": "sort_order",
38
+ "type": "integer",
39
+ "primaryKey": false,
40
+ "notNull": true,
41
+ "default": 0
42
+ },
43
+ "is_active": {
44
+ "name": "is_active",
45
+ "type": "boolean",
46
+ "primaryKey": false,
47
+ "notNull": true,
48
+ "default": true
49
+ },
50
+ "created_at": {
51
+ "name": "created_at",
52
+ "type": "timestamp with time zone",
53
+ "primaryKey": false,
54
+ "notNull": true,
55
+ "default": "now()"
56
+ }
57
+ },
58
+ "indexes": {},
59
+ "foreignKeys": {},
60
+ "compositePrimaryKeys": {},
61
+ "uniqueConstraints": {},
62
+ "policies": {},
63
+ "checkConstraints": {},
64
+ "isRLSEnabled": false
65
+ },
66
+ "public.lobby_category": {
67
+ "name": "lobby_category",
68
+ "schema": "",
69
+ "columns": {
70
+ "id": {
71
+ "name": "id",
72
+ "type": "uuid",
73
+ "primaryKey": true,
74
+ "notNull": true,
75
+ "default": "gen_random_uuid()"
76
+ },
77
+ "name": {
78
+ "name": "name",
79
+ "type": "text",
80
+ "primaryKey": false,
81
+ "notNull": true
82
+ },
83
+ "slug": {
84
+ "name": "slug",
85
+ "type": "text",
86
+ "primaryKey": false,
87
+ "notNull": true
88
+ },
89
+ "sort_order": {
90
+ "name": "sort_order",
91
+ "type": "integer",
92
+ "primaryKey": false,
93
+ "notNull": true,
94
+ "default": 0
95
+ },
96
+ "created_at": {
97
+ "name": "created_at",
98
+ "type": "timestamp with time zone",
99
+ "primaryKey": false,
100
+ "notNull": true,
101
+ "default": "now()"
102
+ }
103
+ },
104
+ "indexes": {
105
+ "lobby_cat_slug_key": {
106
+ "name": "lobby_cat_slug_key",
107
+ "columns": [
108
+ {
109
+ "expression": "slug",
110
+ "isExpression": false,
111
+ "asc": true,
112
+ "nulls": "last"
113
+ }
114
+ ],
115
+ "isUnique": true,
116
+ "concurrently": false,
117
+ "method": "btree",
118
+ "with": {}
119
+ }
120
+ },
121
+ "foreignKeys": {},
122
+ "compositePrimaryKeys": {},
123
+ "uniqueConstraints": {},
124
+ "policies": {},
125
+ "checkConstraints": {},
126
+ "isRLSEnabled": false
127
+ },
128
+ "public.lobby_category_game": {
129
+ "name": "lobby_category_game",
130
+ "schema": "",
131
+ "columns": {
132
+ "id": {
133
+ "name": "id",
134
+ "type": "uuid",
135
+ "primaryKey": true,
136
+ "notNull": true,
137
+ "default": "gen_random_uuid()"
138
+ },
139
+ "category_id": {
140
+ "name": "category_id",
141
+ "type": "uuid",
142
+ "primaryKey": false,
143
+ "notNull": true
144
+ },
145
+ "game_id": {
146
+ "name": "game_id",
147
+ "type": "uuid",
148
+ "primaryKey": false,
149
+ "notNull": true
150
+ },
151
+ "sort_order": {
152
+ "name": "sort_order",
153
+ "type": "integer",
154
+ "primaryKey": false,
155
+ "notNull": true,
156
+ "default": 0
157
+ }
158
+ },
159
+ "indexes": {
160
+ "lobby_cat_game_category_id_idx": {
161
+ "name": "lobby_cat_game_category_id_idx",
162
+ "columns": [
163
+ {
164
+ "expression": "category_id",
165
+ "isExpression": false,
166
+ "asc": true,
167
+ "nulls": "last"
168
+ }
169
+ ],
170
+ "isUnique": false,
171
+ "concurrently": false,
172
+ "method": "btree",
173
+ "with": {}
174
+ }
175
+ },
176
+ "foreignKeys": {
177
+ "lobby_category_game_category_id_lobby_category_id_fk": {
178
+ "name": "lobby_category_game_category_id_lobby_category_id_fk",
179
+ "tableFrom": "lobby_category_game",
180
+ "tableTo": "lobby_category",
181
+ "columnsFrom": ["category_id"],
182
+ "columnsTo": ["id"],
183
+ "onDelete": "cascade",
184
+ "onUpdate": "no action"
185
+ }
186
+ },
187
+ "compositePrimaryKeys": {},
188
+ "uniqueConstraints": {},
189
+ "policies": {},
190
+ "checkConstraints": {},
191
+ "isRLSEnabled": false
192
+ },
193
+ "public.lobby_layout": {
194
+ "name": "lobby_layout",
195
+ "schema": "",
196
+ "columns": {
197
+ "id": {
198
+ "name": "id",
199
+ "type": "uuid",
200
+ "primaryKey": true,
201
+ "notNull": true,
202
+ "default": "gen_random_uuid()"
203
+ },
204
+ "layout_key": {
205
+ "name": "layout_key",
206
+ "type": "text",
207
+ "primaryKey": false,
208
+ "notNull": true,
209
+ "default": "'global'"
210
+ },
211
+ "version": {
212
+ "name": "version",
213
+ "type": "integer",
214
+ "primaryKey": false,
215
+ "notNull": true,
216
+ "default": 0
217
+ },
218
+ "updated_at": {
219
+ "name": "updated_at",
220
+ "type": "timestamp with time zone",
221
+ "primaryKey": false,
222
+ "notNull": true
223
+ },
224
+ "created_at": {
225
+ "name": "created_at",
226
+ "type": "timestamp with time zone",
227
+ "primaryKey": false,
228
+ "notNull": true,
229
+ "default": "now()"
230
+ }
231
+ },
232
+ "indexes": {
233
+ "lobby_layout_layout_key_key": {
234
+ "name": "lobby_layout_layout_key_key",
235
+ "columns": [
236
+ {
237
+ "expression": "layout_key",
238
+ "isExpression": false,
239
+ "asc": true,
240
+ "nulls": "last"
241
+ }
242
+ ],
243
+ "isUnique": true,
244
+ "concurrently": false,
245
+ "method": "btree",
246
+ "with": {}
247
+ }
248
+ },
249
+ "foreignKeys": {},
250
+ "compositePrimaryKeys": {},
251
+ "uniqueConstraints": {},
252
+ "policies": {},
253
+ "checkConstraints": {},
254
+ "isRLSEnabled": false
255
+ },
256
+ "public.lobby_section": {
257
+ "name": "lobby_section",
258
+ "schema": "",
259
+ "columns": {
260
+ "id": {
261
+ "name": "id",
262
+ "type": "uuid",
263
+ "primaryKey": true,
264
+ "notNull": true,
265
+ "default": "gen_random_uuid()"
266
+ },
267
+ "type": {
268
+ "name": "type",
269
+ "type": "text",
270
+ "primaryKey": false,
271
+ "notNull": true
272
+ },
273
+ "config": {
274
+ "name": "config",
275
+ "type": "jsonb",
276
+ "primaryKey": false,
277
+ "notNull": true
278
+ },
279
+ "sort_order": {
280
+ "name": "sort_order",
281
+ "type": "integer",
282
+ "primaryKey": false,
283
+ "notNull": true,
284
+ "default": 0
285
+ },
286
+ "is_enabled": {
287
+ "name": "is_enabled",
288
+ "type": "boolean",
289
+ "primaryKey": false,
290
+ "notNull": true,
291
+ "default": true
292
+ },
293
+ "updated_at": {
294
+ "name": "updated_at",
295
+ "type": "timestamp with time zone",
296
+ "primaryKey": false,
297
+ "notNull": true
298
+ },
299
+ "created_at": {
300
+ "name": "created_at",
301
+ "type": "timestamp with time zone",
302
+ "primaryKey": false,
303
+ "notNull": true,
304
+ "default": "now()"
305
+ }
306
+ },
307
+ "indexes": {
308
+ "lobby_section_sort_order_idx": {
309
+ "name": "lobby_section_sort_order_idx",
310
+ "columns": [
311
+ {
312
+ "expression": "sort_order",
313
+ "isExpression": false,
314
+ "asc": true,
315
+ "nulls": "last"
316
+ }
317
+ ],
318
+ "isUnique": false,
319
+ "concurrently": false,
320
+ "method": "btree",
321
+ "with": {}
322
+ }
323
+ },
324
+ "foreignKeys": {},
325
+ "compositePrimaryKeys": {},
326
+ "uniqueConstraints": {},
327
+ "policies": {},
328
+ "checkConstraints": {},
329
+ "isRLSEnabled": false
330
+ }
331
+ },
332
+ "enums": {},
333
+ "schemas": {},
334
+ "sequences": {},
335
+ "roles": {},
336
+ "policies": {},
337
+ "views": {},
338
+ "_meta": {
339
+ "columns": {},
340
+ "schemas": {},
341
+ "tables": {}
342
+ }
343
+ }
@@ -8,6 +8,13 @@
8
8
  "when": 1783555223207,
9
9
  "tag": "0000_fat_cloak",
10
10
  "breakpoints": true
11
+ },
12
+ {
13
+ "idx": 1,
14
+ "version": "7",
15
+ "when": 1788860186763,
16
+ "tag": "0001_true_clea",
17
+ "breakpoints": true
11
18
  }
12
19
  ]
13
20
  }
@@ -30,6 +30,7 @@ declare const _default: {
30
30
  SWAP_WEBHOOK_VERIFIER: import("@openora/core/contracts").Token<import("@openora/core/contracts").SwapWebhookVerifier>;
31
31
  GAME_ADAPTER: import("@openora/core/contracts").Token<import("@openora/core/contracts").GameAdapter>;
32
32
  GAMING_COMMANDS: import("@openora/core/contracts").Token<import("@openora/core/contracts").GamingCommands>;
33
+ GAME_GEO_CHECK: import("@openora/core/contracts").Token<import("@openora/core/contracts").GameGeoCheckPort>;
33
34
  GEO_CHECK_COMMANDS: import("@openora/core/contracts").Token<import("@openora/core/contracts").GeoCheckCommands>;
34
35
  GEO_IP_ADAPTER: import("@openora/core/contracts").Token<import("@openora/core/contracts").GeoIpAdapter>;
35
36
  IDENTITY_OPTIONS: import("@openora/core/contracts").Token<import("@openora/core/contracts").IdentityServiceOptions>;
@@ -64,6 +65,7 @@ declare const _default: {
64
65
  KYC_STATUS_WRITER: import("@openora/core/contracts").Token<import("@openora/core/contracts").KycStatusWriter>;
65
66
  KYC_WEBHOOK_VERIFIER: import("@openora/core/contracts").Token<import("@openora/core/contracts").KycWebhookVerifier>;
66
67
  LOGIN_ENFORCEMENT: import("@openora/core/contracts").Token<import("@openora/core/contracts").LoginEnforcementPort>;
68
+ LOBBY_SECTION_CATALOG: import("@openora/core/contracts").Token<import("@openora/core/contracts").LobbySectionCatalog>;
67
69
  MAIL_DISPATCH: import("@openora/core/contracts").Token<import("@openora/core/contracts").MailDispatchPort>;
68
70
  MAIL_RECIPIENT_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").MailRecipientDirectory>;
69
71
  MESSAGE_BROKER: import("@openora/core/contracts").Token<import("@openora/core/contracts").MessageBrokerAdapter>;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/casino/lobby/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wBAO8C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/casino/lobby/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wBAgB8C"}
@@ -1,11 +1,15 @@
1
- import { DRIZZLE } from '@openora/core/server';
2
- import { CACHE } from '@openora/core/contracts';
1
+ import { DRIZZLE, EVENT_BUS, ADMIN_GUARD } from '@openora/core/server';
2
+ import { CACHE, LOBBY_SECTION_CATALOG, createLobbySectionCatalog } from '@openora/core/contracts';
3
3
  import { LobbyService } from './service/lobby.service.js';
4
4
  import { createLobbyRouter } from './router/index.js';
5
5
  export default {
6
6
  id: 'lobby',
7
7
  register(ctx) {
8
- ctx.routers.add('lobby', (c) => createLobbyRouter(new LobbyService(c.get(DRIZZLE), c.get(CACHE))));
8
+ ctx.provide(LOBBY_SECTION_CATALOG, () => createLobbySectionCatalog([]));
9
+ ctx.routers.add('lobby', (c) => createLobbyRouter({
10
+ lobby: new LobbyService(c.get(DRIZZLE), c.get(EVENT_BUS), c.get(LOBBY_SECTION_CATALOG), c.get(CACHE)),
11
+ adminGuard: c.get(ADMIN_GUARD),
12
+ }));
9
13
  },
10
14
  };
11
15
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/casino/lobby/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAe;IACb,EAAE,EAAE,OAAO;IACX,QAAQ,CAAC,GAAG;QACV,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7B,iBAAiB,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAClE,CAAC;IACJ,CAAC;CAC0C,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/casino/lobby/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAClG,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAe;IACb,EAAE,EAAE,OAAO;IACX,QAAQ,CAAC,GAAG;QACV,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;QACxE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAC7B,iBAAiB,CAAC;YAChB,KAAK,EAAE,IAAI,YAAY,CACrB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EACd,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAChB,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAC5B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CACb;YACD,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;SAC/B,CAAC,CACH,CAAC;IACJ,CAAC;CAC0C,CAAC"}
@@ -1,6 +1,14 @@
1
- import { type OssContext } from '@openora/core/server';
1
+ import { type AdminGuard, type OssContext } from '@openora/core/server';
2
2
  import { LobbyService } from '../service/lobby.service.js';
3
- export declare function createLobbyRouter(lobby: LobbyService): {
3
+ export declare function createLobbyRouter({ lobby, adminGuard, }: {
4
+ lobby: LobbyService;
5
+ adminGuard: AdminGuard;
6
+ }): {
7
+ getLayout: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("@orpc/server").Schema<unknown, unknown>, import("zod").ZodArray<import("zod").ZodObject<{
8
+ id: import("zod").ZodUUID;
9
+ type: import("zod").ZodString;
10
+ data: import("zod").ZodJSONSchema;
11
+ }, import("zod/v4/core").$strip>>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
4
12
  listCategories: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("@orpc/server").Schema<unknown, unknown>, import("zod").ZodArray<import("zod").ZodObject<{
5
13
  id: import("zod").ZodUUID;
6
14
  name: import("zod").ZodString;
@@ -70,5 +78,37 @@ export declare function createLobbyRouter(lobby: LobbyService): {
70
78
  }, import("zod/v4/core").$strip>>;
71
79
  thumbnailUrl: import("zod").ZodNullable<import("zod").ZodString>;
72
80
  }, import("zod/v4/core").$strip>>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
81
+ getAdminLayout: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("@orpc/server").Schema<unknown, unknown>, import("zod").ZodObject<{
82
+ version: import("zod").ZodNumber;
83
+ sections: import("zod").ZodArray<import("zod").ZodObject<{
84
+ id: import("zod").ZodUUID;
85
+ type: import("zod").ZodString;
86
+ config: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>;
87
+ sortOrder: import("zod").ZodNumber;
88
+ isEnabled: import("zod").ZodBoolean;
89
+ createdAt: import("zod").ZodISODateTime;
90
+ updatedAt: import("zod").ZodISODateTime;
91
+ }, import("zod/v4/core").$strip>>;
92
+ }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
93
+ replaceLayout: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
94
+ version: import("zod").ZodNumber;
95
+ sections: import("zod").ZodArray<import("zod").ZodObject<{
96
+ id: import("zod").ZodOptional<import("zod").ZodUUID>;
97
+ type: import("zod").ZodString;
98
+ config: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>;
99
+ isEnabled: import("zod").ZodDefault<import("zod").ZodBoolean>;
100
+ }, import("zod/v4/core").$strict>>;
101
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
102
+ version: import("zod").ZodNumber;
103
+ sections: import("zod").ZodArray<import("zod").ZodObject<{
104
+ id: import("zod").ZodUUID;
105
+ type: import("zod").ZodString;
106
+ config: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>;
107
+ sortOrder: import("zod").ZodNumber;
108
+ isEnabled: import("zod").ZodBoolean;
109
+ createdAt: import("zod").ZodISODateTime;
110
+ updatedAt: import("zod").ZodISODateTime;
111
+ }, import("zod/v4/core").$strip>>;
112
+ }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
73
113
  };
74
114
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/lobby/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,YAAY,EAA8B,MAAM,6BAA6B,CAAC;AAEvF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/lobby/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EACL,YAAY,EAKb,MAAM,6BAA6B,CAAC;AAKrC,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,GACX,EAAE;IACD,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BA"}
@@ -1,14 +1,25 @@
1
1
  import { implement } from '@orpc/server';
2
2
  import { mapErrors } from '@openora/core/server';
3
3
  import { lobbyContract } from '../contract/index.js';
4
- import { LobbyCategoryNotFoundError } from '../service/lobby.service.js';
5
- export function createLobbyRouter(lobby) {
4
+ import { LobbyCategoryNotFoundError, LobbyLayoutVersionConflictError, LobbySectionFieldError, LobbySectionNotFoundError, } from '../service/lobby.service.js';
5
+ const NOT_FOUND = [LobbySectionNotFoundError];
6
+ const BAD_REQUEST = [LobbySectionFieldError];
7
+ export function createLobbyRouter({ lobby, adminGuard, }) {
6
8
  const os = implement(lobbyContract).$context();
7
9
  return os.router({
10
+ getLayout: os.getLayout.handler(() => lobby.getLayout()),
8
11
  listCategories: os.listCategories.handler(() => lobby.listCategories()),
9
12
  getCategoryBySlug: os.getCategoryBySlug.handler(({ input }) => mapErrors({ NOT_FOUND: LobbyCategoryNotFoundError }, () => lobby.getCategoryGames(input.slug))),
10
13
  getFeatured: os.getFeatured.handler(() => lobby.getFeatured()),
11
14
  search: os.search.handler(({ input }) => lobby.search(input.q)),
15
+ getAdminLayout: os.getAdminLayout.handler(async ({ context }) => {
16
+ await adminGuard.assert(context, 'game-config', 'view');
17
+ return lobby.getAdminLayout();
18
+ }),
19
+ replaceLayout: os.replaceLayout.handler(async ({ input, context }) => {
20
+ const { userId, ip, userAgent } = await adminGuard.assert(context, 'game-config', 'update');
21
+ return mapErrors({ NOT_FOUND, BAD_REQUEST, CONFLICT: LobbyLayoutVersionConflictError }, () => lobby.replaceLayout({ ...input, actorId: userId, ip, userAgent }));
22
+ }),
12
23
  });
13
24
  }
14
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/lobby/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAgB,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEvF,MAAM,UAAU,iBAAiB,CAAC,KAAmB;IACnD,MAAM,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAc,CAAC;IAE3D,OAAO,EAAE,CAAC,MAAM,CAAC;QACf,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvE,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC5D,SAAS,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,EAAE,GAAG,EAAE,CACxD,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CACnC,CACF;QAED,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAE9D,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAChE,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/lobby/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAoC,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAEL,0BAA0B,EAC1B,+BAA+B,EAC/B,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AAErC,MAAM,SAAS,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAC9C,MAAM,WAAW,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAE7C,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,GAIX;IACC,MAAM,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAc,CAAC;IAE3D,OAAO,EAAE,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACxD,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvE,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC5D,SAAS,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,EAAE,GAAG,EAAE,CACxD,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CACnC,CACF;QAED,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAE9D,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE/D,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC,cAAc,EAAE,CAAC;QAChC,CAAC,CAAC;QAEF,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACnE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC5F,OAAO,SAAS,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,+BAA+B,EAAE,EAAE,GAAG,EAAE,CAC3F,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAClE,CAAC;QACJ,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}