@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
@@ -1,13 +1,20 @@
1
1
  import { describe, it, expect, beforeAll, afterAll, beforeEach } from 'vitest';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { eq, sql } from 'drizzle-orm';
4
+ import * as z from 'zod';
4
5
  import { RedisCache } from '@openora/core/server';
6
+ import { createLobbySectionCatalog } from '@openora/core/contracts';
5
7
  import { createTestDb, createTestRedis } from '@openora/core/testing';
6
8
  import { game, gameCategory, gameCategoryGame, gameProvider, } from '@openora/core/casino/schema/gaming';
7
9
  import { migrate as migrateGaming } from '@openora/core/casino/migrate/gaming';
8
10
  import { migrate as migrateLobby } from '@openora/core/casino/migrate/lobby';
9
- import { featuredSlot, lobbyCategory, lobbyCategoryGame } from '../schema/index.js';
11
+ import { makeEventBus } from '../../../testing/mock.js';
12
+ import { featuredSlot, lobbyCategory, lobbyCategoryGame, lobbyLayout, lobbySection, } from '../schema/index.js';
10
13
  import { LobbyService } from '../service/lobby.service.js';
14
+ const configSchema = z.object({ value: z.string() });
15
+ function makeLobbyService(cache) {
16
+ return new LobbyService(db.drizzle, makeEventBus(), createLobbySectionCatalog([]), cache);
17
+ }
11
18
  let db;
12
19
  let redis;
