@openora/core 0.4.1-canary.16 → 0.4.1-canary.18
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/contracts/adapters/index.d.ts +2 -2
- package/dist/contracts/adapters/index.d.ts.map +1 -1
- package/dist/contracts/adapters/index.js +1 -1
- package/dist/contracts/adapters/index.js.map +1 -1
- package/dist/contracts/adapters/rate-limit.d.ts +19 -3
- package/dist/contracts/adapters/rate-limit.d.ts.map +1 -1
- package/dist/contracts/adapters/rate-limit.js +13 -0
- package/dist/contracts/adapters/rate-limit.js.map +1 -1
- package/dist/pam/identity/__tests__/identity.service.test.js +32 -1
- package/dist/pam/identity/__tests__/identity.service.test.js.map +1 -1
- package/dist/pam/identity/contract/index.d.ts +4 -0
- package/dist/pam/identity/contract/index.d.ts.map +1 -1
- package/dist/pam/identity/contract/index.js +4 -1
- package/dist/pam/identity/contract/index.js.map +1 -1
- package/dist/pam/identity/router/index.d.ts +4 -0
- package/dist/pam/identity/router/index.d.ts.map +1 -1
- package/dist/pam/identity/router/index.js +10 -2
- package/dist/pam/identity/router/index.js.map +1 -1
- package/dist/pam/identity/service/identity.service.d.ts +4 -2
- package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
- package/dist/pam/identity/service/identity.service.js +23 -20
- package/dist/pam/identity/service/identity.service.js.map +1 -1
- package/dist/server/auth/auth.d.ts.map +1 -1
- package/dist/server/auth/auth.js +0 -1
- package/dist/server/auth/auth.js.map +1 -1
- package/dist/server/kernel/rate-limiter.d.ts +2 -1
- package/dist/server/kernel/rate-limiter.d.ts.map +1 -1
- package/dist/server/kernel/rate-limiter.js +4 -0
- package/dist/server/kernel/rate-limiter.js.map +1 -1
- package/dist/server/kernel/redis-rate-limiter.d.ts +1 -0
- package/dist/server/kernel/redis-rate-limiter.d.ts.map +1 -1
- package/dist/server/kernel/redis-rate-limiter.js +11 -0
- package/dist/server/kernel/redis-rate-limiter.js.map +1 -1
- package/dist/wallet/service/wallet.service.d.ts +2 -2
- package/dist/wallet/service/wallet.service.d.ts.map +1 -1
- package/dist/wallet/service/wallet.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,8 +12,8 @@ export type { IdentityReader } from './identity-reader.js';
|
|
|
12
12
|
export { IDENTITY_READER } from './identity-reader.js';
|
|
13
13
|
export type { JobQueueAdapter, QueueName, BackoffStrategy, EnqueueOptions, RepeatOptions, JobContext, JobHandler, WorkerOptions, WorkerRegistration, PayloadSchema, } from './job-queue.js';
|
|
14
14
|
export { JOB_QUEUE, queue } from './job-queue.js';
|
|
15
|
-
export type { RateLimiterAdapter, RateLimitOptions, RateLimitResult } from './rate-limit.js';
|
|
16
|
-
export { RATE_LIMITER } from './rate-limit.js';
|
|
15
|
+
export type { RateLimiterAdapter, RateLimitOptions, RateLimitResult, RateLimitKey, RateLimitKeyPrefix, } from './rate-limit.js';
|
|
16
|
+
export { RATE_LIMITER, RATE_LIMIT_KEYS } from './rate-limit.js';
|
|
17
17
|
export type { CacheAdapter } from './cache.js';
|
|
18
18
|
export { CACHE } from './cache.js';
|
|
19
19
|
export type { RealtimeTransport, RealtimePresence, RealtimeConnectionGrant, RealtimeClientAuthorizer, RealtimeClientAuthorizerInput, } from './realtime.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"AAKA,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnF,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,YAAY,EACV,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,YAAY,EACV,eAAe,EACf,SAAS,EACT,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAElD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export { WALLET_COMMANDS } from './wallet-commands.js';
|
|
|
9
9
|
export { WALLET_READER } from './wallet-reader.js';
|
|
10
10
|
export { IDENTITY_READER } from './identity-reader.js';
|
|
11
11
|
export { JOB_QUEUE, queue } from './job-queue.js';
|
|
12
|
-
export { RATE_LIMITER } from './rate-limit.js';
|
|
12
|
+
export { RATE_LIMITER, RATE_LIMIT_KEYS } from './rate-limit.js';
|
|
13
13
|
export { CACHE } from './cache.js';
|
|
14
14
|
export { REALTIME_TRANSPORT, REALTIME_CLIENT_AUTHORIZER } from './realtime.js';
|
|
15
15
|
export { GAME_ADAPTER } from './game.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,gFAAgF;AAChF,gFAAgF;AAChF,sFAAsF;AAGtF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AASrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAcvD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,gFAAgF;AAChF,gFAAgF;AAChF,sFAAsF;AAGtF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AASrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAcvD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AASlD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGhE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AASnC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAWzC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGhF,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQ/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAQjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAOrE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
import { type Token } from './token.js';
|
|
2
|
+
export declare const RATE_LIMIT_KEYS: {
|
|
3
|
+
readonly REGISTER: "register";
|
|
4
|
+
readonly LOGIN: "login";
|
|
5
|
+
readonly ENABLE_2FA: "enable2fa";
|
|
6
|
+
readonly VERIFY_2FA: "verify2fa";
|
|
7
|
+
readonly DISABLE_2FA: "disable2fa";
|
|
8
|
+
readonly PASSWORD_RESET_REQUEST: "pwreset-req";
|
|
9
|
+
readonly PASSWORD_RESET: "pwreset";
|
|
10
|
+
readonly CHANGE_PASSWORD: "change-password";
|
|
11
|
+
readonly EMAIL_VERIFICATION: "email-verify";
|
|
12
|
+
readonly VERIFY_EMAIL: "verify-email";
|
|
13
|
+
readonly WALLET_MUTATION: "wallet-mutation";
|
|
14
|
+
};
|
|
15
|
+
export type RateLimitKeyPrefix = (typeof RATE_LIMIT_KEYS)[keyof typeof RATE_LIMIT_KEYS];
|
|
16
|
+
export type RateLimitKey = `${RateLimitKeyPrefix}:${string}`;
|
|
2
17
|
export type RateLimitOptions = {
|
|
3
18
|
limit: number;
|
|
4
19
|
windowMs: number;
|
|
@@ -8,8 +23,9 @@ export type RateLimitResult = {
|
|
|
8
23
|
allowed: boolean;
|
|
9
24
|
retryAfterMs: number;
|
|
10
25
|
};
|
|
11
|
-
export type RateLimiterAdapter = {
|
|
12
|
-
consume(key:
|
|
26
|
+
export type RateLimiterAdapter<Key extends string = string> = {
|
|
27
|
+
consume(key: Key, opts: RateLimitOptions): Promise<RateLimitResult>;
|
|
28
|
+
reset(key: Key): Promise<void>;
|
|
13
29
|
};
|
|
14
|
-
export declare const RATE_LIMITER: Token<RateLimiterAdapter
|
|
30
|
+
export declare const RATE_LIMITER: Token<RateLimiterAdapter<RateLimitKey>>;
|
|
15
31
|
//# sourceMappingURL=rate-limit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/rate-limit.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,gBAAgB,GAAG;IAE7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IAKjB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IAEjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;
|
|
1
|
+
{"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/rate-limit.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,eAAO,MAAM,eAAe;;;;;;;;;;;;CAYlB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAExF,MAAM,MAAM,YAAY,GAAG,GAAG,kBAAkB,IAAI,MAAM,EAAE,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG;IAE7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IAKjB,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IAEjB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,IAAI;IAC5D,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACpE,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAA+B,CAAC"}
|
|
@@ -5,5 +5,18 @@
|
|
|
5
5
|
// REDIS_URL to bind the shipped Redis reference adapter (distributed fixed-window)
|
|
6
6
|
// with zero consumer code; rebind RATE_LIMITER via an overlay for any other backend.
|
|
7
7
|
import { createToken } from './token.js';
|
|
8
|
+
export const RATE_LIMIT_KEYS = {
|
|
9
|
+
REGISTER: 'register',
|
|
10
|
+
LOGIN: 'login',
|
|
11
|
+
ENABLE_2FA: 'enable2fa',
|
|
12
|
+
VERIFY_2FA: 'verify2fa',
|
|
13
|
+
DISABLE_2FA: 'disable2fa',
|
|
14
|
+
PASSWORD_RESET_REQUEST: 'pwreset-req',
|
|
15
|
+
PASSWORD_RESET: 'pwreset',
|
|
16
|
+
CHANGE_PASSWORD: 'change-password',
|
|
17
|
+
EMAIL_VERIFICATION: 'email-verify',
|
|
18
|
+
VERIFY_EMAIL: 'verify-email',
|
|
19
|
+
WALLET_MUTATION: 'wallet-mutation',
|
|
20
|
+
};
|
|
8
21
|
export const RATE_LIMITER = createToken('RATE_LIMITER');
|
|
9
22
|
//# sourceMappingURL=rate-limit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../../src/contracts/adapters/rate-limit.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,2EAA2E;AAC3E,mFAAmF;AACnF,qFAAqF;AACrF,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../../src/contracts/adapters/rate-limit.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,2EAA2E;AAC3E,mFAAmF;AACnF,qFAAqF;AACrF,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,WAAW;IACvB,WAAW,EAAE,YAAY;IACzB,sBAAsB,EAAE,aAAa;IACrC,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,cAAc;IAClC,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AA4BX,MAAM,CAAC,MAAM,YAAY,GAA4C,WAAW,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
-
import { IdentityService } from '../service/identity.service.js';
|
|
2
|
+
import { IdentityService, SESSION_DURATION_IN_SECONDS } from '../service/identity.service.js';
|
|
3
3
|
import { UnsupportedLanguageError } from '../../shared/language.js';
|
|
4
4
|
import { ORPCError } from '@orpc/server';
|
|
5
5
|
const { signInEmailMock, getSessionMock, updateUserMock } = vi.hoisted(() => ({
|
|
@@ -10,6 +10,11 @@ const { signInEmailMock, getSessionMock, updateUserMock } = vi.hoisted(() => ({
|
|
|
10
10
|
vi.mock('@openora/core/server', async (importOriginal) => ({
|
|
11
11
|
...(await importOriginal()),
|
|
12
12
|
createAuth: vi.fn(() => ({
|
|
13
|
+
options: {
|
|
14
|
+
session: {
|
|
15
|
+
expiresIn: SESSION_DURATION_IN_SECONDS,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
13
18
|
api: {
|
|
14
19
|
getSession: getSessionMock,
|
|
15
20
|
signUpEmail: vi.fn(),
|
|
@@ -265,6 +270,32 @@ describe('IdentityService - unlockUser', () => {
|
|
|
265
270
|
const svc = new IdentityService({ drizzle: drizzle, events: makeEvents() });
|
|
266
271
|
await expect(svc.unlockUser('missing', 'admin1')).rejects.toThrow();
|
|
267
272
|
});
|
|
273
|
+
it('resets the login rate-limit window for the unlocked user', async () => {
|
|
274
|
+
const drizzle = makeDrizzle({
|
|
275
|
+
selectRows: [
|
|
276
|
+
[
|
|
277
|
+
{
|
|
278
|
+
id: 'u1',
|
|
279
|
+
email: 'A@B.DEV',
|
|
280
|
+
failedLoginAttempts: 5,
|
|
281
|
+
lockoutUntil: new Date('2020-01-01'),
|
|
282
|
+
},
|
|
283
|
+
],
|
|
284
|
+
],
|
|
285
|
+
});
|
|
286
|
+
const resetMock = vi.fn().mockResolvedValue(undefined);
|
|
287
|
+
const limiter = {
|
|
288
|
+
consume: vi.fn(),
|
|
289
|
+
reset: resetMock,
|
|
290
|
+
};
|
|
291
|
+
const svc = new IdentityService({
|
|
292
|
+
drizzle: drizzle,
|
|
293
|
+
events: makeEvents(),
|
|
294
|
+
limiter,
|
|
295
|
+
});
|
|
296
|
+
await svc.unlockUser('u1', 'admin1');
|
|
297
|
+
expect(resetMock).toHaveBeenCalledWith('login:a@b.dev');
|
|
298
|
+
});
|
|
268
299
|
});
|
|
269
300
|
describe('IdentityService.updateProfile language validation', () => {
|
|
270
301
|
it('rejects an unsupported language before calling updateUser', async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.service.test.js","sourceRoot":"","sources":["../../../../src/pam/identity/__tests__/identity.service.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5E,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;IACxB,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;IAC/C,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;CACxB,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;IACzD,GAAG,CAAC,MAAM,cAAc,EAAU,CAAC;IACnC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QACvB,GAAG,EAAE;YACH,UAAU,EAAE,cAAc;YAC1B,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;YACpB,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;YAChB,UAAU,EAAE,cAAc;SAC3B;KACF,CAAC,CAAC;CACJ,CAAC,CAAC,CAAC;AAIJ,SAAS,WAAW,CAAC,EAAE,UAAU,GAAG,EAAE,EAAE,eAAe,GAAG,EAAE,KAAkB,EAAE;IAC9E,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1B,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACV,KAAK,EAAE,GAAG,EAAE,CACV,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACxC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;aAC/D,CAAC;SACL,CAAC;KACH,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KAC7F,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,IAAa,EAAE,MAAc;IACjD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,cAAc,GAAG;IACrB,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,GAAG;IACT,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,0BAA0B;IACrC,SAAS,EAAE,0BAA0B;CACtC,CAAC;AAEF,UAAU,CAAC,GAAG,EAAE;IACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACnB,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,WAAW,EAAW;YAC/B,MAAM,EAAE,UAAU,EAAW;SAC9B,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,IAAI,GAAkB,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,WAAW,EAAW;YAC/B,MAAM,EAAE,UAAU,EAAW;YAC7B,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,WAAW,EAAW;YAC/B,MAAM,EAAE,UAAU,EAAW;SAC9B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;QACtG,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,eAAe,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAExF,MAAM,MAAM,CACV,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAC3E,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAEpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,iCAAiC,EACjC,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAC5D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,eAAe,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAExF,MAAM,MAAM,CACV,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAC3E,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAEpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,4BAA4B,EAC5B,MAAM,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAC7E,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAC1C,iCAAiC,EACjC,MAAM,CAAC,QAAQ,EAAE,CAClB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;SAC3E,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,UAAU,EAAW,EAAE,CAAC,CAAC;QAE9F,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QAC1F,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAC1C,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,wDAAwD;YACjE,IAAI,EAAE;gBACJ,IAAI,EAAE,gBAAgB;gBACtB,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE;aACnC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,eAAe,CAAC,iBAAiB,CAC/B,YAAY,CACV,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,0BAA0B,EAAE,EAAE,EAC1F,GAAG,CACJ,CACF,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAExF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QAEhG,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,qBAAqB,EACrB,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAC1C,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;SACxF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,OAAgB;YACzB,MAAM,EAAE,MAAe;YACvB,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,OAAO,EAAE,IAAI;oBACb,eAAe,EAAE,IAAI;iBACtB;aACF;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,CACV,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAC/E,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAEpB,iEAAiE;QACjE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,4BAA4B,EAC5B,MAAM,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAClD,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAC1C,iCAAiC,EACjC,MAAM,CAAC,QAAQ,EAAE,CAClB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE;gBACV,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC3E,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC;aAC7B;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,OAAgB;YACzB,MAAM,EAAE,MAAe;YACvB,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,OAAO,EAAE,IAAI;oBACb,eAAe,EAAE,IAAI;oBACrB,WAAW,EAAE,CAAC;iBACf;aACF;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,CACV,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CACjF,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAEpB,8DAA8D;QAC9D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,iCAAiC,EACjC,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAClE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;QAC1G,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE;gBACV;oBACE;wBACE,EAAE,EAAE,IAAI;wBACR,mBAAmB,EAAE,CAAC;wBACtB,YAAY,EAAE,IAAI;wBAClB,SAAS,EAAE,IAAI;wBACf,cAAc,EAAE,IAAI;qBACrB;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,uDAAuD;QACvD,eAAe,CAAC,iBAAiB,CAC/B,YAAY,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CACvE,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAExF,MAAM,MAAM,CACV,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAC3E,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAE/C,MAAM,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,4BAA4B,EAC5B,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAC1C,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,4BAA4B,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9F,sCAAsC;QACtC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE;gBACV;oBACE;wBACE,EAAE,EAAE,IAAI;wBACR,mBAAmB,EAAE,CAAC;wBACtB,YAAY,EAAE,IAAI;wBAClB,SAAS,EAAE,IAAI;wBACf,cAAc,EAAE,IAAI;qBACrB;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,eAAe,CAAC,iBAAiB,CAC/B,YAAY,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CACvE,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAExF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QAEhG,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,qBAAqB,EACrB,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAC1C,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,4BAA4B,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE;gBACV;oBACE;wBACE,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,SAAS;wBAChB,mBAAmB,EAAE,CAAC;wBACtB,YAAY,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;qBACnD;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAExF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEjD,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,wBAAwB,EACxB,MAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,QAAQ;YACjB,sBAAsB,EAAE,CAAC;YACzB,oBAAoB,EAAE,0BAA0B;SACjD,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,UAAU,EAAW,EAAE,CAAC,CAAC;QAC9F,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;IACjE,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,WAAW,EAAW;YAC/B,MAAM,EAAE,UAAU,EAAW;YAC7B,cAAc,EAAE,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAW;SAC9D,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACpF,wBAAwB,CACzB,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,cAAc,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACtE,cAAc,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACtF,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,WAAW,EAAW;YAC/B,MAAM,EAAE,UAAU,EAAW;YAC7B,cAAc,EAAE,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAW;SAC9D,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QAE9E,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CACzC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAC/E,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"identity.service.test.js","sourceRoot":"","sources":["../../../../src/pam/identity/__tests__/identity.service.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5E,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;IACxB,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;IAC/C,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;CACxB,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;IACzD,GAAG,CAAC,MAAM,cAAc,EAAU,CAAC;IACnC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QACvB,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,SAAS,EAAE,2BAA2B;aACvC;SACF;QACD,GAAG,EAAE;YACH,UAAU,EAAE,cAAc;YAC1B,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;YACpB,WAAW,EAAE,eAAe;YAC5B,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;YAChB,UAAU,EAAE,cAAc;SAC3B;KACF,CAAC,CAAC;CACJ,CAAC,CAAC,CAAC;AAIJ,SAAS,WAAW,CAAC,EAAE,UAAU,GAAG,EAAE,EAAE,eAAe,GAAG,EAAE,KAAkB,EAAE;IAC9E,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1B,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACV,KAAK,EAAE,GAAG,EAAE,CACV,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACxC,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;aAC/D,CAAC;SACL,CAAC;KACH,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;KAC7F,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,IAAa,EAAE,MAAc;IACjD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,cAAc,GAAG;IACrB,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,GAAG;IACT,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,0BAA0B;IACrC,SAAS,EAAE,0BAA0B;CACtC,CAAC;AAEF,UAAU,CAAC,GAAG,EAAE;IACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACnB,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,WAAW,EAAW;YAC/B,MAAM,EAAE,UAAU,EAAW;SAC9B,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,IAAI,GAAkB,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,WAAW,EAAW;YAC/B,MAAM,EAAE,UAAU,EAAW;YAC7B,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,WAAW,EAAW;YAC/B,MAAM,EAAE,UAAU,EAAW;SAC9B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;QACtG,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,eAAe,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAExF,MAAM,MAAM,CACV,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAC3E,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAEpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,iCAAiC,EACjC,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAC5D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,eAAe,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;SAChD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAExF,MAAM,MAAM,CACV,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAC3E,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAEpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,4BAA4B,EAC5B,MAAM,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAC7E,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAC1C,iCAAiC,EACjC,MAAM,CAAC,QAAQ,EAAE,CAClB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;SAC3E,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,UAAU,EAAW,EAAE,CAAC,CAAC;QAE9F,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QAC1F,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAC1C,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,wDAAwD;YACjE,IAAI,EAAE;gBACJ,IAAI,EAAE,gBAAgB;gBACtB,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE;aACnC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,eAAe,CAAC,iBAAiB,CAC/B,YAAY,CACV,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,0BAA0B,EAAE,EAAE,EAC1F,GAAG,CACJ,CACF,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAExF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QAEhG,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,qBAAqB,EACrB,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAC1C,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;SACxF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,OAAgB;YACzB,MAAM,EAAE,MAAe;YACvB,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,OAAO,EAAE,IAAI;oBACb,eAAe,EAAE,IAAI;iBACtB;aACF;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,CACV,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAC/E,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAEpB,iEAAiE;QACjE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,4BAA4B,EAC5B,MAAM,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAClD,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAC1C,iCAAiC,EACjC,MAAM,CAAC,QAAQ,EAAE,CAClB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE;gBACV,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gBAC3E,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC;aAC7B;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,OAAgB;YACzB,MAAM,EAAE,MAAe;YACvB,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,OAAO,EAAE,IAAI;oBACb,eAAe,EAAE,IAAI;oBACrB,WAAW,EAAE,CAAC;iBACf;aACF;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,CACV,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CACjF,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAEpB,8DAA8D;QAC9D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,iCAAiC,EACjC,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAClE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;QAC1G,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE;gBACV;oBACE;wBACE,EAAE,EAAE,IAAI;wBACR,mBAAmB,EAAE,CAAC;wBACtB,YAAY,EAAE,IAAI;wBAClB,SAAS,EAAE,IAAI;wBACf,cAAc,EAAE,IAAI;qBACrB;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,uDAAuD;QACvD,eAAe,CAAC,iBAAiB,CAC/B,YAAY,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CACvE,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAExF,MAAM,MAAM,CACV,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAC3E,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAE/C,MAAM,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,4BAA4B,EAC5B,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAC1C,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,4BAA4B,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9F,sCAAsC;QACtC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE;gBACV;oBACE;wBACE,EAAE,EAAE,IAAI;wBACR,mBAAmB,EAAE,CAAC;wBACtB,YAAY,EAAE,IAAI;wBAClB,SAAS,EAAE,IAAI;wBACf,cAAc,EAAE,IAAI;qBACrB;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,eAAe,CAAC,iBAAiB,CAC/B,YAAY,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CACvE,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAExF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QAEhG,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,qBAAqB,EACrB,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAC1C,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,4BAA4B,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE;gBACV;oBACE;wBACE,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,SAAS;wBAChB,mBAAmB,EAAE,CAAC;wBACtB,YAAY,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC;qBACnD;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAExF,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEjD,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,wBAAwB,EACxB,MAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,QAAQ;YACjB,sBAAsB,EAAE,CAAC;YACzB,oBAAoB,EAAE,0BAA0B;SACjD,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,OAAgB,EAAE,MAAM,EAAE,UAAU,EAAW,EAAE,CAAC,CAAC;QAC9F,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU,EAAE;gBACV;oBACE;wBACE,EAAE,EAAE,IAAI;wBACR,KAAK,EAAE,SAAS;wBAChB,mBAAmB,EAAE,CAAC;wBACtB,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;qBACrC;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;YAChB,KAAK,EAAE,SAAS;SAC8C,CAAC;QACjE,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,OAAgB;YACzB,MAAM,EAAE,UAAU,EAAW;YAC7B,OAAO;SACR,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAErC,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;IACjE,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,WAAW,EAAW;YAC/B,MAAM,EAAE,UAAU,EAAW;YAC7B,cAAc,EAAE,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAW;SAC9D,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACpF,wBAAwB,CACzB,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,cAAc,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;QACtE,cAAc,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACtF,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC;YAC9B,OAAO,EAAE,WAAW,EAAW;YAC/B,MAAM,EAAE,UAAU,EAAW;YAC7B,cAAc,EAAE,EAAE,kBAAkB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAW;SAC9D,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QAE9E,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CACzC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAC/E,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -75,8 +75,12 @@ export declare const identityContract: {
|
|
|
75
75
|
}, z.core.$strip>>, Record<never, never>, Record<never, never>>;
|
|
76
76
|
streamSession: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, import("@orpc/contract").Schema<AsyncIteratorObject<{
|
|
77
77
|
type: "revoked";
|
|
78
|
+
} | {
|
|
79
|
+
type: "unlocked";
|
|
78
80
|
}, unknown, void>, import("@orpc/contract").AsyncIteratorClass<{
|
|
79
81
|
type: "revoked";
|
|
82
|
+
} | {
|
|
83
|
+
type: "unlocked";
|
|
80
84
|
}, unknown, void>>, Record<never, never>, Record<never, never>>;
|
|
81
85
|
enable2fa: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
82
86
|
password: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pam/identity/contract/index.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAOzB,eAAO,MAAM,iBAAiB;;;;;;iBAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pam/identity/contract/index.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAOzB,eAAO,MAAM,iBAAiB;;;;;;iBAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuG5B,CAAC"}
|
|
@@ -31,7 +31,10 @@ export const identityContract = {
|
|
|
31
31
|
me: oc.route({ method: 'GET', path: '/identity/me' }).output(UserSchema.nullable()),
|
|
32
32
|
streamSession: oc
|
|
33
33
|
.route({ method: 'GET', path: '/identity/session/stream' })
|
|
34
|
-
.output(eventIterator(z.
|
|
34
|
+
.output(eventIterator(z.discriminatedUnion('type', [
|
|
35
|
+
z.object({ type: z.literal('revoked') }),
|
|
36
|
+
z.object({ type: z.literal('unlocked') }),
|
|
37
|
+
]))),
|
|
35
38
|
enable2fa: oc
|
|
36
39
|
.route({ method: 'POST', path: '/identity/2fa/enable' })
|
|
37
40
|
.input(Enable2faInputSchema)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/pam/identity/contract/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EACL,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,eAAe;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,UAAU;IACd,SAAS,EAAE,eAAe;IAC1B,SAAS,EAAE,eAAe;IAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,EAAE,EAAE;SACT,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;SACrD,KAAK,CAAC,mBAAmB,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAEzC,2HAA2H;IAC3H,KAAK,EAAE,EAAE;SACN,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;SAClD,KAAK,CAAC,gBAAgB,CAAC;SACvB,MAAM,CACL,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;QAC3B,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;QACjC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAC1C,CAAC,CACH;IAEH,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAE5F,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAEnF,aAAa,EAAE,EAAE;SACd,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;SAC1D,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/pam/identity/contract/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,8 +69,12 @@ export declare function createIdentityRouter(identity: IdentityService, sessionS
|
|
|
69
69
|
}, import("zod/v4/core").$strip>>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
70
70
|
streamSession: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("@orpc/server").Schema<unknown, unknown>, import("@orpc/server").Schema<AsyncIteratorObject<{
|
|
71
71
|
type: "revoked";
|
|
72
|
+
} | {
|
|
73
|
+
type: "unlocked";
|
|
72
74
|
}, unknown, void>, import("@orpc/server").AsyncIteratorClass<{
|
|
73
75
|
type: "revoked";
|
|
76
|
+
} | {
|
|
77
|
+
type: "unlocked";
|
|
74
78
|
}, unknown, void>>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
|
|
75
79
|
enable2fa: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
|
|
76
80
|
password: import("zod").ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pam/identity/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,UAAU,EACf,UAAU,EAIV,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAqB,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,cAAc,EAAwB,MAAM,+BAA+B,CAAC;AAGrF,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pam/identity/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,UAAU,EACf,UAAU,EAIV,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAqB,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,cAAc,EAAwB,MAAM,+BAA+B,CAAC;AAGrF,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwHnB"}
|
|
@@ -24,12 +24,20 @@ export function createIdentityRouter(identity, sessionSvc, adminGuard, eventBus)
|
|
|
24
24
|
streamSession: os.streamSession.handler(({ signal, context }) => {
|
|
25
25
|
const userId = getUserId(context);
|
|
26
26
|
return createEventStreamGenerator((push) => {
|
|
27
|
-
const
|
|
27
|
+
const unsubscribeRevoked = eventBus.on('identity.sessions.revoked_all', (event) => {
|
|
28
28
|
if (event.userId === userId) {
|
|
29
29
|
push({ type: 'revoked' });
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
|
-
|
|
32
|
+
const unsubscribeUnlocked = eventBus.on('identity.user.unlocked', (event) => {
|
|
33
|
+
if (event.userId === userId) {
|
|
34
|
+
push({ type: 'unlocked' });
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return () => {
|
|
38
|
+
unsubscribeRevoked();
|
|
39
|
+
unsubscribeUnlocked();
|
|
40
|
+
};
|
|
33
41
|
}, { signal });
|
|
34
42
|
}),
|
|
35
43
|
enable2fa: os.enable2fa.handler(({ input, context }) => identity.enableTwoFactor(input, context.request.headers, context.resHeaders ?? new Headers())),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/pam/identity/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAGL,SAAS,EACT,SAAS,EACT,0BAA0B,GAE3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAmB,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAkB,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,UAAU,oBAAoB,CAClC,QAAyB,EACzB,UAA0B,EAC1B,UAAsB,EACtB,QAAkB;IAElB,MAAM,EAAE,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAc,CAAC;IAE9D,OAAO,EAAE,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CACnD,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,OAAO,EAAE,CAAC,CACvF;QAED,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAC7C,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,OAAO,EAAE,CAAC,CACpF;QAED,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACxC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,OAAO,EAAE,CAAC,CAC9E;QAED,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YAChC,gFAAgF;YAChF,mFAAmF;YACnF,oDAAoD;YACpD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;gBAC/E,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC7C,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,0BAA0B,CAC/B,CAAC,IAAI,EAAE,EAAE;gBACP,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/pam/identity/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAGL,SAAS,EACT,SAAS,EACT,0BAA0B,GAE3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAmB,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAkB,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,UAAU,oBAAoB,CAClC,QAAyB,EACzB,UAA0B,EAC1B,UAAsB,EACtB,QAAkB;IAElB,MAAM,EAAE,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAc,CAAC;IAE9D,OAAO,EAAE,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CACnD,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,OAAO,EAAE,CAAC,CACvF;QAED,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAC7C,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,OAAO,EAAE,CAAC,CACpF;QAED,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACxC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,OAAO,EAAE,CAAC,CAC9E;QAED,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YAChC,gFAAgF;YAChF,mFAAmF;YACnF,oDAAoD;YACpD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAC;gBAC/E,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC7C,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,0BAA0B,CAC/B,CAAC,IAAI,EAAE,EAAE;gBACP,MAAM,kBAAkB,GAAG,QAAQ,CAAC,EAAE,CAAC,+BAA+B,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChF,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC5B,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,MAAM,mBAAmB,GAAG,QAAQ,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC1E,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC5B,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,GAAG,EAAE;oBACV,kBAAkB,EAAE,CAAC;oBACrB,mBAAmB,EAAE,CAAC;gBACxB,CAAC,CAAC;YACJ,CAAC,EACD,EAAE,MAAM,EAAE,CACX,CAAC;QACJ,CAAC,CAAC;QAEF,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CACrD,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,OAAO,EAAE,CAAC,CAC9F;QAED,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CACrD,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,OAAO,EAAE,CAAC,CAC9F;QAED,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CACvD,QAAQ,CAAC,gBAAgB,CACvB,KAAK,EACL,OAAO,CAAC,OAAO,CAAC,OAAO,EACvB,OAAO,CAAC,UAAU,IAAI,IAAI,OAAO,EAAE,CACpC,CACF;QAED,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAClE,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,CACrC;QAED,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAErF,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAC/D,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,OAAO,EAAE,CAAC,CAC7F;QAED,qBAAqB,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACtE,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CACxD;QAED,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CACzD,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CACrD;QAED,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CACzD,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,OAAO,EAAE,CAAC,CAC1F;QAED,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAC7D,SAAS,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,EAAE,GAAG,EAAE,CACxD,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,OAAO,EAAE,CAAC,CAC5F,CACF;QAED,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACpE,OAAO,SAAS,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,CACtD,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CACjD,CAAC;QACJ,CAAC,CAAC;QAEF,QAAQ,EAAE;YACR,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC1D,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;gBACrD,OAAO,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACxE,CAAC,CAAC;YACF,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC9D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACtE,OAAO,SAAS,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,EAAE,GAAG,EAAE,CACzD,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAChE,CAAC;YACJ,CAAC,CAAC;YACF,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;gBACpE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACtE,OAAO,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACnE,CAAC,CAAC;SACH;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { ORPCError } from '@orpc/server';
|
|
2
2
|
import { type EventBus, type NodeHeaders, DrizzleService } from '@openora/core/server';
|
|
3
|
-
import type { RateLimiterAdapter, SendEmailPort, LoginInput, RegisterInput, Enable2faInput, Verify2faInput, Disable2faInput, RequestPasswordResetInput, ResetPasswordInput, VerifyEmailInput, UpdateProfileInput, User, ChangePasswordInput, ChangeEmailInput, IdentityServiceOptions, PlatformConfig } from '@openora/core/contracts';
|
|
3
|
+
import type { RateLimiterAdapter, RateLimitKey, SendEmailPort, LoginInput, RegisterInput, Enable2faInput, Verify2faInput, Disable2faInput, RequestPasswordResetInput, ResetPasswordInput, VerifyEmailInput, UpdateProfileInput, User, ChangePasswordInput, ChangeEmailInput, IdentityServiceOptions, PlatformConfig } from '@openora/core/contracts';
|
|
4
4
|
export declare function createAccountLockedError(lockoutUntil: Date): ORPCError<"UNAUTHORIZED", {
|
|
5
5
|
code: string;
|
|
6
6
|
lockoutUntil: string;
|
|
7
7
|
}>;
|
|
8
8
|
export declare const UserNotFoundError: new (id: string) => Error;
|
|
9
|
+
export declare const SESSION_DURATION_IN_SECONDS: number;
|
|
9
10
|
export type IdentityServiceDeps = {
|
|
10
11
|
drizzle: DrizzleService;
|
|
11
12
|
events: EventBus;
|
|
12
13
|
email?: SendEmailPort;
|
|
13
14
|
options?: IdentityServiceOptions;
|
|
14
|
-
limiter?: RateLimiterAdapter
|
|
15
|
+
limiter?: RateLimiterAdapter<RateLimitKey>;
|
|
15
16
|
platformConfig?: PlatformConfig;
|
|
16
17
|
};
|
|
17
18
|
/**
|
|
@@ -33,6 +34,7 @@ export declare class IdentityService {
|
|
|
33
34
|
private readonly platformConfig?;
|
|
34
35
|
constructor({ drizzle, events, email, options, limiter, platformConfig }: IdentityServiceDeps);
|
|
35
36
|
private get api();
|
|
37
|
+
private forwardCookies;
|
|
36
38
|
private currentUserId;
|
|
37
39
|
register(input: RegisterInput, reqHeaders: NodeHeaders, resHeaders: Headers): Promise<{
|
|
38
40
|
user: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.service.d.ts","sourceRoot":"","sources":["../../../../src/pam/identity/service/identity.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,cAAc,EAIf,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAElB,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAcjC,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,IAAI;;;GAQ1D;
|
|
1
|
+
{"version":3,"file":"identity.service.d.ts","sourceRoot":"","sources":["../../../../src/pam/identity/service/identity.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,cAAc,EAIf,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAElB,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACf,MAAM,yBAAyB,CAAC;AAcjC,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,IAAI;;;GAQ1D;AA8ED,eAAO,MAAM,iBAAiB,2BAA4B,CAAC;AA0B3D,eAAO,MAAM,2BAA2B,QAAoB,CAAC;AA2C7D,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,OAAO,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC3C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgC;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;gBAErC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,mBAAmB;IAc7F,OAAO,KAAK,GAAG,GAId;IAED,OAAO,CAAC,cAAc;YAOR,aAAa;IAKrB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;IAmBjF;;;;;;;;;;;OAWG;IACG,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoJ3E,OAAO,CAAC,YAAY;IAOd,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;;;IA+BlD,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO;;;IAanD,EAAE,CAAC,UAAU,EAAE,WAAW;;;;;;;;;;IAS1B,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO;;;;IAmBnF,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO;;;IAmBnF,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO;;;IAqBrF,oBAAoB,CAAC,KAAK,EAAE,yBAAyB;;;IAqBrD,aAAa,CAAC,KAAK,EAAE,kBAAkB;;;IAmBvC,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO;;;IAkBvF,qBAAqB,CAAC,UAAU,EAAE,WAAW;;;IAe7C,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW;;;IAoB5D,WAAW,CAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO;;;IAYjF,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;CA0B5F"}
|
|
@@ -39,15 +39,12 @@ function toUser(u) {
|
|
|
39
39
|
};
|
|
40
40
|
return u.image !== undefined ? { ...base, image: u.image } : base;
|
|
41
41
|
}
|
|
42
|
-
function forwardCookies(authResponse, resHeaders) {
|
|
43
|
-
const cookies = authResponse.headers.getSetCookie?.() ?? [];
|
|
44
|
-
for (const cookie of cookies) {
|
|
45
|
-
resHeaders.append('set-cookie', cookie);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
42
|
function clientIp(headers) {
|
|
49
43
|
return headers.get('x-forwarded-for')?.split(',')[0]?.trim() || headers.get('x-real-ip') || null;
|
|
50
44
|
}
|
|
45
|
+
function makeLoginRateLimitKey(email) {
|
|
46
|
+
return `login:${email.toLowerCase()}`;
|
|
47
|
+
}
|
|
51
48
|
// Key on the `.two_factor` cookie VALUE, never the raw Cookie header: an attacker can
|
|
52
49
|
// otherwise churn the rate-limit key each retry by appending unrelated cookie pairs.
|
|
53
50
|
function twoFactorPendingCookieValue(headers) {
|
|
@@ -87,6 +84,7 @@ async function ensureOk(res) {
|
|
|
87
84
|
const DEFAULT_MAX_LOGIN_ATTEMPTS = 5;
|
|
88
85
|
const DEFAULT_LOCKOUT_DURATION_MS = 15 * 60 * 1000;
|
|
89
86
|
const MINUTE_MS = 60 * 1000;
|
|
87
|
+
export const SESSION_DURATION_IN_SECONDS = 30 * 24 * 60 * 60; // 30 days
|
|
90
88
|
// Coarse abuse throttles keyed by the caller identifier the context provides (email/
|
|
91
89
|
// token/session), NOT IP. The lockout above is a per-account credential-failure
|
|
92
90
|
// counter; these bound raw request volume on each brute-force surface. An overlay
|
|
@@ -107,9 +105,6 @@ const EMAIL_VERIFICATION_RATE_LIMIT = { limit: 3, windowMs: 15 * MINUTE_MS };
|
|
|
107
105
|
const VERIFY_EMAIL_RATE_LIMIT = { limit: 5, windowMs: 15 * MINUTE_MS };
|
|
108
106
|
const CHANGE_PASSWORD_RATE_LIMIT = { limit: 5, windowMs: 15 * MINUTE_MS };
|
|
109
107
|
const TWO_FACTOR_PASSWORD_RATE_LIMIT = { limit: 5, windowMs: 5 * MINUTE_MS };
|
|
110
|
-
// Mirrors better-auth session.expiresIn (server/auth/auth.ts); used only as a fallback
|
|
111
|
-
// when the sign-in response omits an explicit session expiry.
|
|
112
|
-
const SESSION_TTL_MS = 30 * 24 * 60 * 60 * 1000;
|
|
113
108
|
function computeLockoutState({ attempts, maxAttempts, durationMs, nowMs, }) {
|
|
114
109
|
const isLocking = attempts >= maxAttempts;
|
|
115
110
|
return { isLocking, lockoutUntil: isLocking ? new Date(nowMs + durationMs) : null };
|
|
@@ -154,6 +149,12 @@ export class IdentityService {
|
|
|
154
149
|
// base `api` type. Sanctioned cast, see conventions.
|
|
155
150
|
return this.auth.api;
|
|
156
151
|
}
|
|
152
|
+
forwardCookies(authResponse, resHeaders) {
|
|
153
|
+
const cookies = authResponse.headers.getSetCookie?.() ?? [];
|
|
154
|
+
for (const cookie of cookies) {
|
|
155
|
+
resHeaders.append('set-cookie', cookie);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
157
158
|
async currentUserId(headers) {
|
|
158
159
|
const session = await this.auth.api.getSession({ headers });
|
|
159
160
|
return session?.user?.id ?? null;
|
|
@@ -166,7 +167,7 @@ export class IdentityService {
|
|
|
166
167
|
headers,
|
|
167
168
|
asResponse: true,
|
|
168
169
|
});
|
|
169
|
-
forwardCookies(authResponse, resHeaders);
|
|
170
|
+
this.forwardCookies(authResponse, resHeaders);
|
|
170
171
|
const body = (await authResponse.json());
|
|
171
172
|
this.events.emit('identity.user.registered', { userId: body.user.id });
|
|
172
173
|
return { user: toUser(body.user) };
|
|
@@ -189,7 +190,7 @@ export class IdentityService {
|
|
|
189
190
|
const userAgent = headers.get('user-agent') || null;
|
|
190
191
|
// better-auth lowercases emails on write, so the lockout lookup must match on the same form.
|
|
191
192
|
const email = input.email.toLowerCase();
|
|
192
|
-
await assertRateLimit(this.limiter,
|
|
193
|
+
await assertRateLimit(this.limiter, makeLoginRateLimitKey(email), LOGIN_RATE_LIMIT);
|
|
193
194
|
const configLockoutEnabled = this.options?.lockout?.enabled ?? true;
|
|
194
195
|
// Read once for the lockout budget, the admin-bypass check, and the RG login gate
|
|
195
196
|
// (indexed email lookup). Read unconditionally - the RG gate runs even when lockout
|
|
@@ -240,7 +241,7 @@ export class IdentityService {
|
|
|
240
241
|
message: 'Account access is currently restricted (responsible gambling).',
|
|
241
242
|
});
|
|
242
243
|
}
|
|
243
|
-
forwardCookies(authResponse, resHeaders);
|
|
244
|
+
this.forwardCookies(authResponse, resHeaders);
|
|
244
245
|
const body = (await authResponse.json());
|
|
245
246
|
if (body.twoFactorRedirect || !body.user || !body.token) {
|
|
246
247
|
return { twoFactorRedirect: true };
|
|
@@ -249,9 +250,10 @@ export class IdentityService {
|
|
|
249
250
|
await this.clearLockout(existingUser.id);
|
|
250
251
|
}
|
|
251
252
|
this.events.emit('identity.user.login', { userId: body.user.id, ip, userAgent });
|
|
253
|
+
const sessionDurationSeconds = this.auth.options.session?.expiresIn ?? SESSION_DURATION_IN_SECONDS;
|
|
252
254
|
const expiresAt = body.session?.expiresAt
|
|
253
255
|
? toIso(body.session.expiresAt)
|
|
254
|
-
: new Date(Date.now() +
|
|
256
|
+
: new Date(Date.now() + sessionDurationSeconds * 1000).toISOString();
|
|
255
257
|
return {
|
|
256
258
|
user: toUser(body.user),
|
|
257
259
|
session: { token: body.token, expiresAt },
|
|
@@ -321,6 +323,7 @@ export class IdentityService {
|
|
|
321
323
|
.where(eq(user.id, userId))
|
|
322
324
|
.limit(1), new UserNotFoundError(userId));
|
|
323
325
|
await this.clearLockout(userId);
|
|
326
|
+
await this.limiter?.reset(makeLoginRateLimitKey(existingUser.email));
|
|
324
327
|
this.events.emit('identity.user.unlocked', {
|
|
325
328
|
userId,
|
|
326
329
|
email: existingUser.email,
|
|
@@ -338,7 +341,7 @@ export class IdentityService {
|
|
|
338
341
|
const session = await this.auth.api.getSession({ headers });
|
|
339
342
|
const userId = session?.user?.id;
|
|
340
343
|
const authResponse = await this.auth.api.signOut({ headers, asResponse: true });
|
|
341
|
-
forwardCookies(authResponse, resHeaders);
|
|
344
|
+
this.forwardCookies(authResponse, resHeaders);
|
|
342
345
|
if (userId) {
|
|
343
346
|
this.events.emit('identity.user.logout', { userId });
|
|
344
347
|
}
|
|
@@ -362,7 +365,7 @@ export class IdentityService {
|
|
|
362
365
|
asResponse: true,
|
|
363
366
|
});
|
|
364
367
|
await ensureOk(res);
|
|
365
|
-
forwardCookies(res, resHeaders);
|
|
368
|
+
this.forwardCookies(res, resHeaders);
|
|
366
369
|
const body = (await res.json());
|
|
367
370
|
return { totpUri: body.totpURI, backupCodes: body.backupCodes };
|
|
368
371
|
}
|
|
@@ -376,7 +379,7 @@ export class IdentityService {
|
|
|
376
379
|
asResponse: true,
|
|
377
380
|
});
|
|
378
381
|
await ensureOk(res);
|
|
379
|
-
forwardCookies(res, resHeaders);
|
|
382
|
+
this.forwardCookies(res, resHeaders);
|
|
380
383
|
const userId = await this.currentUserId(headers);
|
|
381
384
|
if (userId) {
|
|
382
385
|
this.events.emit('identity.2fa.enabled', { userId });
|
|
@@ -393,7 +396,7 @@ export class IdentityService {
|
|
|
393
396
|
asResponse: true,
|
|
394
397
|
});
|
|
395
398
|
await ensureOk(res);
|
|
396
|
-
forwardCookies(res, resHeaders);
|
|
399
|
+
this.forwardCookies(res, resHeaders);
|
|
397
400
|
if (userId) {
|
|
398
401
|
this.events.emit('identity.2fa.disabled', { userId });
|
|
399
402
|
}
|
|
@@ -444,7 +447,7 @@ export class IdentityService {
|
|
|
444
447
|
asResponse: true,
|
|
445
448
|
});
|
|
446
449
|
await ensureOk(res);
|
|
447
|
-
forwardCookies(res, resHeaders);
|
|
450
|
+
this.forwardCookies(res, resHeaders);
|
|
448
451
|
return SUCCESS;
|
|
449
452
|
}
|
|
450
453
|
async sendEmailVerification(reqHeaders) {
|
|
@@ -480,7 +483,7 @@ export class IdentityService {
|
|
|
480
483
|
asResponse: true,
|
|
481
484
|
});
|
|
482
485
|
await ensureOk(res);
|
|
483
|
-
forwardCookies(res, resHeaders);
|
|
486
|
+
this.forwardCookies(res, resHeaders);
|
|
484
487
|
return SUCCESS;
|
|
485
488
|
}
|
|
486
489
|
async updateProfile(input, reqHeaders, resHeaders) {
|
|
@@ -497,7 +500,7 @@ export class IdentityService {
|
|
|
497
500
|
asResponse: true,
|
|
498
501
|
});
|
|
499
502
|
await ensureOk(res);
|
|
500
|
-
forwardCookies(res, resHeaders);
|
|
503
|
+
this.forwardCookies(res, resHeaders);
|
|
501
504
|
// updateUser returns { status } only - re-read from session to get the full user.
|
|
502
505
|
const session = await this.auth.api.getSession({ headers });
|
|
503
506
|
const current = session?.user;
|