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

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 (109) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/plugin.d.ts +1 -0
  3. package/dist/admin-console/plugin.d.ts.map +1 -1
  4. package/dist/analytics/plugin.d.ts +1 -0
  5. package/dist/analytics/plugin.d.ts.map +1 -1
  6. package/dist/audit/plugin.d.ts +1 -0
  7. package/dist/audit/plugin.d.ts.map +1 -1
  8. package/dist/audit/plugin.js +12 -0
  9. package/dist/audit/plugin.js.map +1 -1
  10. package/dist/casino/gaming/plugin.d.ts +1 -0
  11. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  12. package/dist/casino/lobby/__tests__/lobby-contract.test.d.ts +2 -0
  13. package/dist/casino/lobby/__tests__/lobby-contract.test.d.ts.map +1 -0
  14. package/dist/casino/lobby/__tests__/lobby-contract.test.js +39 -0
  15. package/dist/casino/lobby/__tests__/lobby-contract.test.js.map +1 -0
  16. package/dist/casino/lobby/__tests__/lobby-layout.int.test.d.ts +2 -0
  17. package/dist/casino/lobby/__tests__/lobby-layout.int.test.d.ts.map +1 -0
  18. package/dist/casino/lobby/__tests__/lobby-layout.int.test.js +145 -0
  19. package/dist/casino/lobby/__tests__/lobby-layout.int.test.js.map +1 -0
  20. package/dist/casino/lobby/__tests__/lobby.cache.int.test.js +45 -7
  21. package/dist/casino/lobby/__tests__/lobby.cache.int.test.js.map +1 -1
  22. package/dist/casino/lobby/contract/index.d.ts +84 -0
  23. package/dist/casino/lobby/contract/index.d.ts.map +1 -1
  24. package/dist/casino/lobby/contract/index.js +38 -1
  25. package/dist/casino/lobby/contract/index.js.map +1 -1
  26. package/dist/casino/lobby/drizzle/migrations/0001_true_clea.sql +20 -0
  27. package/dist/casino/lobby/drizzle/migrations/meta/0001_snapshot.json +343 -0
  28. package/dist/casino/lobby/drizzle/migrations/meta/_journal.json +7 -0
  29. package/dist/casino/lobby/plugin.d.ts +1 -0
  30. package/dist/casino/lobby/plugin.d.ts.map +1 -1
  31. package/dist/casino/lobby/plugin.js +7 -3
  32. package/dist/casino/lobby/plugin.js.map +1 -1
  33. package/dist/casino/lobby/router/index.d.ts +42 -2
  34. package/dist/casino/lobby/router/index.d.ts.map +1 -1
  35. package/dist/casino/lobby/router/index.js +13 -2
  36. package/dist/casino/lobby/router/index.js.map +1 -1
  37. package/dist/casino/lobby/schema/index.d.ts +222 -0
  38. package/dist/casino/lobby/schema/index.d.ts.map +1 -1
  39. package/dist/casino/lobby/schema/index.js +21 -1
  40. package/dist/casino/lobby/schema/index.js.map +1 -1
  41. package/dist/casino/lobby/service/lobby.service.d.ts +36 -3
  42. package/dist/casino/lobby/service/lobby.service.d.ts.map +1 -1
  43. package/dist/casino/lobby/service/lobby.service.js +253 -13
  44. package/dist/casino/lobby/service/lobby.service.js.map +1 -1
  45. package/dist/cms/plugin.d.ts +1 -0
  46. package/dist/cms/plugin.d.ts.map +1 -1
  47. package/dist/compliance/plugin.d.ts +1 -0
  48. package/dist/compliance/plugin.d.ts.map +1 -1
  49. package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.d.ts +2 -0
  50. package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.d.ts.map +1 -0
  51. package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.js +25 -0
  52. package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.js.map +1 -0
  53. package/dist/contracts/adapters/index.d.ts +2 -0
  54. package/dist/contracts/adapters/index.d.ts.map +1 -1
  55. package/dist/contracts/adapters/index.js +1 -0
  56. package/dist/contracts/adapters/index.js.map +1 -1
  57. package/dist/contracts/adapters/lobby-section-catalog.d.ts +39 -0
  58. package/dist/contracts/adapters/lobby-section-catalog.d.ts.map +1 -0
  59. package/dist/contracts/adapters/lobby-section-catalog.js +34 -0
  60. package/dist/contracts/adapters/lobby-section-catalog.js.map +1 -0
  61. package/dist/contracts/schemas/events.d.ts +25 -0
  62. package/dist/contracts/schemas/events.d.ts.map +1 -1
  63. package/dist/contracts/schemas/events.js +7 -0
  64. package/dist/contracts/schemas/events.js.map +1 -1
  65. package/dist/contracts/schemas/index.d.ts +1 -0
  66. package/dist/contracts/schemas/index.d.ts.map +1 -1
  67. package/dist/contracts/schemas/index.js +1 -0
  68. package/dist/contracts/schemas/index.js.map +1 -1
  69. package/dist/contracts/schemas/lobby.d.ts +27 -0
  70. package/dist/contracts/schemas/lobby.d.ts.map +1 -0
  71. package/dist/contracts/schemas/lobby.js +22 -0
  72. package/dist/contracts/schemas/lobby.js.map +1 -0
  73. package/dist/engagement/chat/plugin.d.ts +1 -0
  74. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  75. package/dist/engagement/chat-commands/plugin.d.ts +1 -0
  76. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
  77. package/dist/engagement/notifications/plugin.d.ts +1 -0
  78. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  79. package/dist/engagement/social/plugin.d.ts +1 -0
  80. package/dist/engagement/social/plugin.d.ts.map +1 -1
  81. package/dist/fx/exchange-rate/plugin.d.ts +1 -0
  82. package/dist/fx/exchange-rate/plugin.d.ts.map +1 -1
  83. package/dist/iam/plugin.d.ts +1 -0
  84. package/dist/iam/plugin.d.ts.map +1 -1
  85. package/dist/mail/plugin.d.ts +1 -0
  86. package/dist/mail/plugin.d.ts.map +1 -1
  87. package/dist/pam/identity/plugin.d.ts +1 -0
  88. package/dist/pam/identity/plugin.d.ts.map +1 -1
  89. package/dist/pam/player-management/plugin.d.ts +1 -0
  90. package/dist/pam/player-management/plugin.d.ts.map +1 -1
  91. package/dist/pam/player-note/plugin.d.ts +1 -0
  92. package/dist/pam/player-note/plugin.d.ts.map +1 -1
  93. package/dist/pam/profile/plugin.d.ts +1 -0
  94. package/dist/pam/profile/plugin.d.ts.map +1 -1
  95. package/dist/pam/tag/plugin.d.ts +1 -0
  96. package/dist/pam/tag/plugin.d.ts.map +1 -1
  97. package/dist/server/runtime/__tests__/create-app.test.js +8 -5
  98. package/dist/server/runtime/__tests__/create-app.test.js.map +1 -1
  99. package/dist/server/runtime/core-token-catalog.d.ts +1 -0
  100. package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
  101. package/dist/server/runtime/core-token-catalog.js +2 -1
  102. package/dist/server/runtime/core-token-catalog.js.map +1 -1
  103. package/dist/server/runtime/create-app.d.ts +1 -1
  104. package/dist/server/runtime/create-app.d.ts.map +1 -1
  105. package/dist/server/runtime/create-app.js +2 -8
  106. package/dist/server/runtime/create-app.js.map +1 -1
  107. package/dist/wallet/plugin.d.ts +1 -0
  108. package/dist/wallet/plugin.d.ts.map +1 -1
  109. package/package.json +1 -1
