@lenne.tech/nest-server 11.42.8 → 11.42.10
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/.claude/rules/better-auth.md +24 -0
- package/.claude/rules/configurable-features.md +5 -3
- package/.claude/rules/testing.md +4 -4
- package/FRAMEWORK-API.md +3 -2
- package/dist/core/common/decorators/api-methods.decorator.d.ts +2 -0
- package/dist/core/common/decorators/api-methods.decorator.js +8 -0
- package/dist/core/common/decorators/api-methods.decorator.js.map +1 -0
- package/dist/core/common/helpers/swagger.helper.js +312 -1
- package/dist/core/common/helpers/swagger.helper.js.map +1 -1
- package/dist/core/common/interfaces/server-options.interface.d.ts +1 -0
- package/dist/core/modules/ai/core-ai-mcp.controller.js +15 -1
- package/dist/core/modules/ai/core-ai-mcp.controller.js.map +1 -1
- package/dist/core/modules/ai/helpers/ai-mcp-oauth.helper.js +8 -1
- package/dist/core/modules/ai/helpers/ai-mcp-oauth.helper.js.map +1 -1
- package/dist/core/modules/ai/helpers/ai-mcp-oauth.registry.d.ts +7 -0
- package/dist/core/modules/ai/helpers/ai-mcp-oauth.registry.js +12 -0
- package/dist/core/modules/ai/helpers/ai-mcp-oauth.registry.js.map +1 -0
- package/dist/core/modules/better-auth/better-auth.config.js +12 -0
- package/dist/core/modules/better-auth/better-auth.config.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-api.middleware.js +2 -2
- package/dist/core/modules/better-auth/core-better-auth-api.middleware.js.map +1 -1
- package/dist/core/modules/better-auth/core-better-auth-openapi.helper.d.ts +62 -0
- package/dist/core/modules/better-auth/core-better-auth-openapi.helper.js +95 -0
- package/dist/core/modules/better-auth/core-better-auth-openapi.helper.js.map +1 -0
- package/dist/core/modules/better-auth/core-better-auth.service.d.ts +10 -2
- package/dist/core/modules/better-auth/core-better-auth.service.js +89 -0
- package/dist/core/modules/better-auth/core-better-auth.service.js.map +1 -1
- package/dist/core/modules/tus/core-tus.controller.js +3 -0
- package/dist/core/modules/tus/core-tus.controller.js.map +1 -1
- package/dist/core/modules/tus/core-tus.service.d.ts +3 -0
- package/dist/core/modules/tus/core-tus.service.js +58 -25
- package/dist/core/modules/tus/core-tus.service.js.map +1 -1
- package/dist/core/modules/tus/interfaces/tus-config.interface.js +1 -0
- package/dist/core/modules/tus/interfaces/tus-config.interface.js.map +1 -1
- package/dist/core/modules/tus/tus.module.d.ts +2 -0
- package/dist/core/modules/tus/tus.module.js +23 -1
- package/dist/core/modules/tus/tus.module.js.map +1 -1
- package/dist/core.module.js +1 -1
- package/dist/core.module.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/docs/REQUEST-LIFECYCLE.md +9 -1
- package/docs/security-overrides.md +6 -5
- package/migration-guides/11.42.8-to-11.42.9.md +186 -0
- package/migration-guides/11.42.9-to-11.42.10.md +111 -0
- package/package.json +7 -8
- package/src/core/common/decorators/api-methods.decorator.ts +25 -0
- package/src/core/common/helpers/swagger.helper.ts +454 -1
- package/src/core/common/interfaces/server-options.interface.ts +46 -8
- package/src/core/common/interfaces/swagger-setup-options.interface.ts +5 -2
- package/src/core/modules/ai/README.md +7 -0
- package/src/core/modules/ai/core-ai-mcp.controller.ts +19 -2
- package/src/core/modules/ai/helpers/ai-mcp-oauth.helper.ts +12 -2
- package/src/core/modules/ai/helpers/ai-mcp-oauth.registry.ts +29 -0
- package/src/core/modules/better-auth/README.md +34 -0
- package/src/core/modules/better-auth/better-auth.config.ts +27 -1
- package/src/core/modules/better-auth/core-better-auth-api.middleware.ts +4 -17
- package/src/core/modules/better-auth/core-better-auth-openapi.helper.ts +219 -0
- package/src/core/modules/better-auth/core-better-auth.service.ts +166 -2
- package/src/core/modules/tus/README.md +50 -14
- package/src/core/modules/tus/core-tus.controller.ts +6 -0
- package/src/core/modules/tus/core-tus.service.ts +97 -26
- package/src/core/modules/tus/interfaces/tus-config.interface.ts +1 -0
- package/src/core/modules/tus/tus.module.ts +43 -1
- package/src/core.module.ts +2 -1
- package/src/index.ts +1 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BETTER_AUTH_OPEN_API_PLUGIN_ID = exports.BETTER_AUTH_OPEN_API_PATH = exports.BUILT_IN_BETTER_AUTH_PLUGIN_IDS = exports.HANDLER_SESSION_PATHS = exports.CONTROLLER_HANDLED_PATHS = void 0;
|
|
4
|
+
exports.toOpenApiPath = toOpenApiPath;
|
|
5
|
+
exports.isControllerHandledPath = isControllerHandledPath;
|
|
6
|
+
exports.isBetterAuthOpenApiPath = isBetterAuthOpenApiPath;
|
|
7
|
+
exports.projectProvidesOpenApiPlugin = projectProvidesOpenApiPlugin;
|
|
8
|
+
exports.unavailableBetterAuthOperations = unavailableBetterAuthOperations;
|
|
9
|
+
exports.isUnavailableOperation = isUnavailableOperation;
|
|
10
|
+
exports.switchedOffBetterAuthPaths = switchedOffBetterAuthPaths;
|
|
11
|
+
exports.CONTROLLER_HANDLED_PATHS = ['/features', '/sign-in/email', '/sign-up/email', '/sign-out', '/session'];
|
|
12
|
+
exports.HANDLER_SESSION_PATHS = ['/account-info', '/get-access-token', '/refresh-token'];
|
|
13
|
+
exports.BUILT_IN_BETTER_AUTH_PLUGIN_IDS = ['jwt', 'lt-ws-session-revocation', 'open-api', 'passkey', 'two-factor'];
|
|
14
|
+
function toOpenApiPath(path) {
|
|
15
|
+
return path.replace(/:([^/]+)/g, '{$1}');
|
|
16
|
+
}
|
|
17
|
+
exports.BETTER_AUTH_OPEN_API_PATH = '/open-api';
|
|
18
|
+
exports.BETTER_AUTH_OPEN_API_PLUGIN_ID = 'open-api';
|
|
19
|
+
function isControllerHandledPath(relativePath) {
|
|
20
|
+
return exports.CONTROLLER_HANDLED_PATHS.some((path) => relativePath === path || relativePath.startsWith(`${path}/`));
|
|
21
|
+
}
|
|
22
|
+
function isBetterAuthOpenApiPath(relativePath) {
|
|
23
|
+
return relativePath === exports.BETTER_AUTH_OPEN_API_PATH || relativePath.startsWith(`${exports.BETTER_AUTH_OPEN_API_PATH}/`);
|
|
24
|
+
}
|
|
25
|
+
function projectProvidesOpenApiPlugin(config) {
|
|
26
|
+
return !!config?.plugins?.some((plugin) => plugin?.id === exports.BETTER_AUTH_OPEN_API_PLUGIN_ID);
|
|
27
|
+
}
|
|
28
|
+
function unavailableBetterAuthOperations(runtime) {
|
|
29
|
+
const options = runtime?.options ?? {};
|
|
30
|
+
const unavailable = new Set();
|
|
31
|
+
const add = (...keys) => keys.forEach((key) => unavailable.add(key));
|
|
32
|
+
if (!options.session?.deferSessionRefresh) {
|
|
33
|
+
add('post /get-session');
|
|
34
|
+
}
|
|
35
|
+
const acceptsInput = (fields) => Object.values(fields ?? {}).some((field) => field?.input !== false);
|
|
36
|
+
if (!acceptsInput(options.session?.additionalFields) &&
|
|
37
|
+
!options.plugins?.some((plugin) => acceptsInput(plugin?.schema?.session?.fields))) {
|
|
38
|
+
add('/update-session');
|
|
39
|
+
}
|
|
40
|
+
if (!runtime?.socialProviders?.length) {
|
|
41
|
+
add('/sign-in/social', '/callback/{id}', '/link-social', '/refresh-token', '/get-access-token', '/account-info');
|
|
42
|
+
if (!options.account?.accountLinking?.allowUnlinkingAll) {
|
|
43
|
+
add('/unlink-account');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (!options.emailVerification?.sendVerificationEmail) {
|
|
47
|
+
add('/send-verification-email', '/verify-email');
|
|
48
|
+
}
|
|
49
|
+
if (!options.emailAndPassword?.sendResetPassword) {
|
|
50
|
+
add('/request-password-reset', '/reset-password', '/reset-password/{token}');
|
|
51
|
+
}
|
|
52
|
+
if (!options.emailAndPassword?.enabled) {
|
|
53
|
+
add('/sign-in/email', '/sign-up/email');
|
|
54
|
+
}
|
|
55
|
+
if (options.emailAndPassword?.disableSignUp) {
|
|
56
|
+
add('/sign-up/email');
|
|
57
|
+
}
|
|
58
|
+
if (!options.user?.deleteUser?.enabled) {
|
|
59
|
+
add('/delete-user', '/delete-user/callback');
|
|
60
|
+
}
|
|
61
|
+
if (!options.user?.changeEmail?.enabled) {
|
|
62
|
+
add('/change-email');
|
|
63
|
+
}
|
|
64
|
+
const twoFactor = options.plugins?.find((plugin) => plugin?.id === 'two-factor');
|
|
65
|
+
if (twoFactor) {
|
|
66
|
+
if (!twoFactor.options?.otpOptions?.sendOTP) {
|
|
67
|
+
add('/two-factor/send-otp', '/two-factor/verify-otp');
|
|
68
|
+
}
|
|
69
|
+
if (twoFactor.options?.totpOptions?.disable) {
|
|
70
|
+
add('/two-factor/get-totp-uri', '/two-factor/verify-totp');
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return unavailable;
|
|
74
|
+
}
|
|
75
|
+
function isUnavailableOperation(unavailable, method, relativePath) {
|
|
76
|
+
return unavailable.has(relativePath) || unavailable.has(`${method.toLowerCase()} ${relativePath}`);
|
|
77
|
+
}
|
|
78
|
+
function switchedOffBetterAuthPaths(config) {
|
|
79
|
+
const emailAndPassword = config?.emailAndPassword;
|
|
80
|
+
const paths = new Set();
|
|
81
|
+
if (emailAndPassword?.enabled === false) {
|
|
82
|
+
paths.add('/sign-in/email');
|
|
83
|
+
paths.add('/sign-up/email');
|
|
84
|
+
}
|
|
85
|
+
if (emailAndPassword?.disableSignUp === true) {
|
|
86
|
+
paths.add('/sign-up/email');
|
|
87
|
+
}
|
|
88
|
+
if (emailAndPassword?.passwordReset === false) {
|
|
89
|
+
for (const path of ['/request-password-reset', '/reset-password', '/reset-password/{token}']) {
|
|
90
|
+
paths.add(path);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return paths;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=core-better-auth-openapi.helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core-better-auth-openapi.helper.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/core-better-auth-openapi.helper.ts"],"names":[],"mappings":";;;AA6CA,sCAEC;AAkBD,0DAEC;AAGD,0DAEC;AAOD,oEAIC;AAiDD,0EAkDC;AAGD,wDAEC;AAaD,gEAkBC;AAhMY,QAAA,wBAAwB,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAQtG,QAAA,qBAAqB,GAAG,CAAC,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AAQjF,QAAA,+BAA+B,GAAG,CAAC,KAAK,EAAE,0BAA0B,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAGxH,SAAgB,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAGY,QAAA,yBAAyB,GAAG,WAAW,CAAC;AAGxC,QAAA,8BAA8B,GAAG,UAAU,CAAC;AAYzD,SAAgB,uBAAuB,CAAC,YAAoB;IAC1D,OAAO,gCAAwB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,KAAK,IAAI,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;AAC/G,CAAC;AAGD,SAAgB,uBAAuB,CAAC,YAAoB;IAC1D,OAAO,YAAY,KAAK,iCAAyB,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,iCAAyB,GAAG,CAAC,CAAC;AAChH,CAAC;AAOD,SAAgB,4BAA4B,CAAC,MAAsC;IACjF,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAC5B,CAAC,MAAM,EAAE,EAAE,CAAE,MAAkC,EAAE,EAAE,KAAK,sCAA8B,CACvF,CAAC;AACJ,CAAC;AAiDD,SAAgB,+BAA+B,CAAC,OAA8C;IAC5F,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAE/E,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC;QAC1C,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC3B,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,MAAuD,EAAE,EAAE,CAC/E,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC;IACtE,IACE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC;QAChD,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,EACjF,CAAC;QACD,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;QACtC,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAC;QACjH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;YACxD,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;QACtD,GAAG,CAAC,0BAA0B,EAAE,eAAe,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;QACjD,GAAG,CAAC,yBAAyB,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC;QACvC,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,aAAa,EAAE,CAAC;QAC5C,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QACvC,GAAG,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;QACxC,GAAG,CAAC,eAAe,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,YAAY,CAAC,CAAC;IACjF,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;YAC5C,GAAG,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;YAC5C,GAAG,CAAC,0BAA0B,EAAE,yBAAyB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAGD,SAAgB,sBAAsB,CAAC,WAAwB,EAAE,MAAc,EAAE,YAAoB;IACnG,OAAO,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC;AACrG,CAAC;AAaD,SAAgB,0BAA0B,CAAC,MAAsC;IAC/E,MAAM,gBAAgB,GAAG,MAAM,EAAE,gBAAgB,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,gBAAgB,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAGxC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC5B,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,gBAAgB,EAAE,aAAa,KAAK,IAAI,EAAE,CAAC;QAC7C,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,gBAAgB,EAAE,aAAa,KAAK,KAAK,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,CAAC,yBAAyB,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,EAAE,CAAC;YAC7F,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { OnModuleInit } from '@nestjs/common';
|
|
1
|
+
import { OnApplicationBootstrap, OnModuleInit } from '@nestjs/common';
|
|
2
2
|
import { Request } from 'express';
|
|
3
3
|
import { Connection } from 'mongoose';
|
|
4
4
|
import { IBetterAuth } from '../../common/interfaces/server-options.interface';
|
|
5
5
|
import { ConfigService } from '../../common/services/config.service';
|
|
6
6
|
import { BetterAuthInstance } from './better-auth.config';
|
|
7
|
+
import type { IBetterAuthOpenApiDocument } from './core-better-auth-openapi.helper';
|
|
7
8
|
import { BetterAuthSessionUser } from './core-better-auth-user.mapper';
|
|
8
9
|
export interface SessionResult {
|
|
9
10
|
session: null | {
|
|
@@ -15,7 +16,7 @@ export interface SessionResult {
|
|
|
15
16
|
user: BetterAuthSessionUser | null;
|
|
16
17
|
}
|
|
17
18
|
export { BETTER_AUTH_CONFIG, BETTER_AUTH_COOKIE_DOMAIN } from './core-better-auth.constants';
|
|
18
|
-
export declare class CoreBetterAuthService implements OnModuleInit {
|
|
19
|
+
export declare class CoreBetterAuthService implements OnApplicationBootstrap, OnModuleInit {
|
|
19
20
|
private readonly authInstance;
|
|
20
21
|
private readonly connection?;
|
|
21
22
|
private readonly resolvedConfig?;
|
|
@@ -23,9 +24,16 @@ export declare class CoreBetterAuthService implements OnModuleInit {
|
|
|
23
24
|
private readonly cookieDomain?;
|
|
24
25
|
private readonly logger;
|
|
25
26
|
private readonly config;
|
|
27
|
+
private openApiSchema;
|
|
28
|
+
private unavailableOperations;
|
|
26
29
|
private cachedCookiePrefix;
|
|
27
30
|
constructor(authInstance: BetterAuthInstance | null, connection?: Connection, resolvedConfig?: IBetterAuth | null, configService?: ConfigService, cookieDomain?: string | null);
|
|
28
31
|
onModuleInit(): Promise<void>;
|
|
32
|
+
onApplicationBootstrap(): Promise<void>;
|
|
33
|
+
getOpenApiSchema(): IBetterAuthOpenApiDocument | undefined;
|
|
34
|
+
getUnavailableOperations(): Set<string> | undefined;
|
|
35
|
+
protected sessionGuardedOperations(): Set<string> | undefined;
|
|
36
|
+
protected prepareOpenApiSchema(): Promise<void>;
|
|
29
37
|
protected ensureIndices(): Promise<void>;
|
|
30
38
|
protected backfillAccountIssuers(): Promise<void>;
|
|
31
39
|
protected dropLegacyAccountIssuerIndex(): Promise<void>;
|
|
@@ -16,6 +16,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
16
16
|
exports.CoreBetterAuthService = exports.BETTER_AUTH_COOKIE_DOMAIN = exports.BETTER_AUTH_CONFIG = void 0;
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
18
|
const mongoose_1 = require("@nestjs/mongoose");
|
|
19
|
+
const api_1 = require("better-auth/api");
|
|
19
20
|
const jose_1 = require("jose");
|
|
20
21
|
const mongoose_2 = require("mongoose");
|
|
21
22
|
const cookies_helper_1 = require("../../common/helpers/cookies.helper");
|
|
@@ -24,6 +25,7 @@ const config_service_1 = require("../../common/services/config.service");
|
|
|
24
25
|
const error_codes_1 = require("../error-code/error-codes");
|
|
25
26
|
const better_auth_cookie_prefix_helper_1 = require("./better-auth-cookie-prefix.helper");
|
|
26
27
|
const core_better_auth_account_issuer_helper_1 = require("./core-better-auth-account-issuer.helper");
|
|
28
|
+
const core_better_auth_openapi_helper_1 = require("./core-better-auth-openapi.helper");
|
|
27
29
|
const core_better_auth_token_helper_1 = require("./core-better-auth-token.helper");
|
|
28
30
|
const core_better_auth_web_helper_1 = require("./core-better-auth-web.helper");
|
|
29
31
|
const core_better_auth_constants_1 = require("./core-better-auth.constants");
|
|
@@ -38,6 +40,8 @@ let CoreBetterAuthService = CoreBetterAuthService_1 = class CoreBetterAuthServic
|
|
|
38
40
|
cookieDomain;
|
|
39
41
|
logger = new common_1.Logger(CoreBetterAuthService_1.name);
|
|
40
42
|
config;
|
|
43
|
+
openApiSchema;
|
|
44
|
+
unavailableOperations;
|
|
41
45
|
cachedCookiePrefix = null;
|
|
42
46
|
constructor(authInstance, connection, resolvedConfig, configService, cookieDomain) {
|
|
43
47
|
this.authInstance = authInstance;
|
|
@@ -58,6 +62,91 @@ let CoreBetterAuthService = CoreBetterAuthService_1 = class CoreBetterAuthServic
|
|
|
58
62
|
await this.dropLegacyAccountIssuerIndex();
|
|
59
63
|
}
|
|
60
64
|
}
|
|
65
|
+
async onApplicationBootstrap() {
|
|
66
|
+
await this.prepareOpenApiSchema();
|
|
67
|
+
}
|
|
68
|
+
getOpenApiSchema() {
|
|
69
|
+
return this.openApiSchema;
|
|
70
|
+
}
|
|
71
|
+
getUnavailableOperations() {
|
|
72
|
+
return this.unavailableOperations;
|
|
73
|
+
}
|
|
74
|
+
sessionGuardedOperations() {
|
|
75
|
+
const middlewares = new Set([
|
|
76
|
+
api_1.freshSessionMiddleware,
|
|
77
|
+
api_1.requestOnlySessionMiddleware,
|
|
78
|
+
api_1.sensitiveSessionMiddleware,
|
|
79
|
+
api_1.sessionMiddleware,
|
|
80
|
+
]);
|
|
81
|
+
const guards = (middleware, depth = 0) => depth < 5 &&
|
|
82
|
+
(middlewares.has(middleware) ||
|
|
83
|
+
(middleware?.options?.use ?? []).some((inner) => guards(inner, depth + 1)));
|
|
84
|
+
const plugins = (this.getInstance()?.options?.plugins ??
|
|
85
|
+
[]);
|
|
86
|
+
const foreignPaths = new Set(plugins
|
|
87
|
+
.filter((plugin) => !core_better_auth_openapi_helper_1.BUILT_IN_BETTER_AUTH_PLUGIN_IDS.includes(String(plugin?.id)))
|
|
88
|
+
.flatMap((plugin) => Object.values(plugin?.endpoints ?? {}).map((endpoint) => endpoint?.path)));
|
|
89
|
+
const endpoints = Object.values((this.getApi() ?? {}));
|
|
90
|
+
const operations = new Set();
|
|
91
|
+
let middlewareSeen = false;
|
|
92
|
+
for (const endpoint of endpoints) {
|
|
93
|
+
if (typeof endpoint?.path !== 'string')
|
|
94
|
+
continue;
|
|
95
|
+
const byMiddleware = !!endpoint.options?.use?.some((middleware) => guards(middleware));
|
|
96
|
+
middlewareSeen ||= byMiddleware;
|
|
97
|
+
if (!byMiddleware && !core_better_auth_openapi_helper_1.HANDLER_SESSION_PATHS.includes(endpoint.path) && !foreignPaths.has(endpoint.path)) {
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
for (const method of [].concat(endpoint.options?.method ?? [])) {
|
|
101
|
+
operations.add(`${method.toLowerCase()} ${(0, core_better_auth_openapi_helper_1.toOpenApiPath)(endpoint.path)}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (!middlewareSeen) {
|
|
105
|
+
this.logger.warn("Could not tell which Better-Auth routes need a session (no endpoint uses better-auth's session " +
|
|
106
|
+
'middleware as imported here); Swagger documents all of them as authenticated');
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
return operations;
|
|
110
|
+
}
|
|
111
|
+
async prepareOpenApiSchema() {
|
|
112
|
+
if (!this.isEnabled())
|
|
113
|
+
return;
|
|
114
|
+
const api = this.getApi();
|
|
115
|
+
if (typeof api?.generateOpenAPISchema !== 'function')
|
|
116
|
+
return;
|
|
117
|
+
try {
|
|
118
|
+
const schema = (await api.generateOpenAPISchema());
|
|
119
|
+
const context = (await this.getInstance()
|
|
120
|
+
?.$context);
|
|
121
|
+
const unavailable = (0, core_better_auth_openapi_helper_1.unavailableBetterAuthOperations)(context);
|
|
122
|
+
this.unavailableOperations = unavailable;
|
|
123
|
+
const sessionGuarded = this.sessionGuardedOperations();
|
|
124
|
+
for (const [path, item] of Object.entries(schema.paths ?? {})) {
|
|
125
|
+
for (const method of Object.keys(item)) {
|
|
126
|
+
if ((0, core_better_auth_openapi_helper_1.isUnavailableOperation)(unavailable, method, path)) {
|
|
127
|
+
delete item[method];
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
const operation = item[method];
|
|
131
|
+
if (operation && typeof operation === 'object') {
|
|
132
|
+
if (!sessionGuarded || sessionGuarded.has(`${method} ${path}`)) {
|
|
133
|
+
delete operation.security;
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
operation.security = [];
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (!Object.keys(item).length) {
|
|
141
|
+
delete schema.paths[path];
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
this.openApiSchema = schema;
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
this.logger.warn(`Could not describe Better-Auth's routes for Swagger: ${error instanceof Error ? error.message : 'unknown'}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
61
150
|
async ensureIndices() {
|
|
62
151
|
if (!this.connection?.db)
|
|
63
152
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-better-auth.service.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/core-better-auth.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core-better-auth.service.js","sourceRoot":"","sources":["../../../../src/core/modules/better-auth/core-better-auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAQwB;AACxB,+CAAoD;AACpD,yCAKyB;AAEzB,+BAA4C;AAC5C,uCAAsC;AAEtC,wEAAqF;AACrF,wEAA2E;AAE3E,yEAAqE;AACrE,2DAAsD;AACtD,yFAAmF;AAEnF,qGAAkH;AAClH,uFAM2C;AAE3C,mFAA8D;AAE9D,+EAAkH;AAClH,6EASsC;AA+BtC,2EAA6F;AAApF,gIAAA,kBAAkB,OAAA;AAAE,uIAAA,yBAAyB,OAAA;AA0B/C,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAY6B;IACV;IACQ;IAE5B;IACmC;IAhBjD,MAAM,GAAG,IAAI,eAAM,CAAC,uBAAqB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,CAAc;IAC7B,aAAa,CAAyC;IACtD,qBAAqB,CAA0B;IAK/C,kBAAkB,GAAkB,IAAI,CAAC;IAEjD,YAC6D,YAAuC,EACjD,UAAuB,EACf,cAAmC,EAE/D,aAA6B,EACM,YAA4B;QALjC,iBAAY,GAAZ,YAAY,CAA2B;QACjD,eAAU,GAAV,UAAU,CAAa;QACf,mBAAc,GAAd,cAAc,CAAqB;QAE/D,kBAAa,GAAb,aAAa,CAAgB;QACM,iBAAY,GAAZ,YAAY,CAAgB;QAI5F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,EAAE,GAAG,CAAc,YAAY,CAAC,IAAI,EAAE,CAAC;IAChG,CAAC;IAmBD,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAAE,OAAO;QAEtD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,IAAI,IAAA,gEAAuB,GAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IASD,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACpC,CAAC;IAOD,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAQD,wBAAwB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAiBS,wBAAwB;QAChC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAU;YACnC,4BAAsB;YACtB,kCAA4B;YAC5B,gCAA0B;YAC1B,uBAAiB;SAClB,CAAC,CAAC;QAGH,MAAM,MAAM,GAAG,CAAC,UAAmB,EAAE,KAAK,GAAG,CAAC,EAAW,EAAE,CACzD,KAAK,GAAG,CAAC;YACT,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC1B,CAAE,UAAgD,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACrF,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CACzB,CAAC,CAAC;QAGP,MAAM,OAAO,GAAG,CAAE,IAAI,CAAC,WAAW,EAAuD,EAAE,OAAO,EAAE,OAAO;YACzG,EAAE,CAAsE,CAAC;QAC3E,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,OAAO;aACJ,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,iEAA+B,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;aACjF,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CACjG,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAA4B,CAG7E,CAAC;QACJ,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,OAAO,QAAQ,EAAE,IAAI,KAAK,QAAQ;gBAAE,SAAS;YACjD,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACvF,cAAc,KAAK,YAAY,CAAC;YAChC,IAAI,CAAC,YAAY,IAAI,CAAC,uDAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxG,SAAS;YACX,CAAC;YACD,KAAK,MAAM,MAAM,IAAK,EAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC7E,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,IAAA,+CAAa,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iGAAiG;gBAC/F,8EAA8E,CACjF,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAES,KAAK,CAAC,oBAAoB;QAClC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAA+D,CAAC;QACvF,IAAI,OAAO,GAAG,EAAE,qBAAqB,KAAK,UAAU;YAAE,OAAO;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,qBAAqB,EAAE,CAA+B,CAAC;YAIjF,MAAM,OAAO,GAAG,CAAC,MAAO,IAAI,CAAC,WAAW,EAA4D;gBAClG,EAAE,QAAQ,CAAmC,CAAC;YAChD,MAAM,WAAW,GAAG,IAAA,iEAA+B,EAAC,OAAO,CAAC,CAAC;YAC7D,IAAI,CAAC,qBAAqB,GAAG,WAAW,CAAC;YAIzC,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACvD,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC9D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,IAAI,IAAA,wDAAsB,EAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;wBACtD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;wBACpB,SAAS;oBACX,CAAC;oBACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAyC,CAAC;oBACvE,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;wBAC/C,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;4BAC/D,OAAO,SAAS,CAAC,QAAQ,CAAC;wBAC5B,CAAC;6BAAM,CAAC;4BACN,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC;wBAC1B,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wDAAwD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAC7G,CAAC;QACJ,CAAC;IACH,CAAC;IAMS,KAAK,CAAC,aAAa;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAAE,OAAO;QAEjC,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAG9B,MAAM,OAAO,CAAC,GAAG,CAAC;gBAEhB,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBAClD,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;gBAEjE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAElE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBACnD,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBAElE,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;gBAM5D,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;aACvF,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC5G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAoCS,KAAK,CAAC,sBAAsB;QACpC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAAE,OAAO;QAItD,MAAM,gBAAgB,GAAG,IAAA,sEAA6B,GAAE,CAAC;QACzD,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAE9B,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAO9B,MAAM,cAAc,GAAI,IAAI,CAAC,YAAoB,EAAE,OAAO,EAAE,OAAO,CAAC;QACpE,MAAM,SAAS,GAAW,cAAc,EAAE,SAAS,IAAI,uDAA0B,CAAC;QAClF,MAAM,WAAW,GAAW,cAAc,EAAE,MAAM,EAAE,MAAM,IAAI,yDAA4B,CAAC;QAE3F,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAQ1C,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,uDAA0B,CAAC,CAAC;YAC1D,IAAI,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,uDAAiC,EAAE,CAAC,EAAE,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,WAAW,yCAAyC,CAAC,CAAC;gBACnF,OAAO;YACT,CAAC;YAED,IAAI,SAAS,KAAK,uDAA0B,IAAI,WAAW,KAAK,yDAA4B,EAAE,CAAC;gBAC7F,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,2EAA2E,SAAS,KAAK;oBACvF,UAAU,WAAW,0DAA0D,CAClF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,QAAQ;iBAC3B,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;iBACjG,OAAO,EAAE,CAAC;YAEb,IAAI,UAAU,GAAG,CAAC,CAAC;YAEnB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAKnB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CACrC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACpB,SAAS,EAAE;wBACT,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE;wBACxB,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,EAAE;qBACtD;iBACF,CAAC,CAAC,EACH,EAAE,OAAO,EAAE,KAAK,EAAE,CACnB,CAAC;gBAEF,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC;gBAElC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,sBAAsB,WAAW,OAAO,UAAU,iDAAiD;wBACjG,2CAA2C,CAC9C,CAAC;gBACJ,CAAC;gBAED,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;oBAEhC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,cAAc,UAAU,IAAI,OAAO,CAAC,MAAM,wBAAwB;wBAChE,GAAG,OAAO,CAAC,MAAM,GAAG,UAAU,2DAA2D;wBACzF,kGAAkG,CACrG,CAAC;oBACF,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,WAAW,gEAAgE,CAAC,CAAC;YAC/G,CAAC;YAGD,MAAM,OAAO,CAAC,SAAS,CACrB,EAAE,GAAG,EAAE,uDAAiC,EAAE,EAC1C,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EACzE,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;YAIF,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,OAAO,CACvC,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EACxE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAC3B,CAAC;YAEF,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,+CAA+C,WAAW,6CAA6C;oBACrG,uGAAuG;oBACvG,wGAAwG;oBACxG,0GAA0G;oBAC1G,wGAAwG;oBACxG,uFAAuF;oBACvF,6BAA6B,CAChC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0CAA0C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI;gBAC9F,uEAAuE,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IA2BS,KAAK,CAAC,4BAA4B;QAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE;YAAE,OAAO;QAEtD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAI,IAAI,CAAC,YAAoB,EAAE,OAAO,EAAE,OAAO,CAAC;QACpE,MAAM,SAAS,GAAW,cAAc,EAAE,SAAS,IAAI,uDAA0B,CAAC;QAClF,MAAM,WAAW,GAAW,cAAc,EAAE,MAAM,EAAE,MAAM,IAAI,yDAA4B,CAAC;QAC3F,MAAM,cAAc,GAAW,cAAc,EAAE,MAAM,EAAE,SAAS,IAAI,6DAAgC,CAAC;QAErG,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,UAAU,CAAC,uDAA0B,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,uDAAiC,EAAE,CAAC,CAAC;YAEtG,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,OAA6E,CAAC;YAClF,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,IAAK,KAA2B,EAAE,IAAI,KAAK,EAAE;oBAAE,OAAO;gBACtD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAC3B,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,MAAM,KAAK,IAAI;gBACrB,CAAC,CAAC,KAAK,CAAC,IAAI;gBACZ,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,WAAW,IAAI,cAAc,EAAE,CAChF,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAc,CAAC,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,6BAA6B,KAAK,CAAC,IAAI,QAAQ,SAAS,IAAI,WAAW,KAAK,cAAc,KAAK;oBAC7F,4FAA4F,CAC/F,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qCAAqC,WAAW,KAAK,cAAc,eAAe,SAAS,KAAK;gBAC9F,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,wCAAwC;gBAC7F,8DAA8D,CACjE,CAAC;QACJ,CAAC;IACH,CAAC;IAUD,SAAS;QAEP,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC;IACxC,CAAC;IAMD,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;IACnC,CAAC;IAMD,MAAM;QACJ,OAAO,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,IAAI,CAAC;IACxC,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAUD,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,KAAK,CAAC;QAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAClC,IAAI,SAAS,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,EAAE,OAAO,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAChF,OAAO,IAAI,CAAC;IACd,CAAC;IASD,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAClD,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QACxG,OAAO,IAAI,CAAC;IACd,CAAC;IASD,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAChD,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QACpG,OAAO,IAAI,CAAC;IACd,CAAC;IAOD,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,KAAK,CAAC;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9D,CAAC;IAMD,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,4BAAmB,CAAC,uBAAS,CAAC,eAAe,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAYD,yBAAyB;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAa,EAAE,CAAC;QAG/B,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;gBAE3E,IAAI,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAAE,YAAY,IAAI,QAAQ,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;oBAChF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAKD,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC;IACxC,CAAC;IAKD,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,uBAAuB,CAAC;IACxD,CAAC;IAYD,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC;IACxC,CAAC;IAUD,oBAAoB;QAClB,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC;IACnD,CAAC;IAgBD,eAAe;QACb,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,IAAA,gEAA6B,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IA0BD,KAAK,CAAC,eAAe,CAAC,KAAyB;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAE7B,MAAM,aAAa,GAAG,8BAAa,CAAC,qBAAqB,EAAE,OAA+C,CAAC;QAG3G,IAAI,CAAC,IAAA,+CAA8B,EAAC,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QAKD,IAAI,IAAA,2CAAW,EAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAKD,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,qDAAuB,EAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACtG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;YAC9B,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,UAAU,IAAI,WAAW,EAAE,EAAE;SACpD,CAAC,CAAC;QAEH,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,OAAO,GAAG,CAAC;QACb,CAAC;QAKD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;QACjH,OAAO,SAAS,CAAC;IACnB,CAAC;IAuBD,KAAK,CAAC,QAAQ,CAAC,GAAyE;QACtF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YAEH,MAAM,UAAU,GAAG,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,IAAA,mDAAqB,EAAC,UAA2D,CAAC,CAAC;YAInG,MAAM,QAAQ,GAAG,MAAO,GAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAE1D,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;gBACpE,OAAO,QAAQ,CAAC,KAAe,CAAC;YAClC,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YACjG,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAqBD,KAAK,CAAC,UAAU,CAAC,GAAyE;QACxF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,CAAC;YAEH,MAAM,UAAU,GAAG,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,MAAM,OAAO,GAAG,IAAA,mDAAqB,EAAC,UAA2D,CAAC,CAAC;YAInG,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACtD,MAAM,OAAO,GAAG,IAAA,+CAAiB,EAAC,YAAY,CAAC,CAAC;gBAChD,IAAI,QAAQ,GAAG,KAAK,CAAC;gBAErB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAEpD,IAAI,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;wBACnD,MAAM,WAAW,GAAG,IAAA,qDAAuB,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACvE,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;4BAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;4BAC5B,QAAQ,GAAG,IAAI,CAAC;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;yBAC/C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;yBAC1C,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAEnD,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACnE,OAAO,QAAyB,CAAC;YACnC,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YACnG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAqBD,KAAK,CAAC,aAAa,CAAC,YAAoB;QACtC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YAMH,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,YAAY,EAAE,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;YACnC,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,oBAAoB,EAAE,IAAI,IAAA,qDAAuB,EAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACjH,CAAC;YAGD,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YACtG,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAiBD,qBAAqB,CAAC,OAAiC,EAAE,mBAA2B,CAAC;QACnF,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;QAEjD,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC;IAC3D,CAAC;IAQD,uBAAuB,CAAC,OAAiC;QACvD,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAExF,OAAO,SAAS,CAAC;IACnB,CAAC;IAYD,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;YAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,kBAAkB,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAIpD,MAAM,OAAO,GAAG,MAAM,kBAAkB;iBACrC,SAAS,CAAC;gBAET,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE;gBAErB;oBACE,OAAO,EAAE;wBACP,EAAE,EAAE,SAAS;wBACb,IAAI,EAAE,OAAO;wBACb,GAAG,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE;wBACjC,QAAQ,EAAE;4BACR;gCACE,MAAM,EAAE;oCACN,KAAK,EAAE;wCACL,GAAG,EAAE;4CAEH,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE;4CAEpC,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,EAAE;4CAElE,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,EAAE;yCACnD;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;gBAED,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE;gBAEnE,EAAE,MAAM,EAAE,CAAC,EAAE;aACd,CAAC;iBACD,OAAO,EAAE,CAAC;YAEb,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,IAAA,0BAAS,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACvC,CAAC;YAGD,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACxD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACvC,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,IAAA,0BAAS,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAExF,OAAO;gBACL,OAAO,EAAE;oBACP,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE;oBACvC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE;iBAClC;gBACD,IAAI,EAAE;oBACJ,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE;oBACnC,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YAC1G,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAWD,KAAK,CAAC,uBAAuB,CAAC,MAAc;QAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC;YAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,kBAAkB,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAGpD,MAAM,OAAO,GAAG,MAAM,kBAAkB;iBACrC,SAAS,CAAC;gBACT;oBACE,MAAM,EAAE;wBACN,KAAK,EAAE;4BACL,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;yBACjF;wBACD,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE;qBAC/B;iBACF;gBACD,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC5B,EAAE,MAAM,EAAE,CAAC,EAAE;gBACb;oBACE,OAAO,EAAE;wBACP,EAAE,EAAE,SAAS;wBACb,IAAI,EAAE,OAAO;wBACb,GAAG,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE;wBACjC,QAAQ,EAAE;4BACR;gCACE,MAAM,EAAE;oCACN,KAAK,EAAE;wCACL,GAAG,EAAE;4CACH,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE;4CACpC,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,EAAE;4CAClE,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,EAAE;yCACnD;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;gBACD,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,0BAA0B,EAAE,IAAI,EAAE,EAAE;aACpE,CAAC;iBACD,OAAO,EAAE,CAAC;YAEb,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAE1B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,MAAM,EAAE,CAAC,CAAC;gBACnF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACvC,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;YAE5B,OAAO;gBACL,OAAO,EAAE;oBACP,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE;oBACvC,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE;iBAClC;gBACD,IAAI,EAAE,IAAI;oBACR,CAAC,CAAC;wBACE,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,aAAa,EAAE,IAAI,CAAC,aAAa;wBACjC,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE;wBACnC,IAAI,EAAE,IAAI,CAAC,IAAI;qBAChB;oBACH,CAAC,CAAC,IAAI;aACT,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YAChH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAoBD,KAAK,CAAC,mBAAmB,CAAC,KAAa;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,iCAAiC,IAAA,0BAAS,EAAC,KAAK,CAAC,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACjH,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IA6BD,KAAK,CAAC,cAAc,CAAC,KAAa;QAKhC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YAEH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBACxC,OAAO,IAAI,CAAC;YACd,CAAC;YAGD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACvE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YAGvB,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YAGD,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,GAAG,iBAAiB,CAAC,CAAC;YACnF,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YAC1G,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,gBAAgB,CAAC,KAAa;QAK1C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAElC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACrE,OAAO,IAAI,CAAC;YACd,CAAC;YAGD,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAGnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,gBAAS,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAEtD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,OAA8D,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YAC3G,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,eAAe,CAC3B,KAAa,EACb,GAAW,EACX,GAAW;QAMX,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YAEH,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAI,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YAE1D,IAAI,CAAC,SAAS,EAAE,CAAC;gBAEf,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;gBACxD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC;gBACnF,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;oBACvD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,SAAS,GAAG,WAAW,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,OAAO,IAAI,CAAC;YACd,CAAC;YAGD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,IAAI,OAAO,CAAC;YAClD,MAAM,GAAG,GAAG,MAAM,IAAA,gBAAS,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAGlD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,gBAAS,EAAC,KAAK,EAAE,GAAG,EAAE;gBAC9C,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,OAAO;aAChB,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,OAA8D,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YAC1G,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAUD,KAAK,CAAC,oBAAoB,CACxB,GAAY,EACZ,KAAc;QAMd,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;YAC7C,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;CACF,CAAA;AA/zCY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IAaR,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,eAAM,EAAC,iDAAoB,CAAC,CAAA;IACxC,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,2BAAgB,GAAE,CAAA;IAC9B,WAAA,IAAA,eAAM,EAAC,+CAAkB,CAAC,CAAA;IAAE,WAAA,IAAA,iBAAQ,GAAE,CAAA;IAEtC,WAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,WAAA,IAAA,eAAM,EAAC,sDAAyB,CAAC,CAAA;IAAE,WAAA,IAAA,iBAAQ,GAAE,CAAA;6CAJgB,qBAAU,UAG3B,8BAAa;GAhBjD,qBAAqB,CA+zCjC"}
|
|
@@ -15,6 +15,7 @@ var CoreTusController_1;
|
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.CoreTusController = void 0;
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
|
+
const api_methods_decorator_1 = require("../../common/decorators/api-methods.decorator");
|
|
18
19
|
const roles_decorator_1 = require("../../common/decorators/roles.decorator");
|
|
19
20
|
const role_enum_1 = require("../../common/enums/role.enum");
|
|
20
21
|
const core_tenant_decorators_1 = require("../tenant/core-tenant.decorators");
|
|
@@ -87,6 +88,7 @@ __decorate([
|
|
|
87
88
|
], CoreTusController.prototype, "handleTusOptionsWithId", null);
|
|
88
89
|
__decorate([
|
|
89
90
|
(0, common_1.All)(),
|
|
91
|
+
(0, api_methods_decorator_1.ApiMethods)('post'),
|
|
90
92
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
|
|
91
93
|
__param(0, (0, common_1.Req)()),
|
|
92
94
|
__param(1, (0, common_1.Res)()),
|
|
@@ -96,6 +98,7 @@ __decorate([
|
|
|
96
98
|
], CoreTusController.prototype, "handleTus", null);
|
|
97
99
|
__decorate([
|
|
98
100
|
(0, common_1.All)(':id'),
|
|
101
|
+
(0, api_methods_decorator_1.ApiMethods)('head', 'patch', 'delete'),
|
|
99
102
|
(0, roles_decorator_1.Roles)(role_enum_1.RoleEnum.S_USER),
|
|
100
103
|
__param(0, (0, common_1.Req)()),
|
|
101
104
|
__param(1, (0, common_1.Res)()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-tus.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/tus/core-tus.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4E;AAG5E,6EAAgE;AAChE,4DAAwD;AACxD,6EAAmE;AACnE,yDAAoD;AAsC7C,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAGG;IAFd,MAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IAE7D,YAA+B,UAA0B;QAA1B,eAAU,GAAV,UAAU,CAAgB;IAAG,CAAC;IAmBvD,AAAN,KAAK,CAAC,gBAAgB,CAAQ,GAAY,EAAS,GAAa;QAC9D,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAWK,AAAN,KAAK,CAAC,sBAAsB,CAAQ,GAAY,EAAS,GAAa;QACpE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;
|
|
1
|
+
{"version":3,"file":"core-tus.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/tus/core-tus.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,9 @@ export declare class CoreTusService implements OnModuleDestroy, OnModuleInit {
|
|
|
46
46
|
protected onUploadTerminate(upload: Upload): Promise<void>;
|
|
47
47
|
protected readRequestUserId(req: any): string | undefined;
|
|
48
48
|
protected assertUploadOwnership(req: any, uploadId: string): Promise<void>;
|
|
49
|
+
protected disabledExtensions(): Set<string>;
|
|
50
|
+
protected assertExtensionEnabled(req: any): void;
|
|
51
|
+
protected uploadCollectionPath(req: any): string;
|
|
49
52
|
protected validateFileType(filetype: string | undefined): boolean;
|
|
50
53
|
protected onUploadCreate(req: any, upload: Upload): Promise<{
|
|
51
54
|
metadata: Record<string, null | string>;
|
|
@@ -45,10 +45,7 @@ let CoreTusService = CoreTusService_1 = class CoreTusService {
|
|
|
45
45
|
this.config = { ...tus_config_interface_1.DEFAULT_TUS_CONFIG };
|
|
46
46
|
}
|
|
47
47
|
configure(config) {
|
|
48
|
-
|
|
49
|
-
if (normalizedConfig) {
|
|
50
|
-
this.config = normalizedConfig;
|
|
51
|
-
}
|
|
48
|
+
this.config = (0, tus_config_interface_1.normalizeTusConfig)(config) ?? { ...tus_config_interface_1.DEFAULT_TUS_CONFIG, enabled: false };
|
|
52
49
|
}
|
|
53
50
|
async onModuleInit() {
|
|
54
51
|
if (!this.config.enabled) {
|
|
@@ -282,6 +279,48 @@ let CoreTusService = CoreTusService_1 = class CoreTusService {
|
|
|
282
279
|
this.logger.warn(`Refused tus request for upload ${uploadId}: caller is not its owner`);
|
|
283
280
|
throw Object.assign(new Error('Upload not found'), { body: 'Upload not found', status_code: 404 });
|
|
284
281
|
}
|
|
282
|
+
disabledExtensions() {
|
|
283
|
+
const disabled = new Set();
|
|
284
|
+
if (this.config.creation === false) {
|
|
285
|
+
['creation', 'creation-with-upload', 'creation-defer-length'].forEach((extension) => disabled.add(extension));
|
|
286
|
+
}
|
|
287
|
+
if (this.config.creationWithUpload === false) {
|
|
288
|
+
disabled.add('creation-with-upload');
|
|
289
|
+
}
|
|
290
|
+
if (this.config.termination === false) {
|
|
291
|
+
disabled.add('termination');
|
|
292
|
+
}
|
|
293
|
+
return disabled;
|
|
294
|
+
}
|
|
295
|
+
assertExtensionEnabled(req) {
|
|
296
|
+
const disabled = this.disabledExtensions();
|
|
297
|
+
const method = String(req?.method ?? '').toUpperCase();
|
|
298
|
+
const contentType = this.readRequestHeader(req, 'content-type')?.toLowerCase() ?? '';
|
|
299
|
+
const needed = method === 'DELETE'
|
|
300
|
+
? 'termination'
|
|
301
|
+
: method === 'POST'
|
|
302
|
+
? contentType.startsWith('application/offset+octet-stream')
|
|
303
|
+
? 'creation-with-upload'
|
|
304
|
+
: 'creation'
|
|
305
|
+
: undefined;
|
|
306
|
+
if (needed && disabled.has(needed)) {
|
|
307
|
+
throw Object.assign(new Error(`The ${needed} extension is disabled`), {
|
|
308
|
+
body: `The ${needed} extension is disabled\n`,
|
|
309
|
+
status_code: 501,
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
uploadCollectionPath(req) {
|
|
314
|
+
const configured = (this.config.path || tus_config_interface_1.DEFAULT_TUS_CONFIG.path).replace(/\/+$/, '');
|
|
315
|
+
let requested;
|
|
316
|
+
try {
|
|
317
|
+
requested = new URL(String(req?.url ?? ''), 'http://localhost').pathname.replace(/\/+$/, '');
|
|
318
|
+
}
|
|
319
|
+
catch {
|
|
320
|
+
return configured;
|
|
321
|
+
}
|
|
322
|
+
return configured.length > requested.length && configured.endsWith(requested) ? configured : requested;
|
|
323
|
+
}
|
|
285
324
|
validateFileType(filetype) {
|
|
286
325
|
const allowedTypes = this.config.allowedTypes;
|
|
287
326
|
if (!allowedTypes || allowedTypes.length === 0) {
|
|
@@ -382,6 +421,7 @@ let CoreTusService = CoreTusService_1 = class CoreTusService {
|
|
|
382
421
|
}
|
|
383
422
|
async createTusServer(uploadDir) {
|
|
384
423
|
const datastore = (await this.createS3Store()) || new file_store_1.FileStore({ directory: uploadDir });
|
|
424
|
+
datastore.extensions = datastore.extensions.filter((extension) => !this.disabledExtensions().has(extension));
|
|
385
425
|
const locker = this.createLocker();
|
|
386
426
|
const cors = this.resolveCorsOrigins();
|
|
387
427
|
const server = new server_1.Server({
|
|
@@ -390,8 +430,19 @@ let CoreTusService = CoreTusService_1 = class CoreTusService {
|
|
|
390
430
|
datastore,
|
|
391
431
|
...(locker ? { locker } : {}),
|
|
392
432
|
maxSize: this.config.maxSize,
|
|
393
|
-
onIncomingRequest: async (req, uploadId) =>
|
|
394
|
-
|
|
433
|
+
onIncomingRequest: async (req, uploadId) => {
|
|
434
|
+
this.assertExtensionEnabled(req);
|
|
435
|
+
return this.assertUploadOwnership(req, uploadId);
|
|
436
|
+
},
|
|
437
|
+
onUploadCreate: async (req, upload) => {
|
|
438
|
+
this.assertExtensionEnabled(req);
|
|
439
|
+
return this.onUploadCreate(req, upload);
|
|
440
|
+
},
|
|
441
|
+
generateUrl: (req, { host, id, proto }) => {
|
|
442
|
+
const url = `${this.uploadCollectionPath(req)}/${id}`;
|
|
443
|
+
const relative = this.config.relativeLocation === true || server?.options?.relativeLocation === true;
|
|
444
|
+
return relative ? url : `${proto}://${host}${url}`;
|
|
445
|
+
},
|
|
395
446
|
onUploadFinish: async (_req, upload) => {
|
|
396
447
|
try {
|
|
397
448
|
await this.onUploadComplete(upload);
|
|
@@ -544,25 +595,7 @@ let CoreTusService = CoreTusService_1 = class CoreTusService {
|
|
|
544
595
|
}
|
|
545
596
|
}
|
|
546
597
|
logEnabledFeatures() {
|
|
547
|
-
const features = [];
|
|
548
|
-
if (this.config.creation !== false) {
|
|
549
|
-
features.push('creation');
|
|
550
|
-
}
|
|
551
|
-
if (this.config.creationWithUpload !== false) {
|
|
552
|
-
features.push('creation-with-upload');
|
|
553
|
-
}
|
|
554
|
-
if (this.config.termination !== false) {
|
|
555
|
-
features.push('termination');
|
|
556
|
-
}
|
|
557
|
-
if (this.config.expiration !== false) {
|
|
558
|
-
features.push('expiration');
|
|
559
|
-
}
|
|
560
|
-
if (this.config.checksum !== false) {
|
|
561
|
-
features.push('checksum');
|
|
562
|
-
}
|
|
563
|
-
if (this.config.concatenation !== false) {
|
|
564
|
-
features.push('concatenation');
|
|
565
|
-
}
|
|
598
|
+
const features = [...(this.tusServer?.datastore?.extensions ?? [])];
|
|
566
599
|
if (features.length > 0) {
|
|
567
600
|
this.logger.log(`TUS extensions: ${features.join(', ')}`);
|
|
568
601
|
}
|