@openora/core 0.4.1-canary.41 → 0.4.1-canary.42

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 (85) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/__tests__/backoffice.router.test.js +13 -1
  3. package/dist/admin-console/__tests__/backoffice.router.test.js.map +1 -1
  4. package/dist/admin-console/__tests__/backoffice.service.test.js +110 -10
  5. package/dist/admin-console/__tests__/backoffice.service.test.js.map +1 -1
  6. package/dist/admin-console/contract/index.d.ts +164 -0
  7. package/dist/admin-console/contract/index.d.ts.map +1 -1
  8. package/dist/admin-console/contract/index.js +66 -1
  9. package/dist/admin-console/contract/index.js.map +1 -1
  10. package/dist/admin-console/plugin.d.ts.map +1 -1
  11. package/dist/admin-console/plugin.js +3 -3
  12. package/dist/admin-console/plugin.js.map +1 -1
  13. package/dist/admin-console/router/index.d.ts +64 -0
  14. package/dist/admin-console/router/index.d.ts.map +1 -1
  15. package/dist/admin-console/router/index.js +8 -0
  16. package/dist/admin-console/router/index.js.map +1 -1
  17. package/dist/admin-console/service/backoffice.service.d.ts +14 -3
  18. package/dist/admin-console/service/backoffice.service.d.ts.map +1 -1
  19. package/dist/admin-console/service/backoffice.service.js +29 -1
  20. package/dist/admin-console/service/backoffice.service.js.map +1 -1
  21. package/dist/casino/gaming/__tests__/admin-reporting.test.d.ts +2 -0
  22. package/dist/casino/gaming/__tests__/admin-reporting.test.d.ts.map +1 -0
  23. package/dist/casino/gaming/__tests__/admin-reporting.test.js +87 -0
  24. package/dist/casino/gaming/__tests__/admin-reporting.test.js.map +1 -0
  25. package/dist/casino/gaming/admin-reporting.d.ts +8 -0
  26. package/dist/casino/gaming/admin-reporting.d.ts.map +1 -0
  27. package/dist/casino/gaming/admin-reporting.js +62 -0
  28. package/dist/casino/gaming/admin-reporting.js.map +1 -0
  29. package/dist/casino/gaming/contract/index.d.ts +16 -0
  30. package/dist/casino/gaming/contract/index.d.ts.map +1 -1
  31. package/dist/casino/gaming/contract/index.js +3 -1
  32. package/dist/casino/gaming/contract/index.js.map +1 -1
  33. package/dist/casino/gaming/drizzle/migrations/0002_yummy_lifeguard.sql +4 -0
  34. package/dist/casino/gaming/drizzle/migrations/meta/0002_snapshot.json +237 -0
  35. package/dist/casino/gaming/drizzle/migrations/meta/_journal.json +7 -0
  36. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  37. package/dist/casino/gaming/plugin.js +3 -1
  38. package/dist/casino/gaming/plugin.js.map +1 -1
  39. package/dist/casino/gaming/router/index.d.ts +10 -0
  40. package/dist/casino/gaming/router/index.d.ts.map +1 -1
  41. package/dist/casino/gaming/schema/index.d.ts +18 -0
  42. package/dist/casino/gaming/schema/index.d.ts.map +1 -1
  43. package/dist/casino/gaming/schema/index.js +11 -1
  44. package/dist/casino/gaming/schema/index.js.map +1 -1
  45. package/dist/casino/gaming/service/gaming.service.d.ts +2 -0
  46. package/dist/casino/gaming/service/gaming.service.d.ts.map +1 -1
  47. package/dist/casino/gaming/service/gaming.service.js +1 -0
  48. package/dist/casino/gaming/service/gaming.service.js.map +1 -1
  49. package/dist/contracts/adapters/admin-game-reporting.d.ts +25 -0
  50. package/dist/contracts/adapters/admin-game-reporting.d.ts.map +1 -0
  51. package/dist/contracts/adapters/admin-game-reporting.js +15 -0
  52. package/dist/contracts/adapters/admin-game-reporting.js.map +1 -0
  53. package/dist/contracts/adapters/admin-player-activity.d.ts +29 -0
  54. package/dist/contracts/adapters/admin-player-activity.d.ts.map +1 -0
  55. package/dist/contracts/adapters/admin-player-activity.js +3 -0
  56. package/dist/contracts/adapters/admin-player-activity.js.map +1 -0
  57. package/dist/contracts/adapters/index.d.ts +4 -0
  58. package/dist/contracts/adapters/index.d.ts.map +1 -1
  59. package/dist/contracts/adapters/index.js +2 -0
  60. package/dist/contracts/adapters/index.js.map +1 -1
  61. package/dist/contracts/schemas/common.d.ts +2 -0
  62. package/dist/contracts/schemas/common.d.ts.map +1 -1
  63. package/dist/contracts/schemas/common.js +6 -0
  64. package/dist/contracts/schemas/common.js.map +1 -1
  65. package/dist/contracts/schemas/game.d.ts +9 -0
  66. package/dist/contracts/schemas/game.d.ts.map +1 -0
  67. package/dist/contracts/schemas/game.js +10 -0
  68. package/dist/contracts/schemas/game.js.map +1 -0
  69. package/dist/contracts/schemas/index.d.ts +1 -0
  70. package/dist/contracts/schemas/index.d.ts.map +1 -1
  71. package/dist/contracts/schemas/index.js +1 -0
  72. package/dist/contracts/schemas/index.js.map +1 -1
  73. package/dist/iam/__tests__/admin-player-activity.test.d.ts +2 -0
  74. package/dist/iam/__tests__/admin-player-activity.test.d.ts.map +1 -0
  75. package/dist/iam/__tests__/admin-player-activity.test.js +58 -0
  76. package/dist/iam/__tests__/admin-player-activity.test.js.map +1 -0
  77. package/dist/iam/adapters/admin-player-activity.d.ts +10 -0
  78. package/dist/iam/adapters/admin-player-activity.d.ts.map +1 -0
  79. package/dist/iam/adapters/admin-player-activity.js +99 -0
  80. package/dist/iam/adapters/admin-player-activity.js.map +1 -0
  81. package/dist/iam/plugin.d.ts.map +1 -1
  82. package/dist/iam/plugin.js +3 -1
  83. package/dist/iam/plugin.js.map +1 -1
  84. package/dist/iam/service/iam.service.d.ts +1 -1
  85. package/package.json +1 -1