@@ -65,6 +65,7 @@ declare const _default: {
65
65
  KYC_STATUS_WRITER: import("@openora/core/contracts").Token<import("@openora/core/contracts").KycStatusWriter>;
66
66
  KYC_WEBHOOK_VERIFIER: import("@openora/core/contracts").Token<import("@openora/core/contracts").KycWebhookVerifier>;
67
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>;
68
69
  MAIL_DISPATCH: import("@openora/core/contracts").Token<import("@openora/core/contracts").MailDispatchPort>;
69
70
  MAIL_RECIPIENT_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").MailRecipientDirectory>;
70
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/admin-console/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,wBAkB8C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/admin-console/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,wBAkB8C"}
@@ -65,6 +65,7 @@ declare const _default: {
65
65
  KYC_STATUS_WRITER: import("@openora/core/contracts").Token<import("@openora/core/contracts").KycStatusWriter>;
66
66
  KYC_WEBHOOK_VERIFIER: import("@openora/core/contracts").Token<import("@openora/core/contracts").KycWebhookVerifier>;
67
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>;
68
69
  MAIL_DISPATCH: import("@openora/core/contracts").Token<import("@openora/core/contracts").MailDispatchPort>;
69
70
  MAIL_RECIPIENT_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").MailRecipientDirectory>;
70
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/analytics/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wBAY8C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/analytics/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wBAY8C"}
@@ -66,6 +66,7 @@ declare const _default: {
66
66
  KYC_STATUS_WRITER: import("@openora/core/contracts").Token<import("@openora/core/contracts").KycStatusWriter>;
67
67
  KYC_WEBHOOK_VERIFIER: import("@openora/core/contracts").Token<import("@openora/core/contracts").KycWebhookVerifier>;
68
68
  LOGIN_ENFORCEMENT: import("@openora/core/contracts").Token<import("@openora/core/contracts").LoginEnforcementPort>;
69
+ LOBBY_SECTION_CATALOG: import("@openora/core/contracts").Token<import("@openora/core/contracts").LobbySectionCatalog>;
69
70
  MAIL_DISPATCH: import("@openora/core/contracts").Token<import("@openora/core/contracts").MailDispatchPort>;
70
71
  MAIL_RECIPIENT_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").MailRecipientDirectory>;
71
72
  MESSAGE_BROKER: import("@openora/core/contracts").Token<import("@openora/core/contracts").MessageBrokerAdapter>;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/audit/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAS5E,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzB,OAAO,CAAC,WAAW,CAAC,CAy5BtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8HD,wBAoC8C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/audit/plugin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAS5E,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzB,OAAO,CAAC,WAAW,CAAC,CAq6BtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+HD,wBAoC8C"}
@@ -531,6 +531,17 @@ export async function mapEventToRecord(topic, p) {
531
531
  resourceId: isBanner ? bannerResourceId : str(p['pageId']),
532
532
  };
533
533
  }
534
+ if (topic === 'lobby.layout.updated') {
535
+ return {
536
+ ...base,
537
+ actorType: typeof p['actorId'] === 'string' ? 'admin' : 'system',
538
+ actorId: str(p['actorId']),
539
+ resourceType: 'lobby-layout',
540
+ resourceId: null,
541
+ before: isRecord(p['before']) ? p['before'] : null,
542
+ after: isRecord(p['after']) ? p['after'] : null,
543
+ };
544
+ }
534
545
  // System-generated in-app notification (fed by a wallet withdrawal event); the
535
546
  // recipient is the notification's subject, not an acting player.
536
547
  if (topic === 'notifications.created') {
@@ -898,6 +909,7 @@ const SUBSCRIBED_TOPICS = [
898
909
  'wallet.reconciliation.alert',
899
910
  'gaming.round.started',
900
911
  'gaming.round.ended',
912
+ 'lobby.layout.updated',
901
913
  'gaming.provider.created',
902
914
  'gaming.provider.updated',
903
915
  'gaming.category.created',
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/audit/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/audit/plugin.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,7 @@ declare const _default: {
66
66
  KYC_STATUS_WRITER: import("@openora/core/contracts").Token<import("@openora/core/contracts").KycStatusWriter>;
67
67
  KYC_WEBHOOK_VERIFIER: import("@openora/core/contracts").Token<import("@openora/core/contracts").KycWebhookVerifier>;
68
68
  LOGIN_ENFORCEMENT: import("@openora/core/contracts").Token<import("@openora/core/contracts").LoginEnforcementPort>;
69
+ LOBBY_SECTION_CATALOG: import("@openora/core/contracts").Token<import("@openora/core/contracts").LobbySectionCatalog>;
69
70
  MAIL_DISPATCH: import("@openora/core/contracts").Token<import("@openora/core/contracts").MailDispatchPort>;
70
71
  MAIL_RECIPIENT_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").MailRecipientDirectory>;
71
72
  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/gaming/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,wBAiC8C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/casino/gaming/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,wBAiC8C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lobby-contract.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lobby-contract.test.d.ts","sourceRoot":"","sources":["../../../../src/casino/lobby/__tests__/lobby-contract.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { lobbyContract, ReplaceLobbyLayoutInputSchema } from '../contract/index.js';
3
+ describe('ReplaceLobbyLayoutInputSchema', () => {
4
+ it('accepts arbitrary operator-defined section types with JSON object config', () => {
5
+ expect(ReplaceLobbyLayoutInputSchema.safeParse({
6
+ version: 0,
7
+ sections: [
8
+ {
9
+ type: 'promotion-carousel',
10
+ config: { title: 'Promotions', campaignIds: ['one', 'two'] },
11
+ },
12
+ ],
13
+ }).success).toBe(true);
14
+ });
15
+ it('rejects invalid type names, non-object config, and explicit sort order', () => {
16
+ const invalidSections = [
17
+ { type: 'Invalid Type', config: {} },
18
+ { type: 'hero', config: [] },
19
+ { type: 'hero', config: {}, sortOrder: 2 },
20
+ ];
21
+ for (const section of invalidSections) {
22
+ expect(ReplaceLobbyLayoutInputSchema.safeParse({ version: 0, sections: [section] }).success).toBe(false);
23
+ }
24
+ });
25
+ });
26
+ describe('lobbyContract', () => {
27
+ it('exports legacy public, layout, and admin routes from one typed contract', () => {
28
+ expect(Object.keys(lobbyContract)).toEqual([
29
+ 'listCategories',
30
+ 'getCategoryBySlug',
31
+ 'getFeatured',
32
+ 'search',
33
+ 'getLayout',
34
+ 'getAdminLayout',
35
+ 'replaceLayout',
36
+ ]);
37
+ });
38
+ });
39
+ //# sourceMappingURL=lobby-contract.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lobby-contract.test.js","sourceRoot":"","sources":["../../../../src/casino/lobby/__tests__/lobby-contract.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAEpF,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,CACJ,6BAA6B,CAAC,SAAS,CAAC;YACtC,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;iBAC7D;aACF;SACF,CAAC,CAAC,OAAO,CACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,MAAM,eAAe,GAAG;YACtB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE;YACpC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;YAC5B,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;SAC3C,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,MAAM,CACJ,6BAA6B,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CACrF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;YACzC,gBAAgB;YAChB,mBAAmB;YACnB,aAAa;YACb,QAAQ;YACR,WAAW;YACX,gBAAgB;YAChB,eAAe;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lobby-layout.int.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lobby-layout.int.test.d.ts","sourceRoot":"","sources":["../../../../src/casino/lobby/__tests__/lobby-layout.int.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,145 @@
1
+ import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'vitest';
2
+ import * as z from 'zod';
3
+ import { sql } from 'drizzle-orm';
4
+ import { createLobbySectionCatalog } from '@openora/core/contracts';
5
+ import { createTestDb } from '@openora/core/testing';
6
+ import { migrate as migrateLobby } from '@openora/core/casino/migrate/lobby';
7
+ import { makeEventBus } from '../../../testing/mock.js';
8
+ import { lobbyLayout, lobbySection } from '../schema/index.js';
9
+ import { LobbyLayoutVersionConflictError, LobbySectionFieldError, LobbyService, } from '../service/lobby.service.js';
10
+ const ACTOR = { ip: null, userAgent: null };
11
+ const heroConfigSchema = z
12
+ .object({ title: z.string().min(1), items: z.array(z.string()) })
13
+ .strict();
14
+ let db;
15
+ beforeAll(async () => {
16
+ db = await createTestDb([migrateLobby]);
17
+ });
18
+ afterAll(async () => {
19
+ await db.drop();
20
+ });
21
+ beforeEach(async () => {
22
+ await db.drizzle.db.execute(sql `TRUNCATE ${lobbySection}, ${lobbyLayout} RESTART IDENTITY CASCADE`);
23
+ });
24
+ function heroDefinition() {
25
+ return {
26
+ type: 'hero',
27
+ parseConfig: (config) => heroConfigSchema.parse(config),
28
+ async validate(sections) {
29
+ if (sections.some((section) => section.config['title'] === 'Forbidden')) {
30
+ return { valid: false, message: 'forbidden title' };
31
+ }
32
+ return { valid: true };
33
+ },
34
+ async resolve(sections) {
35
+ return new Map(sections.map((section) => [
36
+ section.id,
37
+ { ...heroConfigSchema.parse(section.config), resolved: true },
38
+ ]));
39
+ },
40
+ };
41
+ }
42
+ function service(definitions = [heroDefinition()]) {
43
+ const events = makeEventBus();
44
+ return {
45
+ svc: new LobbyService(db.drizzle, events, createLobbySectionCatalog(definitions)),
46
+ events,
47
+ };
48
+ }
49
+ function hero(title, items = [], isEnabled = true) {
50
+ return { type: 'hero', config: { title, items }, isEnabled };
51
+ }
52
+ describe('LobbyService aggregate layout', () => {
53
+ it('atomically creates, updates, orders, and deletes consumer-defined sections', async () => {
54
+ const { svc } = service();
55
+ const created = await svc.replaceLayout({
56
+ version: 0,
57
+ sections: [hero('First'), hero('Second')],
58
+ ...ACTOR,
59
+ });
60
+ expect(created.version).toBe(1);
61
+ expect(created.sections.map((section) => section.sortOrder)).toEqual([0, 1]);
62
+ const second = created.sections[1];
63
+ if (!second) {
64
+ throw new Error('second section was not created');
65
+ }
66
+ const replaced = await svc.replaceLayout({
67
+ version: 1,
68
+ sections: [{ id: second.id, ...hero('Renamed', ['a']) }, hero('Third')],
69
+ ...ACTOR,
70
+ });
71
+ expect(replaced.version).toBe(2);
72
+ expect(replaced.sections).toHaveLength(2);
73
+ expect(replaced.sections[0]).toMatchObject({
74
+ id: second.id,
75
+ config: { title: 'Renamed', items: ['a'] },
76
+ sortOrder: 0,
77
+ });
78
+ expect(await svc.getAdminLayout()).toEqual(replaced);
79
+ });
80
+ it('rejects unknown types and invalid consumer configuration', async () => {
81
+ const { svc } = service();
82
+ await expect(svc.replaceLayout({
83
+ version: 0,
84
+ sections: [{ type: 'unknown', config: {}, isEnabled: true }],
85
+ ...ACTOR,
86
+ })).rejects.toThrow(LobbySectionFieldError);
87
+ await expect(svc.replaceLayout({ version: 0, sections: [hero('', [])], ...ACTOR })).rejects.toThrow(LobbySectionFieldError);
88
+ await expect(svc.replaceLayout({ version: 0, sections: [hero('Forbidden')], ...ACTOR })).rejects.toThrow(LobbySectionFieldError);
89
+ });
90
+ it('rejects stale and concurrent writers for the same version', async () => {
91
+ const { svc } = service();
92
+ const writes = await Promise.allSettled([
93
+ svc.replaceLayout({ version: 0, sections: [hero('A')], ...ACTOR }),
94
+ svc.replaceLayout({ version: 0, sections: [hero('B')], ...ACTOR }),
95
+ ]);
96
+ expect(writes.filter((write) => write.status === 'fulfilled')).toHaveLength(1);
97
+ expect(writes.filter((write) => write.status === 'rejected')).toHaveLength(1);
98
+ await expect(svc.replaceLayout({ version: 0, sections: [hero('C')], ...ACTOR })).rejects.toThrow(LobbyLayoutVersionConflictError);
99
+ });
100
+ it('resolves enabled sections through the consumer catalog', async () => {
101
+ const { svc } = service();
102
+ await svc.replaceLayout({
103
+ version: 0,
104
+ sections: [hero('Visible', ['one']), hero('Hidden', [], false)],
105
+ ...ACTOR,
106
+ });
107
+ expect(await svc.getLayout()).toMatchObject([
108
+ {
109
+ type: 'hero',
110
+ data: { title: 'Visible', items: ['one'], resolved: true },
111
+ },
112
+ ]);
113
+ });
114
+ it('skips resolver data that does not satisfy the public response schema', async () => {
115
+ const definition = {
116
+ ...heroDefinition(),
117
+ async resolve(sections) {
118
+ return new Map(sections.map((section) => [section.id, { score: Number.NaN }]));
119
+ },
120
+ };
121
+ const { svc } = service([definition]);
122
+ await svc.replaceLayout({ version: 0, sections: [hero('Visible')], ...ACTOR });
123
+ await expect(svc.getLayout()).resolves.toEqual([]);
124
+ });
125
+ it('propagates unexpected section validator failures', async () => {
126
+ const definition = {
127
+ ...heroDefinition(),
128
+ async validate() {
129
+ throw new Error('validator unavailable');
130
+ },
131
+ };
132
+ const { svc } = service([definition]);
133
+ await expect(svc.replaceLayout({ version: 0, sections: [hero('Visible')], ...ACTOR })).rejects.toThrow('validator unavailable');
134
+ });
135
+ it('emits one audit event with complete generic before and after states', async () => {
136
+ const { svc, events } = service();
137
+ const saved = await svc.replaceLayout({
138
+ version: 0,
139
+ sections: [hero('Audited')],
140
+ ...ACTOR,
141
+ });
142
+ expect(events.emit).toHaveBeenCalledWith('lobby.layout.updated', expect.objectContaining({ before: { version: 0, sections: [] }, after: saved }));
143
+ });
144
+ });
145
+ //# sourceMappingURL=lobby-layout.int.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lobby-layout.int.test.js","sourceRoot":"","sources":["../../../../src/casino/lobby/__tests__/lobby-layout.int.test.ts"],"names":[],"mappings":"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"}
@@ -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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"}