@openora/core 0.4.1-canary.165 → 0.4.1-canary.167
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/audit/__tests__/map-event.test.js +54 -0
- package/dist/audit/__tests__/map-event.test.js.map +1 -1
- package/dist/audit/plugin.d.ts.map +1 -1
- package/dist/audit/plugin.js +40 -0
- package/dist/audit/plugin.js.map +1 -1
- package/dist/casino/gaming/__tests__/game-tag.service.int.test.d.ts +2 -0
- package/dist/casino/gaming/__tests__/game-tag.service.int.test.d.ts.map +1 -0
- package/dist/casino/gaming/__tests__/game-tag.service.int.test.js +143 -0
- package/dist/casino/gaming/__tests__/game-tag.service.int.test.js.map +1 -0
- package/dist/casino/gaming/__tests__/gaming-catalog-admin.router.int.test.js +62 -3
- package/dist/casino/gaming/__tests__/gaming-catalog-admin.router.int.test.js.map +1 -1
- package/dist/casino/gaming/__tests__/gaming.service.int.test.js +61 -2
- package/dist/casino/gaming/__tests__/gaming.service.int.test.js.map +1 -1
- package/dist/casino/gaming/contract/index.d.ts +229 -0
- package/dist/casino/gaming/contract/index.d.ts.map +1 -1
- package/dist/casino/gaming/contract/index.js +44 -1
- package/dist/casino/gaming/contract/index.js.map +1 -1
- package/dist/casino/gaming/drizzle/migrations/0006_young_wrecker.sql +25 -0
- package/dist/casino/gaming/drizzle/migrations/meta/0006_snapshot.json +885 -0
- package/dist/casino/gaming/drizzle/migrations/meta/_journal.json +7 -0
- package/dist/casino/gaming/plugin.d.ts.map +1 -1
- package/dist/casino/gaming/plugin.js +2 -0
- package/dist/casino/gaming/plugin.js.map +1 -1
- package/dist/casino/gaming/router/index.d.ts +153 -1
- package/dist/casino/gaming/router/index.d.ts.map +1 -1
- package/dist/casino/gaming/router/index.js +31 -2
- package/dist/casino/gaming/router/index.js.map +1 -1
- package/dist/casino/gaming/schema/index.d.ts +190 -0
- package/dist/casino/gaming/schema/index.d.ts.map +1 -1
- package/dist/casino/gaming/schema/index.js +30 -1
- package/dist/casino/gaming/schema/index.js.map +1 -1
- package/dist/casino/gaming/service/game-category.service.d.ts +3 -7
- package/dist/casino/gaming/service/game-category.service.d.ts.map +1 -1
- package/dist/casino/gaming/service/game-category.service.js.map +1 -1
- package/dist/casino/gaming/service/game-provider.service.d.ts +3 -7
- package/dist/casino/gaming/service/game-provider.service.d.ts.map +1 -1
- package/dist/casino/gaming/service/game-provider.service.js.map +1 -1
- package/dist/casino/gaming/service/game-tag.service.d.ts +63 -0
- package/dist/casino/gaming/service/game-tag.service.d.ts.map +1 -0
- package/dist/casino/gaming/service/game-tag.service.js +140 -0
- package/dist/casino/gaming/service/game-tag.service.js.map +1 -0
- package/dist/casino/gaming/service/gaming.service.d.ts +33 -7
- package/dist/casino/gaming/service/gaming.service.d.ts.map +1 -1
- package/dist/casino/gaming/service/gaming.service.js +80 -19
- package/dist/casino/gaming/service/gaming.service.js.map +1 -1
- package/dist/casino/lobby/__tests__/lobby.cache.int.test.js +24 -2
- package/dist/casino/lobby/__tests__/lobby.cache.int.test.js.map +1 -1
- package/dist/casino/lobby/contract/index.d.ts +52 -0
- package/dist/casino/lobby/contract/index.d.ts.map +1 -1
- package/dist/casino/lobby/contract/index.js +2 -1
- package/dist/casino/lobby/contract/index.js.map +1 -1
- package/dist/casino/lobby/router/index.d.ts +26 -0
- package/dist/casino/lobby/router/index.d.ts.map +1 -1
- package/dist/casino/lobby/service/lobby.service.d.ts +14 -0
- package/dist/casino/lobby/service/lobby.service.d.ts.map +1 -1
- package/dist/casino/lobby/service/lobby.service.js +22 -6
- package/dist/casino/lobby/service/lobby.service.js.map +1 -1
- package/dist/casino/shared/game-catalog.d.ts +23 -1
- package/dist/casino/shared/game-catalog.d.ts.map +1 -1
- package/dist/casino/shared/game-catalog.js +39 -19
- package/dist/casino/shared/game-catalog.js.map +1 -1
- package/dist/contracts/schemas/__tests__/events.test.js +25 -0
- package/dist/contracts/schemas/__tests__/events.test.js.map +1 -1
- package/dist/contracts/schemas/__tests__/game-schemas.test.js +27 -1
- package/dist/contracts/schemas/__tests__/game-schemas.test.js.map +1 -1
- package/dist/contracts/schemas/events.d.ts +70 -0
- package/dist/contracts/schemas/events.d.ts.map +1 -1
- package/dist/contracts/schemas/events.js +24 -1
- package/dist/contracts/schemas/events.js.map +1 -1
- package/dist/contracts/schemas/game.d.ts +41 -0
- package/dist/contracts/schemas/game.d.ts.map +1 -1
- package/dist/contracts/schemas/game.js +19 -0
- package/dist/contracts/schemas/game.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/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/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/casino/gaming/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/casino/gaming/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,wBAmC8C"}
|
|
@@ -2,6 +2,7 @@ import { EVENT_BUS, DRIZZLE, ADMIN_GUARD } from '@openora/core/server';
|
|
|
2
2
|
import { ADMIN_GAME_REPORTING, GAME_ADAPTER, GAME_GEO_CHECK, GAMING_COMMANDS, IDENTITY_READER, PLAY_ELIGIBILITY, RG_LIMITS, RNG_ADAPTER, WALLET_COMMANDS, } from '@openora/core/contracts';
|
|
3
3
|
import { GamingService } from './service/gaming.service.js';
|
|
4
4
|
import { GameCategoryService } from './service/game-category.service.js';
|
|
5
|
+
import { GameTagService } from './service/game-tag.service.js';
|
|
5
6
|
import { GameProviderService } from './service/game-provider.service.js';
|
|
6
7
|
import { createGamingRouter } from './router/index.js';
|
|
7
8
|
import { MockGameAdapter } from './adapters/mock/mock-game-adapter.js';
|
|
@@ -22,6 +23,7 @@ export default {
|
|
|
22
23
|
gaming: gamingService(c),
|
|
23
24
|
providers: new GameProviderService(c.get(DRIZZLE), c.get(EVENT_BUS)),
|
|
24
25
|
categories: new GameCategoryService(c.get(DRIZZLE), c.get(EVENT_BUS)),
|
|
26
|
+
tags: new GameTagService(c.get(DRIZZLE), c.get(EVENT_BUS)),
|
|
25
27
|
adminGuard: c.get(ADMIN_GUARD),
|
|
26
28
|
}));
|
|
27
29
|
ctx.provide(GAMING_COMMANDS, (c) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/casino/gaming/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,eAAe;IACb,EAAE,EAAE,QAAQ;IACZ,aAAa,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAClD,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,QAAQ,CAAC,GAAG;QACV,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;QACvD,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QACrD,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACxF,4EAA4E;QAC5E,IAAI,GAAG,GAAyB,IAAI,CAAC;QACrC,MAAM,aAAa,GAAG,CAAC,CAAmC,EAAE,EAAE,CAC5D,CAAC,GAAG,KAAK,IAAI,aAAa,CACxB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EACd,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAChB,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EACnB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EACvB,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,EACtB,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,EACtB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAC/C,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1D,CAAC,CAAC;QAEL,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC9B,kBAAkB,CAAC;YACjB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;YACxB,SAAS,EAAE,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpE,UAAU,EAAE,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;SAC/B,CAAC,CACH,CAAC;QACF,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,uBAAuB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC;SAC1F,CAAC,CAAC,CAAC;IACN,CAAC;CAC0C,CAAC"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/casino/gaming/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { type AdminGuard, type OssContext } from '@openora/core/server';
|
|
2
2
|
import { GamingService } from '../service/gaming.service.js';
|
|
3
3
|
import { GameCategoryService } from '../service/game-category.service.js';
|
|
4
|
+
import { GameTagService } from '../service/game-tag.service.js';
|
|
4
5
|
import { GameProviderService } from '../service/game-provider.service.js';
|
|
5
|
-
export declare function createGamingRouter({ gaming, providers, categories, adminGuard, }: {
|
|
6
|
+
export declare function createGamingRouter({ gaming, providers, categories, tags, adminGuard, }: {
|
|
6
7
|
gaming: GamingService;
|
|
7
8
|
providers: GameProviderService;
|
|
8
9
|
categories: GameCategoryService;
|
|
10
|
+
tags: GameTagService;
|
|
9
11
|
adminGuard: AdminGuard;
|
|
10
12
|
}): {
|
|
11
13
|
listGames: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
|
|
@@ -36,6 +38,19 @@ export declare function createGamingRouter({ gaming, providers, categories, admi
|
|
|
36
38
|
name: import("zod").ZodString;
|
|
37
39
|
}, import("zod/v4/core").$strict>>>;
|
|
38
40
|
}, import("zod/v4/core").$strip>>;
|
|
41
|
+
tags: import("zod").ZodArray<import("zod").ZodObject<{
|
|
42
|
+
id: import("zod").ZodUUID;
|
|
43
|
+
name: import("zod").ZodString;
|
|
44
|
+
type: import("zod").ZodEnum<{
|
|
45
|
+
system: "system";
|
|
46
|
+
custom: "custom";
|
|
47
|
+
}>;
|
|
48
|
+
visibility: import("zod").ZodEnum<{
|
|
49
|
+
visible: "visible";
|
|
50
|
+
invisible: "invisible";
|
|
51
|
+
}>;
|
|
52
|
+
metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>>;
|
|
53
|
+
}, import("zod/v4/core").$strip>>;
|
|
39
54
|
gameType: import("zod").ZodEnum<{
|
|
40
55
|
sportsbook: "sportsbook";
|
|
41
56
|
original: "original";
|
|
@@ -72,6 +87,19 @@ export declare function createGamingRouter({ gaming, providers, categories, admi
|
|
|
72
87
|
name: import("zod").ZodString;
|
|
73
88
|
}, import("zod/v4/core").$strict>>>;
|
|
74
89
|
}, import("zod/v4/core").$strip>>;
|
|
90
|
+
tags: import("zod").ZodArray<import("zod").ZodObject<{
|
|
91
|
+
id: import("zod").ZodUUID;
|
|
92
|
+
name: import("zod").ZodString;
|
|
93
|
+
type: import("zod").ZodEnum<{
|
|
94
|
+
system: "system";
|
|
95
|
+
custom: "custom";
|
|
96
|
+
}>;
|
|
97
|
+
visibility: import("zod").ZodEnum<{
|
|
98
|
+
visible: "visible";
|
|
99
|
+
invisible: "invisible";
|
|
100
|
+
}>;
|
|
101
|
+
metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>>;
|
|
102
|
+
}, import("zod/v4/core").$strip>>;
|
|
75
103
|
gameType: import("zod").ZodEnum<{
|
|
76
104
|
sportsbook: "sportsbook";
|
|
77
105
|
original: "original";
|
|
@@ -333,6 +361,103 @@ export declare function createGamingRouter({ gaming, providers, categories, admi
|
|
|
333
361
|
createdAt: import("zod").ZodISODateTime;
|
|
334
362
|
updatedAt: import("zod").ZodISODateTime;
|
|
335
363
|
}, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
364
|
+
listAdminTags: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
|
|
365
|
+
q: import("zod").ZodOptional<import("zod").ZodString>;
|
|
366
|
+
page: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
367
|
+
limit: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
368
|
+
type: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
369
|
+
system: "system";
|
|
370
|
+
custom: "custom";
|
|
371
|
+
}>>;
|
|
372
|
+
visibility: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
373
|
+
visible: "visible";
|
|
374
|
+
invisible: "invisible";
|
|
375
|
+
}>>;
|
|
376
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
377
|
+
items: import("zod").ZodArray<import("zod").ZodObject<{
|
|
378
|
+
id: import("zod").ZodUUID;
|
|
379
|
+
name: import("zod").ZodString;
|
|
380
|
+
type: import("zod").ZodEnum<{
|
|
381
|
+
system: "system";
|
|
382
|
+
custom: "custom";
|
|
383
|
+
}>;
|
|
384
|
+
visibility: import("zod").ZodEnum<{
|
|
385
|
+
visible: "visible";
|
|
386
|
+
invisible: "invisible";
|
|
387
|
+
}>;
|
|
388
|
+
metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>>;
|
|
389
|
+
createdAt: import("zod").ZodISODateTime;
|
|
390
|
+
updatedAt: import("zod").ZodISODateTime;
|
|
391
|
+
}, import("zod/v4/core").$strip>>;
|
|
392
|
+
total: import("zod").ZodNumber;
|
|
393
|
+
page: import("zod").ZodNumber;
|
|
394
|
+
limit: import("zod").ZodNumber;
|
|
395
|
+
}, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
396
|
+
getAdminTag: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
|
|
397
|
+
id: import("zod").ZodUUID;
|
|
398
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
399
|
+
id: import("zod").ZodUUID;
|
|
400
|
+
name: import("zod").ZodString;
|
|
401
|
+
type: import("zod").ZodEnum<{
|
|
402
|
+
system: "system";
|
|
403
|
+
custom: "custom";
|
|
404
|
+
}>;
|
|
405
|
+
visibility: import("zod").ZodEnum<{
|
|
406
|
+
visible: "visible";
|
|
407
|
+
invisible: "invisible";
|
|
408
|
+
}>;
|
|
409
|
+
metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>>;
|
|
410
|
+
createdAt: import("zod").ZodISODateTime;
|
|
411
|
+
updatedAt: import("zod").ZodISODateTime;
|
|
412
|
+
}, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
413
|
+
createTag: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
|
|
414
|
+
name: import("zod").ZodString;
|
|
415
|
+
visibility: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
416
|
+
visible: "visible";
|
|
417
|
+
invisible: "invisible";
|
|
418
|
+
}>>;
|
|
419
|
+
metadata: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>>>;
|
|
420
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
421
|
+
id: import("zod").ZodUUID;
|
|
422
|
+
name: import("zod").ZodString;
|
|
423
|
+
type: import("zod").ZodEnum<{
|
|
424
|
+
system: "system";
|
|
425
|
+
custom: "custom";
|
|
426
|
+
}>;
|
|
427
|
+
visibility: import("zod").ZodEnum<{
|
|
428
|
+
visible: "visible";
|
|
429
|
+
invisible: "invisible";
|
|
430
|
+
}>;
|
|
431
|
+
metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>>;
|
|
432
|
+
createdAt: import("zod").ZodISODateTime;
|
|
433
|
+
updatedAt: import("zod").ZodISODateTime;
|
|
434
|
+
}, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
435
|
+
updateTag: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
|
|
436
|
+
id: import("zod").ZodUUID;
|
|
437
|
+
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
438
|
+
visibility: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
439
|
+
visible: "visible";
|
|
440
|
+
invisible: "invisible";
|
|
441
|
+
}>>;
|
|
442
|
+
metadata: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>>>;
|
|
443
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
444
|
+
id: import("zod").ZodUUID;
|
|
445
|
+
name: import("zod").ZodString;
|
|
446
|
+
type: import("zod").ZodEnum<{
|
|
447
|
+
system: "system";
|
|
448
|
+
custom: "custom";
|
|
449
|
+
}>;
|
|
450
|
+
visibility: import("zod").ZodEnum<{
|
|
451
|
+
visible: "visible";
|
|
452
|
+
invisible: "invisible";
|
|
453
|
+
}>;
|
|
454
|
+
metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>>;
|
|
455
|
+
createdAt: import("zod").ZodISODateTime;
|
|
456
|
+
updatedAt: import("zod").ZodISODateTime;
|
|
457
|
+
}, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
458
|
+
deleteTag: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
|
|
459
|
+
id: import("zod").ZodUUID;
|
|
460
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodBoolean, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
336
461
|
updateGame: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
|
|
337
462
|
id: import("zod").ZodUUID;
|
|
338
463
|
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -343,6 +468,7 @@ export declare function createGamingRouter({ gaming, providers, categories, admi
|
|
|
343
468
|
isActive: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
344
469
|
metadata: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUnknown>>;
|
|
345
470
|
categoryIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
|
|
471
|
+
tagIds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUUID>>;
|
|
346
472
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
347
473
|
id: import("zod").ZodUUID;
|
|
348
474
|
name: import("zod").ZodString;
|
|
@@ -364,6 +490,19 @@ export declare function createGamingRouter({ gaming, providers, categories, admi
|
|
|
364
490
|
name: import("zod").ZodString;
|
|
365
491
|
}, import("zod/v4/core").$strict>>>;
|
|
366
492
|
}, import("zod/v4/core").$strip>>;
|
|
493
|
+
tags: import("zod").ZodArray<import("zod").ZodObject<{
|
|
494
|
+
id: import("zod").ZodUUID;
|
|
495
|
+
name: import("zod").ZodString;
|
|
496
|
+
type: import("zod").ZodEnum<{
|
|
497
|
+
system: "system";
|
|
498
|
+
custom: "custom";
|
|
499
|
+
}>;
|
|
500
|
+
visibility: import("zod").ZodEnum<{
|
|
501
|
+
visible: "visible";
|
|
502
|
+
invisible: "invisible";
|
|
503
|
+
}>;
|
|
504
|
+
metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>>;
|
|
505
|
+
}, import("zod/v4/core").$strip>>;
|
|
367
506
|
gameType: import("zod").ZodEnum<{
|
|
368
507
|
sportsbook: "sportsbook";
|
|
369
508
|
original: "original";
|
|
@@ -402,6 +541,19 @@ export declare function createGamingRouter({ gaming, providers, categories, admi
|
|
|
402
541
|
name: import("zod").ZodString;
|
|
403
542
|
}, import("zod/v4/core").$strict>>>;
|
|
404
543
|
}, import("zod/v4/core").$strip>>;
|
|
544
|
+
tags: import("zod").ZodArray<import("zod").ZodObject<{
|
|
545
|
+
id: import("zod").ZodUUID;
|
|
546
|
+
name: import("zod").ZodString;
|
|
547
|
+
type: import("zod").ZodEnum<{
|
|
548
|
+
system: "system";
|
|
549
|
+
custom: "custom";
|
|
550
|
+
}>;
|
|
551
|
+
visibility: import("zod").ZodEnum<{
|
|
552
|
+
visible: "visible";
|
|
553
|
+
invisible: "invisible";
|
|
554
|
+
}>;
|
|
555
|
+
metadata: import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>>;
|
|
556
|
+
}, import("zod/v4/core").$strip>>;
|
|
405
557
|
gameType: import("zod").ZodEnum<{
|
|
406
558
|
sportsbook: "sportsbook";
|
|
407
559
|
original: "original";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/gaming/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE9F,OAAO,EACL,aAAa,EAQd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,mBAAmB,EAGpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,mBAAmB,EAKpB,MAAM,qCAAqC,CAAC;AAG7C,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,SAAS,EACT,UAAU,EACV,UAAU,GACX,EAAE;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;CACxB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/gaming/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE9F,OAAO,EACL,aAAa,EAQd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,mBAAmB,EAGpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,cAAc,EAIf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,mBAAmB,EAKpB,MAAM,qCAAqC,CAAC;AAG7C,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,SAAS,EACT,UAAU,EACV,IAAI,EACJ,UAAU,GACX,EAAE;IACD,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,UAAU,EAAE,mBAAmB,CAAC;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoLA"}
|
|
@@ -3,9 +3,10 @@ import { getUserId, mapErrors } from '@openora/core/server';
|
|
|
3
3
|
import { gamingContract, gamingAdminContract } from '../contract/index.js';
|
|
4
4
|
import { GameNotFoundError, GameRoundNotFoundError, GameSlugTakenError, GameAggregatorNotMappedError, RgRestrictedError, InsufficientBalanceError, GameGeoRestrictedError, } from '../service/gaming.service.js';
|
|
5
5
|
import { GameCategoryNotFoundError, GameCategorySlugTakenError, } from '../service/game-category.service.js';
|
|
6
|
+
import { GameTagNameTakenError, GameTagNotFoundError, GameTagSystemDeletionError, } from '../service/game-tag.service.js';
|
|
6
7
|
import { GameProviderNotFoundError, GameProviderSlugTakenError, GameProviderVendorIdTakenError, GameProviderMappingInUseError, } from '../service/game-provider.service.js';
|
|
7
8
|
import { RgLimitExceededError } from '@openora/core/contracts';
|
|
8
|
-
export function createGamingRouter({ gaming, providers, categories, adminGuard, }) {
|
|
9
|
+
export function createGamingRouter({ gaming, providers, categories, tags, adminGuard, }) {
|
|
9
10
|
const os = implement({ ...gamingContract, ...gamingAdminContract }).$context();
|
|
10
11
|
return os.router({
|
|
11
12
|
listGames: os.listGames.handler(({ input }) => gaming.listGamesPublic(input)),
|
|
@@ -60,10 +61,38 @@ export function createGamingRouter({ gaming, providers, categories, adminGuard,
|
|
|
60
61
|
const { userId, ip, userAgent } = await adminGuard.assert(context, 'game-config', 'update');
|
|
61
62
|
return mapErrors({ NOT_FOUND: GameCategoryNotFoundError, CONFLICT: GameCategorySlugTakenError }, () => categories.updateCategory({ ...input, actorId: userId, ip, userAgent }));
|
|
62
63
|
}),
|
|
64
|
+
listAdminTags: os.listAdminTags.handler(async ({ input, context }) => {
|
|
65
|
+
await adminGuard.assert(context, 'game-config', 'view');
|
|
66
|
+
return tags.listTagsAdmin(input);
|
|
67
|
+
}),
|
|
68
|
+
getAdminTag: os.getAdminTag.handler(async ({ input, context }) => {
|
|
69
|
+
await adminGuard.assert(context, 'game-config', 'view');
|
|
70
|
+
return mapErrors({ NOT_FOUND: GameTagNotFoundError }, () => tags.getTag(input.id));
|
|
71
|
+
}),
|
|
72
|
+
createTag: os.createTag.handler(async ({ input, context }) => {
|
|
73
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'game-config', 'create');
|
|
74
|
+
return mapErrors({ CONFLICT: GameTagNameTakenError }, () => tags.createTag({ ...input, actorId: userId, ip, userAgent }));
|
|
75
|
+
}),
|
|
76
|
+
updateTag: os.updateTag.handler(async ({ input, context }) => {
|
|
77
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'game-config', 'update');
|
|
78
|
+
return mapErrors({
|
|
79
|
+
NOT_FOUND: GameTagNotFoundError,
|
|
80
|
+
CONFLICT: GameTagNameTakenError,
|
|
81
|
+
}, () => tags.updateTag({ ...input, actorId: userId, ip, userAgent }));
|
|
82
|
+
}),
|
|
83
|
+
deleteTag: os.deleteTag.handler(async ({ input, context }) => {
|
|
84
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'game-config', 'delete');
|
|
85
|
+
return mapErrors({ NOT_FOUND: GameTagNotFoundError, CONFLICT: GameTagSystemDeletionError }, () => tags.deleteTag({ ...input, actorId: userId, ip, userAgent }));
|
|
86
|
+
}),
|
|
63
87
|
updateGame: os.updateGame.handler(async ({ input, context }) => {
|
|
64
88
|
const { userId, ip, userAgent } = await adminGuard.assert(context, 'game-config', 'update');
|
|
65
89
|
return mapErrors({
|
|
66
|
-
NOT_FOUND: [
|
|
90
|
+
NOT_FOUND: [
|
|
91
|
+
GameNotFoundError,
|
|
92
|
+
GameProviderNotFoundError,
|
|
93
|
+
GameCategoryNotFoundError,
|
|
94
|
+
GameTagNotFoundError,
|
|
95
|
+
],
|
|
67
96
|
CONFLICT: [GameSlugTakenError, GameAggregatorNotMappedError],
|
|
68
97
|
}, () => gaming.updateGame({ ...input, actorId: userId, ip, userAgent }));
|
|
69
98
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/gaming/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAoC,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAEL,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAEL,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,UAAU,kBAAkB,CAAC,EACjC,MAAM,EACN,SAAS,EACT,UAAU,EACV,UAAU,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/gaming/router/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export declare const gameRoundStatusEnum: import("drizzle-orm/pg-core").PgEnum<["active", "completed", "cancelled"]>;
|
|
2
2
|
export declare const gameTypeEnum: import("drizzle-orm/pg-core").PgEnum<["original", "casino", "sportsbook"]>;
|
|
3
|
+
export declare const gameTagTypeEnum: import("drizzle-orm/pg-core").PgEnum<["system", "custom"]>;
|
|
4
|
+
export declare const gameTagVisibilityEnum: import("drizzle-orm/pg-core").PgEnum<["visible", "invisible"]>;
|
|
3
5
|
export declare const gameProvider: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
4
6
|
name: "game_provider";
|
|
5
7
|
schema: undefined;
|
|
@@ -593,6 +595,134 @@ export declare const game: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
|
593
595
|
};
|
|
594
596
|
dialect: "pg";
|
|
595
597
|
}>;
|
|
598
|
+
export declare const gameTag: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
599
|
+
name: "game_tag";
|
|
600
|
+
schema: undefined;
|
|
601
|
+
columns: {
|
|
602
|
+
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
603
|
+
name: "id";
|
|
604
|
+
tableName: "game_tag";
|
|
605
|
+
dataType: "string";
|
|
606
|
+
columnType: "PgUUID";
|
|
607
|
+
data: string;
|
|
608
|
+
driverParam: string;
|
|
609
|
+
notNull: true;
|
|
610
|
+
hasDefault: true;
|
|
611
|
+
isPrimaryKey: true;
|
|
612
|
+
isAutoincrement: false;
|
|
613
|
+
hasRuntimeDefault: false;
|
|
614
|
+
enumValues: undefined;
|
|
615
|
+
baseColumn: never;
|
|
616
|
+
identity: undefined;
|
|
617
|
+
generated: undefined;
|
|
618
|
+
}, {}, {}>;
|
|
619
|
+
name: import("drizzle-orm/pg-core").PgColumn<{
|
|
620
|
+
name: "name";
|
|
621
|
+
tableName: "game_tag";
|
|
622
|
+
dataType: "string";
|
|
623
|
+
columnType: "PgText";
|
|
624
|
+
data: string;
|
|
625
|
+
driverParam: string;
|
|
626
|
+
notNull: true;
|
|
627
|
+
hasDefault: false;
|
|
628
|
+
isPrimaryKey: false;
|
|
629
|
+
isAutoincrement: false;
|
|
630
|
+
hasRuntimeDefault: false;
|
|
631
|
+
enumValues: [string, ...string[]];
|
|
632
|
+
baseColumn: never;
|
|
633
|
+
identity: undefined;
|
|
634
|
+
generated: undefined;
|
|
635
|
+
}, {}, {}>;
|
|
636
|
+
type: import("drizzle-orm/pg-core").PgColumn<{
|
|
637
|
+
name: "type";
|
|
638
|
+
tableName: "game_tag";
|
|
639
|
+
dataType: "string";
|
|
640
|
+
columnType: "PgEnumColumn";
|
|
641
|
+
data: "system" | "custom";
|
|
642
|
+
driverParam: string;
|
|
643
|
+
notNull: true;
|
|
644
|
+
hasDefault: true;
|
|
645
|
+
isPrimaryKey: false;
|
|
646
|
+
isAutoincrement: false;
|
|
647
|
+
hasRuntimeDefault: false;
|
|
648
|
+
enumValues: ["system", "custom"];
|
|
649
|
+
baseColumn: never;
|
|
650
|
+
identity: undefined;
|
|
651
|
+
generated: undefined;
|
|
652
|
+
}, {}, {}>;
|
|
653
|
+
visibility: import("drizzle-orm/pg-core").PgColumn<{
|
|
654
|
+
name: "visibility";
|
|
655
|
+
tableName: "game_tag";
|
|
656
|
+
dataType: "string";
|
|
657
|
+
columnType: "PgEnumColumn";
|
|
658
|
+
data: "visible" | "invisible";
|
|
659
|
+
driverParam: string;
|
|
660
|
+
notNull: true;
|
|
661
|
+
hasDefault: true;
|
|
662
|
+
isPrimaryKey: false;
|
|
663
|
+
isAutoincrement: false;
|
|
664
|
+
hasRuntimeDefault: false;
|
|
665
|
+
enumValues: ["visible", "invisible"];
|
|
666
|
+
baseColumn: never;
|
|
667
|
+
identity: undefined;
|
|
668
|
+
generated: undefined;
|
|
669
|
+
}, {}, {}>;
|
|
670
|
+
metadata: import("drizzle-orm/pg-core").PgColumn<{
|
|
671
|
+
name: "metadata";
|
|
672
|
+
tableName: "game_tag";
|
|
673
|
+
dataType: "custom";
|
|
674
|
+
columnType: "PgCustomColumn";
|
|
675
|
+
data: Record<string, import("zod").JSONType> | null;
|
|
676
|
+
driverParam: string;
|
|
677
|
+
notNull: false;
|
|
678
|
+
hasDefault: false;
|
|
679
|
+
isPrimaryKey: false;
|
|
680
|
+
isAutoincrement: false;
|
|
681
|
+
hasRuntimeDefault: false;
|
|
682
|
+
enumValues: undefined;
|
|
683
|
+
baseColumn: never;
|
|
684
|
+
identity: undefined;
|
|
685
|
+
generated: undefined;
|
|
686
|
+
}, {}, {
|
|
687
|
+
pgColumnBuilderBrand: "PgCustomColumnBuilderBrand";
|
|
688
|
+
}>;
|
|
689
|
+
updatedAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
690
|
+
name: "updatedAt";
|
|
691
|
+
tableName: "game_tag";
|
|
692
|
+
dataType: "date";
|
|
693
|
+
columnType: "PgTimestamp";
|
|
694
|
+
data: Date;
|
|
695
|
+
driverParam: string;
|
|
696
|
+
notNull: true;
|
|
697
|
+
hasDefault: true;
|
|
698
|
+
isPrimaryKey: false;
|
|
699
|
+
isAutoincrement: false;
|
|
700
|
+
hasRuntimeDefault: false;
|
|
701
|
+
enumValues: undefined;
|
|
702
|
+
baseColumn: never;
|
|
703
|
+
identity: undefined;
|
|
704
|
+
generated: undefined;
|
|
705
|
+
}, {}, {}>;
|
|
706
|
+
createdAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
707
|
+
name: "createdAt";
|
|
708
|
+
tableName: "game_tag";
|
|
709
|
+
dataType: "date";
|
|
710
|
+
columnType: "PgTimestamp";
|
|
711
|
+
data: Date;
|
|
712
|
+
driverParam: string;
|
|
713
|
+
notNull: true;
|
|
714
|
+
hasDefault: true;
|
|
715
|
+
isPrimaryKey: false;
|
|
716
|
+
isAutoincrement: false;
|
|
717
|
+
hasRuntimeDefault: false;
|
|
718
|
+
enumValues: undefined;
|
|
719
|
+
baseColumn: never;
|
|
720
|
+
identity: undefined;
|
|
721
|
+
generated: undefined;
|
|
722
|
+
}, {}, {}>;
|
|
723
|
+
};
|
|
724
|
+
dialect: "pg";
|
|
725
|
+
}>;
|
|
596
726
|
export declare const gameCategoryGame: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
597
727
|
name: "game_category_game";
|
|
598
728
|
schema: undefined;
|
|
@@ -651,6 +781,64 @@ export declare const gameCategoryGame: import("drizzle-orm/pg-core").PgTableWith
|
|
|
651
781
|
};
|
|
652
782
|
dialect: "pg";
|
|
653
783
|
}>;
|
|
784
|
+
export declare const gameTagGame: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
785
|
+
name: "game_tag_game";
|
|
786
|
+
schema: undefined;
|
|
787
|
+
columns: {
|
|
788
|
+
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
789
|
+
name: "id";
|
|
790
|
+
tableName: "game_tag_game";
|
|
791
|
+
dataType: "string";
|
|
792
|
+
columnType: "PgUUID";
|
|
793
|
+
data: string;
|
|
794
|
+
driverParam: string;
|
|
795
|
+
notNull: true;
|
|
796
|
+
hasDefault: true;
|
|
797
|
+
isPrimaryKey: true;
|
|
798
|
+
isAutoincrement: false;
|
|
799
|
+
hasRuntimeDefault: false;
|
|
800
|
+
enumValues: undefined;
|
|
801
|
+
baseColumn: never;
|
|
802
|
+
identity: undefined;
|
|
803
|
+
generated: undefined;
|
|
804
|
+
}, {}, {}>;
|
|
805
|
+
gameId: import("drizzle-orm/pg-core").PgColumn<{
|
|
806
|
+
name: "gameId";
|
|
807
|
+
tableName: "game_tag_game";
|
|
808
|
+
dataType: "string";
|
|
809
|
+
columnType: "PgUUID";
|
|
810
|
+
data: string;
|
|
811
|
+
driverParam: string;
|
|
812
|
+
notNull: true;
|
|
813
|
+
hasDefault: false;
|
|
814
|
+
isPrimaryKey: false;
|
|
815
|
+
isAutoincrement: false;
|
|
816
|
+
hasRuntimeDefault: false;
|
|
817
|
+
enumValues: undefined;
|
|
818
|
+
baseColumn: never;
|
|
819
|
+
identity: undefined;
|
|
820
|
+
generated: undefined;
|
|
821
|
+
}, {}, {}>;
|
|
822
|
+
tagId: import("drizzle-orm/pg-core").PgColumn<{
|
|
823
|
+
name: "tagId";
|
|
824
|
+
tableName: "game_tag_game";
|
|
825
|
+
dataType: "string";
|
|
826
|
+
columnType: "PgUUID";
|
|
827
|
+
data: string;
|
|
828
|
+
driverParam: string;
|
|
829
|
+
notNull: true;
|
|
830
|
+
hasDefault: false;
|
|
831
|
+
isPrimaryKey: false;
|
|
832
|
+
isAutoincrement: false;
|
|
833
|
+
hasRuntimeDefault: false;
|
|
834
|
+
enumValues: undefined;
|
|
835
|
+
baseColumn: never;
|
|
836
|
+
identity: undefined;
|
|
837
|
+
generated: undefined;
|
|
838
|
+
}, {}, {}>;
|
|
839
|
+
};
|
|
840
|
+
dialect: "pg";
|
|
841
|
+
}>;
|
|
654
842
|
export declare const gameRound: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
655
843
|
name: "game_round";
|
|
656
844
|
schema: undefined;
|
|
@@ -834,4 +1022,6 @@ export type GameProvider = typeof gameProvider.$inferSelect;
|
|
|
834
1022
|
export type GameProviderAggregatorMapping = typeof gameProviderAggregatorMapping.$inferSelect;
|
|
835
1023
|
export type GameCategory = typeof gameCategory.$inferSelect;
|
|
836
1024
|
export type GameCategoryGame = typeof gameCategoryGame.$inferSelect;
|
|
1025
|
+
export type GameTag = typeof gameTag.$inferSelect;
|
|
1026
|
+
export type GameTagGame = typeof gameTagGame.$inferSelect;
|
|
837
1027
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/gaming/schema/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/gaming/schema/index.ts"],"names":[],"mappings":"AA2BA,eAAO,MAAM,mBAAmB,4EAAmD,CAAC;AAIpF,eAAO,MAAM,YAAY,4EAAkC,CAAC;AAC5D,eAAO,MAAM,eAAe,4DAA0C,CAAC;AACvE,eAAO,MAAM,qBAAqB,gEAAuD,CAAC;AAE1F,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAexB,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBzC,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBxB,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BhB,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBnB,CAAC;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe5B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAevB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBrB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC;AAC5C,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,YAAY,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC5D,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAC,YAAY,CAAC;AAC9F,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,YAAY,CAAC;AACpE,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,YAAY,CAAC;AAClD,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { sql } from 'drizzle-orm';
|
|
2
2
|
import { pgTable, uuid, text, boolean, decimal, timestamp, pgEnum, index, integer, uniqueIndex, jsonb, } from 'drizzle-orm/pg-core';
|
|
3
|
-
import { GameCategoryTranslationsSchema, GAME_TYPES, MONEY_PRECISION, MONEY_SCALE, } from '@openora/core/contracts';
|
|
3
|
+
import { GameCategoryTranslationsSchema, GameTagMetadataSchema, GAME_TAG_TYPES, GAME_TAG_VISIBILITIES, GAME_TYPES, MONEY_PRECISION, MONEY_SCALE, } from '@openora/core/contracts';
|
|
4
4
|
import { zodJsonb } from '@openora/core/server';
|
|
5
5
|
import { GAME_ROUND_STATUSES } from '../contract/index.js';
|
|
6
6
|
// Derives from the contract tuple so the Zod schema and DB enum can never drift.
|
|
@@ -9,6 +9,8 @@ export const gameRoundStatusEnum = pgEnum('game_round_status', GAME_ROUND_STATUS
|
|
|
9
9
|
// because ADMIN_GAME_REPORTING (contracts/adapters, isomorphic) and admin-console's
|
|
10
10
|
// contract both need the same type - see contracts/schemas/game.ts.
|
|
11
11
|
export const gameTypeEnum = pgEnum('game_type', GAME_TYPES);
|
|
12
|
+
export const gameTagTypeEnum = pgEnum('game_tag_type', GAME_TAG_TYPES);
|
|
13
|
+
export const gameTagVisibilityEnum = pgEnum('game_tag_visibility', GAME_TAG_VISIBILITIES);
|
|
12
14
|
export const gameProvider = pgTable('game_provider', {
|
|
13
15
|
id: uuid().primaryKey().defaultRandom(),
|
|
14
16
|
slug: text().notNull(),
|
|
@@ -72,6 +74,21 @@ export const game = pgTable('game', {
|
|
|
72
74
|
index('game_provider_id_idx').on(t.providerId),
|
|
73
75
|
index('game_aggregator_idx').on(t.aggregator),
|
|
74
76
|
]);
|
|
77
|
+
export const gameTag = pgTable('game_tag', {
|
|
78
|
+
id: uuid().primaryKey().defaultRandom(),
|
|
79
|
+
name: text().notNull(),
|
|
80
|
+
type: gameTagTypeEnum().notNull().default('custom'),
|
|
81
|
+
visibility: gameTagVisibilityEnum().notNull().default('invisible'),
|
|
82
|
+
metadata: zodJsonb(GameTagMetadataSchema.nullable(), 'game_tag.metadata')(),
|
|
83
|
+
updatedAt: timestamp({ withTimezone: true })
|
|
84
|
+
.notNull()
|
|
85
|
+
.$onUpdateFn(() => new Date()),
|
|
86
|
+
createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
|
|
87
|
+
}, (t) => [
|
|
88
|
+
uniqueIndex('game_tag_name_key').on(t.name),
|
|
89
|
+
index('game_tag_type_idx').on(t.type),
|
|
90
|
+
index('game_tag_visibility_idx').on(t.visibility),
|
|
91
|
+
]);
|
|
75
92
|
// A game can sit in multiple categories (eg 'table games' + 'blackjack').
|
|
76
93
|
export const gameCategoryGame = pgTable('game_category_game', {
|
|
77
94
|
id: uuid().primaryKey().defaultRandom(),
|
|
@@ -85,6 +102,18 @@ export const gameCategoryGame = pgTable('game_category_game', {
|
|
|
85
102
|
uniqueIndex('game_category_game_key').on(t.gameId, t.categoryId),
|
|
86
103
|
index('game_category_game_category_id_idx').on(t.categoryId),
|
|
87
104
|
]);
|
|
105
|
+
export const gameTagGame = pgTable('game_tag_game', {
|
|
106
|
+
id: uuid().primaryKey().defaultRandom(),
|
|
107
|
+
gameId: uuid()
|
|
108
|
+
.notNull()
|
|
109
|
+
.references(() => game.id, { onDelete: 'cascade' }),
|
|
110
|
+
tagId: uuid()
|
|
111
|
+
.notNull()
|
|
112
|
+
.references(() => gameTag.id, { onDelete: 'cascade' }),
|
|
113
|
+
}, (t) => [
|
|
114
|
+
uniqueIndex('game_tag_game_key').on(t.gameId, t.tagId),
|
|
115
|
+
index('game_tag_game_tag_id_idx').on(t.tagId),
|
|
116
|
+
]);
|
|
88
117
|
export const gameRound = pgTable('game_round', {
|
|
89
118
|
id: uuid().primaryKey().defaultRandom(),
|
|
90
119
|
gameId: uuid()
|