13
20
  beforeAll(async () => {
@@ -19,7 +26,7 @@ afterAll(async () => {
19
26
  await redis.quit();
20
27
  });
21
28
  beforeEach(async () => {
22
- await db.drizzle.db.execute(sql `TRUNCATE ${featuredSlot}, ${gameCategoryGame}, ${game}, ${gameProvider}, ${gameCategory} RESTART IDENTITY CASCADE`);
29
+ await db.drizzle.db.execute(sql `TRUNCATE ${lobbySection}, ${lobbyLayout}, ${featuredSlot}, ${lobbyCategoryGame}, ${lobbyCategory}, ${gameCategoryGame}, ${game}, ${gameProvider}, ${gameCategory} RESTART IDENTITY CASCADE`);
23
30
  await redis.flush();
24
31
  });
25
32
  describe('LobbyService featured cache (real PG + real Redis)', () => {
@@ -50,7 +57,7 @@ describe('LobbyService featured cache (real PG + real Redis)', () => {
50
57
  .insert(featuredSlot)
51
58
  .values({ gameId: g.id, title: 'Big Win', placement: 'home', sortOrder: 0, isActive: true })
52
59
  .returning();
53
- const svc = new LobbyService(db.drizzle, new RedisCache(redis.client));
60
+ const svc = makeLobbyService(new RedisCache(redis.client));
54
61
  const first = await svc.getFeatured();
55
62
  expect(first).toEqual([
56
63
  {
@@ -100,7 +107,7 @@ describe('LobbyService public game gates (real PG)', () => {
100
107
  .update(gameProvider)
101
108
  .set({ isActive: false })
102
109
  .where(eq(gameProvider.id, orphaned.provider.id));
103
- const svc = new LobbyService(db.drizzle);
110
+ const svc = makeLobbyService();
104
111
  expect((await svc.search('gate search')).map((r) => r.name)).toEqual(['Gate Search Live']);
105
112
  });
106
113
  it('getCategoryGames hides inactive games and games of deactivated providers', async () => {
@@ -133,7 +140,7 @@ describe('LobbyService public game gates (real PG)', () => {
133
140
  { gameId: live.row.id, categoryId: visibleCategory.id },
134
141
  { gameId: live.row.id, categoryId: hiddenCategory.id },
135
142
  ]);
136
- const svc = new LobbyService(db.drizzle);
143
+ const svc = makeLobbyService();
137
144
  const feed = await svc.getCategoryGames(category.slug);
138
145
  expect(feed.games.map((g) => g.name)).toEqual(['Gate Feed Live']);
139
146
  expect(feed.games[0]?.categories.map((entry) => entry.name)).toEqual(['Visible']);
@@ -162,7 +169,7 @@ describe('LobbyService public game gates (real PG)', () => {
162
169
  await db.drizzle.db
163
170
  .insert(gameCategoryGame)
164
171
  .values({ gameId: live.row.id, categoryId: tagged.id });
165
- const feed = await new LobbyService(db.drizzle).getCategoryGames(category.slug);
172
+ const feed = await makeLobbyService().getCategoryGames(category.slug);
166
173
  expect(feed.games[0]?.categories).toEqual([
167
174
  expect.objectContaining({ name: 'Slots', translations: { de: { name: 'Spielautomaten' } } }),
168
175
  ]);
@@ -181,9 +188,40 @@ describe('LobbyService public game gates (real PG)', () => {
181
188
  { gameId: dark.row.id, title: 'Dark', placement: 'home', sortOrder: 1 },
182
189
  { gameId: orphaned.row.id, title: 'Orphaned', placement: 'home', sortOrder: 2 },
183
190
  ]);
184
- const featured = await new LobbyService(db.drizzle).getFeatured();
191
+ const featured = await makeLobbyService().getFeatured();
185
192
  expect(featured).toHaveLength(1);
186
193
  expect(featured[0]).toMatchObject({ title: 'Live', gameId: live.row.id });
187
194
  });
188
195
  });
196
+ describe('LobbyService layout cache', () => {
197
+ it('invalidates the public layout cache when the aggregate is replaced', async () => {
198
+ const catalog = createLobbySectionCatalog([
199
+ {
200
+ type: 'text',
201
+ parseConfig: (config) => configSchema.parse(config),
202
+ async resolve(sections) {
203
+ return new Map(sections.map((section) => [section.id, section.config]));
204
+ },
205
+ },
206
+ ]);
207
+ const svc = new LobbyService(db.drizzle, makeEventBus(), catalog, new RedisCache(redis.client));
208
+ await svc.replaceLayout({
209
+ version: 0,
210
+ sections: [{ type: 'text', config: { value: 'first' }, isEnabled: true }],
211
+ ip: null,
212
+ userAgent: null,
213
+ });
214
+ const first = await svc.getLayout();
215
+ expect(first).toMatchObject([{ type: 'text', data: { value: 'first' } }]);
216
+ expect(await redis.client.pTTL('cache:lobby:layout')).toBeGreaterThan(0);
217
+ const admin = await svc.getAdminLayout();
218
+ await svc.replaceLayout({
219
+ version: admin.version,
220
+ sections: [{ type: 'text', config: { value: 'second' }, isEnabled: true }],
221
+ ip: null,
222
+ userAgent: null,
223
+ });
224
+ expect(await svc.getLayout()).toMatchObject([{ type: 'text', data: { value: 'second' } }]);
225
+ });
226
+ });
189
227
  //# sourceMappingURL=lobby.cache.int.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lobby.cache.int.test.js","sourceRoot":"","sources":["../../../../src/casino/lobby/__tests__/lobby.cache.int.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lobby.cache.int.test.js","sourceRoot":"","sources":["../../../../src/casino/lobby/__tests__/lobby.cache.int.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import * as z from 'zod';
2
+ export declare const LOBBY_SECTION_COUNT_MAX = 20;
2
3
  export declare const GameSummarySchema: z.ZodObject<{
3
4
  id: z.ZodUUID;
4
5
  name: z.ZodString;
@@ -64,6 +65,52 @@ export declare const FeaturedSlotSchema: z.ZodObject<{
64
65
  placement: z.ZodString;
65
66
  sortOrder: z.ZodNumber;
66
67
  }, z.core.$strip>;
68
+ export declare const LobbyAdminSectionSchema: z.ZodObject<{
69
+ id: z.ZodUUID;
70
+ type: z.ZodString;
71
+ config: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
72
+ sortOrder: z.ZodNumber;
73
+ isEnabled: z.ZodBoolean;
74
+ createdAt: z.ZodISODateTime;
75
+ updatedAt: z.ZodISODateTime;
76
+ }, z.core.$strip>;
77
+ export type LobbyAdminSection = z.infer<typeof LobbyAdminSectionSchema>;
78
+ export declare const LobbyAdminLayoutSchema: z.ZodObject<{
79
+ version: z.ZodNumber;
80
+ sections: z.ZodArray<z.ZodObject<{
81
+ id: z.ZodUUID;
82
+ type: z.ZodString;
83
+ config: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
84
+ sortOrder: z.ZodNumber;
85
+ isEnabled: z.ZodBoolean;
86
+ createdAt: z.ZodISODateTime;
87
+ updatedAt: z.ZodISODateTime;
88
+ }, z.core.$strip>>;
89
+ }, z.core.$strip>;
90
+ export type LobbyAdminLayout = z.infer<typeof LobbyAdminLayoutSchema>;
91
+ export declare const LobbySectionSaveInputSchema: z.ZodObject<{
92
+ id: z.ZodOptional<z.ZodUUID>;
93
+ type: z.ZodString;
94
+ config: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
95
+ isEnabled: z.ZodDefault<z.ZodBoolean>;
96
+ }, z.core.$strict>;
97
+ export type LobbySectionSaveInput = z.infer<typeof LobbySectionSaveInputSchema>;
98
+ export declare const ReplaceLobbyLayoutInputSchema: z.ZodObject<{
99
+ version: z.ZodNumber;
100
+ sections: z.ZodArray<z.ZodObject<{
101
+ id: z.ZodOptional<z.ZodUUID>;
102
+ type: z.ZodString;
103
+ config: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
104
+ isEnabled: z.ZodDefault<z.ZodBoolean>;
105
+ }, z.core.$strict>>;
106
+ }, z.core.$strip>;
107
+ export type ReplaceLobbyLayoutInput = z.infer<typeof ReplaceLobbyLayoutInputSchema>;
108
+ export declare const LobbyResolvedSectionSchema: z.ZodObject<{
109
+ id: z.ZodUUID;
110
+ type: z.ZodString;
111
+ data: z.ZodJSONSchema;
112
+ }, z.core.$strip>;
113
+ export type LobbyResolvedSection = z.infer<typeof LobbyResolvedSectionSchema>;
67
114
  export declare const lobbyContract: {
68
115
  listCategories: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, z.ZodArray<z.ZodObject<{
69
116
  id: z.ZodUUID;
@@ -134,5 +181,42 @@ export declare const lobbyContract: {
134
181
  }, z.core.$strip>>;
135
182
  thumbnailUrl: z.ZodNullable<z.ZodString>;
136
183
  }, z.core.$strip>>, Record<never, never>, Record<never, never>>;
184
+ getLayout: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, z.ZodArray<z.ZodObject<{
185
+ id: z.ZodUUID;
186
+ type: z.ZodString;
187
+ data: z.ZodJSONSchema;
188
+ }, z.core.$strip>>, Record<never, never>, Record<never, never>>;
189
+ getAdminLayout: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, z.ZodObject<{
190
+ version: z.ZodNumber;
191
+ sections: z.ZodArray<z.ZodObject<{
192
+ id: z.ZodUUID;
193
+ type: z.ZodString;
194
+ config: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
195
+ sortOrder: z.ZodNumber;
196
+ isEnabled: z.ZodBoolean;
197
+ createdAt: z.ZodISODateTime;
198
+ updatedAt: z.ZodISODateTime;
199
+ }, z.core.$strip>>;
200
+ }, z.core.$strip>, Record<never, never>, Record<never, never>>;
201
+ replaceLayout: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
202
+ version: z.ZodNumber;
203
+ sections: z.ZodArray<z.ZodObject<{
204
+ id: z.ZodOptional<z.ZodUUID>;
205
+ type: z.ZodString;
206
+ config: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
207
+ isEnabled: z.ZodDefault<z.ZodBoolean>;
208
+ }, z.core.$strict>>;
209
+ }, z.core.$strip>, z.ZodObject<{
210
+ version: z.ZodNumber;
211
+ sections: z.ZodArray<z.ZodObject<{
212
+ id: z.ZodUUID;
213
+ type: z.ZodString;
214
+ config: z.ZodRecord<z.ZodString, z.ZodJSONSchema>;
215
+ sortOrder: z.ZodNumber;
216
+ isEnabled: z.ZodBoolean;
217
+ createdAt: z.ZodISODateTime;
218
+ updatedAt: z.ZodISODateTime;
219
+ }, z.core.$strip>>;
220
+ }, z.core.$strip>, Record<never, never>, Record<never, never>>;
137
221
  };
138
222
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/lobby/contract/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAOzB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;iBAO5B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;iBAM9B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKpC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;iBAQ7B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBzB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/lobby/contract/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAazB,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;iBAO5B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;iBAM9B,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKpC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;iBAQ7B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;iBAGlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAEjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,2BAA2B;;;;;kBAO7B,CAAC;AACZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,6BAA6B;;;;;;;;iBAK8C,CAAC;AACzF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,0BAA0B;;;;iBAIrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BzB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { oc } from '@orpc/contract';
2
2
  import * as z from 'zod';
3
- import { GameCategorySummaryWithTranslationsSchema, GameProviderSummarySchema, UuidSchema, } from '@openora/core/contracts';
3
+ import { LobbyLayoutSectionSnapshotSchema, LobbyLayoutSnapshotSchema, LobbySectionConfigSchema, LobbySectionDataSchema, LobbySectionTypeSchema, TimestampSchema, GameCategorySummaryWithTranslationsSchema, GameProviderSummarySchema, UuidSchema, } from '@openora/core/contracts';
4
+ export const LOBBY_SECTION_COUNT_MAX = 20;
4
5
  export const GameSummarySchema = z.object({
5
6
  id: UuidSchema,
6
7
  name: z.string(),
@@ -31,6 +32,32 @@ export const FeaturedSlotSchema = z.object({
31
32
  placement: z.string(),
32
33
  sortOrder: z.number(),
33
34
  });
35
+ export const LobbyAdminSectionSchema = LobbyLayoutSectionSnapshotSchema.extend({
36
+ createdAt: TimestampSchema,
37
+ updatedAt: TimestampSchema,
38
+ });
39
+ export const LobbyAdminLayoutSchema = LobbyLayoutSnapshotSchema.extend({
40
+ sections: z.array(LobbyAdminSectionSchema).max(LOBBY_SECTION_COUNT_MAX),
41
+ });
42
+ export const LobbySectionSaveInputSchema = z
43
+ .object({
44
+ id: UuidSchema.optional(),
45
+ type: LobbySectionTypeSchema,
46
+ config: LobbySectionConfigSchema,
47
+ isEnabled: z.boolean().default(true),
48
+ })
49
+ .strict();
50
+ export const ReplaceLobbyLayoutInputSchema = z
51
+ .object({
52
+ version: z.number().int().min(0),
53
+ sections: z.array(LobbySectionSaveInputSchema).max(LOBBY_SECTION_COUNT_MAX),
54
+ })
55
+ .describe('Complete lobby layout replacement; omitted existing sections are deleted.');
56
+ export const LobbyResolvedSectionSchema = z.object({
57
+ id: UuidSchema,
58
+ type: LobbySectionTypeSchema,
59
+ data: LobbySectionDataSchema,
60
+ });
34
61
  export const lobbyContract = {
35
62
  listCategories: oc
36
63
  .route({ method: 'GET', path: '/lobby/categories' })
@@ -46,5 +73,15 @@ export const lobbyContract = {
46
73
  .route({ method: 'GET', path: '/lobby/search' })
47
74
  .input(z.object({ q: z.string() }))
48
75
  .output(z.array(GameSummarySchema)),
76
+ getLayout: oc
77
+ .route({ method: 'GET', path: '/lobby/layout' })
78
+ .output(z.array(LobbyResolvedSectionSchema)),
79
+ getAdminLayout: oc
80
+ .route({ method: 'GET', path: '/backoffice/lobby/layout' })
81
+ .output(LobbyAdminLayoutSchema),
82
+ replaceLayout: oc
83
+ .route({ method: 'PUT', path: '/backoffice/lobby/layout' })
84
+ .input(ReplaceLobbyLayoutInputSchema)
85
+ .output(LobbyAdminLayoutSchema),
49
86
  };
50
87
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/lobby/contract/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,yCAAyC,EACzC,yBAAyB,EACzB,UAAU,GACX,MAAM,yBAAyB,CAAC;AAEjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,yBAAyB;IACnC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,yCAAyC,CAAC;IAC9D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,UAAU;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,cAAc,EAAE,EAAE;SACf,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;SACnD,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAEvC,iBAAiB,EAAE,EAAE;SAClB,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;SAC1D,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SACrC,MAAM,CAAC,yBAAyB,CAAC;IAEpC,WAAW,EAAE,EAAE;SACZ,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;SACjD,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAEtC,MAAM,EAAE,EAAE;SACP,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;SAC/C,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;CACtC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/lobby/contract/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ CREATE TABLE "lobby_layout" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "layout_key" text DEFAULT 'global' NOT NULL,
4
+ "version" integer DEFAULT 0 NOT NULL,
5
+ "updated_at" timestamp with time zone NOT NULL,
6
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
7
+ );
8
+ --> statement-breakpoint
9
+ CREATE TABLE "lobby_section" (
10
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
11
+ "type" text NOT NULL,
12
+ "config" jsonb NOT NULL,
13
+ "sort_order" integer DEFAULT 0 NOT NULL,
14
+ "is_enabled" boolean DEFAULT true NOT NULL,
15
+ "updated_at" timestamp with time zone NOT NULL,
16
+ "created_at" timestamp with time zone DEFAULT now() NOT NULL
17
+ );
18
+ --> statement-breakpoint
19
+ CREATE UNIQUE INDEX "lobby_layout_layout_key_key" ON "lobby_layout" USING btree ("layout_key");--> statement-breakpoint
20
+ CREATE INDEX "lobby_section_sort_order_idx" ON "lobby_section" USING btree ("sort_order");