@openora/core 0.4.1-canary.31 → 0.4.1-canary.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/admin-console/__tests__/backoffice.router.test.js +4 -4
- package/dist/admin-console/__tests__/backoffice.router.test.js.map +1 -1
- package/dist/admin-console/contract/index.d.ts +57 -0
- package/dist/admin-console/contract/index.d.ts.map +1 -1
- package/dist/admin-console/contract/index.js +11 -3
- package/dist/admin-console/contract/index.js.map +1 -1
- package/dist/admin-console/router/index.d.ts +25 -0
- package/dist/admin-console/router/index.d.ts.map +1 -1
- package/dist/admin-console/router/index.js +10 -2
- package/dist/admin-console/router/index.js.map +1 -1
- package/dist/admin-console/service/backoffice.service.d.ts +3 -3
- package/dist/admin-console/service/backoffice.service.d.ts.map +1 -1
- package/dist/admin-console/service/backoffice.service.js +7 -5
- package/dist/admin-console/service/backoffice.service.js.map +1 -1
- package/dist/audit/contract/index.d.ts +58 -0
- package/dist/audit/contract/index.d.ts.map +1 -1
- package/dist/audit/contract/index.js +20 -2
- package/dist/audit/contract/index.js.map +1 -1
- package/dist/audit/router/index.d.ts +24 -0
- 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/audit/service/audit.service.d.ts.map +1 -1
- package/dist/audit/service/audit.service.js +15 -3
- package/dist/audit/service/audit.service.js.map +1 -1
- 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/contract/index.d.ts +17 -5
- package/dist/compliance/contract/index.d.ts.map +1 -1
- package/dist/compliance/contract/rg.d.ts +42 -8
- package/dist/compliance/contract/rg.d.ts.map +1 -1
- package/dist/compliance/contract/rg.js +12 -1
- package/dist/compliance/contract/rg.js.map +1 -1
- package/dist/compliance/router/index.d.ts +17 -5
- 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/schema/index.d.ts +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-monitoring.service.d.ts.map +1 -1
- package/dist/compliance/service/rg-monitoring.service.js +12 -3
- package/dist/compliance/service/rg-monitoring.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 +7 -1
- package/dist/contracts/adapters/admin-user-directory.d.ts.map +1 -1
- package/dist/contracts/adapters/admin-user-directory.js +8 -0
- package/dist/contracts/adapters/admin-user-directory.js.map +1 -1
- package/dist/contracts/adapters/admin-wallet-reporting.d.ts +5 -0
- package/dist/contracts/adapters/admin-wallet-reporting.d.ts.map +1 -1
- package/dist/contracts/adapters/admin-wallet-reporting.js +9 -0
- package/dist/contracts/adapters/admin-wallet-reporting.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/adapters/index.d.ts +4 -4
- package/dist/contracts/adapters/index.d.ts.map +1 -1
- package/dist/contracts/adapters/index.js +2 -2
- package/dist/contracts/adapters/index.js.map +1 -1
- package/dist/contracts/kit.d.ts +9 -0
- package/dist/contracts/kit.d.ts.map +1 -1
- package/dist/contracts/kit.js +1 -0
- package/dist/contracts/kit.js.map +1 -1
- package/dist/contracts/schemas/common.d.ts +13 -0
- package/dist/contracts/schemas/common.d.ts.map +1 -1
- package/dist/contracts/schemas/common.js +11 -0
- package/dist/contracts/schemas/common.js.map +1 -1
- package/dist/contracts/schemas/compliance.d.ts +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/contracts/schemas/identity.d.ts +6 -0
- package/dist/contracts/schemas/identity.d.ts.map +1 -1
- package/dist/contracts/schemas/identity.js +2 -0
- package/dist/contracts/schemas/identity.js.map +1 -1
- package/dist/contracts/schemas/player.d.ts +26 -0
- package/dist/contracts/schemas/player.d.ts.map +1 -1
- package/dist/contracts/schemas/player.js +14 -1
- package/dist/contracts/schemas/player.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/contract/index.d.ts +1 -5
- package/dist/engagement/chat/contract/index.d.ts.map +1 -1
- package/dist/engagement/chat/contract/index.js +2 -4
- package/dist/engagement/chat/contract/index.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 +10 -5
- package/dist/iam/__tests__/iam.service.test.js.map +1 -1
- package/dist/iam/contract/index.d.ts +48 -0
- package/dist/iam/contract/index.d.ts.map +1 -1
- package/dist/iam/contract/index.js +26 -4
- package/dist/iam/contract/index.js.map +1 -1
- package/dist/iam/router/index.d.ts +27 -0
- 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 +8 -11
- package/dist/iam/service/iam.service.d.ts.map +1 -1
- package/dist/iam/service/iam.service.js +51 -7
- 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__/identity.service.test.js +31 -0
- package/dist/pam/identity/__tests__/identity.service.test.js.map +1 -1
- package/dist/pam/identity/__tests__/phone-login.service.test.js +71 -23
- package/dist/pam/identity/__tests__/phone-login.service.test.js.map +1 -1
- package/dist/pam/identity/admin-user-directory.d.ts +3 -3
- package/dist/pam/identity/admin-user-directory.d.ts.map +1 -1
- package/dist/pam/identity/admin-user-directory.js +24 -6
- package/dist/pam/identity/admin-user-directory.js.map +1 -1
- package/dist/pam/identity/contract/index.d.ts +16 -0
- package/dist/pam/identity/contract/index.d.ts.map +1 -1
- package/dist/pam/identity/contract/index.js +8 -2
- package/dist/pam/identity/contract/index.js.map +1 -1
- package/dist/pam/identity/plugin.d.ts.map +1 -1
- package/dist/pam/identity/plugin.js +3 -1
- package/dist/pam/identity/plugin.js.map +1 -1
- package/dist/pam/identity/router/index.d.ts +9 -0
- package/dist/pam/identity/router/index.d.ts.map +1 -1
- package/dist/pam/identity/router/index.js +21 -26
- package/dist/pam/identity/router/index.js.map +1 -1
- package/dist/pam/identity/service/identity.service.d.ts +7 -3
- package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
- package/dist/pam/identity/service/identity.service.js +104 -20
- package/dist/pam/identity/service/identity.service.js.map +1 -1
- package/dist/pam/identity/service/phone-login.service.d.ts +10 -12
- package/dist/pam/identity/service/phone-login.service.d.ts.map +1 -1
- package/dist/pam/identity/service/phone-login.service.js +66 -11
- package/dist/pam/identity/service/phone-login.service.js.map +1 -1
- package/dist/pam/identity/service/session.service.d.ts +7 -4
- package/dist/pam/identity/service/session.service.d.ts.map +1 -1
- package/dist/pam/identity/service/session.service.js +21 -8
- 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.d.ts +14 -0
- package/dist/pam/player-management/contract/index.d.ts.map +1 -1
- package/dist/pam/player-management/router/index.d.ts +14 -0
- package/dist/pam/player-management/router/index.d.ts.map +1 -1
- package/dist/pam/player-management/service/player.service.d.ts +3 -5
- package/dist/pam/player-management/service/player.service.d.ts.map +1 -1
- package/dist/pam/player-management/service/player.service.js +12 -3
- package/dist/pam/player-management/service/player.service.js.map +1 -1
- package/dist/pam/player-note/contract/index.d.ts +14 -0
- package/dist/pam/player-note/contract/index.d.ts.map +1 -1
- package/dist/pam/player-note/contract/index.js +8 -2
- package/dist/pam/player-note/contract/index.js.map +1 -1
- package/dist/pam/player-note/router/index.d.ts +8 -0
- package/dist/pam/player-note/router/index.d.ts.map +1 -1
- package/dist/pam/player-note/router/index.js +7 -1
- package/dist/pam/player-note/router/index.js.map +1 -1
- package/dist/pam/player-note/service/player-note.service.d.ts +5 -3
- package/dist/pam/player-note/service/player-note.service.d.ts.map +1 -1
- package/dist/pam/player-note/service/player-note.service.js +5 -3
- package/dist/pam/player-note/service/player-note.service.js.map +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/__tests__/tag.service.test.js +2 -2
- package/dist/pam/tag/__tests__/tag.service.test.js.map +1 -1
- package/dist/pam/tag/contract/index.d.ts +14 -0
- package/dist/pam/tag/contract/index.d.ts.map +1 -1
- package/dist/pam/tag/contract/index.js +8 -2
- package/dist/pam/tag/contract/index.js.map +1 -1
- package/dist/pam/tag/router/index.d.ts +8 -0
- package/dist/pam/tag/router/index.d.ts.map +1 -1
- package/dist/pam/tag/router/index.js +15 -5
- 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 +7 -4
- package/dist/pam/tag/service/tag.service.d.ts.map +1 -1
- package/dist/pam/tag/service/tag.service.js +18 -7
- 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 +37 -15
- 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 +17 -2
- package/dist/server/kernel/router-utils.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 +11 -5
- 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/admin-reporting.d.ts +1 -1
- package/dist/wallet/admin-reporting.d.ts.map +1 -1
- package/dist/wallet/admin-reporting.js +11 -3
- package/dist/wallet/admin-reporting.js.map +1 -1
- package/dist/wallet/contract/index.d.ts +84 -0
- package/dist/wallet/contract/index.d.ts.map +1 -1
- package/dist/wallet/contract/index.js +28 -2
- package/dist/wallet/contract/index.js.map +1 -1
- package/dist/wallet/router/index.d.ts +38 -0
- package/dist/wallet/router/index.d.ts.map +1 -1
- package/dist/wallet/router/index.js +37 -18
- package/dist/wallet/router/index.js.map +1 -1
- package/dist/wallet/service/wallet.service.d.ts +9 -7
- package/dist/wallet/service/wallet.service.d.ts.map +1 -1
- package/dist/wallet/service/wallet.service.js +36 -9
- package/dist/wallet/service/wallet.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
-
import { mock } from '../../testing/mock.js';
|
|
2
|
+
import { mock, adminCaller, testContext } from '../../testing/mock.js';
|
|
3
3
|
import { call, ORPCError } from '@orpc/server';
|
|
4
4
|
import { createBackofficeRouter } from '../router/index.js';
|
|
5
|
-
const CTX =
|
|
5
|
+
const CTX = testContext();
|
|
6
6
|
const USER_ID = '63d3c264-3bf4-4d08-9b92-ea3eaf40a440';
|
|
7
7
|
const USER = {
|
|
8
8
|
id: USER_ID,
|
|
@@ -19,7 +19,7 @@ function fakeGuard(opts) {
|
|
|
19
19
|
if (resource === 'admin' && !opts.isSuper) {
|
|
20
20
|
throw new ORPCError('FORBIDDEN', { message: 'Missing permission: admin:update' });
|
|
21
21
|
}
|
|
22
|
-
return { userId: 'caller-1', role: opts.isSuper ? 'admin' : 'support' };
|
|
22
|
+
return adminCaller({ userId: 'caller-1', role: opts.isSuper ? 'admin' : 'support' });
|
|
23
23
|
}),
|
|
24
24
|
});
|
|
25
25
|
}
|
|
@@ -38,7 +38,7 @@ function fakeTransactionDenyingGuard() {
|
|
|
38
38
|
if (resource === 'transaction') {
|
|
39
39
|
throw new ORPCError('FORBIDDEN', { message: 'Missing permission: transaction:view' });
|
|
40
40
|
}
|
|
41
|
-
return { userId: 'caller-1', role: 'support' };
|
|
41
|
+
return adminCaller({ userId: 'caller-1', role: 'support' });
|
|
42
42
|
}),
|
|
43
43
|
});
|
|
44
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backoffice.router.test.js","sourceRoot":"","sources":["../../../src/admin-console/__tests__/backoffice.router.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"backoffice.router.test.js","sourceRoot":"","sources":["../../../src/admin-console/__tests__/backoffice.router.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,25 @@ export declare const AdminUserSchema: z.ZodObject<{
|
|
|
23
23
|
failedLoginAttempts: z.ZodOptional<z.ZodNumber>;
|
|
24
24
|
lockoutUntil: z.ZodOptional<z.ZodNullable<z.ZodISODateTime>>;
|
|
25
25
|
}, z.core.$strip>;
|
|
26
|
+
export declare const AdminUserSortBySchema: z.ZodDefault<z.ZodEnum<{
|
|
27
|
+
email: "email";
|
|
28
|
+
createdAt: "createdAt";
|
|
29
|
+
name: "name";
|
|
30
|
+
role: "role";
|
|
31
|
+
isActive: "isActive";
|
|
32
|
+
lastLockoutAt: "lastLockoutAt";
|
|
33
|
+
}>>;
|
|
34
|
+
export type AdminUserSortBy = z.infer<typeof AdminUserSortBySchema>;
|
|
35
|
+
export declare const AdminTransactionSortBySchema: z.ZodDefault<z.ZodEnum<{
|
|
36
|
+
status: "status";
|
|
37
|
+
type: "type";
|
|
38
|
+
createdAt: "createdAt";
|
|
39
|
+
currency: "currency";
|
|
40
|
+
amount: "amount";
|
|
41
|
+
rail: "rail";
|
|
42
|
+
reviewedAt: "reviewedAt";
|
|
43
|
+
}>>;
|
|
44
|
+
export type AdminTransactionSortBy = z.infer<typeof AdminTransactionSortBySchema>;
|
|
26
45
|
export declare const TransactionFilterSchema: z.ZodObject<{
|
|
27
46
|
page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
28
47
|
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
@@ -55,6 +74,19 @@ export declare const TransactionFilterSchema: z.ZodObject<{
|
|
|
55
74
|
amountMin: z.ZodOptional<z.ZodString>;
|
|
56
75
|
amountMax: z.ZodOptional<z.ZodString>;
|
|
57
76
|
player: z.ZodOptional<z.ZodString>;
|
|
77
|
+
sortBy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
78
|
+
status: "status";
|
|
79
|
+
type: "type";
|
|
80
|
+
createdAt: "createdAt";
|
|
81
|
+
currency: "currency";
|
|
82
|
+
amount: "amount";
|
|
83
|
+
rail: "rail";
|
|
84
|
+
reviewedAt: "reviewedAt";
|
|
85
|
+
}>>>;
|
|
86
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
87
|
+
asc: "asc";
|
|
88
|
+
desc: "desc";
|
|
89
|
+
}>>>;
|
|
58
90
|
}, z.core.$strip>;
|
|
59
91
|
export declare const AdminTransactionSchema: z.ZodObject<{
|
|
60
92
|
id: z.ZodUUID;
|
|
@@ -142,6 +174,18 @@ export declare const backofficeContract: {
|
|
|
142
174
|
page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
143
175
|
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
144
176
|
search: z.ZodOptional<z.ZodString>;
|
|
177
|
+
sortBy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
178
|
+
email: "email";
|
|
179
|
+
createdAt: "createdAt";
|
|
180
|
+
name: "name";
|
|
181
|
+
role: "role";
|
|
182
|
+
isActive: "isActive";
|
|
183
|
+
lastLockoutAt: "lastLockoutAt";
|
|
184
|
+
}>>>;
|
|
185
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
186
|
+
asc: "asc";
|
|
187
|
+
desc: "desc";
|
|
188
|
+
}>>>;
|
|
145
189
|
}, z.core.$strip>, z.ZodObject<{
|
|
146
190
|
items: z.ZodArray<z.ZodObject<{
|
|
147
191
|
id: z.ZodUUID;
|
|
@@ -227,6 +271,19 @@ export declare const backofficeContract: {
|
|
|
227
271
|
amountMin: z.ZodOptional<z.ZodString>;
|
|
228
272
|
amountMax: z.ZodOptional<z.ZodString>;
|
|
229
273
|
player: z.ZodOptional<z.ZodString>;
|
|
274
|
+
sortBy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
275
|
+
status: "status";
|
|
276
|
+
type: "type";
|
|
277
|
+
createdAt: "createdAt";
|
|
278
|
+
currency: "currency";
|
|
279
|
+
amount: "amount";
|
|
280
|
+
rail: "rail";
|
|
281
|
+
reviewedAt: "reviewedAt";
|
|
282
|
+
}>>>;
|
|
283
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
284
|
+
asc: "asc";
|
|
285
|
+
desc: "desc";
|
|
286
|
+
}>>>;
|
|
230
287
|
}, z.core.$strip>, z.ZodObject<{
|
|
231
288
|
items: z.ZodArray<z.ZodObject<{
|
|
232
289
|
id: z.ZodUUID;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/admin-console/contract/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/admin-console/contract/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAkBzB,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAC/C,eAAO,MAAM,kBAAkB,aAKyC,CAAC;AAEzE,eAAO,MAAM,mBAAmB;;;;;;iBAM9B,CAAC;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,eAAO,MAAM,eAAe;;;;;;;;;;;;iBAS1B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;GAAyD,CAAC;AAC5F,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,4BAA4B;;;;;;;;GAAuD,CAAC;AACjG,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAalC,CAAC;AAIH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUjC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQvC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC9B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { oc } from '@orpc/contract';
|
|
2
2
|
import * as z from 'zod';
|
|
3
|
-
import { CurrencyCodeSchema, IdInputSchema, KycStatusSchema, MoneyAmountSchema, TimestampSchema, UserIdInputSchema, UserRoleSchema, UuidSchema, WalletRailSchema, WalletTransactionStatusSchema, WalletTransactionTypeSchema, } from '@openora/core/contracts';
|
|
4
|
-
import { PageQuerySchema, paginated } from '@openora/core/contracts/kit';
|
|
3
|
+
import { ADMIN_TX_SORT_BY_VALUES, ADMIN_USER_SORT_BY_VALUES, CurrencyCodeSchema, IdInputSchema, KycStatusSchema, MoneyAmountSchema, TimestampSchema, UserIdInputSchema, UserRoleSchema, UuidSchema, WalletRailSchema, WalletTransactionStatusSchema, WalletTransactionTypeSchema, } from '@openora/core/contracts';
|
|
4
|
+
import { PageQuerySchema, SortOrderSchema, paginated } from '@openora/core/contracts/kit';
|
|
5
5
|
export const PlayerEmailSchema = z.email();
|
|
6
6
|
export const PlayerUsernameSchema = z.string();
|
|
7
7
|
export const PlayerSearchSchema = z
|
|
@@ -28,6 +28,8 @@ export const AdminUserSchema = z.object({
|
|
|
28
28
|
failedLoginAttempts: z.number().int().optional(),
|
|
29
29
|
lockoutUntil: TimestampSchema.nullable().optional(),
|
|
30
30
|
});
|
|
31
|
+
export const AdminUserSortBySchema = z.enum(ADMIN_USER_SORT_BY_VALUES).default('createdAt');
|
|
32
|
+
export const AdminTransactionSortBySchema = z.enum(ADMIN_TX_SORT_BY_VALUES).default('createdAt');
|
|
31
33
|
export const TransactionFilterSchema = PageQuerySchema.extend({
|
|
32
34
|
userId: UuidSchema.optional(),
|
|
33
35
|
type: WalletTransactionTypeSchema.optional(),
|
|
@@ -39,6 +41,8 @@ export const TransactionFilterSchema = PageQuerySchema.extend({
|
|
|
39
41
|
amountMin: MoneyAmountSchema.optional(),
|
|
40
42
|
amountMax: MoneyAmountSchema.optional(),
|
|
41
43
|
player: PlayerSearchSchema.optional(),
|
|
44
|
+
sortBy: AdminTransactionSortBySchema.optional(),
|
|
45
|
+
sortOrder: SortOrderSchema.default('desc').optional(),
|
|
42
46
|
});
|
|
43
47
|
// The list row carries only the player email as the identifying label; the fuller
|
|
44
48
|
// player info (username, KYC) lives on the detail view fetched on "view".
|
|
@@ -66,7 +70,11 @@ export const backofficeContract = {
|
|
|
66
70
|
getStats: oc.route({ method: 'GET', path: '/backoffice/stats' }).output(PlatformStatsSchema),
|
|
67
71
|
listUsers: oc
|
|
68
72
|
.route({ method: 'GET', path: '/backoffice/users' })
|
|
69
|
-
.input(PageQuerySchema.extend({
|
|
73
|
+
.input(PageQuerySchema.extend({
|
|
74
|
+
search: z.string().optional(),
|
|
75
|
+
sortBy: AdminUserSortBySchema.optional(),
|
|
76
|
+
sortOrder: SortOrderSchema.default('desc').optional(),
|
|
77
|
+
}))
|
|
70
78
|
.output(paginated(AdminUserSchema)),
|
|
71
79
|
getUser: oc
|
|
72
80
|
.route({ method: 'GET', path: '/backoffice/users/{userId}' })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/admin-console/contract/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/admin-console/contract/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,18 @@ export declare function createBackofficeRouter(backofficeService: BackofficeServ
|
|
|
13
13
|
page: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
14
14
|
limit: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
|
|
15
15
|
search: import("zod").ZodOptional<import("zod").ZodString>;
|
|
16
|
+
sortBy: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
17
|
+
email: "email";
|
|
18
|
+
createdAt: "createdAt";
|
|
19
|
+
name: "name";
|
|
20
|
+
role: "role";
|
|
21
|
+
isActive: "isActive";
|
|
22
|
+
lastLockoutAt: "lastLockoutAt";
|
|
23
|
+
}>>>;
|
|
24
|
+
sortOrder: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
25
|
+
asc: "asc";
|
|
26
|
+
desc: "desc";
|
|
27
|
+
}>>>;
|
|
16
28
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
17
29
|
items: import("zod").ZodArray<import("zod").ZodObject<{
|
|
18
30
|
id: import("zod").ZodUUID;
|
|
@@ -98,6 +110,19 @@ export declare function createBackofficeRouter(backofficeService: BackofficeServ
|
|
|
98
110
|
amountMin: import("zod").ZodOptional<import("zod").ZodString>;
|
|
99
111
|
amountMax: import("zod").ZodOptional<import("zod").ZodString>;
|
|
100
112
|
player: import("zod").ZodOptional<import("zod").ZodString>;
|
|
113
|
+
sortBy: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
114
|
+
status: "status";
|
|
115
|
+
type: "type";
|
|
116
|
+
createdAt: "createdAt";
|
|
117
|
+
currency: "currency";
|
|
118
|
+
amount: "amount";
|
|
119
|
+
rail: "rail";
|
|
120
|
+
reviewedAt: "reviewedAt";
|
|
121
|
+
}>>>;
|
|
122
|
+
sortOrder: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
123
|
+
asc: "asc";
|
|
124
|
+
desc: "desc";
|
|
125
|
+
}>>>;
|
|
101
126
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
102
127
|
items: import("zod").ZodArray<import("zod").ZodObject<{
|
|
103
128
|
id: import("zod").ZodUUID;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/admin-console/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAa,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EACL,iBAAiB,EAGlB,MAAM,kCAAkC,CAAC;AAE1C,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,cAAc
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/admin-console/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAa,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EACL,iBAAiB,EAGlB,MAAM,kCAAkC,CAAC;AAE1C,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyEtB"}
|
|
@@ -11,7 +11,13 @@ export function createBackofficeRouter(backofficeService, adminGuard, audit) {
|
|
|
11
11
|
}),
|
|
12
12
|
listUsers: os.listUsers.handler(async ({ input, context }) => {
|
|
13
13
|
await adminGuard.assert(context, 'player', 'view');
|
|
14
|
-
return backofficeService.listUsers(
|
|
14
|
+
return backofficeService.listUsers({
|
|
15
|
+
page: input.page,
|
|
16
|
+
limit: input.limit,
|
|
17
|
+
search: input.search,
|
|
18
|
+
sortBy: input.sortBy,
|
|
19
|
+
sortOrder: input.sortOrder,
|
|
20
|
+
});
|
|
15
21
|
}),
|
|
16
22
|
getUser: os.getUser.handler(async ({ input, context }) => {
|
|
17
23
|
await adminGuard.assert(context, 'player', 'view');
|
|
@@ -26,7 +32,7 @@ export function createBackofficeRouter(backofficeService, adminGuard, audit) {
|
|
|
26
32
|
await adminGuard.assert(context, 'admin', 'update');
|
|
27
33
|
}
|
|
28
34
|
const before = await mapErrors({ NOT_FOUND: UserNotFoundError }, () => backofficeService.getUser(input.userId));
|
|
29
|
-
const updated = await mapErrors({ NOT_FOUND: UserNotFoundError }, () => backofficeService.updateUser(input.userId, { isActive: input.isActive, role: input.role }, caller.userId));
|
|
35
|
+
const updated = await mapErrors({ NOT_FOUND: UserNotFoundError }, () => backofficeService.updateUser(input.userId, { isActive: input.isActive, role: input.role }, caller.userId, { ip: caller.ip, userAgent: caller.userAgent }));
|
|
30
36
|
await audit.record({
|
|
31
37
|
actorId: caller.userId,
|
|
32
38
|
actorType: 'admin',
|
|
@@ -35,6 +41,8 @@ export function createBackofficeRouter(backofficeService, adminGuard, audit) {
|
|
|
35
41
|
resourceId: input.userId,
|
|
36
42
|
before: { isActive: before.isActive, role: before.role },
|
|
37
43
|
after: { isActive: updated.isActive, role: updated.role },
|
|
44
|
+
ip: caller.ip,
|
|
45
|
+
userAgent: caller.userAgent,
|
|
38
46
|
});
|
|
39
47
|
return updated;
|
|
40
48
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/admin-console/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAc,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAEL,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,UAAU,sBAAsB,CACpC,iBAAoC,EACpC,UAAsB,EACtB,KAAqB;IAErB,MAAM,EAAE,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAc,CAAC;IAEhE,OAAO,EAAE,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAClD,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACtC,CAAC,CAAC;QAEF,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC3D,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/admin-console/router/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AdminUserDirectory, AdminUserRow, AdminWalletReporting, User, UserRole } from '@openora/core/contracts';
|
|
1
|
+
import type { AdminUserDirectory, AdminUserListOptions, AdminUserRow, AdminWalletReporting, User, UserRole, ClientMeta } from '@openora/core/contracts';
|
|
2
2
|
import type { TransactionFilter } from '../contract/index.js';
|
|
3
3
|
export declare const UserNotFoundError: new (id: string) => Error;
|
|
4
4
|
export declare const TransactionNotFoundError: new (id: string) => Error;
|
|
@@ -13,7 +13,7 @@ export declare class BackofficeService {
|
|
|
13
13
|
totalWithdrawals: string;
|
|
14
14
|
totalBonusClaimed: string;
|
|
15
15
|
}>;
|
|
16
|
-
listUsers(page
|
|
16
|
+
listUsers({ page, limit, search, sortBy, sortOrder }: AdminUserListOptions): Promise<{
|
|
17
17
|
items: import("@openora/core/server").SerializedRow<AdminUserRow, "createdAt" | "lockoutUntil">[];
|
|
18
18
|
total: number;
|
|
19
19
|
page: number;
|
|
@@ -23,7 +23,7 @@ export declare class BackofficeService {
|
|
|
23
23
|
updateUser(userId: User['id'], data: {
|
|
24
24
|
isActive?: boolean;
|
|
25
25
|
role?: UserRole;
|
|
26
|
-
}, actorId: User['id']): Promise<import("@openora/core/server").SerializedRow<AdminUserRow, "createdAt" | "lockoutUntil">>;
|
|
26
|
+
}, actorId: User['id'], meta?: ClientMeta): Promise<import("@openora/core/server").SerializedRow<AdminUserRow, "createdAt" | "lockoutUntil">>;
|
|
27
27
|
listTransactions(filters: TransactionFilter): Promise<{
|
|
28
28
|
items: {
|
|
29
29
|
playerEmail: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backoffice.service.d.ts","sourceRoot":"","sources":["../../../src/admin-console/service/backoffice.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,IAAI,EACJ,QAAQ,
|
|
1
|
+
{"version":3,"file":"backoffice.service.d.ts","sourceRoot":"","sources":["../../../src/admin-console/service/backoffice.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,IAAI,EACJ,QAAQ,EACR,UAAU,EACX,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,eAAO,MAAM,iBAAiB,2BAA4B,CAAC;AAC3D,eAAO,MAAM,wBAAwB,2BAAmC,CAAC;AAsBzE,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,KAAK,EAAE,kBAAkB,EACzB,SAAS,EAAE,oBAAoB;IAG5C,QAAQ;;;;;;;IAWR,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,oBAAoB;;;;;;IAK1E,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;IAQ1B,UAAU,CACd,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAClB,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,EAC7C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EACnB,IAAI,CAAC,EAAE,UAAU;IASb,gBAAgB,CAAC,OAAO,EAAE,iBAAiB;;;;;;;;;;;;;;;;IAwD3C,cAAc,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;YASjB,eAAe;CAQ9B"}
|
|
@@ -35,8 +35,8 @@ export class BackofficeService {
|
|
|
35
35
|
totalBonusClaimed: '0',
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
|
-
async listUsers(page, limit, search) {
|
|
39
|
-
const { rows, total } = await this.users.list({ page, limit, search });
|
|
38
|
+
async listUsers({ page, limit, search, sortBy, sortOrder }) {
|
|
39
|
+
const { rows, total } = await this.users.list({ page, limit, search, sortBy, sortOrder });
|
|
40
40
|
return { items: rows.map(toAdminUser), total, page, limit };
|
|
41
41
|
}
|
|
42
42
|
async getUser(userId) {
|
|
@@ -46,15 +46,15 @@ export class BackofficeService {
|
|
|
46
46
|
}
|
|
47
47
|
return toAdminUser(row);
|
|
48
48
|
}
|
|
49
|
-
async updateUser(userId, data, actorId) {
|
|
50
|
-
const row = await this.users.update(userId, data, actorId);
|
|
49
|
+
async updateUser(userId, data, actorId, meta) {
|
|
50
|
+
const row = await this.users.update(userId, data, actorId, meta);
|
|
51
51
|
if (!row) {
|
|
52
52
|
throw new UserNotFoundError(userId);
|
|
53
53
|
}
|
|
54
54
|
return toAdminUser(row);
|
|
55
55
|
}
|
|
56
56
|
async listTransactions(filters) {
|
|
57
|
-
const { page, limit, userId, type, currency, rail, status, dateFrom, dateTo, amountMin, amountMax, player, } = filters;
|
|
57
|
+
const { page, limit, userId, type, currency, rail, status, dateFrom, dateTo, amountMin, amountMax, player, sortBy, sortOrder, } = filters;
|
|
58
58
|
// `userId` = exact wallet.userId match; `player` = free-text resolved to ids.
|
|
59
59
|
// When both are set the result is their intersection.
|
|
60
60
|
let userIds;
|
|
@@ -80,6 +80,8 @@ export class BackofficeService {
|
|
|
80
80
|
dateTo: dateTo ? new Date(dateTo) : undefined,
|
|
81
81
|
amountMin,
|
|
82
82
|
amountMax,
|
|
83
|
+
sortBy,
|
|
84
|
+
sortOrder,
|
|
83
85
|
});
|
|
84
86
|
const players = await this.lookupPlayerMap(rows.map((r) => r.userId));
|
|
85
87
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backoffice.service.js","sourceRoot":"","sources":["../../../src/admin-console/service/backoffice.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"backoffice.service.js","sourceRoot":"","sources":["../../../src/admin-console/service/backoffice.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,16 @@ export declare const AuditLogEntrySchema: z.ZodObject<{
|
|
|
29
29
|
createdAt: z.ZodISODateTime;
|
|
30
30
|
}, z.core.$strip>;
|
|
31
31
|
export type AuditLogEntry = z.infer<typeof AuditLogEntrySchema>;
|
|
32
|
+
export declare const AUDIT_SORT_BY_VALUES: readonly ["createdAt", "action", "actorId", "actorType", "resourceType", "resourceId"];
|
|
33
|
+
export declare const AuditSortBySchema: z.ZodDefault<z.ZodEnum<{
|
|
34
|
+
createdAt: "createdAt";
|
|
35
|
+
actorId: "actorId";
|
|
36
|
+
action: "action";
|
|
37
|
+
actorType: "actorType";
|
|
38
|
+
resourceType: "resourceType";
|
|
39
|
+
resourceId: "resourceId";
|
|
40
|
+
}>>;
|
|
41
|
+
export type AuditSortBy = z.infer<typeof AuditSortBySchema>;
|
|
32
42
|
export declare const AuditListFiltersSchema: z.ZodObject<{
|
|
33
43
|
page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
34
44
|
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
@@ -45,9 +55,29 @@ export declare const AuditListFiltersSchema: z.ZodObject<{
|
|
|
45
55
|
q: z.ZodOptional<z.ZodString>;
|
|
46
56
|
fromDate: z.ZodOptional<z.ZodISODate>;
|
|
47
57
|
toDate: z.ZodOptional<z.ZodISODate>;
|
|
58
|
+
sortBy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
59
|
+
createdAt: "createdAt";
|
|
60
|
+
actorId: "actorId";
|
|
61
|
+
action: "action";
|
|
62
|
+
actorType: "actorType";
|
|
63
|
+
resourceType: "resourceType";
|
|
64
|
+
resourceId: "resourceId";
|
|
65
|
+
}>>>;
|
|
66
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
67
|
+
asc: "asc";
|
|
68
|
+
desc: "desc";
|
|
69
|
+
}>>>;
|
|
48
70
|
}, z.core.$strip>;
|
|
49
71
|
export type AuditListFilters = z.infer<typeof AuditListFiltersSchema>;
|
|
50
72
|
export declare const AuditExportFiltersSchema: z.ZodObject<{
|
|
73
|
+
sortBy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
74
|
+
createdAt: "createdAt";
|
|
75
|
+
actorId: "actorId";
|
|
76
|
+
action: "action";
|
|
77
|
+
actorType: "actorType";
|
|
78
|
+
resourceType: "resourceType";
|
|
79
|
+
resourceId: "resourceId";
|
|
80
|
+
}>>>;
|
|
51
81
|
actorId: z.ZodOptional<z.ZodString>;
|
|
52
82
|
action: z.ZodOptional<z.ZodString>;
|
|
53
83
|
actorType: z.ZodOptional<z.ZodEnum<{
|
|
@@ -61,6 +91,10 @@ export declare const AuditExportFiltersSchema: z.ZodObject<{
|
|
|
61
91
|
q: z.ZodOptional<z.ZodString>;
|
|
62
92
|
fromDate: z.ZodOptional<z.ZodISODate>;
|
|
63
93
|
toDate: z.ZodOptional<z.ZodISODate>;
|
|
94
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
95
|
+
asc: "asc";
|
|
96
|
+
desc: "desc";
|
|
97
|
+
}>>>;
|
|
64
98
|
}, z.core.$strip>;
|
|
65
99
|
export type AuditExportFilters = z.infer<typeof AuditExportFiltersSchema>;
|
|
66
100
|
export declare const auditContract: {
|
|
@@ -80,6 +114,18 @@ export declare const auditContract: {
|
|
|
80
114
|
q: z.ZodOptional<z.ZodString>;
|
|
81
115
|
fromDate: z.ZodOptional<z.ZodISODate>;
|
|
82
116
|
toDate: z.ZodOptional<z.ZodISODate>;
|
|
117
|
+
sortBy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
118
|
+
createdAt: "createdAt";
|
|
119
|
+
actorId: "actorId";
|
|
120
|
+
action: "action";
|
|
121
|
+
actorType: "actorType";
|
|
122
|
+
resourceType: "resourceType";
|
|
123
|
+
resourceId: "resourceId";
|
|
124
|
+
}>>>;
|
|
125
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
126
|
+
asc: "asc";
|
|
127
|
+
desc: "desc";
|
|
128
|
+
}>>>;
|
|
83
129
|
}, z.core.$strip>, z.ZodObject<{
|
|
84
130
|
items: z.ZodArray<z.ZodObject<{
|
|
85
131
|
id: z.ZodUUID;
|
|
@@ -108,6 +154,14 @@ export declare const auditContract: {
|
|
|
108
154
|
limit: z.ZodNumber;
|
|
109
155
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
110
156
|
exportCsv: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
157
|
+
sortBy: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
158
|
+
createdAt: "createdAt";
|
|
159
|
+
actorId: "actorId";
|
|
160
|
+
action: "action";
|
|
161
|
+
actorType: "actorType";
|
|
162
|
+
resourceType: "resourceType";
|
|
163
|
+
resourceId: "resourceId";
|
|
164
|
+
}>>>;
|
|
111
165
|
actorId: z.ZodOptional<z.ZodString>;
|
|
112
166
|
action: z.ZodOptional<z.ZodString>;
|
|
113
167
|
actorType: z.ZodOptional<z.ZodEnum<{
|
|
@@ -121,6 +175,10 @@ export declare const auditContract: {
|
|
|
121
175
|
q: z.ZodOptional<z.ZodString>;
|
|
122
176
|
fromDate: z.ZodOptional<z.ZodISODate>;
|
|
123
177
|
toDate: z.ZodOptional<z.ZodISODate>;
|
|
178
|
+
sortOrder: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
179
|
+
asc: "asc";
|
|
180
|
+
desc: "desc";
|
|
181
|
+
}>>>;
|
|
124
182
|
}, z.core.$strip>, z.ZodObject<{
|
|
125
183
|
csv: z.ZodString;
|
|
126
184
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/audit/contract/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAOzB,eAAO,MAAM,WAAW,wCAAyC,CAAC;AAClE,eAAO,MAAM,oBAAoB;;;;EAAsB,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AASlE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;iBAmB9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/audit/contract/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAOzB,eAAO,MAAM,WAAW,wCAAyC,CAAC;AAClE,eAAO,MAAM,oBAAoB;;;;EAAsB,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AASlE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;iBAmB9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB,wFAOvB,CAAC;AACX,eAAO,MAAM,iBAAiB;;;;;;;GAAoD,CAAC;AACnF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAcjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAItE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUzB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { oc } from '@orpc/contract';
|
|
2
2
|
import * as z from 'zod';
|
|
3
3
|
import { TimestampSchema, UuidSchema } from '@openora/core/contracts';
|
|
4
|
-
import { PageQuerySchema, paginated } from '@openora/core/contracts/kit';
|
|
4
|
+
import { PageQuerySchema, SortOrderSchema, paginated } from '@openora/core/contracts/kit';
|
|
5
5
|
// The value tuple is the single source of truth: `z.enum` derives the contract here
|
|
6
6
|
// and the Drizzle `pgEnum` in audit/schema derives the DB enum from the same tuple,
|
|
7
7
|
// so the two can never drift.
|
|
@@ -33,6 +33,15 @@ export const AuditLogEntrySchema = z.object({
|
|
|
33
33
|
hash: z.string(),
|
|
34
34
|
createdAt: TimestampSchema,
|
|
35
35
|
});
|
|
36
|
+
export const AUDIT_SORT_BY_VALUES = [
|
|
37
|
+
'createdAt',
|
|
38
|
+
'action',
|
|
39
|
+
'actorId',
|
|
40
|
+
'actorType',
|
|
41
|
+
'resourceType',
|
|
42
|
+
'resourceId',
|
|
43
|
+
];
|
|
44
|
+
export const AuditSortBySchema = z.enum(AUDIT_SORT_BY_VALUES).default('createdAt');
|
|
36
45
|
export const AuditListFiltersSchema = PageQuerySchema.extend({
|
|
37
46
|
actorId: z.string().optional(),
|
|
38
47
|
actorType: AuditActorTypeSchema.optional(),
|
|
@@ -45,8 +54,17 @@ export const AuditListFiltersSchema = PageQuerySchema.extend({
|
|
|
45
54
|
q: z.string().trim().min(1).optional(),
|
|
46
55
|
fromDate: z.iso.date().optional(),
|
|
47
56
|
toDate: z.iso.date().optional(),
|
|
57
|
+
sortBy: AuditSortBySchema.optional(),
|
|
58
|
+
sortOrder: SortOrderSchema.default('desc').optional(),
|
|
59
|
+
});
|
|
60
|
+
// Export inherits sortBy/sortOrder from the list schema; override default sort order to
|
|
61
|
+
// ascending (chronological) to match prior exportCsv behaviour (asc by seq).
|
|
62
|
+
export const AuditExportFiltersSchema = AuditListFiltersSchema.omit({
|
|
63
|
+
page: true,
|
|
64
|
+
limit: true,
|
|
65
|
+
}).extend({
|
|
66
|
+
sortOrder: SortOrderSchema.default('asc').optional(),
|
|
48
67
|
});
|
|
49
|
-
export const AuditExportFiltersSchema = AuditListFiltersSchema.omit({ page: true, limit: true });
|
|
50
68
|
export const auditContract = {
|
|
51
69
|
list: oc
|
|
52
70
|
.route({ method: 'GET', path: '/audit/logs' })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/audit/contract/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/audit/contract/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,18 @@ export declare function createAuditRouter(svc: AuditService, adminGuard: AdminGu
|
|
|
17
17
|
q: import("zod").ZodOptional<import("zod").ZodString>;
|
|
18
18
|
fromDate: import("zod").ZodOptional<import("zod").ZodISODate>;
|
|
19
19
|
toDate: import("zod").ZodOptional<import("zod").ZodISODate>;
|
|
20
|
+
sortBy: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
21
|
+
createdAt: "createdAt";
|
|
22
|
+
actorId: "actorId";
|
|
23
|
+
action: "action";
|
|
24
|
+
actorType: "actorType";
|
|
25
|
+
resourceType: "resourceType";
|
|
26
|
+
resourceId: "resourceId";
|
|
27
|
+
}>>>;
|
|
28
|
+
sortOrder: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
29
|
+
asc: "asc";
|
|
30
|
+
desc: "desc";
|
|
31
|
+
}>>>;
|
|
20
32
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
21
33
|
items: import("zod").ZodArray<import("zod").ZodObject<{
|
|
22
34
|
id: import("zod").ZodUUID;
|
|
@@ -45,6 +57,14 @@ export declare function createAuditRouter(svc: AuditService, adminGuard: AdminGu
|
|
|
45
57
|
limit: import("zod").ZodNumber;
|
|
46
58
|
}, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
47
59
|
exportCsv: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
|
|
60
|
+
sortBy: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
61
|
+
createdAt: "createdAt";
|
|
62
|
+
actorId: "actorId";
|
|
63
|
+
action: "action";
|
|
64
|
+
actorType: "actorType";
|
|
65
|
+
resourceType: "resourceType";
|
|
66
|
+
resourceId: "resourceId";
|
|
67
|
+
}>>>;
|
|
48
68
|
actorId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
49
69
|
action: import("zod").ZodOptional<import("zod").ZodString>;
|
|
50
70
|
actorType: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
@@ -58,6 +78,10 @@ export declare function createAuditRouter(svc: AuditService, adminGuard: AdminGu
|
|
|
58
78
|
q: import("zod").ZodOptional<import("zod").ZodString>;
|
|
59
79
|
fromDate: import("zod").ZodOptional<import("zod").ZodISODate>;
|
|
60
80
|
toDate: import("zod").ZodOptional<import("zod").ZodISODate>;
|
|
81
|
+
sortOrder: import("zod").ZodOptional<import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
82
|
+
asc: "asc";
|
|
83
|
+
desc: "desc";
|
|
84
|
+
}>>>;
|
|
61
85
|
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
62
86
|
csv: import("zod").ZodString;
|
|
63
87
|
}, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/audit/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEzF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/audit/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEzF,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB1E"}
|