@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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/admin-console/plugin.d.ts +2 -0
- package/dist/admin-console/plugin.d.ts.map +1 -1
- package/dist/analytics/plugin.d.ts +2 -0
- package/dist/analytics/plugin.d.ts.map +1 -1
- package/dist/audit/plugin.d.ts +2 -0
- package/dist/audit/plugin.d.ts.map +1 -1
- package/dist/audit/plugin.js +31 -0
- package/dist/audit/plugin.js.map +1 -1
- package/dist/casino/gaming/__tests__/gaming.service.int.test.js +65 -11
- package/dist/casino/gaming/__tests__/gaming.service.int.test.js.map +1 -1
- package/dist/casino/gaming/plugin.d.ts +2 -0
- package/dist/casino/gaming/plugin.d.ts.map +1 -1
- package/dist/casino/gaming/plugin.js +2 -2
- package/dist/casino/gaming/plugin.js.map +1 -1
- package/dist/casino/gaming/router/index.d.ts.map +1 -1
- package/dist/casino/gaming/router/index.js +3 -3
- package/dist/casino/gaming/router/index.js.map +1 -1
- package/dist/casino/gaming/service/gaming.service.d.ts +13 -3
- package/dist/casino/gaming/service/gaming.service.d.ts.map +1 -1
- package/dist/casino/gaming/service/gaming.service.js +20 -3
- package/dist/casino/gaming/service/gaming.service.js.map +1 -1
- package/dist/casino/lobby/__tests__/lobby-contract.test.d.ts +2 -0
- package/dist/casino/lobby/__tests__/lobby-contract.test.d.ts.map +1 -0
- package/dist/casino/lobby/__tests__/lobby-contract.test.js +39 -0
- package/dist/casino/lobby/__tests__/lobby-contract.test.js.map +1 -0
- package/dist/casino/lobby/__tests__/lobby-layout.int.test.d.ts +2 -0
- package/dist/casino/lobby/__tests__/lobby-layout.int.test.d.ts.map +1 -0
- package/dist/casino/lobby/__tests__/lobby-layout.int.test.js +145 -0
- package/dist/casino/lobby/__tests__/lobby-layout.int.test.js.map +1 -0
- package/dist/casino/lobby/__tests__/lobby.cache.int.test.js +45 -7
- package/dist/casino/lobby/__tests__/lobby.cache.int.test.js.map +1 -1
- package/dist/casino/lobby/contract/index.d.ts +84 -0
- package/dist/casino/lobby/contract/index.d.ts.map +1 -1
- package/dist/casino/lobby/contract/index.js +38 -1
- package/dist/casino/lobby/contract/index.js.map +1 -1
- package/dist/casino/lobby/drizzle/migrations/0001_true_clea.sql +20 -0
- package/dist/casino/lobby/drizzle/migrations/meta/0001_snapshot.json +343 -0
- package/dist/casino/lobby/drizzle/migrations/meta/_journal.json +7 -0
- package/dist/casino/lobby/plugin.d.ts +2 -0
- package/dist/casino/lobby/plugin.d.ts.map +1 -1
- package/dist/casino/lobby/plugin.js +7 -3
- package/dist/casino/lobby/plugin.js.map +1 -1
- package/dist/casino/lobby/router/index.d.ts +42 -2
- package/dist/casino/lobby/router/index.d.ts.map +1 -1
- package/dist/casino/lobby/router/index.js +13 -2
- package/dist/casino/lobby/router/index.js.map +1 -1
- package/dist/casino/lobby/schema/index.d.ts +222 -0
- package/dist/casino/lobby/schema/index.d.ts.map +1 -1
- package/dist/casino/lobby/schema/index.js +21 -1
- package/dist/casino/lobby/schema/index.js.map +1 -1
- package/dist/casino/lobby/service/lobby.service.d.ts +36 -3
- package/dist/casino/lobby/service/lobby.service.d.ts.map +1 -1
- package/dist/casino/lobby/service/lobby.service.js +253 -13
- package/dist/casino/lobby/service/lobby.service.js.map +1 -1
- package/dist/cms/plugin.d.ts +2 -0
- package/dist/cms/plugin.d.ts.map +1 -1
- package/dist/compliance/__tests__/compliance.service.int.test.js +152 -3
- package/dist/compliance/__tests__/compliance.service.int.test.js.map +1 -1
- package/dist/compliance/contract/index.d.ts +59 -2
- package/dist/compliance/contract/index.d.ts.map +1 -1
- package/dist/compliance/contract/index.js +28 -2
- package/dist/compliance/contract/index.js.map +1 -1
- package/dist/compliance/drizzle/migrations/0009_living_felicia_hardy.sql +12 -0
- package/dist/compliance/drizzle/migrations/meta/0009_snapshot.json +974 -0
- package/dist/compliance/drizzle/migrations/meta/_journal.json +7 -0
- package/dist/compliance/plugin.d.ts +2 -0
- package/dist/compliance/plugin.d.ts.map +1 -1
- package/dist/compliance/plugin.js +2 -1
- package/dist/compliance/plugin.js.map +1 -1
- package/dist/compliance/router/index.d.ts +34 -1
- package/dist/compliance/router/index.d.ts.map +1 -1
- package/dist/compliance/router/index.js +13 -1
- package/dist/compliance/router/index.js.map +1 -1
- package/dist/compliance/schema/index.d.ts +110 -0
- package/dist/compliance/schema/index.d.ts.map +1 -1
- package/dist/compliance/schema/index.js +16 -0
- package/dist/compliance/schema/index.js.map +1 -1
- package/dist/compliance/service/compliance.service.d.ts +49 -2
- package/dist/compliance/service/compliance.service.d.ts.map +1 -1
- package/dist/compliance/service/compliance.service.js +111 -4
- package/dist/compliance/service/compliance.service.js.map +1 -1
- package/dist/contracts/adapters/__tests__/geo-ip.test.d.ts +2 -0
- package/dist/contracts/adapters/__tests__/geo-ip.test.d.ts.map +1 -0
- package/dist/contracts/adapters/__tests__/geo-ip.test.js +13 -0
- package/dist/contracts/adapters/__tests__/geo-ip.test.js.map +1 -0
- package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.d.ts +2 -0
- package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.d.ts.map +1 -0
- package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.js +25 -0
- package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.js.map +1 -0
- package/dist/contracts/adapters/game-geo-check.d.ts +33 -0
- package/dist/contracts/adapters/game-geo-check.d.ts.map +1 -0
- package/dist/contracts/adapters/game-geo-check.js +23 -0
- package/dist/contracts/adapters/game-geo-check.js.map +1 -0
- package/dist/contracts/adapters/geo-ip.d.ts +2 -4
- package/dist/contracts/adapters/geo-ip.d.ts.map +1 -1
- package/dist/contracts/adapters/geo-ip.js +9 -0
- package/dist/contracts/adapters/geo-ip.js.map +1 -1
- package/dist/contracts/adapters/index.d.ts +5 -1
- package/dist/contracts/adapters/index.d.ts.map +1 -1
- package/dist/contracts/adapters/index.js +3 -1
- package/dist/contracts/adapters/index.js.map +1 -1
- package/dist/contracts/adapters/lobby-section-catalog.d.ts +39 -0
- package/dist/contracts/adapters/lobby-section-catalog.d.ts.map +1 -0
- package/dist/contracts/adapters/lobby-section-catalog.js +34 -0
- package/dist/contracts/adapters/lobby-section-catalog.js.map +1 -0
- package/dist/contracts/schemas/__tests__/events.test.js +39 -0
- package/dist/contracts/schemas/__tests__/events.test.js.map +1 -1
- package/dist/contracts/schemas/compliance.d.ts +1 -0
- package/dist/contracts/schemas/compliance.d.ts.map +1 -1
- package/dist/contracts/schemas/compliance.js +1 -0
- package/dist/contracts/schemas/compliance.js.map +1 -1
- package/dist/contracts/schemas/events.d.ts +68 -0
- package/dist/contracts/schemas/events.d.ts.map +1 -1
- package/dist/contracts/schemas/events.js +34 -1
- package/dist/contracts/schemas/events.js.map +1 -1
- package/dist/contracts/schemas/iam.d.ts +1 -1
- package/dist/contracts/schemas/iam.js +1 -1
- package/dist/contracts/schemas/iam.js.map +1 -1
- package/dist/contracts/schemas/index.d.ts +1 -0
- package/dist/contracts/schemas/index.d.ts.map +1 -1
- package/dist/contracts/schemas/index.js +1 -0
- package/dist/contracts/schemas/index.js.map +1 -1
- package/dist/contracts/schemas/lobby.d.ts +27 -0
- package/dist/contracts/schemas/lobby.d.ts.map +1 -0
- package/dist/contracts/schemas/lobby.js +22 -0
- package/dist/contracts/schemas/lobby.js.map +1 -0
- package/dist/engagement/chat/plugin.d.ts +2 -0
- package/dist/engagement/chat/plugin.d.ts.map +1 -1
- package/dist/engagement/chat-commands/plugin.d.ts +2 -0
- package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
- package/dist/engagement/notifications/plugin.d.ts +2 -0
- package/dist/engagement/notifications/plugin.d.ts.map +1 -1
- package/dist/engagement/social/plugin.d.ts +2 -0
- package/dist/engagement/social/plugin.d.ts.map +1 -1
- package/dist/fx/exchange-rate/plugin.d.ts +2 -0
- package/dist/fx/exchange-rate/plugin.d.ts.map +1 -1
- package/dist/iam/plugin.d.ts +2 -0
- package/dist/iam/plugin.d.ts.map +1 -1
- package/dist/mail/plugin.d.ts +2 -0
- package/dist/mail/plugin.d.ts.map +1 -1
- package/dist/pam/identity/plugin.d.ts +2 -0
- package/dist/pam/identity/plugin.d.ts.map +1 -1
- package/dist/pam/player-management/plugin.d.ts +2 -0
- package/dist/pam/player-management/plugin.d.ts.map +1 -1
- package/dist/pam/player-note/plugin.d.ts +2 -0
- package/dist/pam/player-note/plugin.d.ts.map +1 -1
- package/dist/pam/profile/plugin.d.ts +2 -0
- package/dist/pam/profile/plugin.d.ts.map +1 -1
- package/dist/pam/tag/plugin.d.ts +2 -0
- package/dist/pam/tag/plugin.d.ts.map +1 -1
- package/dist/server/auth/permissions.d.ts +12 -12
- package/dist/server/auth/permissions.js +1 -1
- package/dist/server/auth/permissions.js.map +1 -1
- package/dist/server/runtime/__tests__/create-app.test.js +8 -5
- package/dist/server/runtime/__tests__/create-app.test.js.map +1 -1
- package/dist/server/runtime/core-token-catalog.d.ts +2 -0
- package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
- package/dist/server/runtime/core-token-catalog.js +3 -1
- package/dist/server/runtime/core-token-catalog.js.map +1 -1
- package/dist/server/runtime/create-app.d.ts +1 -1
- package/dist/server/runtime/create-app.d.ts.map +1 -1
- package/dist/server/runtime/create-app.js +2 -8
- package/dist/server/runtime/create-app.js.map +1 -1
- package/dist/wallet/plugin.d.ts +2 -0
- package/dist/wallet/plugin.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { findOneOrThrow, makeConflictError, makeNotFoundError, makeOwnershipError, } from '@openora/core/server';
|
|
2
|
-
import { eq } from 'drizzle-orm';
|
|
3
|
-
import { countryRule, globalKycConfig, GLOBAL_KYC_ENABLED_DEFAULT } from '../schema/index.js';
|
|
1
|
+
import { findOneOrThrow, makeConflictError, makeNotFoundError, makeOwnershipError, serializeRow, withAdvisoryXactLock, } from '@openora/core/server';
|
|
2
|
+
import { and, eq } from 'drizzle-orm';
|
|
3
|
+
import { countryRule, gameGeoRule, globalKycConfig, GLOBAL_KYC_ENABLED_DEFAULT, } from '../schema/index.js';
|
|
4
|
+
import { normalizeCountryCode, } from '@openora/core/contracts';
|
|
5
|
+
import { game } from '@openora/core/casino/schema/gaming';
|
|
4
6
|
export const LimitNotFoundError = makeNotFoundError('Limit');
|
|
5
7
|
export const LimitOwnershipError = makeOwnershipError('Limit');
|
|
6
8
|
export const CountryRuleNotFoundError = makeNotFoundError('CountryRule');
|
|
@@ -51,6 +53,11 @@ function toGeoRuleView(row) {
|
|
|
51
53
|
createdAt: row.createdAt.toISOString(),
|
|
52
54
|
};
|
|
53
55
|
}
|
|
56
|
+
export const GameGeoRuleNotFoundError = makeNotFoundError('GameGeoRule');
|
|
57
|
+
export const GeoRuleGameNotFoundError = makeNotFoundError('Game');
|
|
58
|
+
function gameGeoRuleLockKey(gameId, countryCode) {
|
|
59
|
+
return `game-geo-rule:${gameId}:${countryCode}`;
|
|
60
|
+
}
|
|
54
61
|
export class ComplianceService {
|
|
55
62
|
drizzle;
|
|
56
63
|
events;
|
|
@@ -68,7 +75,7 @@ export class ComplianceService {
|
|
|
68
75
|
if (!this.geoIp) {
|
|
69
76
|
return { allowed: true, countryCode: null, reason: null };
|
|
70
77
|
}
|
|
71
|
-
const countryCode = ipAddress ? (await this.geoIp.lookup(ipAddress)).countryCode : null;
|
|
78
|
+
const countryCode = normalizeCountryCode(ipAddress ? (await this.geoIp.lookup(ipAddress)).countryCode : null);
|
|
72
79
|
if (!countryCode) {
|
|
73
80
|
const [blacklistedRule] = await this.drizzle.db
|
|
74
81
|
.select({ countryCode: countryRule.countryCode })
|
|
@@ -91,6 +98,39 @@ export class ComplianceService {
|
|
|
91
98
|
}
|
|
92
99
|
return { allowed: true, countryCode, reason: null };
|
|
93
100
|
}
|
|
101
|
+
async checkGame(input) {
|
|
102
|
+
const globalDecision = await this.geoCheck(input.ipAddress);
|
|
103
|
+
if (!globalDecision.allowed) {
|
|
104
|
+
return {
|
|
105
|
+
allowed: false,
|
|
106
|
+
countryCode: globalDecision.countryCode,
|
|
107
|
+
reason: globalDecision.countryCode
|
|
108
|
+
? 'global_block'
|
|
109
|
+
: 'geo_unresolved',
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
const { countryCode } = globalDecision;
|
|
113
|
+
if (!countryCode) {
|
|
114
|
+
const [gameRule] = await this.drizzle.db
|
|
115
|
+
.select({ id: gameGeoRule.id })
|
|
116
|
+
.from(gameGeoRule)
|
|
117
|
+
.where(eq(gameGeoRule.gameId, input.gameId))
|
|
118
|
+
.limit(1);
|
|
119
|
+
if (gameRule) {
|
|
120
|
+
return { allowed: false, countryCode: null, reason: 'geo_unresolved' };
|
|
121
|
+
}
|
|
122
|
+
return { allowed: true, countryCode: null, reason: null };
|
|
123
|
+
}
|
|
124
|
+
const [gameBlock] = await this.drizzle.db
|
|
125
|
+
.select({ id: gameGeoRule.id })
|
|
126
|
+
.from(gameGeoRule)
|
|
127
|
+
.where(and(eq(gameGeoRule.gameId, input.gameId), eq(gameGeoRule.countryCode, countryCode)))
|
|
128
|
+
.limit(1);
|
|
129
|
+
if (gameBlock) {
|
|
130
|
+
return { allowed: false, countryCode, reason: 'game_block' };
|
|
131
|
+
}
|
|
132
|
+
return { allowed: true, countryCode, reason: null };
|
|
133
|
+
}
|
|
94
134
|
async checkRegistration(ipAddress) {
|
|
95
135
|
const result = await this.geoCheck(ipAddress);
|
|
96
136
|
return { allowed: result.allowed };
|
|
@@ -256,5 +296,72 @@ export class ComplianceService {
|
|
|
256
296
|
const rows = await this.drizzle.db.select().from(countryRule);
|
|
257
297
|
return rows.map(toGeoRuleView);
|
|
258
298
|
}
|
|
299
|
+
async upsertGameGeoRule(input, actorId, meta) {
|
|
300
|
+
const { before, after } = await this.drizzle.db.transaction(async (tx) => {
|
|
301
|
+
findOneOrThrow(await tx.select({ id: game.id }).from(game).where(eq(game.id, input.gameId)), new GeoRuleGameNotFoundError(input.gameId));
|
|
302
|
+
return withAdvisoryXactLock(tx, gameGeoRuleLockKey(input.gameId, input.countryCode), async () => {
|
|
303
|
+
const [before] = await tx
|
|
304
|
+
.select()
|
|
305
|
+
.from(gameGeoRule)
|
|
306
|
+
.where(and(eq(gameGeoRule.gameId, input.gameId), eq(gameGeoRule.countryCode, input.countryCode)));
|
|
307
|
+
const row = findOneOrThrow(await tx
|
|
308
|
+
.insert(gameGeoRule)
|
|
309
|
+
.values(input)
|
|
310
|
+
.onConflictDoUpdate({
|
|
311
|
+
target: [gameGeoRule.gameId, gameGeoRule.countryCode],
|
|
312
|
+
set: { reason: input.reason, updatedAt: new Date() },
|
|
313
|
+
})
|
|
314
|
+
.returning(), new GameGeoRuleNotFoundError(`${input.gameId}:${input.countryCode}`));
|
|
315
|
+
return {
|
|
316
|
+
before: before
|
|
317
|
+
? serializeRow(before, { dateFields: ['createdAt', 'updatedAt'] })
|
|
318
|
+
: null,
|
|
319
|
+
after: serializeRow(row, { dateFields: ['createdAt', 'updatedAt'] }),
|
|
320
|
+
};
|
|
321
|
+
});
|
|
322
|
+
});
|
|
323
|
+
this.events.emit('compliance.game-geo-rule.upserted', {
|
|
324
|
+
ruleId: after.id,
|
|
325
|
+
gameId: input.gameId,
|
|
326
|
+
countryCode: input.countryCode,
|
|
327
|
+
reason: input.reason,
|
|
328
|
+
before,
|
|
329
|
+
after,
|
|
330
|
+
actorId,
|
|
331
|
+
ip: meta.ip,
|
|
332
|
+
userAgent: meta.userAgent,
|
|
333
|
+
});
|
|
334
|
+
return after;
|
|
335
|
+
}
|
|
336
|
+
async deleteGameGeoRule(input, actorId, meta) {
|
|
337
|
+
const before = await this.drizzle.db.transaction(async (tx) => {
|
|
338
|
+
const existing = findOneOrThrow(await tx
|
|
339
|
+
.select({ gameId: gameGeoRule.gameId, countryCode: gameGeoRule.countryCode })
|
|
340
|
+
.from(gameGeoRule)
|
|
341
|
+
.where(eq(gameGeoRule.id, input.id)), new GameGeoRuleNotFoundError(input.id));
|
|
342
|
+
return withAdvisoryXactLock(tx, gameGeoRuleLockKey(existing.gameId, existing.countryCode), async () => {
|
|
343
|
+
const row = findOneOrThrow(await tx.delete(gameGeoRule).where(eq(gameGeoRule.id, input.id)).returning(), new GameGeoRuleNotFoundError(input.id));
|
|
344
|
+
return serializeRow(row, { dateFields: ['createdAt', 'updatedAt'] });
|
|
345
|
+
});
|
|
346
|
+
});
|
|
347
|
+
this.events.emit('compliance.game-geo-rule.deleted', {
|
|
348
|
+
ruleId: before.id,
|
|
349
|
+
gameId: before.gameId,
|
|
350
|
+
countryCode: before.countryCode,
|
|
351
|
+
reason: input.reason,
|
|
352
|
+
before,
|
|
353
|
+
after: null,
|
|
354
|
+
actorId,
|
|
355
|
+
ip: meta.ip,
|
|
356
|
+
userAgent: meta.userAgent,
|
|
357
|
+
});
|
|
358
|
+
return before;
|
|
359
|
+
}
|
|
360
|
+
async listGameGeoRules(input) {
|
|
361
|
+
const rows = input.gameId
|
|
362
|
+
? await this.drizzle.db.select().from(gameGeoRule).where(eq(gameGeoRule.gameId, input.gameId))
|
|
363
|
+
: await this.drizzle.db.select().from(gameGeoRule);
|
|
364
|
+
return rows.map((row) => serializeRow(row, { dateFields: ['createdAt', 'updatedAt'] }));
|
|
365
|
+
}
|
|
259
366
|
}
|
|
260
367
|
//# sourceMappingURL=compliance.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compliance.service.js","sourceRoot":"","sources":["../../../src/compliance/service/compliance.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compliance.service.js","sourceRoot":"","sources":["../../../src/compliance/service/compliance.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geo-ip.test.d.ts","sourceRoot":"","sources":["../../../../src/contracts/adapters/__tests__/geo-ip.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { normalizeCountryCode } from '../geo-ip.js';
|
|
3
|
+
describe('normalizeCountryCode', () => {
|
|
4
|
+
it('trims and uppercases valid country codes', () => {
|
|
5
|
+
expect(normalizeCountryCode(' us ')).toBe('US');
|
|
6
|
+
});
|
|
7
|
+
it('returns null for invalid adapter values', () => {
|
|
8
|
+
expect(normalizeCountryCode('USA')).toBeNull();
|
|
9
|
+
expect(normalizeCountryCode(null)).toBeNull();
|
|
10
|
+
expect(normalizeCountryCode(42)).toBeNull();
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=geo-ip.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geo-ip.test.js","sourceRoot":"","sources":["../../../../src/contracts/adapters/__tests__/geo-ip.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/C,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC9C,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lobby-section-catalog.test.d.ts","sourceRoot":"","sources":["../../../../src/contracts/adapters/__tests__/lobby-section-catalog.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import * as z from 'zod';
|
|
3
|
+
import { createLobbySectionCatalog, defineLobbySection } from '../lobby-section-catalog.js';
|
|
4
|
+
const definition = defineLobbySection({
|
|
5
|
+
type: 'promotion-carousel',
|
|
6
|
+
configSchema: z.object({ campaignIds: z.array(z.string()) }).strict(),
|
|
7
|
+
async resolve(sections) {
|
|
8
|
+
return new Map(sections.map((section) => [section.id, { campaigns: section.config.campaignIds }]));
|
|
9
|
+
},
|
|
10
|
+
});
|
|
11
|
+
describe('lobby section catalog', () => {
|
|
12
|
+
it('preserves typed definition config behind the generic catalog port', async () => {
|
|
13
|
+
const catalog = createLobbySectionCatalog([definition]);
|
|
14
|
+
const registered = catalog.get('promotion-carousel');
|
|
15
|
+
if (!registered) {
|
|
16
|
+
throw new Error('definition was not registered');
|
|
17
|
+
}
|
|
18
|
+
const config = registered.parseConfig({ campaignIds: ['one'] });
|
|
19
|
+
expect(await registered.resolve([{ id: 'section', config }])).toEqual(new Map([['section', { campaigns: ['one'] }]]));
|
|
20
|
+
});
|
|
21
|
+
it('rejects duplicate section type registrations', () => {
|
|
22
|
+
expect(() => createLobbySectionCatalog([definition, definition])).toThrow('Duplicate lobby section definition');
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=lobby-section-catalog.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lobby-section-catalog.test.js","sourceRoot":"","sources":["../../../../src/contracts/adapters/__tests__/lobby-section-catalog.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAE5F,MAAM,UAAU,GAAG,kBAAkB,CAAC;IACpC,IAAI,EAAE,oBAAoB;IAC1B,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;IACrE,KAAK,CAAC,OAAO,CAAC,QAAQ;QACpB,OAAO,IAAI,GAAG,CACZ,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CACnF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,OAAO,GAAG,yBAAyB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CACnE,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAC/C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,GAAG,EAAE,CAAC,yBAAyB,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CACvE,oCAAoC,CACrC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
import { type Token } from './token.js';
|
|
3
|
+
export declare const GAME_GEO_DENIAL_REASONS: readonly ["global_block", "game_block", "geo_unresolved"];
|
|
4
|
+
export declare const GameGeoDenialReasonSchema: z.ZodEnum<{
|
|
5
|
+
global_block: "global_block";
|
|
6
|
+
game_block: "game_block";
|
|
7
|
+
geo_unresolved: "geo_unresolved";
|
|
8
|
+
}>;
|
|
9
|
+
export type GameGeoDenialReason = z.infer<typeof GameGeoDenialReasonSchema>;
|
|
10
|
+
export declare const GameGeoCheckInputSchema: z.ZodObject<{
|
|
11
|
+
gameId: z.ZodUUID;
|
|
12
|
+
ipAddress: z.ZodNullable<z.ZodString>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export type GameGeoCheckInput = z.infer<typeof GameGeoCheckInputSchema>;
|
|
15
|
+
export declare const GameGeoDecisionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
16
|
+
allowed: z.ZodLiteral<true>;
|
|
17
|
+
countryCode: z.ZodNullable<z.ZodString>;
|
|
18
|
+
reason: z.ZodNull;
|
|
19
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
20
|
+
allowed: z.ZodLiteral<false>;
|
|
21
|
+
countryCode: z.ZodNullable<z.ZodString>;
|
|
22
|
+
reason: z.ZodEnum<{
|
|
23
|
+
global_block: "global_block";
|
|
24
|
+
game_block: "game_block";
|
|
25
|
+
geo_unresolved: "geo_unresolved";
|
|
26
|
+
}>;
|
|
27
|
+
}, z.core.$strip>], "allowed">;
|
|
28
|
+
export type GameGeoDecision = z.infer<typeof GameGeoDecisionSchema>;
|
|
29
|
+
export type GameGeoCheckPort = {
|
|
30
|
+
checkGame(input: GameGeoCheckInput): Promise<GameGeoDecision>;
|
|
31
|
+
};
|
|
32
|
+
export declare const GAME_GEO_CHECK: Token<GameGeoCheckPort>;
|
|
33
|
+
//# sourceMappingURL=game-geo-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"game-geo-check.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/game-geo-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,eAAO,MAAM,uBAAuB,2DAA4D,CAAC;AAEjG,eAAO,MAAM,yBAAyB;;;;EAAkC,CAAC;AACzE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;8BAWhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC/D,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,gBAAgB,CACF,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
import { CountryCodeSchema, UuidSchema } from '../schemas/index.js';
|
|
3
|
+
import { createToken } from './token.js';
|
|
4
|
+
export const GAME_GEO_DENIAL_REASONS = ['global_block', 'game_block', 'geo_unresolved'];
|
|
5
|
+
export const GameGeoDenialReasonSchema = z.enum(GAME_GEO_DENIAL_REASONS);
|
|
6
|
+
export const GameGeoCheckInputSchema = z.object({
|
|
7
|
+
gameId: UuidSchema,
|
|
8
|
+
ipAddress: z.string().nullable(),
|
|
9
|
+
});
|
|
10
|
+
export const GameGeoDecisionSchema = z.discriminatedUnion('allowed', [
|
|
11
|
+
z.object({
|
|
12
|
+
allowed: z.literal(true),
|
|
13
|
+
countryCode: CountryCodeSchema.nullable(),
|
|
14
|
+
reason: z.null(),
|
|
15
|
+
}),
|
|
16
|
+
z.object({
|
|
17
|
+
allowed: z.literal(false),
|
|
18
|
+
countryCode: CountryCodeSchema.nullable(),
|
|
19
|
+
reason: GameGeoDenialReasonSchema,
|
|
20
|
+
}),
|
|
21
|
+
]);
|
|
22
|
+
export const GAME_GEO_CHECK = createToken('GAME_GEO_CHECK');
|
|
23
|
+
//# sourceMappingURL=game-geo-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"game-geo-check.js","sourceRoot":"","sources":["../../../src/contracts/adapters/game-geo-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAErD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,cAAc,EAAE,YAAY,EAAE,gBAAgB,CAAU,CAAC;AAEjG,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAGzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IACnE,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACxB,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;QACzC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE;KACjB,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACzB,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;QACzC,MAAM,EAAE,yBAAyB;KAClC,CAAC;CACH,CAAC,CAAC;AAOH,MAAM,CAAC,MAAM,cAAc,GACzB,WAAW,CAAmB,gBAAgB,CAAC,CAAC"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Geo-IP seam. A vendor (eg MaxMind) implements GeoIpAdapter; bind a concrete
|
|
3
|
-
* adapter to GEO_IP_ADAPTER in the compliance module's plugin.ts.
|
|
4
|
-
*/
|
|
5
1
|
import { type Token } from './token.js';
|
|
6
2
|
export type GeoIpAdapter = {
|
|
7
3
|
lookup(ipAddress: string): Promise<{
|
|
8
4
|
countryCode: string | null;
|
|
9
5
|
}>;
|
|
10
6
|
};
|
|
7
|
+
/** Normalize an adapter value to a validated ISO country code. */
|
|
8
|
+
export declare function normalizeCountryCode(value: unknown): string | null;
|
|
11
9
|
export declare const GEO_IP_ADAPTER: Token<GeoIpAdapter>;
|
|
12
10
|
//# sourceMappingURL=geo-ip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geo-ip.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/geo-ip.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"geo-ip.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/geo-ip.ts"],"names":[],"mappings":"AAKA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE,CAAC;AAEF,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAOlE;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,YAAY,CAAiC,CAAC"}
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
* Geo-IP seam. A vendor (eg MaxMind) implements GeoIpAdapter; bind a concrete
|
|
3
3
|
* adapter to GEO_IP_ADAPTER in the compliance module's plugin.ts.
|
|
4
4
|
*/
|
|
5
|
+
import { CountryCodeSchema } from '../schemas/igaming-config.js';
|
|
5
6
|
import { createToken } from './token.js';
|
|
7
|
+
/** Normalize an adapter value to a validated ISO country code. */
|
|
8
|
+
export function normalizeCountryCode(value) {
|
|
9
|
+
if (typeof value !== 'string') {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const parsed = CountryCodeSchema.safeParse(value.trim().toUpperCase());
|
|
13
|
+
return parsed.success ? parsed.data : null;
|
|
14
|
+
}
|
|
6
15
|
export const GEO_IP_ADAPTER = createToken('GEO_IP_ADAPTER');
|
|
7
16
|
//# sourceMappingURL=geo-ip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geo-ip.js","sourceRoot":"","sources":["../../../src/contracts/adapters/geo-ip.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAMrD,MAAM,CAAC,MAAM,cAAc,GAAwB,WAAW,CAAC,gBAAgB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"geo-ip.js","sourceRoot":"","sources":["../../../src/contracts/adapters/geo-ip.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAMrD,kEAAkE;AAClE,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAwB,WAAW,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -29,6 +29,8 @@ export type { RateLimiterAdapter, RateLimitOptions, RateLimitResult, RateLimitKe
|
|
|
29
29
|
export { RATE_LIMITER, RATE_LIMIT_KEYS, makeRateLimitKey } from './rate-limit.js';
|
|
30
30
|
export type { CacheAdapter } from './cache.js';
|
|
31
31
|
export { CACHE } from './cache.js';
|
|
32
|
+
export type { LobbySectionCatalog, LobbySectionDefinition, LobbySectionDefinitionInput, LobbySectionValidationResult, } from './lobby-section-catalog.js';
|
|
33
|
+
export { createLobbySectionCatalog, defineLobbySection, LOBBY_SECTION_CATALOG, } from './lobby-section-catalog.js';
|
|
32
34
|
export type { RealtimeTransport, RealtimePresence, RealtimeSignal, RealtimeConnectionGrant, RealtimeClientAuthorizer, RealtimeClientAuthorizerInput, } from './realtime.js';
|
|
33
35
|
export { REALTIME_TRANSPORT, REALTIME_CLIENT_AUTHORIZER, CHAT_REALTIME_TRANSPORT, CHAT_REALTIME_CLIENT_AUTHORIZER, ACCESS_REVOKED_SIGNAL, } from './realtime.js';
|
|
34
36
|
export type { GameAdapter, RoundOutcome } from './game.js';
|
|
@@ -46,9 +48,11 @@ export { EXCHANGE_RATE_READER } from './exchange-rate-reader.js';
|
|
|
46
48
|
export type { SwapStatus, SwapQuote, SwapExecution, SwapWebhookEvent, SwapAdapter, SwapWebhookVerifier, } from './swap.js';
|
|
47
49
|
export { SWAP_ADAPTER, SWAP_WEBHOOK_VERIFIER } from './swap.js';
|
|
48
50
|
export type { GeoIpAdapter } from './geo-ip.js';
|
|
49
|
-
export { GEO_IP_ADAPTER } from './geo-ip.js';
|
|
51
|
+
export { GEO_IP_ADAPTER, normalizeCountryCode } from './geo-ip.js';
|
|
50
52
|
export type { GeoCheckCommands } from './geo-check-commands.js';
|
|
51
53
|
export { GEO_CHECK_COMMANDS } from './geo-check-commands.js';
|
|
54
|
+
export type { GameGeoCheckPort, GameGeoCheckInput, GameGeoDecision, GameGeoDenialReason, } from './game-geo-check.js';
|
|
55
|
+
export { GAME_GEO_CHECK, GAME_GEO_DENIAL_REASONS, GameGeoCheckInputSchema, GameGeoDecisionSchema, GameGeoDenialReasonSchema, } from './game-geo-check.js';
|
|
52
56
|
export type { PlayerProvisioning, PlayerRegistrationRecord } from './player-provisioning.js';
|
|
53
57
|
export { PLAYER_PROVISIONING } from './player-provisioning.js';
|
|
54
58
|
export type { AggregatorAdapter, AggregatorGame, AggregatorWebhookVerifier } from './aggregator.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ export { IDENTITY_READER } from './identity-reader.js';
|
|
|
16
16
|
export { JOB_QUEUE, queue } from './job-queue.js';
|
|
17
17
|
export { RATE_LIMITER, RATE_LIMIT_KEYS, makeRateLimitKey } from './rate-limit.js';
|
|
18
18
|
export { CACHE } from './cache.js';
|
|
19
|
+
export { createLobbySectionCatalog, defineLobbySection, LOBBY_SECTION_CATALOG, } from './lobby-section-catalog.js';
|
|
19
20
|
export { REALTIME_TRANSPORT, REALTIME_CLIENT_AUTHORIZER, CHAT_REALTIME_TRANSPORT, CHAT_REALTIME_CLIENT_AUTHORIZER, ACCESS_REVOKED_SIGNAL, } from './realtime.js';
|
|
20
21
|
export { GAME_ADAPTER } from './game.js';
|
|
21
22
|
export { KYC_ADAPTER, KYC_STATUS_WRITER, KYC_WEBHOOK_VERIFIER, KYC_VENDOR_STATUSES, KYC_CHECK_STATUSES, KycCheckStatusSchema, KycCheckResultSchema, } from './kyc.js';
|
|
@@ -24,8 +25,9 @@ export { WALLET_ASSET_CATALOG } from './wallet-asset-catalog.js';
|
|
|
24
25
|
export { CRYPTO_EXCHANGE_RATE_PROVIDER, FIAT_EXCHANGE_RATE_PROVIDER, } from './exchange-rate-provider.js';
|
|
25
26
|
export { EXCHANGE_RATE_READER } from './exchange-rate-reader.js';
|
|
26
27
|
export { SWAP_ADAPTER, SWAP_WEBHOOK_VERIFIER } from './swap.js';
|
|
27
|
-
export { GEO_IP_ADAPTER } from './geo-ip.js';
|
|
28
|
+
export { GEO_IP_ADAPTER, normalizeCountryCode } from './geo-ip.js';
|
|
28
29
|
export { GEO_CHECK_COMMANDS } from './geo-check-commands.js';
|
|
30
|
+
export { GAME_GEO_CHECK, GAME_GEO_DENIAL_REASONS, GameGeoCheckInputSchema, GameGeoDecisionSchema, GameGeoDenialReasonSchema, } from './game-geo-check.js';
|
|
29
31
|
export { PLAYER_PROVISIONING } from './player-provisioning.js';
|
|
30
32
|
export { AGGREGATOR_ADAPTER, AGGREGATOR_WEBHOOK_VERIFIER } from './aggregator.js';
|
|
31
33
|
export { RNG_ADAPTER } from './rng.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQvD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAUrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAOvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAIvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAcvD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AASlD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type LobbySectionConfig, type LobbySectionData, type LobbySectionType } from '../schemas/lobby.js';
|
|
2
|
+
import { type Token } from './token.js';
|
|
3
|
+
export type LobbySectionDefinitionInput = {
|
|
4
|
+
id: string;
|
|
5
|
+
config: LobbySectionConfig;
|
|
6
|
+
};
|
|
7
|
+
export type LobbySectionValidationResult = {
|
|
8
|
+
valid: true;
|
|
9
|
+
} | {
|
|
10
|
+
valid: false;
|
|
11
|
+
message: string;
|
|
12
|
+
};
|
|
13
|
+
export type LobbySectionDefinition = {
|
|
14
|
+
type: LobbySectionType;
|
|
15
|
+
parseConfig(config: LobbySectionConfig): LobbySectionConfig;
|
|
16
|
+
validate?(sections: LobbySectionDefinitionInput[]): Promise<LobbySectionValidationResult>;
|
|
17
|
+
resolve(sections: LobbySectionDefinitionInput[]): Promise<Map<string, LobbySectionData>>;
|
|
18
|
+
};
|
|
19
|
+
export type LobbySectionCatalog = {
|
|
20
|
+
get(type: string): LobbySectionDefinition | undefined;
|
|
21
|
+
list(): LobbySectionDefinition[];
|
|
22
|
+
};
|
|
23
|
+
export declare function defineLobbySection<const Type extends string, Config extends LobbySectionConfig, Data extends LobbySectionData>(definition: {
|
|
24
|
+
type: Type;
|
|
25
|
+
configSchema: {
|
|
26
|
+
parse(input: unknown): Config;
|
|
27
|
+
};
|
|
28
|
+
validate?(sections: Array<{
|
|
29
|
+
id: string;
|
|
30
|
+
config: Config;
|
|
31
|
+
}>): Promise<LobbySectionValidationResult>;
|
|
32
|
+
resolve(sections: Array<{
|
|
33
|
+
id: string;
|
|
34
|
+
config: Config;
|
|
35
|
+
}>): Promise<Map<string, Data>>;
|
|
36
|
+
}): LobbySectionDefinition;
|
|
37
|
+
export declare function createLobbySectionCatalog(definitions: readonly LobbySectionDefinition[]): LobbySectionCatalog;
|
|
38
|
+
export declare const LOBBY_SECTION_CATALOG: Token<LobbySectionCatalog>;
|
|
39
|
+
//# sourceMappingURL=lobby-section-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lobby-section-catalog.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/lobby-section-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/F,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,gBAAgB,CAAC;IACvB,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAAC;IAC5D,QAAQ,CAAC,CAAC,QAAQ,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC1F,OAAO,CAAC,QAAQ,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;CAC1F,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB,GAAG,SAAS,CAAC;IACtD,IAAI,IAAI,sBAAsB,EAAE,CAAC;CAClC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,MAAM,SAAS,kBAAkB,EACjC,IAAI,SAAS,gBAAgB,EAC7B,UAAU,EAAE;IACZ,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,CAAC;IAChD,QAAQ,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAClG,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;CACtF,GAAG,sBAAsB,CAgBzB;AAED,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,SAAS,sBAAsB,EAAE,GAC7C,mBAAmB,CAarB;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,mBAAmB,CACF,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { LobbySectionTypeSchema, } from '../schemas/lobby.js';
|
|
2
|
+
import { createToken } from './token.js';
|
|
3
|
+
export function defineLobbySection(definition) {
|
|
4
|
+
const validate = definition.validate;
|
|
5
|
+
const parseSections = (sections) => sections.map((section) => ({
|
|
6
|
+
id: section.id,
|
|
7
|
+
config: definition.configSchema.parse(section.config),
|
|
8
|
+
}));
|
|
9
|
+
return {
|
|
10
|
+
type: LobbySectionTypeSchema.parse(definition.type),
|
|
11
|
+
parseConfig: (config) => definition.configSchema.parse(config),
|
|
12
|
+
validate: validate ? (sections) => validate(parseSections(sections)) : undefined,
|
|
13
|
+
async resolve(sections) {
|
|
14
|
+
const resolved = await definition.resolve(parseSections(sections));
|
|
15
|
+
return new Map(resolved);
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export function createLobbySectionCatalog(definitions) {
|
|
20
|
+
const byType = new Map();
|
|
21
|
+
for (const definition of definitions) {
|
|
22
|
+
const type = LobbySectionTypeSchema.parse(definition.type);
|
|
23
|
+
if (byType.has(type)) {
|
|
24
|
+
throw new Error(`Duplicate lobby section definition: ${type}`);
|
|
25
|
+
}
|
|
26
|
+
byType.set(type, definition);
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
get: (type) => byType.get(type),
|
|
30
|
+
list: () => [...byType.values()],
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
export const LOBBY_SECTION_CATALOG = createToken('LOBBY_SECTION_CATALOG');
|
|
34
|
+
//# sourceMappingURL=lobby-section-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lobby-section-catalog.js","sourceRoot":"","sources":["../../../src/contracts/adapters/lobby-section-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAIvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAqBrD,MAAM,UAAU,kBAAkB,CAIhC,UAKD;IACC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACrC,MAAM,aAAa,GAAG,CAAC,QAAuC,EAAE,EAAE,CAChE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;KACtD,CAAC,CAAC,CAAC;IACN,OAAO;QACL,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QACnD,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9D,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QAChF,KAAK,CAAC,OAAO,CAAC,QAAQ;YACpB,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnE,OAAO,IAAI,GAAG,CAA2B,QAAQ,CAAC,CAAC;QACrD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,WAA8C;IAE9C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkC,CAAC;IACzD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO;QACL,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;QAC/B,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAChC,WAAW,CAAsB,uBAAuB,CAAC,CAAC"}
|
|
@@ -196,4 +196,43 @@ describe('event currency fields accept a wallet/gaming money ticker', () => {
|
|
|
196
196
|
expect(domainEventSchemas['wallet.deposit.completed'].safeParse(invalid).success).toBe(false);
|
|
197
197
|
});
|
|
198
198
|
});
|
|
199
|
+
describe('game geo rule event reasons', () => {
|
|
200
|
+
const gameId = randomUUID();
|
|
201
|
+
const validPayload = {
|
|
202
|
+
ruleId: randomUUID(),
|
|
203
|
+
gameId,
|
|
204
|
+
countryCode: 'US',
|
|
205
|
+
reason: 'licence restriction',
|
|
206
|
+
before: null,
|
|
207
|
+
after: {
|
|
208
|
+
id: randomUUID(),
|
|
209
|
+
gameId,
|
|
210
|
+
countryCode: 'US',
|
|
211
|
+
reason: 'licence restriction',
|
|
212
|
+
createdAt: new Date().toISOString(),
|
|
213
|
+
updatedAt: new Date().toISOString(),
|
|
214
|
+
},
|
|
215
|
+
actorId: randomUUID(),
|
|
216
|
+
};
|
|
217
|
+
it('trims and rejects blank reasons in the event state and envelope', () => {
|
|
218
|
+
const parsed = domainEventSchemas['compliance.game-geo-rule.upserted'].safeParse({
|
|
219
|
+
...validPayload,
|
|
220
|
+
reason: ' licence restriction ',
|
|
221
|
+
after: { ...validPayload.after, reason: ' licence restriction ' },
|
|
222
|
+
});
|
|
223
|
+
expect(parsed.success).toBe(true);
|
|
224
|
+
if (parsed.success) {
|
|
225
|
+
expect(parsed.data.reason).toBe('licence restriction');
|
|
226
|
+
expect(parsed.data.after.reason).toBe('licence restriction');
|
|
227
|
+
}
|
|
228
|
+
expect(domainEventSchemas['compliance.game-geo-rule.upserted'].safeParse({
|
|
229
|
+
...validPayload,
|
|
230
|
+
reason: ' ',
|
|
231
|
+
}).success).toBe(false);
|
|
232
|
+
expect(domainEventSchemas['compliance.game-geo-rule.upserted'].safeParse({
|
|
233
|
+
...validPayload,
|
|
234
|
+
after: { ...validPayload.after, reason: ' ' },
|
|
235
|
+
}).success).toBe(false);
|
|
236
|
+
});
|
|
237
|
+
});
|
|
199
238
|
//# sourceMappingURL=events.test.js.map
|