@openora/core 0.4.1-canary.33 → 0.4.1-canary.35
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/bin/migrate.mjs +55 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/admin-console/__tests__/backoffice.router.test.js +4 -4
- package/dist/admin-console/__tests__/backoffice.router.test.js.map +1 -1
- package/dist/admin-console/router/index.d.ts.map +1 -1
- package/dist/admin-console/router/index.js +3 -1
- package/dist/admin-console/router/index.js.map +1 -1
- package/dist/admin-console/service/backoffice.service.d.ts +2 -2
- package/dist/admin-console/service/backoffice.service.d.ts.map +1 -1
- package/dist/admin-console/service/backoffice.service.js +2 -2
- package/dist/admin-console/service/backoffice.service.js.map +1 -1
- package/dist/audit/router/index.d.ts.map +1 -1
- package/dist/audit/router/index.js +1 -5
- package/dist/audit/router/index.js.map +1 -1
- package/dist/audit/service/audit.service.d.ts +4 -4
- package/dist/cms/__tests__/cms.router.test.js +2 -2
- package/dist/cms/__tests__/cms.router.test.js.map +1 -1
- package/dist/cms/router/index.js +12 -12
- package/dist/cms/router/index.js.map +1 -1
- package/dist/cms/service/cms.service.d.ts +7 -7
- package/dist/cms/service/cms.service.d.ts.map +1 -1
- package/dist/cms/service/cms.service.js +54 -14
- package/dist/cms/service/cms.service.js.map +1 -1
- package/dist/compliance/__tests__/rg.router.test.js +7 -4
- package/dist/compliance/__tests__/rg.router.test.js.map +1 -1
- package/dist/compliance/router/index.d.ts.map +1 -1
- package/dist/compliance/router/index.js +21 -16
- package/dist/compliance/router/index.js.map +1 -1
- package/dist/compliance/service/compliance.service.d.ts +4 -4
- package/dist/compliance/service/compliance.service.d.ts.map +1 -1
- package/dist/compliance/service/compliance.service.js +17 -5
- package/dist/compliance/service/compliance.service.js.map +1 -1
- package/dist/compliance/service/kyc.service.d.ts +2 -2
- package/dist/compliance/service/kyc.service.d.ts.map +1 -1
- package/dist/compliance/service/kyc.service.js +3 -1
- package/dist/compliance/service/kyc.service.js.map +1 -1
- package/dist/compliance/service/rg.service.d.ts +5 -5
- package/dist/compliance/service/rg.service.d.ts.map +1 -1
- package/dist/compliance/service/rg.service.js +12 -4
- package/dist/compliance/service/rg.service.js.map +1 -1
- package/dist/contracts/adapters/admin-user-directory.d.ts +2 -1
- package/dist/contracts/adapters/admin-user-directory.d.ts.map +1 -1
- package/dist/contracts/adapters/admin-user-directory.js.map +1 -1
- package/dist/contracts/adapters/audit.d.ts +2 -3
- package/dist/contracts/adapters/audit.d.ts.map +1 -1
- package/dist/contracts/adapters/audit.js.map +1 -1
- package/dist/contracts/schemas/common.d.ts +5 -0
- package/dist/contracts/schemas/common.d.ts.map +1 -1
- package/dist/contracts/schemas/common.js +4 -0
- package/dist/contracts/schemas/common.js.map +1 -1
- package/dist/contracts/schemas/events.d.ts +105 -1
- package/dist/contracts/schemas/events.d.ts.map +1 -1
- package/dist/contracts/schemas/events.js +68 -65
- package/dist/contracts/schemas/events.js.map +1 -1
- package/dist/engagement/chat/__tests__/chat.service.test.js +61 -12
- package/dist/engagement/chat/__tests__/chat.service.test.js.map +1 -1
- package/dist/engagement/chat/router/index.d.ts.map +1 -1
- package/dist/engagement/chat/router/index.js +25 -13
- package/dist/engagement/chat/router/index.js.map +1 -1
- package/dist/engagement/chat/service/chat.service.d.ts +18 -18
- package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
- package/dist/engagement/chat/service/chat.service.js +67 -18
- package/dist/engagement/chat/service/chat.service.js.map +1 -1
- package/dist/iam/__tests__/iam.service.test.js +9 -5
- package/dist/iam/__tests__/iam.service.test.js.map +1 -1
- package/dist/iam/router/index.d.ts.map +1 -1
- package/dist/iam/router/index.js +3 -1
- package/dist/iam/router/index.js.map +1 -1
- package/dist/iam/service/iam.service.d.ts +3 -3
- package/dist/iam/service/iam.service.d.ts.map +1 -1
- package/dist/iam/service/iam.service.js +17 -1
- package/dist/iam/service/iam.service.js.map +1 -1
- package/dist/pam/identity/__tests__/admin-user-directory.test.js +4 -0
- package/dist/pam/identity/__tests__/admin-user-directory.test.js.map +1 -1
- package/dist/pam/identity/__tests__/phone-login.service.test.js +31 -23
- package/dist/pam/identity/__tests__/phone-login.service.test.js.map +1 -1
- package/dist/pam/identity/admin-user-directory.d.ts +2 -2
- package/dist/pam/identity/admin-user-directory.d.ts.map +1 -1
- package/dist/pam/identity/admin-user-directory.js +5 -3
- package/dist/pam/identity/admin-user-directory.js.map +1 -1
- package/dist/pam/identity/router/index.d.ts.map +1 -1
- package/dist/pam/identity/router/index.js +14 -25
- package/dist/pam/identity/router/index.js.map +1 -1
- package/dist/pam/identity/service/identity.service.d.ts +2 -2
- package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
- package/dist/pam/identity/service/identity.service.js +21 -14
- package/dist/pam/identity/service/identity.service.js.map +1 -1
- package/dist/pam/identity/service/phone-login.service.d.ts +3 -9
- package/dist/pam/identity/service/phone-login.service.d.ts.map +1 -1
- package/dist/pam/identity/service/phone-login.service.js +7 -1
- package/dist/pam/identity/service/phone-login.service.js.map +1 -1
- package/dist/pam/identity/service/session.service.d.ts +3 -3
- package/dist/pam/identity/service/session.service.d.ts.map +1 -1
- package/dist/pam/identity/service/session.service.js +11 -4
- package/dist/pam/identity/service/session.service.js.map +1 -1
- package/dist/pam/player-management/__tests__/player.router.test.js +3 -3
- package/dist/pam/player-management/__tests__/player.router.test.js.map +1 -1
- package/dist/pam/player-management/contract/index.js +1 -1
- package/dist/pam/tag/__tests__/tag-evaluation.service.test.js +2 -1
- package/dist/pam/tag/__tests__/tag-evaluation.service.test.js.map +1 -1
- package/dist/pam/tag/__tests__/tag.router.test.js +2 -2
- package/dist/pam/tag/__tests__/tag.router.test.js.map +1 -1
- package/dist/pam/tag/router/index.d.ts.map +1 -1
- package/dist/pam/tag/router/index.js +8 -4
- package/dist/pam/tag/router/index.js.map +1 -1
- package/dist/pam/tag/service/tag-evaluation.service.d.ts +0 -1
- package/dist/pam/tag/service/tag-evaluation.service.d.ts.map +1 -1
- package/dist/pam/tag/service/tag-evaluation.service.js +1 -1
- package/dist/pam/tag/service/tag-evaluation.service.js.map +1 -1
- package/dist/pam/tag/service/tag-mappers.d.ts +1 -0
- package/dist/pam/tag/service/tag-mappers.d.ts.map +1 -1
- package/dist/pam/tag/service/tag-mappers.js +1 -0
- package/dist/pam/tag/service/tag-mappers.js.map +1 -1
- package/dist/pam/tag/service/tag-rule.service.d.ts +2 -2
- package/dist/pam/tag/service/tag-rule.service.d.ts.map +1 -1
- package/dist/pam/tag/service/tag-rule.service.js +8 -2
- package/dist/pam/tag/service/tag-rule.service.js.map +1 -1
- package/dist/pam/tag/service/tag.service.d.ts +3 -3
- package/dist/pam/tag/service/tag.service.d.ts.map +1 -1
- package/dist/pam/tag/service/tag.service.js +9 -5
- package/dist/pam/tag/service/tag.service.js.map +1 -1
- package/dist/server/auth/admin-guard.d.ts +7 -9
- package/dist/server/auth/admin-guard.d.ts.map +1 -1
- package/dist/server/auth/admin-guard.js +10 -10
- package/dist/server/auth/admin-guard.js.map +1 -1
- package/dist/server/auth/index.d.ts +1 -0
- package/dist/server/auth/index.d.ts.map +1 -1
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/kernel/event-bus.d.ts +1 -2
- package/dist/server/kernel/event-bus.d.ts.map +1 -1
- package/dist/server/kernel/event-bus.js +9 -3
- package/dist/server/kernel/event-bus.js.map +1 -1
- package/dist/server/kernel/index.d.ts +2 -2
- package/dist/server/kernel/index.d.ts.map +1 -1
- package/dist/server/kernel/index.js +2 -2
- package/dist/server/kernel/index.js.map +1 -1
- package/dist/server/kernel/request-context.d.ts +4 -0
- package/dist/server/kernel/request-context.d.ts.map +1 -1
- package/dist/server/kernel/request-context.js +4 -0
- package/dist/server/kernel/request-context.js.map +1 -1
- package/dist/server/kernel/router-utils.d.ts +3 -0
- package/dist/server/kernel/router-utils.d.ts.map +1 -1
- package/dist/server/kernel/router-utils.js +8 -0
- package/dist/server/kernel/router-utils.js.map +1 -1
- package/dist/server/plugin-host/load-extensions.d.ts +2 -2
- package/dist/server/plugin-host/load-extensions.js +2 -2
- package/dist/server/plugin-host/load-plugins.d.ts +1 -1
- package/dist/server/plugin-host/load-plugins.d.ts.map +1 -1
- package/dist/server/plugin-host/load-plugins.js.map +1 -1
- package/dist/server/runtime/create-app.d.ts.map +1 -1
- package/dist/server/runtime/create-app.js +4 -3
- package/dist/server/runtime/create-app.js.map +1 -1
- package/dist/testing/mock.d.ts +5 -1
- package/dist/testing/mock.d.ts.map +1 -1
- package/dist/testing/mock.js +12 -0
- package/dist/testing/mock.js.map +1 -1
- package/dist/wallet/__tests__/wallet-auto-rule.router.test.js +4 -4
- package/dist/wallet/__tests__/wallet-auto-rule.router.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js +78 -14
- package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet-kyc-gate.test.js +21 -6
- package/dist/wallet/__tests__/wallet-kyc-gate.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet-webhook.router.test.js +3 -3
- package/dist/wallet/__tests__/wallet-webhook.router.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet.rate-limit.test.js +2 -2
- package/dist/wallet/__tests__/wallet.rate-limit.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet.router.test.js +4 -4
- package/dist/wallet/__tests__/wallet.router.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet.service.test.js +42 -8
- package/dist/wallet/__tests__/wallet.service.test.js.map +1 -1
- package/dist/wallet/router/index.d.ts.map +1 -1
- package/dist/wallet/router/index.js +24 -17
- package/dist/wallet/router/index.js.map +1 -1
- package/dist/wallet/service/wallet.service.d.ts +5 -5
- package/dist/wallet/service/wallet.service.d.ts.map +1 -1
- package/dist/wallet/service/wallet.service.js +11 -5
- package/dist/wallet/service/wallet.service.js.map +1 -1
- package/{turbo-generators → generators}/src/config.ts +194 -97
- package/{turbo-generators → generators}/src/templates/contract.hbs +5 -4
- package/generators/src/templates/module/agents.hbs +17 -0
- package/{turbo-generators → generators}/src/templates/module/drizzle.config.hbs +5 -5
- package/generators/src/templates/module/index.hbs +5 -0
- package/generators/src/templates/module/migrate.hbs +17 -0
- package/{turbo-generators → generators}/src/templates/module/plugin.hbs +1 -3
- package/{turbo-generators → generators}/src/templates/module/router.hbs +5 -5
- package/generators/src/templates/module/schema.hbs +14 -0
- package/{turbo-generators → generators}/src/templates/module/service.hbs +6 -6
- package/package.json +44 -6
- package/turbo-generators/src/templates/module/agents.hbs +0 -26
- package/turbo-generators/src/templates/module/index.hbs +0 -5
- package/turbo-generators/src/templates/module/migrate.hbs +0 -15
- package/turbo-generators/src/templates/module/package.json.hbs +0 -62
- package/turbo-generators/src/templates/module/schema.hbs +0 -21
- package/turbo-generators/src/templates/module/tsconfig.json.hbs +0 -8
- /package/{turbo-generators → generators}/src/templates/adapter.hbs +0 -0
- /package/{turbo-generators → generators}/src/templates/adr.hbs +0 -0
- /package/{turbo-generators → generators}/src/templates/config.hbs +0 -0
- /package/{turbo-generators → generators}/src/templates/job-worker.hbs +0 -0
- /package/{turbo-generators → generators}/src/templates/plugin.hbs +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compliance/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE9E,OAAO,EACL,iBAAiB,EAGlB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EACL,SAAS,EAKV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,wBAAgB,sBAAsB,CAAC,EACrC,UAAU,EACV,UAAU,EACV,GAAG,EACH,UAAU,EACV,eAAe,EACf,EAAE,EACF,YAAY,GACb,EAAE;IACD,EAAE,EAAE,SAAS,CAAC;IACd,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,EAAE,sBAAsB,CAAC;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,kBAAkB,CAAC;CACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compliance/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE9E,OAAO,EACL,iBAAiB,EAGlB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EACL,SAAS,EAKV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,wBAAgB,sBAAsB,CAAC,EACrC,UAAU,EACV,UAAU,EACV,GAAG,EACH,UAAU,EACV,eAAe,EACf,EAAE,EACF,YAAY,GACb,EAAE;IACD,EAAE,EAAE,SAAS,CAAC;IACd,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,EAAE,sBAAsB,CAAC;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,kBAAkB,CAAC;CACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoGA"}
|
|
@@ -7,16 +7,19 @@ export function createComplianceRouter({ compliance, adminGuard, kyc, kycAdapter
|
|
|
7
7
|
const os = implement(complianceContract).$context();
|
|
8
8
|
return os.router({
|
|
9
9
|
getLimits: os.getLimits.handler(({ context }) => compliance.getLimitsForUser(getUserId(context))),
|
|
10
|
-
upsertLimit: os.upsertLimit.handler(({ input, context }) =>
|
|
11
|
-
|
|
10
|
+
upsertLimit: os.upsertLimit.handler(({ input, context }) => {
|
|
11
|
+
return compliance.upsertLimit(getUserId(context), input, context.clientMeta);
|
|
12
|
+
}),
|
|
13
|
+
deleteLimit: os.deleteLimit.handler(({ input, context }) => {
|
|
14
|
+
return mapErrors({ NOT_FOUND: LimitNotFoundError, FORBIDDEN: LimitOwnershipError }, () => compliance.removeLimit(input.id, getUserId(context), context.clientMeta));
|
|
15
|
+
}),
|
|
12
16
|
geoCheck: os.geoCheck.handler(({ context }) => {
|
|
13
|
-
const ip = context.
|
|
14
|
-
|
|
15
|
-
return compliance.geoCheck(ip);
|
|
17
|
+
const { ip } = context.clientMeta;
|
|
18
|
+
return compliance.geoCheck(ip ?? '127.0.0.1');
|
|
16
19
|
}),
|
|
17
20
|
addGeoRule: os.addGeoRule.handler(async ({ input, context }) => {
|
|
18
|
-
const
|
|
19
|
-
return compliance.addGeoRule(input,
|
|
21
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'compliance', 'override-limit');
|
|
22
|
+
return compliance.addGeoRule(input, userId, { ip, userAgent });
|
|
20
23
|
}),
|
|
21
24
|
listGeoRules: os.listGeoRules.handler(async ({ context }) => {
|
|
22
25
|
await adminGuard.assert(context, 'compliance', 'view');
|
|
@@ -26,7 +29,9 @@ export function createComplianceRouter({ compliance, adminGuard, kyc, kycAdapter
|
|
|
26
29
|
await adminGuard.assert(context, 'compliance', 'view');
|
|
27
30
|
return kyc.getForPlayer(input.userId);
|
|
28
31
|
}),
|
|
29
|
-
submitKyc: os.submitKyc.handler(({ input, context }) =>
|
|
32
|
+
submitKyc: os.submitKyc.handler(({ input, context }) => {
|
|
33
|
+
return kyc.submit(getUserId(context), input, context.clientMeta);
|
|
34
|
+
}),
|
|
30
35
|
// M2M provider webhook - no admin session. Verify the verbatim bytes against the
|
|
31
36
|
// signature header or reject (fail closed); never fall back to an empty body.
|
|
32
37
|
kycWebhook: os.kycWebhook.handler(async ({ context }) => {
|
|
@@ -41,23 +46,23 @@ export function createComplianceRouter({ compliance, adminGuard, kyc, kycAdapter
|
|
|
41
46
|
return { ok: true };
|
|
42
47
|
}),
|
|
43
48
|
setPlayerLimit: os.setPlayerLimit.handler(async ({ input, context }) => {
|
|
44
|
-
const
|
|
45
|
-
return rg.setPlayerLimit(input.userId, input,
|
|
49
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'compliance', 'manage-rg');
|
|
50
|
+
return rg.setPlayerLimit(input.userId, input, userId, { ip, userAgent });
|
|
46
51
|
}),
|
|
47
52
|
activateCoolingOff: os.activateCoolingOff.handler(async ({ input, context }) => {
|
|
48
|
-
const
|
|
49
|
-
return mapErrors({ CONFLICT: ActiveExclusionError }, () => rg.activateCoolingOff(input.userId, input,
|
|
53
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'compliance', 'manage-rg');
|
|
54
|
+
return mapErrors({ CONFLICT: ActiveExclusionError }, () => rg.activateCoolingOff(input.userId, input, userId, { ip, userAgent }));
|
|
50
55
|
}),
|
|
51
56
|
activateSelfExclusion: os.activateSelfExclusion.handler(async ({ input, context }) => {
|
|
52
|
-
const
|
|
53
|
-
return mapErrors({ CONFLICT: ActiveExclusionError }, () => rg.activateSelfExclusion(input.userId, input,
|
|
57
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'compliance', 'manage-rg');
|
|
58
|
+
return mapErrors({ CONFLICT: ActiveExclusionError }, () => rg.activateSelfExclusion(input.userId, input, userId, { ip, userAgent }));
|
|
54
59
|
}),
|
|
55
60
|
liftSelfExclusion: os.liftSelfExclusion.handler(async ({ input, context }) => {
|
|
56
|
-
const
|
|
61
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'compliance', 'manage-rg');
|
|
57
62
|
return mapErrors({
|
|
58
63
|
NOT_FOUND: ExclusionNotFoundError,
|
|
59
64
|
CONFLICT: [PermanentExclusionLiftError, ExclusionPeriodNotElapsedError],
|
|
60
|
-
}, () => rg.liftSelfExclusion(input.userId, input,
|
|
65
|
+
}, () => rg.liftSelfExclusion(input.userId, input, userId, { ip, userAgent }));
|
|
61
66
|
}),
|
|
62
67
|
getRgSection: os.getRgSection.handler(async ({ input, context }) => {
|
|
63
68
|
await adminGuard.assert(context, 'compliance', 'view');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compliance/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAc,SAAS,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AAEzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAEL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAGlC,MAAM,UAAU,sBAAsB,CAAC,EACrC,UAAU,EACV,UAAU,EACV,GAAG,EACH,UAAU,EACV,eAAe,EACf,EAAE,EACF,YAAY,GASb;IACC,MAAM,EAAE,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAc,CAAC;IAEhE,OAAO,EAAE,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAC9C,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAChD;QAED,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compliance/router/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DrizzleService, type EventBus } from '@openora/core/server';
|
|
2
2
|
import type { UpsertLimitInput, AddGeoRuleInput } from '../contract/index.js';
|
|
3
|
-
import { type GeoIpAdapter, type User } from '@openora/core/contracts';
|
|
3
|
+
import { type ClientMeta, type GeoIpAdapter, type User } from '@openora/core/contracts';
|
|
4
4
|
export declare const LimitNotFoundError: new (id: string) => Error;
|
|
5
5
|
export declare const LimitOwnershipError: new () => Error;
|
|
6
6
|
export declare const GeoRuleNotFoundError: new (id: string) => Error;
|
|
@@ -19,7 +19,7 @@ export declare class ComplianceService {
|
|
|
19
19
|
createdAt: Date;
|
|
20
20
|
updatedAt: Date;
|
|
21
21
|
}, "createdAt">[]>;
|
|
22
|
-
upsertLimit(userId: User['id'], input: UpsertLimitInput): Promise<import("@openora/core/server").SerializedRow<{
|
|
22
|
+
upsertLimit(userId: User['id'], input: UpsertLimitInput, meta?: ClientMeta): Promise<import("@openora/core/server").SerializedRow<{
|
|
23
23
|
id: string;
|
|
24
24
|
userId: string;
|
|
25
25
|
type: "deposit" | "wager" | "loss" | "session";
|
|
@@ -29,7 +29,7 @@ export declare class ComplianceService {
|
|
|
29
29
|
period: "session" | "daily" | "weekly" | "monthly";
|
|
30
30
|
minutes: number | null;
|
|
31
31
|
}, "createdAt">>;
|
|
32
|
-
removeLimit(id: string, userId: User['id']): Promise<{
|
|
32
|
+
removeLimit(id: string, userId: User['id'], meta?: ClientMeta): Promise<{
|
|
33
33
|
success: true;
|
|
34
34
|
}>;
|
|
35
35
|
geoCheck(ipAddress: string): Promise<{
|
|
@@ -45,7 +45,7 @@ export declare class ComplianceService {
|
|
|
45
45
|
countryCode: string;
|
|
46
46
|
reason: string;
|
|
47
47
|
}>;
|
|
48
|
-
addGeoRule(input: AddGeoRuleInput, actorId?: User['id']): Promise<import("@openora/core/server").SerializedRow<{
|
|
48
|
+
addGeoRule(input: AddGeoRuleInput, actorId?: User['id'], meta?: ClientMeta): Promise<import("@openora/core/server").SerializedRow<{
|
|
49
49
|
id: string;
|
|
50
50
|
createdAt: Date;
|
|
51
51
|
action: "allow" | "block";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compliance.service.d.ts","sourceRoot":"","sources":["../../../src/compliance/service/compliance.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,KAAK,QAAQ,EAKd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"compliance.service.d.ts","sourceRoot":"","sources":["../../../src/compliance/service/compliance.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,KAAK,QAAQ,EAKd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAExF,eAAO,MAAM,kBAAkB,2BAA6B,CAAC;AAE7D,eAAO,MAAM,mBAAmB,iBAA8B,CAAC;AAE/D,eAAO,MAAM,oBAAoB,2BAA+B,CAAC;AAEjE,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAFL,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,QAAQ,EAChB,KAAK,GAAE,YAAY,GAAG,IAAW;IAG9C,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;IAKnC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,UAAU;;;;;;;;;;IAqB1E,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IAgB1F,QAAQ,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;IA4B1B,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,UAAU;;;;;;IAsB1E,YAAY;;;;;;CAInB"}
|
|
@@ -17,7 +17,7 @@ export class ComplianceService {
|
|
|
17
17
|
const rows = await this.drizzle.db.select().from(userLimit).where(eq(userLimit.userId, userId));
|
|
18
18
|
return rows.map((r) => serializeRow(r, { dateFields: ['createdAt'] }));
|
|
19
19
|
}
|
|
20
|
-
async upsertLimit(userId, input) {
|
|
20
|
+
async upsertLimit(userId, input, meta) {
|
|
21
21
|
const row = findOneOrThrow(await this.drizzle.db
|
|
22
22
|
.insert(userLimit)
|
|
23
23
|
.values({ ...input, userId })
|
|
@@ -26,14 +26,24 @@ export class ComplianceService {
|
|
|
26
26
|
set: { amount: input.amount, minutes: input.minutes },
|
|
27
27
|
})
|
|
28
28
|
.returning(), new LimitNotFoundError(userId));
|
|
29
|
-
this.events.emit('compliance.limit.upserted', {
|
|
29
|
+
this.events.emit('compliance.limit.upserted', {
|
|
30
|
+
userId,
|
|
31
|
+
limitId: row.id,
|
|
32
|
+
ip: meta?.ip ?? null,
|
|
33
|
+
userAgent: meta?.userAgent ?? null,
|
|
34
|
+
});
|
|
30
35
|
return serializeRow(row, { dateFields: ['createdAt'] });
|
|
31
36
|
}
|
|
32
|
-
async removeLimit(id, userId) {
|
|
37
|
+
async removeLimit(id, userId, meta) {
|
|
33
38
|
const existing = findOneOrThrow(await this.drizzle.db.select().from(userLimit).where(eq(userLimit.id, id)), new LimitNotFoundError(id));
|
|
34
39
|
assertOwnership(existing.userId, userId, new LimitOwnershipError());
|
|
35
40
|
await this.drizzle.db.delete(userLimit).where(eq(userLimit.id, id));
|
|
36
|
-
this.events.emit('compliance.limit.removed', {
|
|
41
|
+
this.events.emit('compliance.limit.removed', {
|
|
42
|
+
userId,
|
|
43
|
+
limitId: id,
|
|
44
|
+
ip: meta?.ip ?? null,
|
|
45
|
+
userAgent: meta?.userAgent ?? null,
|
|
46
|
+
});
|
|
37
47
|
return { success: true };
|
|
38
48
|
}
|
|
39
49
|
async geoCheck(ipAddress) {
|
|
@@ -57,7 +67,7 @@ export class ComplianceService {
|
|
|
57
67
|
}
|
|
58
68
|
return { allowed: true, countryCode, reason: null };
|
|
59
69
|
}
|
|
60
|
-
async addGeoRule(input, actorId) {
|
|
70
|
+
async addGeoRule(input, actorId, meta) {
|
|
61
71
|
const row = findOneOrThrow(await this.drizzle.db
|
|
62
72
|
.insert(geoRule)
|
|
63
73
|
.values({ ...input })
|
|
@@ -70,6 +80,8 @@ export class ComplianceService {
|
|
|
70
80
|
countryCode: input.countryCode,
|
|
71
81
|
action: input.action,
|
|
72
82
|
actorId,
|
|
83
|
+
ip: meta?.ip ?? null,
|
|
84
|
+
userAgent: meta?.userAgent ?? null,
|
|
73
85
|
});
|
|
74
86
|
return serializeRow(row, { dateFields: ['createdAt'] });
|
|
75
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compliance.service.js","sourceRoot":"","sources":["../../../src/compliance/service/compliance.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAEd,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAEjE,MAAM,OAAO,iBAAiB;IAET;IACA;IACA;IAHnB,YACmB,OAAuB,EACvB,MAAgB,EAChB,QAA6B,IAAI;QAFjC,YAAO,GAAP,OAAO,CAAgB;QACvB,WAAM,GAAN,MAAM,CAAU;QAChB,UAAK,GAAL,KAAK,CAA4B;IACjD,CAAC;IAEJ,KAAK,CAAC,gBAAgB,CAAC,MAAkB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAkB,EAAE,KAAuB;
|
|
1
|
+
{"version":3,"file":"compliance.service.js","sourceRoot":"","sources":["../../../src/compliance/service/compliance.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DrizzleService, type EventBus } from '@openora/core/server';
|
|
2
|
-
import type { KycAdapter, KycStatusWriter, KycVendorStatus, PlatformConfig, User } from '@openora/core/contracts';
|
|
2
|
+
import type { KycAdapter, KycStatusWriter, KycVendorStatus, PlatformConfig, User, ClientMeta } from '@openora/core/contracts';
|
|
3
3
|
import type { SubmitKycInput, PlayerKycView } from '../contract/index.js';
|
|
4
4
|
import { type ReKycTrigger } from './re-kyc-trigger.js';
|
|
5
5
|
export declare const KycVerificationNotFoundError: new (id: string) => Error;
|
|
@@ -25,7 +25,7 @@ export declare class KycVerificationService {
|
|
|
25
25
|
private readonly reKycTrigger;
|
|
26
26
|
constructor(deps: KycVerificationDeps);
|
|
27
27
|
private get provider();
|
|
28
|
-
submit(userId: User['id'], input: SubmitKycInput): Promise<{
|
|
28
|
+
submit(userId: User['id'], input: SubmitKycInput, meta?: ClientMeta): Promise<{
|
|
29
29
|
verificationUrl: string | undefined;
|
|
30
30
|
status: "pending" | "not_started" | "verified" | "rejected" | "resubmission_requested" | "manually_overridden";
|
|
31
31
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kyc.service.d.ts","sourceRoot":"","sources":["../../../src/compliance/service/kyc.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAId,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,eAAe,EAEf,cAAc,EACd,IAAI,
|
|
1
|
+
{"version":3,"file":"kyc.service.d.ts","sourceRoot":"","sources":["../../../src/compliance/service/kyc.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAId,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,eAAe,EAEf,cAAc,EACd,IAAI,EACJ,UAAU,EACX,MAAM,yBAAyB,CAAC;AAOjC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIvF,eAAO,MAAM,4BAA4B,2BAAuC,CAAC;AAyBjF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,eAAe,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAEhC,IAAI,EAAE,mBAAmB;IASrC,OAAO,KAAK,QAAQ,GAEnB;IAEK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,UAAU;;;;;;;;;;;;;;;;IAiCzE;;;OAGG;IAEG,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;IAgC7E,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAS9D;;;;;OAKG;IACG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;CA+DvC"}
|
|
@@ -46,7 +46,7 @@ export class KycVerificationService {
|
|
|
46
46
|
get provider() {
|
|
47
47
|
return this.platformConfig?.kyc?.provider ?? DEFAULT_PROVIDER;
|
|
48
48
|
}
|
|
49
|
-
async submit(userId, input) {
|
|
49
|
+
async submit(userId, input, meta) {
|
|
50
50
|
const result = await this.kycAdapter.submit(userId, input.documents.map((d) => ({ type: d.type, frontUrl: d.frontUrl, backUrl: d.backUrl })));
|
|
51
51
|
const status = mapVendorStatus(result.status);
|
|
52
52
|
const decided = isDecided(status);
|
|
@@ -66,6 +66,8 @@ export class KycVerificationService {
|
|
|
66
66
|
userId,
|
|
67
67
|
referenceId: result.referenceId,
|
|
68
68
|
provider: this.provider,
|
|
69
|
+
ip: meta?.ip ?? null,
|
|
70
|
+
userAgent: meta?.userAgent ?? null,
|
|
69
71
|
});
|
|
70
72
|
await this.statusWriter.setStatus(userId, status, { actorId: null, source: 'vendor' });
|
|
71
73
|
return { ...toDto(row), verificationUrl: result.verificationUrl };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kyc.service.js","sourceRoot":"","sources":["../../../src/compliance/service/kyc.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,iBAAiB,EACjB,YAAY,GAEb,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"kyc.service.js","sourceRoot":"","sources":["../../../src/compliance/service/kyc.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,iBAAiB,EACjB,YAAY,GAEb,MAAM,sBAAsB,CAAC;AAU9B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAC3E,sFAAsF;AACtF,kFAAkF;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAAE,6BAA6B,EAAqB,MAAM,qBAAqB,CAAC;AAEvF,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,MAAM,CAAC,MAAM,4BAA4B,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AAEjF,SAAS,eAAe,CAAC,MAAuB;IAC9C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,MAAiB;IAClC,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,UAAU,CAAC;AACxD,CAAC;AAED,SAAS,KAAK,CAAC,GAAoB;IACjC,OAAO,YAAY,CAAC,GAAG,EAAE;QACvB,UAAU,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;KACnE,CAAC,CAAC;AACL,CAAC;AAgBD,MAAM,OAAO,sBAAsB;IAChB,OAAO,CAAiB;IACxB,MAAM,CAAW;IACjB,UAAU,CAAa;IACvB,YAAY,CAAkB;IAC9B,cAAc,CAAkB;IAChC,YAAY,CAAe;IAE5C,YAAY,IAAyB;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,6BAA6B,EAAE,CAAC;IAC/E,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,QAAQ,IAAI,gBAAgB,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAkB,EAAE,KAAqB,EAAE,IAAiB;QACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CACzC,MAAM,EACN,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CACzF,CAAC;QACF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,cAAc,CACxB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClB,MAAM,CAAC,eAAe,CAAC;aACvB,MAAM,CAAC;YACN,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM;YACN,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACjD,WAAW,EAAE,YAAY;YACzB,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;SACvC,CAAC;aACD,SAAS,EAAE,EACd,IAAI,4BAA4B,CAAC,MAAM,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAC3C,MAAM;YACN,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI;YACpB,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI;SACnC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvF,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;IACpE,CAAC;IAED;;;OAGG;IACH,8FAA8F;IAC9F,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,YAA6B,EAAE,MAAe;QACjF,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACrC,MAAM,EAAE;aACR,IAAI,CAAC,eAAe,CAAC;aACrB,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;aACnD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;aACxC,KAAK,CAAC,CAAC,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,GAAG,GAAG,cAAc,CACxB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAClB,MAAM,CAAC,eAAe,CAAC;aACvB,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,IAAI,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;aACtE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;aAC1C,SAAS,EAAE,EACd,IAAI,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC9C,CAAC;QACF,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE;YACzD,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,SAAS;YACjB,MAAM;SACP,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAkB;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aAC/B,MAAM,EAAE;aACR,IAAI,CAAC,eAAe,CAAC;aACrB,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aACzC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;IAChF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,MAAkB;QACpC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACpC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;aAClE,IAAI,CAAC,MAAM,CAAC;aACZ,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACtC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAQ,gBAAgB,iBAAiB,CAAC,MAAM,OAAO,EAAE,CAAC;aAC7E,IAAI,CAAC,iBAAiB,CAAC;aACvB,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;aAC5D,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACzB,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,EACrC,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,EACzC,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CACjD,CACF,CAAC;QAEJ,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE;aACrC,MAAM,CAAC,EAAE,eAAe,EAAE,eAAe,CAAC,eAAe,EAAE,CAAC;aAC5D,IAAI,CAAC,eAAe,CAAC;aACrB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,oBAAoB,CAAC,CACtD,CACF;aACA,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;aACxC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEZ,MAAM,aAAa,GAAG,SAAS,EAAE,KAAK,IAAI,GAAG,CAAC;QAC9C,MAAM,QAAQ,GAAG;YACf,aAAa;YACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,qBAAqB,EAAE,QAAQ,EAAE,eAAe,IAAI,GAAG;SACxD,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,kBAAkB,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,uBAAuB,aAAa,IAAI,QAAQ,CAAC,QAAQ,+BAA+B,CAAC;QACxG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;YACnD,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,YAAY,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE;YAC/C,MAAM,EAAE,wBAAwB;YAChC,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,oBAAoB;YACjC,eAAe,EAAE,aAAa;YAC9B,cAAc,EAAE,MAAM;SACvB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,wBAAwB,EAAE;YAClE,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,UAAU;YAClB,MAAM;SACP,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DrizzleService, type EventBus } from '@openora/core/server';
|
|
2
|
-
import type { LoginEnforcementPort, SendEmailPort, AdminUserDirectory, User } from '@openora/core/contracts';
|
|
2
|
+
import type { LoginEnforcementPort, SendEmailPort, AdminUserDirectory, User, ClientMeta } from '@openora/core/contracts';
|
|
3
3
|
import type { Limit, RgExclusion, SetPlayerLimitInput, ActivateCoolingOffInput, ActivateSelfExclusionInput, LiftSelfExclusionInput, RgSection } from '../contract/index.js';
|
|
4
4
|
export declare const ExclusionNotFoundError: new (id: string) => Error;
|
|
5
5
|
export declare const ActiveExclusionError: new () => Error;
|
|
@@ -28,15 +28,15 @@ export declare class RgService {
|
|
|
28
28
|
private readonly email;
|
|
29
29
|
private readonly directory;
|
|
30
30
|
constructor(deps: RgServiceDeps);
|
|
31
|
-
setPlayerLimit(userId: User['id'], input: SetPlayerLimitInput, actorId: User['id']): Promise<Limit>;
|
|
32
|
-
activateCoolingOff(userId: User['id'], input: ActivateCoolingOffInput, actorId: User['id']): Promise<RgExclusion>;
|
|
31
|
+
setPlayerLimit(userId: User['id'], input: SetPlayerLimitInput, actorId: User['id'], meta?: ClientMeta): Promise<Limit>;
|
|
32
|
+
activateCoolingOff(userId: User['id'], input: ActivateCoolingOffInput, actorId: User['id'], meta?: ClientMeta): Promise<RgExclusion>;
|
|
33
33
|
/**
|
|
34
34
|
* `isPermanent: true` stores `expiresAt: null` - a permanent exclusion has
|
|
35
35
|
* no time-based lapse and can only ever be cleared by an explicit
|
|
36
36
|
* `liftSelfExclusion` (which itself rejects lifting a permanent one). Only
|
|
37
37
|
* one active self-exclusion may exist per player at a time.
|
|
38
38
|
*/
|
|
39
|
-
activateSelfExclusion(userId: User['id'], input: ActivateSelfExclusionInput, actorId: User['id']): Promise<RgExclusion>;
|
|
39
|
+
activateSelfExclusion(userId: User['id'], input: ActivateSelfExclusionInput, actorId: User['id'], meta?: ClientMeta): Promise<RgExclusion>;
|
|
40
40
|
/**
|
|
41
41
|
* A permanent self-exclusion (`isPermanent`/`expiresAt: null`) can never be
|
|
42
42
|
* lifted through this path (`PermanentExclusionLiftError`) - by design,
|
|
@@ -44,7 +44,7 @@ export declare class RgService {
|
|
|
44
44
|
* only be lifted once its minimum period has actually elapsed
|
|
45
45
|
* (`ExclusionPeriodNotElapsedError` otherwise), even for an admin actor.
|
|
46
46
|
*/
|
|
47
|
-
liftSelfExclusion(userId: User['id'], input: LiftSelfExclusionInput, actorId: User['id']): Promise<RgExclusion>;
|
|
47
|
+
liftSelfExclusion(userId: User['id'], input: LiftSelfExclusionInput, actorId: User['id'], meta?: ClientMeta): Promise<RgExclusion>;
|
|
48
48
|
getRgSection(userId: User['id']): Promise<RgSection>;
|
|
49
49
|
expireLapsedCoolingOffs(): Promise<void>;
|
|
50
50
|
private expireLapsedCoolingOff;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rg.service.d.ts","sourceRoot":"","sources":["../../../src/compliance/service/rg.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAMd,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,IAAI,
|
|
1
|
+
{"version":3,"file":"rg.service.d.ts","sourceRoot":"","sources":["../../../src/compliance/service/rg.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAMd,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,IAAI,EACJ,UAAU,EACX,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EACV,KAAK,EACL,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAO9B,eAAO,MAAM,sBAAsB,2BAAiC,CAAC;AACrE,eAAO,MAAM,oBAAoB,iBAGhC,CAAC;AACF,eAAO,MAAM,2BAA2B,iBAGvC,CAAC;AACF,eAAO,MAAM,8BAA8B,iBAG1C,CAAC;AAoBF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF;;;;;;;;GAQG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuB;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;gBAE1C,IAAI,EAAE,aAAa;IAQzB,cAAc,CAClB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAClB,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EACnB,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,KAAK,CAAC;IA6CX,kBAAkB,CACtB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAClB,KAAK,EAAE,uBAAuB,EAC9B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EACnB,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,WAAW,CAAC;IA0CvB;;;;;OAKG;IACG,qBAAqB,CACzB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAClB,KAAK,EAAE,0BAA0B,EACjC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EACnB,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,WAAW,CAAC;IA+CvB;;;;;;OAMG;IACG,iBAAiB,CACrB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAClB,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EACnB,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,WAAW,CAAC;IAsDjB,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAwBpD,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB9C,OAAO,CAAC,sBAAsB;YAiBhB,eAAe;YAwBf,uBAAuB;YAyBvB,MAAM;CAcrB"}
|
|
@@ -43,7 +43,7 @@ export class RgService {
|
|
|
43
43
|
this.email = deps.email ?? null;
|
|
44
44
|
this.directory = deps.directory ?? null;
|
|
45
45
|
}
|
|
46
|
-
async setPlayerLimit(userId, input, actorId) {
|
|
46
|
+
async setPlayerLimit(userId, input, actorId, meta) {
|
|
47
47
|
const [prior] = await this.drizzle.db
|
|
48
48
|
.select({ amount: userLimit.amount, minutes: userLimit.minutes })
|
|
49
49
|
.from(userLimit)
|
|
@@ -67,12 +67,14 @@ export class RgService {
|
|
|
67
67
|
minutes: input.minutes,
|
|
68
68
|
previousAmount: prior?.amount ?? null,
|
|
69
69
|
previousMinutes: prior?.minutes ?? null,
|
|
70
|
+
ip: meta?.ip ?? null,
|
|
71
|
+
userAgent: meta?.userAgent ?? null,
|
|
70
72
|
});
|
|
71
73
|
const limitDescription = input.type === 'session' ? `${input.minutes} minutes` : input.amount;
|
|
72
74
|
await this.notify(userId, 'Your gambling limit was updated', `A ${input.period} ${input.type} limit of ${limitDescription} is now active on your account.`);
|
|
73
75
|
return toLimitDto(row);
|
|
74
76
|
}
|
|
75
|
-
async activateCoolingOff(userId, input, actorId) {
|
|
77
|
+
async activateCoolingOff(userId, input, actorId, meta) {
|
|
76
78
|
await this.assertNoActiveExclusion(userId, 'cooling_off');
|
|
77
79
|
const now = new Date();
|
|
78
80
|
const expiresAt = new Date(now.getTime() + input.durationHours * HOUR_MS);
|
|
@@ -100,6 +102,8 @@ export class RgService {
|
|
|
100
102
|
exclusionId: row.id,
|
|
101
103
|
expiresAt: expiresAt.toISOString(),
|
|
102
104
|
reason: input.reason,
|
|
105
|
+
ip: meta?.ip ?? null,
|
|
106
|
+
userAgent: meta?.userAgent ?? null,
|
|
103
107
|
});
|
|
104
108
|
await this.notify(userId, 'Cooling-off period activated', `A cooling-off period is active on your account until ${expiresAt.toISOString()}.`);
|
|
105
109
|
return toExclusionDto(row);
|
|
@@ -110,7 +114,7 @@ export class RgService {
|
|
|
110
114
|
* `liftSelfExclusion` (which itself rejects lifting a permanent one). Only
|
|
111
115
|
* one active self-exclusion may exist per player at a time.
|
|
112
116
|
*/
|
|
113
|
-
async activateSelfExclusion(userId, input, actorId) {
|
|
117
|
+
async activateSelfExclusion(userId, input, actorId, meta) {
|
|
114
118
|
await this.assertNoActiveExclusion(userId, 'self_exclusion');
|
|
115
119
|
const now = new Date();
|
|
116
120
|
const expiresAt = input.isPermanent || input.durationMonths === undefined
|
|
@@ -140,6 +144,8 @@ export class RgService {
|
|
|
140
144
|
isPermanent: input.isPermanent,
|
|
141
145
|
expiresAt: expiresAt ? expiresAt.toISOString() : null,
|
|
142
146
|
reason: input.reason,
|
|
147
|
+
ip: meta?.ip ?? null,
|
|
148
|
+
userAgent: meta?.userAgent ?? null,
|
|
143
149
|
});
|
|
144
150
|
await this.notify(userId, 'Self-exclusion activated', expiresAt
|
|
145
151
|
? `A self-exclusion is active on your account until at least ${expiresAt.toISOString()}.`
|
|
@@ -153,7 +159,7 @@ export class RgService {
|
|
|
153
159
|
* only be lifted once its minimum period has actually elapsed
|
|
154
160
|
* (`ExclusionPeriodNotElapsedError` otherwise), even for an admin actor.
|
|
155
161
|
*/
|
|
156
|
-
async liftSelfExclusion(userId, input, actorId) {
|
|
162
|
+
async liftSelfExclusion(userId, input, actorId, meta) {
|
|
157
163
|
const [existing] = await this.drizzle.db
|
|
158
164
|
.select()
|
|
159
165
|
.from(rgExclusion)
|
|
@@ -186,6 +192,8 @@ export class RgService {
|
|
|
186
192
|
exclusionId: row.id,
|
|
187
193
|
kind: 'self_exclusion',
|
|
188
194
|
reason: input.reason,
|
|
195
|
+
ip: meta?.ip ?? null,
|
|
196
|
+
userAgent: meta?.userAgent ?? null,
|
|
189
197
|
});
|
|
190
198
|
await this.notify(userId, 'Self-exclusion lifted', 'Your self-exclusion has been lifted and you can log in again.');
|
|
191
199
|
return toExclusionDto(row);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rg.service.js","sourceRoot":"","sources":["../../../src/compliance/service/rg.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rg.service.js","sourceRoot":"","sources":["../../../src/compliance/service/rg.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Token } from './token.js';
|
|
2
2
|
import type { KycStatus } from '../schemas/player.js';
|
|
3
3
|
import type { UserRole } from '../schemas/iam.js';
|
|
4
|
+
import type { ClientMeta } from '../schemas/common.js';
|
|
4
5
|
import type { SortOrder } from '../kit.js';
|
|
5
6
|
export type AdminUserRow = {
|
|
6
7
|
id: string;
|
|
@@ -37,7 +38,7 @@ export type AdminUserDirectory = {
|
|
|
37
38
|
update(id: string, patch: {
|
|
38
39
|
isActive?: boolean;
|
|
39
40
|
role?: UserRole;
|
|
40
|
-
}, actorId: string): Promise<AdminUserRow | null>;
|
|
41
|
+
}, actorId: string, meta?: ClientMeta): Promise<AdminUserRow | null>;
|
|
41
42
|
lookupPlayers(userIds: readonly string[]): Promise<AdminPlayerSummary[]>;
|
|
42
43
|
findPlayerIds(query: string): Promise<string[]>;
|
|
43
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-user-directory.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-user-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAO3C,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,8EAO5B,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAIF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnF,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAE9C,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,EAC9C,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"admin-user-directory.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-user-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAO3C,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,8EAO5B,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAIF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnF,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAE9C,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,EAC9C,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAGhC,aAAa,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAGzE,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,CAAuC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-user-directory.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-user-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-user-directory.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-user-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAsBrD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,WAAW;IACX,OAAO;IACP,MAAM;IACN,MAAM;IACN,UAAU;IACV,eAAe;CACP,CAAC;AAuCX,MAAM,CAAC,MAAM,oBAAoB,GAA8B,WAAW,CAAC,sBAAsB,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { DomainEventName } from '../schemas/events.js';
|
|
2
|
+
import type { ClientMeta } from '../schemas/common.js';
|
|
2
3
|
import { type SealedToken } from './token.js';
|
|
3
4
|
export type DirectAuditAction = 'admin.user.updated' | 'audit.export' | 'wallet.withdrawal.auto_approved' | 'wallet.auto_withdrawal_rule.set' | 'wallet.auto_withdrawal_rule.deleted';
|
|
4
5
|
export type AuditAction = DomainEventName | DirectAuditAction | (string & {});
|
|
@@ -11,10 +12,8 @@ export type AuditWritePort = {
|
|
|
11
12
|
resourceId?: string | null;
|
|
12
13
|
before?: Record<string, unknown> | null;
|
|
13
14
|
after?: Record<string, unknown> | null;
|
|
14
|
-
ip?: string | null;
|
|
15
|
-
userAgent?: string | null;
|
|
16
15
|
correlationId?: string | null;
|
|
17
|
-
}): Promise<void>;
|
|
16
|
+
} & Partial<ClientMeta>): Promise<void>;
|
|
18
17
|
};
|
|
19
18
|
export declare const AUDIT_WRITER: SealedToken<AuditWritePort>;
|
|
20
19
|
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/audit.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAIjE,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,cAAc,GACd,iCAAiC,GACjC,iCAAiC,GACjC,qCAAqC,CAAC;AAM1C,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/audit.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAIjE,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,cAAc,GACd,iCAAiC,GACjC,iCAAiC,GACjC,qCAAqC,CAAC;AAM1C,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CACJ,KAAK,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;QACzC,MAAM,EAAE,WAAW,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,cAAc,CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/contracts/adapters/audit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/contracts/adapters/audit.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAC;AAgCjE,MAAM,CAAC,MAAM,YAAY,GACvB,iBAAiB,CAAiB,cAAc,CAAC,CAAC"}
|
|
@@ -10,6 +10,11 @@ export declare const UserIdInputSchema: z.ZodObject<{
|
|
|
10
10
|
userId: z.ZodUUID;
|
|
11
11
|
}, z.core.$strip>;
|
|
12
12
|
export type UserIdInput = z.infer<typeof UserIdInputSchema>;
|
|
13
|
+
export declare const ClientMetaSchema: z.ZodObject<{
|
|
14
|
+
ip: z.ZodNullable<z.ZodString>;
|
|
15
|
+
userAgent: z.ZodNullable<z.ZodString>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export type ClientMeta = z.infer<typeof ClientMetaSchema>;
|
|
13
18
|
export declare const MoneyAmountSchema: z.ZodString;
|
|
14
19
|
export type MoneyAmount = z.infer<typeof MoneyAmountSchema>;
|
|
15
20
|
export declare const AUTH_GUARD_REASONS: readonly ["missing_request_context", "authentication_required", "admin_required", "permission_denied"];
|
|
@@ -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,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"}
|
|
@@ -3,6 +3,10 @@ export const UuidSchema = z.uuid();
|
|
|
3
3
|
export const TimestampSchema = z.iso.datetime();
|
|
4
4
|
export const IdInputSchema = z.object({ id: UuidSchema });
|
|
5
5
|
export const UserIdInputSchema = z.object({ userId: UuidSchema });
|
|
6
|
+
export const ClientMetaSchema = z.object({
|
|
7
|
+
ip: z.string().nullable(),
|
|
8
|
+
userAgent: z.string().nullable(),
|
|
9
|
+
});
|
|
6
10
|
export const MoneyAmountSchema = z
|
|
7
11
|
.string()
|
|
8
12
|
.regex(/^\d+(\.\d{1,8})?$/, 'must be a non-negative decimal string with at most 8 decimal places');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/contracts/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAIhD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAG1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAGlE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,mBAAmB,EACnB,qEAAqE,CACtE,CAAC;AAGJ,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,yBAAyB;IACzB,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;CACX,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/contracts/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAIhD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAG1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAGlE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,mBAAmB,EACnB,qEAAqE,CACtE,CAAC;AAGJ,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,yBAAyB;IACzB,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;CACX,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC"}
|