@@ -0,0 +1,237 @@
1
+ {
2
+ "id": "148fd667-dcfd-4789-a33e-5869930e7fc8",
3
+ "prevId": "5d66134c-3caa-4bec-b984-d1ea89812e9e",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.game": {
8
+ "name": "game",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "uuid",
14
+ "primaryKey": true,
15
+ "notNull": true,
16
+ "default": "gen_random_uuid()"
17
+ },
18
+ "name": {
19
+ "name": "name",
20
+ "type": "text",
21
+ "primaryKey": false,
22
+ "notNull": true
23
+ },
24
+ "provider": {
25
+ "name": "provider",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": true
29
+ },
30
+ "category": {
31
+ "name": "category",
32
+ "type": "text",
33
+ "primaryKey": false,
34
+ "notNull": true
35
+ },
36
+ "game_type": {
37
+ "name": "game_type",
38
+ "type": "game_type",
39
+ "typeSchema": "public",
40
+ "primaryKey": false,
41
+ "notNull": true,
42
+ "default": "'casino'"
43
+ },
44
+ "thumbnail_url": {
45
+ "name": "thumbnail_url",
46
+ "type": "text",
47
+ "primaryKey": false,
48
+ "notNull": false
49
+ },
50
+ "is_active": {
51
+ "name": "is_active",
52
+ "type": "boolean",
53
+ "primaryKey": false,
54
+ "notNull": true,
55
+ "default": true
56
+ },
57
+ "metadata": {
58
+ "name": "metadata",
59
+ "type": "jsonb",
60
+ "primaryKey": false,
61
+ "notNull": false
62
+ },
63
+ "created_at": {
64
+ "name": "created_at",
65
+ "type": "timestamp with time zone",
66
+ "primaryKey": false,
67
+ "notNull": true,
68
+ "default": "now()"
69
+ }
70
+ },
71
+ "indexes": {},
72
+ "foreignKeys": {},
73
+ "compositePrimaryKeys": {},
74
+ "uniqueConstraints": {},
75
+ "policies": {},
76
+ "checkConstraints": {},
77
+ "isRLSEnabled": false
78
+ },
79
+ "public.game_round": {
80
+ "name": "game_round",
81
+ "schema": "",
82
+ "columns": {
83
+ "id": {
84
+ "name": "id",
85
+ "type": "uuid",
86
+ "primaryKey": true,
87
+ "notNull": true,
88
+ "default": "gen_random_uuid()"
89
+ },
90
+ "game_id": {
91
+ "name": "game_id",
92
+ "type": "uuid",
93
+ "primaryKey": false,
94
+ "notNull": true
95
+ },
96
+ "user_id": {
97
+ "name": "user_id",
98
+ "type": "uuid",
99
+ "primaryKey": false,
100
+ "notNull": true
101
+ },
102
+ "status": {
103
+ "name": "status",
104
+ "type": "game_round_status",
105
+ "typeSchema": "public",
106
+ "primaryKey": false,
107
+ "notNull": true,
108
+ "default": "'active'"
109
+ },
110
+ "bet_amount": {
111
+ "name": "bet_amount",
112
+ "type": "numeric(18, 2)",
113
+ "primaryKey": false,
114
+ "notNull": true,
115
+ "default": "'0'"
116
+ },
117
+ "win_amount": {
118
+ "name": "win_amount",
119
+ "type": "numeric(18, 2)",
120
+ "primaryKey": false,
121
+ "notNull": true,
122
+ "default": "'0'"
123
+ },
124
+ "currency": {
125
+ "name": "currency",
126
+ "type": "text",
127
+ "primaryKey": false,
128
+ "notNull": true
129
+ },
130
+ "started_at": {
131
+ "name": "started_at",
132
+ "type": "timestamp with time zone",
133
+ "primaryKey": false,
134
+ "notNull": true,
135
+ "default": "now()"
136
+ },
137
+ "ended_at": {
138
+ "name": "ended_at",
139
+ "type": "timestamp with time zone",
140
+ "primaryKey": false,
141
+ "notNull": false
142
+ }
143
+ },
144
+ "indexes": {
145
+ "game_round_user_id_idx": {
146
+ "name": "game_round_user_id_idx",
147
+ "columns": [
148
+ {
149
+ "expression": "user_id",
150
+ "isExpression": false,
151
+ "asc": true,
152
+ "nulls": "last"
153
+ }
154
+ ],
155
+ "isUnique": false,
156
+ "concurrently": false,
157
+ "method": "btree",
158
+ "with": {}
159
+ },
160
+ "game_round_game_id_started_at_idx": {
161
+ "name": "game_round_game_id_started_at_idx",
162
+ "columns": [
163
+ {
164
+ "expression": "game_id",
165
+ "isExpression": false,
166
+ "asc": true,
167
+ "nulls": "last"
168
+ },
169
+ {
170
+ "expression": "started_at",
171
+ "isExpression": false,
172
+ "asc": true,
173
+ "nulls": "last"
174
+ }
175
+ ],
176
+ "isUnique": false,
177
+ "concurrently": false,
178
+ "method": "btree",
179
+ "with": {}
180
+ },
181
+ "game_round_started_at_idx": {
182
+ "name": "game_round_started_at_idx",
183
+ "columns": [
184
+ {
185
+ "expression": "started_at",
186
+ "isExpression": false,
187
+ "asc": true,
188
+ "nulls": "last"
189
+ }
190
+ ],
191
+ "isUnique": false,
192
+ "concurrently": false,
193
+ "method": "btree",
194
+ "with": {}
195
+ }
196
+ },
197
+ "foreignKeys": {
198
+ "game_round_game_id_game_id_fk": {
199
+ "name": "game_round_game_id_game_id_fk",
200
+ "tableFrom": "game_round",
201
+ "tableTo": "game",
202
+ "columnsFrom": ["game_id"],
203
+ "columnsTo": ["id"],
204
+ "onDelete": "no action",
205
+ "onUpdate": "no action"
206
+ }
207
+ },
208
+ "compositePrimaryKeys": {},
209
+ "uniqueConstraints": {},
210
+ "policies": {},
211
+ "checkConstraints": {},
212
+ "isRLSEnabled": false
213
+ }
214
+ },
215
+ "enums": {
216
+ "public.game_round_status": {
217
+ "name": "game_round_status",
218
+ "schema": "public",
219
+ "values": ["active", "completed", "cancelled"]
220
+ },
221
+ "public.game_type": {
222
+ "name": "game_type",
223
+ "schema": "public",
224
+ "values": ["original", "casino", "sportsbook"]
225
+ }
226
+ },
227
+ "schemas": {},
228
+ "sequences": {},
229
+ "roles": {},
230
+ "policies": {},
231
+ "views": {},
232
+ "_meta": {
233
+ "columns": {},
234
+ "schemas": {},
235
+ "tables": {}
236
+ }
237
+ }
@@ -15,6 +15,13 @@
15
15
  "when": 1783860249138,
16
16
  "tag": "0001_easy_ben_grimm",
17
17
  "breakpoints": true
18
+ },
19
+ {
20
+ "idx": 2,
21
+ "version": "7",
22
+ "when": 1784711670685,
23
+ "tag": "0002_yummy_lifeguard",
24
+ "breakpoints": true
18
25
  }
19
26
  ]
20
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/casino/gaming/plugin.ts"],"names":[],"mappings":";AAYA,wBAmBG"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/casino/gaming/plugin.ts"],"names":[],"mappings":";AAcA,wBAoBG"}
@@ -1,9 +1,10 @@
1
1
  import { definePlugin, EVENT_BUS, DRIZZLE } from '@openora/core/server';
2
- import { GAME_ADAPTER, PLAY_ELIGIBILITY, RNG_ADAPTER, WALLET_COMMANDS, } from '@openora/core/contracts';
2
+ import { ADMIN_GAME_REPORTING, GAME_ADAPTER, PLAY_ELIGIBILITY, RNG_ADAPTER, WALLET_COMMANDS, } from '@openora/core/contracts';
3
3
  import { GamingService } from './service/gaming.service.js';
4
4
  import { createGamingRouter } from './router/index.js';
5
5
  import { MockGameAdapter } from './adapters/mock/mock-game-adapter.js';
6
6
  import { MockRngAdapter } from './adapters/mock/mock-rng-adapter.js';
7
+ import { DrizzleAdminGameReporting } from './admin-reporting.js';
7
8
  export default definePlugin({
8
9
  id: 'gaming',
9
10
  requiresPorts: [PLAY_ELIGIBILITY],
@@ -11,6 +12,7 @@ export default definePlugin({
11
12
  register(ctx) {
12
13
  ctx.provide(GAME_ADAPTER, () => new MockGameAdapter());
13
14
  ctx.provide(RNG_ADAPTER, () => new MockRngAdapter());
15
+ ctx.provide(ADMIN_GAME_REPORTING, (c) => new DrizzleAdminGameReporting(c.get(DRIZZLE)));
14
16
  ctx.routers.add('gaming', (c) => createGamingRouter(new GamingService(c.get(DRIZZLE), c.get(EVENT_BUS), c.get(GAME_ADAPTER), c.get(PLAY_ELIGIBILITY), c.get(WALLET_COMMANDS))));
15
17
  },
16
18
  });
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/casino/gaming/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,eAAe,YAAY,CAAC;IAC1B,EAAE,EAAE,QAAQ;IACZ,aAAa,EAAE,CAAC,gBAAgB,CAAC;IACjC,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,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC9B,kBAAkB,CAChB,IAAI,aAAa,CACf,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,CACvB,CACF,CACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/casino/gaming/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,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,YAAY,CAAC;IAC1B,EAAE,EAAE,QAAQ;IACZ,aAAa,EAAE,CAAC,gBAAgB,CAAC;IACjC,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,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAC9B,kBAAkB,CAChB,IAAI,aAAa,CACf,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,CACvB,CACF,CACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -6,6 +6,11 @@ export declare function createGamingRouter(gaming: GamingService): {
6
6
  name: import("zod").ZodString;
7
7
  provider: import("zod").ZodString;
8
8
  category: import("zod").ZodString;
9
+ gameType: import("zod").ZodEnum<{
10
+ original: "original";
11
+ casino: "casino";
12
+ sportsbook: "sportsbook";
13
+ }>;
9
14
  thumbnailUrl: import("zod").ZodNullable<import("zod").ZodString>;
10
15
  isActive: import("zod").ZodBoolean;
11
16
  metadata: import("zod").ZodNullable<import("zod").ZodUnknown>;
@@ -17,6 +22,11 @@ export declare function createGamingRouter(gaming: GamingService): {
17
22
  name: import("zod").ZodString;
18
23
  provider: import("zod").ZodString;
19
24
  category: import("zod").ZodString;
25
+ gameType: import("zod").ZodEnum<{
26
+ original: "original";
27
+ casino: "casino";
28
+ sportsbook: "sportsbook";
29
+ }>;
20
30
  thumbnailUrl: import("zod").ZodNullable<import("zod").ZodString>;
21
31
  isActive: import("zod").ZodBoolean;
22
32
  metadata: import("zod").ZodNullable<import("zod").ZodUnknown>;
@@ -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,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,aAAa,EAKd,MAAM,8BAA8B,CAAC;AAEtC,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/gaming/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,aAAa,EAKd,MAAM,8BAA8B,CAAC;AAEtC,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BvD"}
@@ -1,4 +1,5 @@
1
1
  export declare const gameRoundStatusEnum: import("drizzle-orm/pg-core").PgEnum<["active", "completed", "cancelled"]>;
2
+ export declare const gameTypeEnum: import("drizzle-orm/pg-core").PgEnum<["original", "casino", "sportsbook"]>;
2
3
  export declare const game: import("drizzle-orm/pg-core").PgTableWithColumns<{
3
4
  name: "game";
4
5
  schema: undefined;
@@ -71,6 +72,23 @@ export declare const game: import("drizzle-orm/pg-core").PgTableWithColumns<{
71
72
  identity: undefined;
72
73
  generated: undefined;
73
74
  }, {}, {}>;
75
+ gameType: import("drizzle-orm/pg-core").PgColumn<{
76
+ name: "gameType";
77
+ tableName: "game";
78
+ dataType: "string";
79
+ columnType: "PgEnumColumn";
80
+ data: "original" | "casino" | "sportsbook";
81
+ driverParam: string;
82
+ notNull: true;
83
+ hasDefault: true;
84
+ isPrimaryKey: false;
85
+ isAutoincrement: false;
86
+ hasRuntimeDefault: false;
87
+ enumValues: ["original", "casino", "sportsbook"];
88
+ baseColumn: never;
89
+ identity: undefined;
90
+ generated: undefined;
91
+ }, {}, {}>;
74
92
  thumbnailUrl: import("drizzle-orm/pg-core").PgColumn<{
75
93
  name: "thumbnailUrl";
76
94
  tableName: "game";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/gaming/schema/index.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,mBAAmB,4EAAmD,CAAC;AAEpF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASf,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBrB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC;AAC5C,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/gaming/schema/index.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,mBAAmB,4EAAmD,CAAC;AAIpF,eAAO,MAAM,YAAY,4EAAkC,CAAC;AAE5D,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUf,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBrB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC;AAC5C,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,YAAY,CAAC"}
@@ -1,12 +1,18 @@
1
1
  import { pgTable, uuid, text, boolean, decimal, timestamp, pgEnum, index, jsonb, } from 'drizzle-orm/pg-core';
2
+ import { GAME_TYPES } from '@openora/core/contracts';
2
3
  import { GAME_ROUND_STATUSES } from '../contract/index.js';
3
4
  // Derives from the contract tuple so the Zod schema and DB enum can never drift.
4
5
  export const gameRoundStatusEnum = pgEnum('game_round_status', GAME_ROUND_STATUSES);
6
+ // GAME_TYPES is hoisted to core contracts (not module-local like GAME_ROUND_STATUSES)
7
+ // because ADMIN_GAME_REPORTING (contracts/adapters, isomorphic) and admin-console's
8
+ // contract both need the same type - see contracts/schemas/game.ts.
9
+ export const gameTypeEnum = pgEnum('game_type', GAME_TYPES);
5
10
  export const game = pgTable('game', {
6
11
  id: uuid().primaryKey().defaultRandom(),
7
12
  name: text().notNull(),
8
13
  provider: text().notNull(),
9
14
  category: text().notNull(),
15
+ gameType: gameTypeEnum().notNull().default('casino'),
10
16
  thumbnailUrl: text(),
11
17
  isActive: boolean().notNull().default(true),
12
18
  metadata: jsonb(),
@@ -24,5 +30,9 @@ export const gameRound = pgTable('game_round', {
24
30
  currency: text().notNull(),
25
31
  startedAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
26
32
  endedAt: timestamp({ withTimezone: true }),
27
- }, (t) => [index('game_round_user_id_idx').on(t.userId)]);
33
+ }, (t) => [
34
+ index('game_round_user_id_idx').on(t.userId),
35
+ index('game_round_game_id_started_at_idx').on(t.gameId, t.startedAt),
36
+ index('game_round_started_at_idx').on(t.startedAt),
37
+ ]);
28
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/gaming/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAK,GACN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,iFAAiF;AACjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AAEpF,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE;IAClC,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IACvC,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACtB,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IAC1B,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IAC1B,YAAY,EAAE,IAAI,EAAE;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,QAAQ,EAAE,KAAK,EAAE;IACjB,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CACpE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAC9B,YAAY,EACZ;IACE,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IACvC,MAAM,EAAE,IAAI,EAAE;SACX,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5B,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACxB,MAAM,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzD,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IACtE,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IACtE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IAC1B,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACnE,OAAO,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;CAC3C,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CACtD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/gaming/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAK,GACN,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,iFAAiF;AACjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AACpF,sFAAsF;AACtF,oFAAoF;AACpF,oEAAoE;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE;IAClC,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IACvC,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACtB,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IAC1B,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACpD,YAAY,EAAE,IAAI,EAAE;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,QAAQ,EAAE,KAAK,EAAE;IACjB,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CACpE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAC9B,YAAY,EACZ;IACE,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IACvC,MAAM,EAAE,IAAI,EAAE;SACX,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5B,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACxB,MAAM,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IACzD,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IACtE,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IACtE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IAC1B,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;IACnE,OAAO,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;CAC3C,EACD,CAAC,CAAC,EAAE,EAAE,CAAC;IACL,KAAK,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,CAAC,mCAAmC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpE,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;CACnD,CACF,CAAC"}
@@ -17,6 +17,7 @@ export declare class GamingService {
17
17
  name: string;
18
18
  provider: string;
19
19
  category: string;
20
+ gameType: "original" | "casino" | "sportsbook";
20
21
  thumbnailUrl: string | null;
21
22
  isActive: boolean;
22
23
  metadata: unknown;
@@ -26,6 +27,7 @@ export declare class GamingService {
26
27
  name: string;
27
28
  provider: string;
28
29
  category: string;
30
+ gameType: "original" | "casino" | "sportsbook";
29
31
  thumbnailUrl: string | null;
30
32
  isActive: boolean;
31
33
  metadata: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"gaming.service.d.ts","sourceRoot":"","sources":["../../../../src/casino/gaming/service/gaming.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAIb,cAAc,EAGf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,IAAI,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAmB,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEhF,eAAO,MAAM,iBAAiB,2BAA4B,CAAC;AAE3D,eAAO,MAAM,sBAAsB,2BAAiC,CAAC;AAErE,eAAO,MAAM,iBAAiB,iBAG7B,CAAC;AACF,eAAO,MAAM,wBAAwB,qDAGpC,CAAC;AAkBF,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAJd,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,WAAW,EACrB,eAAe,EAAE,mBAAmB,EACpC,cAAc,EAAE,cAAc;IAG3C,SAAS;;;;;;;;;IAST,OAAO,CAAC,EAAE,EAAE,MAAM;;;;;;;;;IAQlB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;IA2CtF,QAAQ,CACZ,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAClB,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,GACvB,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAsB1C,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;CASvC"}
1
+ {"version":3,"file":"gaming.service.d.ts","sourceRoot":"","sources":["../../../../src/casino/gaming/service/gaming.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAIb,cAAc,EAGf,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,IAAI,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAmB,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEhF,eAAO,MAAM,iBAAiB,2BAA4B,CAAC;AAE3D,eAAO,MAAM,sBAAsB,2BAAiC,CAAC;AAErE,eAAO,MAAM,iBAAiB,iBAG7B,CAAC;AACF,eAAO,MAAM,wBAAwB,qDAGpC,CAAC;AAmBF,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAJd,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,WAAW,EACrB,eAAe,EAAE,mBAAmB,EACpC,cAAc,EAAE,cAAc;IAG3C,SAAS;;;;;;;;;;IAST,OAAO,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;IAQlB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;IA2CtF,QAAQ,CACZ,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAClB,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,GACvB,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAsB1C,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;CASvC"}
@@ -11,6 +11,7 @@ function toGame(record) {
11
11
  name: record.name,
12
12
  provider: record.provider,
13
13
  category: record.category,
14
+ gameType: record.gameType,
14
15
  thumbnailUrl: record.thumbnailUrl,
15
16
  isActive: record.isActive,
16
17
  metadata: record.metadata,
@@ -1 +1 @@
1
- {"version":3,"file":"gaming.service.js","sourceRoot":"","sources":["../../../../src/casino/gaming/service/gaming.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gaming.service.js","sourceRoot":"","sources":["../../../../src/casino/gaming/service/gaming.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type Token } from './token.js';
2
+ import type { GameType } from '../schemas/game.js';
3
+ export declare const GAME_PERFORMANCE_SORT_FIELDS: readonly ["name", "gameType", "volume", "revenue", "uniquePlayers", "roundsPlayed"];
4
+ export type GamePerformanceSortBy = (typeof GAME_PERFORMANCE_SORT_FIELDS)[number];
5
+ export type GamePerformanceFilter = {
6
+ dateFrom?: Date;
7
+ dateTo?: Date;
8
+ gameType?: GameType;
9
+ sortBy?: GamePerformanceSortBy;
10
+ sortDir?: 'asc' | 'desc';
11
+ };
12
+ export type GamePerformanceRow = {
13
+ gameId: string;
14
+ name: string;
15
+ gameType: GameType;
16
+ volume: string;
17
+ revenue: string;
18
+ uniquePlayers: number;
19
+ roundsPlayed: number;
20
+ };
21
+ export type AdminGameReporting = {
22
+ listGamePerformance(filter: GamePerformanceFilter): Promise<GamePerformanceRow[]>;
23
+ };
24
+ export declare const ADMIN_GAME_REPORTING: Token<AdminGameReporting>;
25
+ //# sourceMappingURL=admin-game-reporting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-game-reporting.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-game-reporting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAOnD,eAAO,MAAM,4BAA4B,qFAO/B,CAAC;AACX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC1B,CAAC;AAMF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;CACnF,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,CAAuC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { createToken } from './token.js';
2
+ // Admin/back-office reporting over game performance. Owned + bound by the
3
+ // casino/gaming module (it owns the `game`/`gameRound` tables); the back-office
4
+ // depends only on this port, never on the gaming schema. A query port like
5
+ // ADMIN_WALLET_REPORTING. See ADR-0017/0025.
6
+ export const GAME_PERFORMANCE_SORT_FIELDS = [
7
+ 'name',
8
+ 'gameType',
9
+ 'volume',
10
+ 'revenue',
11
+ 'uniquePlayers',
12
+ 'roundsPlayed',
13
+ ];
14
+ export const ADMIN_GAME_REPORTING = createToken('ADMIN_GAME_REPORTING');
15
+ //# sourceMappingURL=admin-game-reporting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-game-reporting.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-game-reporting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAGrD,0EAA0E;AAC1E,gFAAgF;AAChF,2EAA2E;AAC3E,6CAA6C;AAE7C,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,MAAM;IACN,UAAU;IACV,QAAQ;IACR,SAAS;IACT,eAAe;IACf,cAAc;CACN,CAAC;AA6BX,MAAM,CAAC,MAAM,oBAAoB,GAA8B,WAAW,CAAC,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { type Token } from './token.js';
2
+ export type PlayerActivityFilter = {
3
+ dateFrom?: Date;
4
+ dateTo?: Date;
5
+ };
6
+ export type RegistrationsOverTimePoint = {
7
+ date: string;
8
+ registrations: number;
9
+ };
10
+ export type ActiveUsersTrendPoint = {
11
+ date: string;
12
+ dau: number;
13
+ wau: number;
14
+ mau: number;
15
+ };
16
+ export type RetentionCohortRow = {
17
+ cohortDate: string;
18
+ cohortSize: number;
19
+ returned: number;
20
+ returnRate: number;
21
+ isComplete: boolean;
22
+ };
23
+ export type AdminPlayerActivity = {
24
+ getRegistrationsOverTime(filter: PlayerActivityFilter): Promise<RegistrationsOverTimePoint[]>;
25
+ getActiveUsersTrend(filter: PlayerActivityFilter): Promise<ActiveUsersTrendPoint[]>;
26
+ getRetentionCohorts(filter: PlayerActivityFilter, windowDays: 7 | 30): Promise<RetentionCohortRow[]>;
27
+ };
28
+ export declare const ADMIN_PLAYER_ACTIVITY: Token<AdminPlayerActivity>;
29
+ //# sourceMappingURL=admin-player-activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-player-activity.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-player-activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AASrD,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,IAAI,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAGF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAOF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,wBAAwB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAC9F,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAIpF,mBAAmB,CACjB,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,mBAAmB,CACvB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createToken } from './token.js';
2
+ export const ADMIN_PLAYER_ACTIVITY = createToken('ADMIN_PLAYER_ACTIVITY');
3
+ //# sourceMappingURL=admin-player-activity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-player-activity.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-player-activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAqDrD,MAAM,CAAC,MAAM,qBAAqB,GAChC,WAAW,CAAC,uBAAuB,CAAC,CAAC"}
@@ -52,6 +52,10 @@ export type { AdminUserRow, AdminUserListOptions, AdminUserDirectory, AdminPlaye
52
52
  export { ADMIN_USER_DIRECTORY, ADMIN_USER_SORT_BY_VALUES } from './admin-user-directory.js';
53
53
  export type { AdminTxRow, AdminTxDetail, AdminTxListOptions, AdminWalletReporting, AdminTxSortBy, } from './admin-wallet-reporting.js';
54
54
  export { ADMIN_WALLET_REPORTING, ADMIN_TX_SORT_BY_VALUES } from './admin-wallet-reporting.js';
55
+ export type { GamePerformanceSortBy, GamePerformanceFilter, GamePerformanceRow, AdminGameReporting, } from './admin-game-reporting.js';
56
+ export { GAME_PERFORMANCE_SORT_FIELDS, ADMIN_GAME_REPORTING } from './admin-game-reporting.js';
57
+ export type { PlayerActivityFilter, RegistrationsOverTimePoint, ActiveUsersTrendPoint, RetentionCohortRow, AdminPlayerActivity, } from './admin-player-activity.js';
58
+ export { ADMIN_PLAYER_ACTIVITY } from './admin-player-activity.js';
55
59
  export type { IdentityServiceOptions, IdentityLockoutOptions, SessionCommands, } from './identity.js';
56
60
  export { IDENTITY_OPTIONS, SESSION_COMMANDS } from './identity.js';
57
61
  export type { LoginEnforcementPort } from './login-enforcement.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":"AAKA,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnF,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,YAAY,EACV,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,YAAY,EACV,qBAAqB,EACrB,oCAAoC,GACrC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,YAAY,EACV,eAAe,EACf,SAAS,EACT,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAElD,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAElF,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAE/E,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,YAAY,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,SAAS,EACT,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAElB,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAEzE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,YAAY,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAElE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAElF,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,GAChB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE5F,YAAY,EACV,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE9F,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAE/F,YAAY,EACV,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEnE,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -29,6 +29,8 @@ export { AUDIT_WRITER } from './audit.js';
29
29
  export { PLAYER_TAGS } from './player-tags.js';
30
30
  export { ADMIN_USER_DIRECTORY, ADMIN_USER_SORT_BY_VALUES } from './admin-user-directory.js';
31
31
  export { ADMIN_WALLET_REPORTING, ADMIN_TX_SORT_BY_VALUES } from './admin-wallet-reporting.js';
32
+ export { GAME_PERFORMANCE_SORT_FIELDS, ADMIN_GAME_REPORTING } from './admin-game-reporting.js';
33
+ export { ADMIN_PLAYER_ACTIVITY } from './admin-player-activity.js';
32
34
  export { IDENTITY_OPTIONS, SESSION_COMMANDS } from './identity.js';
33
35
  export { LOGIN_ENFORCEMENT } from './login-enforcement.js';
34
36
  export { PLAY_ELIGIBILITY } from './play-eligibility.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,gFAAgF;AAChF,gFAAgF;AAChF,sFAAsF;AAGtF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AASrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,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;AASnC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAazC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMvC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/C,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAS5F,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAO9F,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,gFAAgF;AAChF,gFAAgF;AAChF,sFAAsF;AAGtF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AASrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,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;AASnC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAazC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMvC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/C,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAS5F,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAQ9F,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAS/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAOnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -25,4 +25,6 @@ export declare const AuthGuardReasonSchema: z.ZodEnum<{
25
25
  permission_denied: "permission_denied";
26
26
  }>;
27
27
  export type AuthGuardReason = z.infer<typeof AuthGuardReasonSchema>;
28
+ export declare const SignedMoneyAmountSchema: z.ZodString;
29
+ export type SignedMoneyAmount = z.infer<typeof SignedMoneyAmountSchema>;
28
30
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,eAAe,kBAAmB,CAAC;AAEhD,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C,eAAO,MAAM,aAAa;;iBAA+B,CAAC;AAC1D,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,iBAAiB;;iBAAmC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,iBAAiB,aAK3B,CAAC;AACJ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,kBAAkB,wGAKrB,CAAC;AACX,eAAO,MAAM,qBAAqB;;;;;EAA6B,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,eAAe,kBAAmB,CAAC;AAEhD,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C,eAAO,MAAM,aAAa;;iBAA+B,CAAC;AAC1D,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,iBAAiB;;iBAAmC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,iBAAiB,aAK3B,CAAC;AACJ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,kBAAkB,wGAKrB,CAAC;AACX,eAAO,MAAM,qBAAqB;;;;;EAA6B,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAKpE,eAAO,MAAM,uBAAuB,aAKjC,CAAC;AACJ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -17,4 +17,10 @@ export const AUTH_GUARD_REASONS = [
17
17
  'permission_denied',
18
18
  ];
19
19
  export const AuthGuardReasonSchema = z.enum(AUTH_GUARD_REASONS);
20
+ // A money-shaped value that MAY be negative - eg GGR (bets - wins) over a period, which
21
+ // legitimately goes negative when players are paid out more than they wagered. Never use
22
+ // for a balance/threshold/ledger amount, which stay non-negative (MoneyAmountSchema).
23
+ export const SignedMoneyAmountSchema = z
24
+ .string()
25
+ .regex(/^-?\d+(\.\d{1,8})?$/, 'must be a decimal string (optionally negative) with at most 8 decimal places');
20
26
  //# sourceMappingURL=common.js.map