exisjs 0.7.8 → 0.7.9
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/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +14 -4
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/resolve-aliases.js +1 -1
- package/dist/cli/resolve-aliases.js.map +1 -1
- package/dist/decorators/caching.d.ts +53 -0
- package/dist/decorators/caching.d.ts.map +1 -0
- package/dist/decorators/caching.js +154 -0
- package/dist/decorators/caching.js.map +1 -0
- package/dist/decorators/constants.d.ts +4 -0
- package/dist/decorators/constants.d.ts.map +1 -1
- package/dist/decorators/constants.js +5 -1
- package/dist/decorators/constants.js.map +1 -1
- package/dist/decorators/filters.d.ts +37 -0
- package/dist/decorators/filters.d.ts.map +1 -0
- package/dist/decorators/filters.js +30 -0
- package/dist/decorators/filters.js.map +1 -0
- package/dist/decorators/index.d.ts +6 -0
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +6 -0
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/lifecycle.d.ts +37 -0
- package/dist/decorators/lifecycle.d.ts.map +1 -0
- package/dist/decorators/lifecycle.js +3 -0
- package/dist/decorators/lifecycle.js.map +1 -0
- package/dist/decorators/middleware.d.ts +24 -3
- package/dist/decorators/middleware.d.ts.map +1 -1
- package/dist/decorators/middleware.js +24 -3
- package/dist/decorators/middleware.js.map +1 -1
- package/dist/decorators/params.d.ts.map +1 -1
- package/dist/decorators/params.js +1 -7
- package/dist/decorators/params.js.map +1 -1
- package/dist/decorators/profile.d.ts +32 -0
- package/dist/decorators/profile.d.ts.map +1 -0
- package/dist/decorators/profile.js +61 -0
- package/dist/decorators/profile.js.map +1 -0
- package/dist/decorators/response.d.ts +0 -1
- package/dist/decorators/response.d.ts.map +1 -1
- package/dist/decorators/response.js +1 -18
- package/dist/decorators/response.js.map +1 -1
- package/dist/decorators/routing.d.ts +22 -12
- package/dist/decorators/routing.d.ts.map +1 -1
- package/dist/decorators/routing.js +49 -3
- package/dist/decorators/routing.js.map +1 -1
- package/dist/decorators/security.d.ts +42 -0
- package/dist/decorators/security.d.ts.map +1 -0
- package/dist/decorators/security.js +110 -0
- package/dist/decorators/security.js.map +1 -0
- package/dist/decorators/transaction.d.ts +29 -0
- package/dist/decorators/transaction.d.ts.map +1 -0
- package/dist/decorators/transaction.js +91 -0
- package/dist/decorators/transaction.js.map +1 -0
- package/dist/di/container.d.ts +2 -0
- package/dist/di/container.d.ts.map +1 -1
- package/dist/di/container.js +30 -0
- package/dist/di/container.js.map +1 -1
- package/dist/docs/content/decorators.mdx +89 -4
- package/dist/docs/content/errors.mdx +29 -13
- package/dist/docs/content/providers.mdx +48 -0
- package/dist/docs/reference/decorators.mdx +27 -4
- package/dist/docs/reference/di.mdx +26 -0
- package/dist/error/errors.d.ts +24 -12
- package/dist/error/errors.d.ts.map +1 -1
- package/dist/error/errors.js +36 -12
- package/dist/error/errors.js.map +1 -1
- package/dist/router/controller-registrar.d.ts.map +1 -1
- package/dist/router/controller-registrar.js +75 -7
- package/dist/router/controller-registrar.js.map +1 -1
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/app.js +2 -0
- package/dist/server/app.js.map +1 -1
- package/dist/testing/client.d.ts +1 -1
- package/dist/testing/client.d.ts.map +1 -1
- package/dist/testing/client.js +30 -15
- package/dist/testing/client.js.map +1 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +10 -0
- package/dist/testing/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/decorators/lifecycle.ts"],"names":[],"mappings":""}
|
|
@@ -14,15 +14,36 @@ import { type BlockProbesOptions } from '../middleware/security';
|
|
|
14
14
|
*/
|
|
15
15
|
export declare function Use(...items: any[]): any;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Applies guards to a Controller class or route method.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* @Controller('/admin')
|
|
22
|
+
* @UseGuards(AuthGuard, RoleGuard)
|
|
23
|
+
* export class AdminController {}
|
|
24
|
+
* ```
|
|
18
25
|
*/
|
|
19
26
|
export declare function UseGuards(...guards: any[]): any;
|
|
20
27
|
/**
|
|
21
|
-
*
|
|
28
|
+
* Applies interceptors to a Controller class or route method.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* @Controller('/users')
|
|
33
|
+
* @UseInterceptors(LoggingInterceptor)
|
|
34
|
+
* export class UsersController {}
|
|
35
|
+
* ```
|
|
22
36
|
*/
|
|
23
37
|
export declare function UseInterceptors(...interceptors: any[]): any;
|
|
24
38
|
/**
|
|
25
|
-
*
|
|
39
|
+
* Applies exception filters to a Controller class or route method.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* @Controller('/items')
|
|
44
|
+
* @UseFilters(HttpExceptionFilter)
|
|
45
|
+
* export class ItemsController {}
|
|
46
|
+
* ```
|
|
26
47
|
*/
|
|
27
48
|
export declare function UseFilters(...filters: any[]): any;
|
|
28
49
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/decorators/middleware.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAA;AA6B/B;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAsFxC;AAED
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/decorators/middleware.ts"],"names":[],"mappings":"AAaA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAA;AA6B/B;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAsFxC;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAE/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,GAAG,YAAY,EAAE,GAAG,EAAE,GAAG,GAAG,CAE3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAEjD;AAqDD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,OAAO,GAAE,OAAO,2BAA2B,EAAE,iBAAsB,GAClE,GAAG,CASL;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,WAAW,EAAE,MAAM,GAAG,OAAO,wBAAwB,EAAE,cAAc,GACpE,GAAG,CAeL;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,OAAO,GAAE,OAAO,0BAA0B,EAAE,gBAAqB,GAChE,GAAG,CASL;AAED;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,OAAO,UAAU,EAAE,UAAe,GAAG,GAAG,CAerE;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,OAAO,yBAAyB,EAAE,eAAe,GACzD,GAAG,CASL;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,GAAG,CAS9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CACpB,OAAO,EAAE,OAAO,sBAAsB,EAAE,aAAa,GACpD,GAAG,CASL;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,GAAG,CAS7D;AAED,eAAO,MAAM,qBAAqB,oBAAc,CAAA"}
|
|
@@ -129,19 +129,40 @@ function Use(...items) {
|
|
|
129
129
|
};
|
|
130
130
|
}
|
|
131
131
|
/**
|
|
132
|
-
*
|
|
132
|
+
* Applies guards to a Controller class or route method.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```ts
|
|
136
|
+
* @Controller('/admin')
|
|
137
|
+
* @UseGuards(AuthGuard, RoleGuard)
|
|
138
|
+
* export class AdminController {}
|
|
139
|
+
* ```
|
|
133
140
|
*/
|
|
134
141
|
function UseGuards(...guards) {
|
|
135
142
|
return Use(...guards);
|
|
136
143
|
}
|
|
137
144
|
/**
|
|
138
|
-
*
|
|
145
|
+
* Applies interceptors to a Controller class or route method.
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```ts
|
|
149
|
+
* @Controller('/users')
|
|
150
|
+
* @UseInterceptors(LoggingInterceptor)
|
|
151
|
+
* export class UsersController {}
|
|
152
|
+
* ```
|
|
139
153
|
*/
|
|
140
154
|
function UseInterceptors(...interceptors) {
|
|
141
155
|
return Use(...interceptors);
|
|
142
156
|
}
|
|
143
157
|
/**
|
|
144
|
-
*
|
|
158
|
+
* Applies exception filters to a Controller class or route method.
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```ts
|
|
162
|
+
* @Controller('/items')
|
|
163
|
+
* @UseFilters(HttpExceptionFilter)
|
|
164
|
+
* export class ItemsController {}
|
|
165
|
+
* ```
|
|
145
166
|
*/
|
|
146
167
|
function UseFilters(...filters) {
|
|
147
168
|
return Use(...filters);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/decorators/middleware.ts"],"names":[],"mappings":";;;AA0DA,kBAsFC;
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/decorators/middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/decorators/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/decorators/params.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ exports.createParamDecorator = createParamDecorator;
|
|
|
5
5
|
exports.Query = Query;
|
|
6
6
|
const constants_1 = require("./constants");
|
|
7
7
|
const metadata_1 = require("./core/metadata");
|
|
8
|
-
const logger_1 = require("../logger");
|
|
9
8
|
function createParamDecorator(typeOrFactory, nameOrPipe, ...pipes) {
|
|
10
9
|
if (typeof typeOrFactory === 'function') {
|
|
11
10
|
const factory = typeOrFactory;
|
|
@@ -70,12 +69,7 @@ exports.Param = Param;
|
|
|
70
69
|
* }
|
|
71
70
|
* ```
|
|
72
71
|
*/
|
|
73
|
-
const Body = (nameOrPipe, ...pipes) =>
|
|
74
|
-
if (nameOrPipe === undefined && pipes.length === 0) {
|
|
75
|
-
logger_1.logger.warn(`@Body() decorator used without a validation schema or pipe. It is highly recommended to validate incoming payloads.`);
|
|
76
|
-
}
|
|
77
|
-
return createParamDecorator('body', nameOrPipe, ...pipes);
|
|
78
|
-
};
|
|
72
|
+
const Body = (nameOrPipe, ...pipes) => createParamDecorator('body', nameOrPipe, ...pipes);
|
|
79
73
|
exports.Body = Body;
|
|
80
74
|
/**
|
|
81
75
|
* Injects request headers or a specific header value.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/decorators/params.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/decorators/params.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface ProfileOptions {
|
|
2
|
+
/** Warning threshold in milliseconds (default: 0 = log all) */
|
|
3
|
+
thresholdMs?: number;
|
|
4
|
+
/** Whether to emit a console warning when duration exceeds threshold (default: true) */
|
|
5
|
+
warnSlow?: boolean;
|
|
6
|
+
/** Custom label for reporting */
|
|
7
|
+
label?: string;
|
|
8
|
+
/** Custom log callback function */
|
|
9
|
+
log?: (info: {
|
|
10
|
+
className: string;
|
|
11
|
+
methodName: string;
|
|
12
|
+
durationMs: number;
|
|
13
|
+
label?: string;
|
|
14
|
+
}) => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Performance and execution time profiling decorator.
|
|
18
|
+
* Measures execution time with sub-millisecond precision using `performance.now()`.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* @Injectable()
|
|
23
|
+
* export class ReportService {
|
|
24
|
+
* @Profile({ thresholdMs: 100, warnSlow: true })
|
|
25
|
+
* async generateReport() {
|
|
26
|
+
* return this.heavyComputations()
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare function Profile(options?: ProfileOptions): MethodDecorator;
|
|
32
|
+
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/decorators/profile.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mCAAmC;IACnC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE;QACX,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,KAAK,IAAI,CAAA;CACX;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,eAAe,CAkDrE"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Profile = Profile;
|
|
4
|
+
const logger_1 = require("../logger");
|
|
5
|
+
/**
|
|
6
|
+
* Performance and execution time profiling decorator.
|
|
7
|
+
* Measures execution time with sub-millisecond precision using `performance.now()`.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* @Injectable()
|
|
12
|
+
* export class ReportService {
|
|
13
|
+
* @Profile({ thresholdMs: 100, warnSlow: true })
|
|
14
|
+
* async generateReport() {
|
|
15
|
+
* return this.heavyComputations()
|
|
16
|
+
* }
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
function Profile(options = {}) {
|
|
21
|
+
return function (target, propertyKey, descriptor) {
|
|
22
|
+
const originalMethod = descriptor.value;
|
|
23
|
+
const className = target?.constructor?.name || 'Class';
|
|
24
|
+
const methodName = String(propertyKey);
|
|
25
|
+
const threshold = options.thresholdMs ?? 0;
|
|
26
|
+
const warnSlow = options.warnSlow !== false;
|
|
27
|
+
descriptor.value = async function (...args) {
|
|
28
|
+
const start = performance.now();
|
|
29
|
+
try {
|
|
30
|
+
const result = await originalMethod.apply(this, args);
|
|
31
|
+
const duration = performance.now() - start;
|
|
32
|
+
if (options.log) {
|
|
33
|
+
options.log({
|
|
34
|
+
className,
|
|
35
|
+
methodName,
|
|
36
|
+
durationMs: Number(duration.toFixed(2)),
|
|
37
|
+
label: options.label,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
else if (duration >= threshold && warnSlow && threshold > 0) {
|
|
41
|
+
logger_1.logger.warn(`[Profile] ${className}.${methodName} took ${duration.toFixed(2)}ms (threshold: ${threshold}ms)`);
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
const duration = performance.now() - start;
|
|
47
|
+
if (options.log) {
|
|
48
|
+
options.log({
|
|
49
|
+
className,
|
|
50
|
+
methodName,
|
|
51
|
+
durationMs: Number(duration.toFixed(2)),
|
|
52
|
+
label: options.label,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
throw err;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
return descriptor;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/decorators/profile.ts"],"names":[],"mappings":";;AAiCA,0BAkDC;AAnFD,sCAAkC;AAkBlC;;;;;;;;;;;;;;GAcG;AACH,SAAgB,OAAO,CAAC,UAA0B,EAAE;IAClD,OAAO,UACL,MAAW,EACX,WAA4B,EAC5B,UAA8B;QAE9B,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAA;QACvC,MAAM,SAAS,GAAG,MAAM,EAAE,WAAW,EAAE,IAAI,IAAI,OAAO,CAAA;QACtD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAA;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAA;QAE3C,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAAW;YAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YAC/B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;gBACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;gBAE1C,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC;wBACV,SAAS;wBACT,UAAU;wBACV,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBACvC,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB,CAAC,CAAA;gBACJ,CAAC;qBAAM,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAC9D,eAAM,CAAC,IAAI,CACT,aAAa,SAAS,IAAI,UAAU,SAAS,QAAQ,CAAC,OAAO,CAC3D,CAAC,CACF,kBAAkB,SAAS,KAAK,CAClC,CAAA;gBACH,CAAC;gBAED,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;gBAC1C,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC;wBACV,SAAS;wBACT,UAAU;wBACV,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBACvC,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAM,GAAG,CAAA;YACX,CAAC;QACH,CAAC,CAAA;QAED,OAAO,UAAU,CAAA;IACnB,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -27,6 +27,5 @@ export declare function Header(name: string, value: string): any;
|
|
|
27
27
|
*/
|
|
28
28
|
export declare function Returns(schema: RouteSchema<any, any, any, any>['response']): any;
|
|
29
29
|
export declare const Redirect: (url: string, statusCode?: number) => any;
|
|
30
|
-
export declare const Permissions: (...permissions: string[]) => any;
|
|
31
30
|
export declare const Hosts: (...hosts: string[]) => any;
|
|
32
31
|
//# sourceMappingURL=response.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/decorators/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG3C;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAa1C;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAcvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAClD,GAAG,CAaL;AAED,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,EAAE,mBAAgB,KAAG,GAexD,CAAA;AAED,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/decorators/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG3C;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAa1C;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,GAAG,CAcvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAClD,GAAG,CAaL;AAED,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,EAAE,mBAAgB,KAAG,GAexD,CAAA;AAED,eAAO,MAAM,KAAK,GAAI,GAAG,OAAO,MAAM,EAAE,KAAG,GAkB1C,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Hosts = exports.
|
|
3
|
+
exports.Hosts = exports.Redirect = void 0;
|
|
4
4
|
exports.HttpCode = HttpCode;
|
|
5
5
|
exports.Header = Header;
|
|
6
6
|
exports.Returns = Returns;
|
|
@@ -67,23 +67,6 @@ const Redirect = (url, statusCode = 302) => {
|
|
|
67
67
|
};
|
|
68
68
|
};
|
|
69
69
|
exports.Redirect = Redirect;
|
|
70
|
-
const Permissions = (...permissions) => {
|
|
71
|
-
return function (target, propertyKey, descriptor) {
|
|
72
|
-
const isStandard = typeof propertyKey === 'object' && propertyKey !== null;
|
|
73
|
-
if (propertyKey && !isStandard) {
|
|
74
|
-
const fn = descriptor?.value ?? target[propertyKey];
|
|
75
|
-
if (fn) {
|
|
76
|
-
fn[constants_1.ROUTE_METADATA_PROP] = fn[constants_1.ROUTE_METADATA_PROP] || {};
|
|
77
|
-
fn[constants_1.ROUTE_METADATA_PROP].permissions = permissions;
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
const proto = typeof target === 'function' ? target.prototype : target;
|
|
82
|
-
proto[constants_1.ROUTE_METADATA_PROP] = proto[constants_1.ROUTE_METADATA_PROP] || {};
|
|
83
|
-
proto[constants_1.ROUTE_METADATA_PROP].permissions = permissions;
|
|
84
|
-
};
|
|
85
|
-
};
|
|
86
|
-
exports.Permissions = Permissions;
|
|
87
70
|
const Hosts = (...hosts) => {
|
|
88
71
|
return function (target, propertyKey, descriptor) {
|
|
89
72
|
const isStandard = typeof propertyKey === 'object' && propertyKey !== null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/decorators/response.ts"],"names":[],"mappings":";;;AAeA,4BAaC;AAED,wBAcC;AAcD,0BAeC;AAxED,2CAAkE;AAElE;;;;;;;;;;;GAWG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,UACL,MAAW,EACX,oBAA4C,EAC5C,UAAqC;QAErC,MAAM,UAAU,GACd,OAAO,oBAAoB,KAAK,QAAQ,IAAI,oBAAoB,KAAK,IAAI,CAAA;QAC3E,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAA;QAEjD,EAAE,CAAC,+BAAmB,CAAC,GAAG,EAAE,CAAC,+BAAmB,CAAC,IAAI,EAAE,CAAA;QACvD,EAAE,CAAC,+BAAmB,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAA;IACzC,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,MAAM,CAAC,IAAY,EAAE,KAAa;IAChD,OAAO,UACL,MAAW,EACX,oBAA4C,EAC5C,UAAqC;QAErC,MAAM,UAAU,GACd,OAAO,oBAAoB,KAAK,QAAQ,IAAI,oBAAoB,KAAK,IAAI,CAAA;QAC3E,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAA;QAEjD,EAAE,CAAC,+BAAmB,CAAC,GAAG,EAAE,CAAC,+BAAmB,CAAC,IAAI,EAAE,CAAA;QACvD,EAAE,CAAC,+BAAmB,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,+BAAmB,CAAC,CAAC,OAAO,IAAI,EAAE,CAAA;QACvE,EAAE,CAAC,+BAAmB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;IAC/C,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,OAAO,CACrB,MAAmD;IAEnD,OAAO,UACL,MAAW,EACX,oBAA4C,EAC5C,UAAqC;QAErC,MAAM,UAAU,GACd,OAAO,oBAAoB,KAAK,QAAQ,IAAI,oBAAoB,KAAK,IAAI,CAAA;QAC3E,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAA;QAEjD,EAAE,CAAC,+BAAmB,CAAC,GAAG,EAAE,CAAC,+BAAmB,CAAC,IAAI,EAAE,CAAA;QACvD,EAAE,CAAC,+BAAmB,CAAC,CAAC,cAAc,GAAG,MAAM,CAAA;IACjD,CAAC,CAAA;AACH,CAAC;AAEM,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,UAAU,GAAG,GAAG,EAAO,EAAE;IAC7D,OAAO,UACL,MAAW,EACX,WAAmC,EACnC,UAAqC;QAErC,MAAM,UAAU,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI,CAAA;QAC1E,MAAM,EAAE,GAAG,UAAU;YACnB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QACvE,IAAI,EAAE,EAAE,CAAC;YACP,EAAE,CAAC,+BAAmB,CAAC,GAAG,EAAE,CAAC,+BAAmB,CAAC,IAAI,EAAE,CAAA;YACvD,EAAE,CAAC,+BAAmB,CAAC,CAAC,QAAQ,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,CAAA;QACxD,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAfY,QAAA,QAAQ,YAepB;AAEM,MAAM,
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/decorators/response.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
-
import type { HttpMethod, RouteSchema } from '../types';
|
|
2
|
-
export
|
|
1
|
+
import type { HttpMethod, RouteSchema, RouteValidator } from '../types';
|
|
2
|
+
export type MethodSchemaInput<TBody = any, TQuery = any, TParams = any, THeaders = any> = RouteSchema<TBody, TQuery, TParams, THeaders> | RouteValidator<any> | {
|
|
3
|
+
parse: (val: any) => any;
|
|
4
|
+
} | {
|
|
5
|
+
_parse?: any;
|
|
6
|
+
} | {
|
|
7
|
+
_def?: any;
|
|
8
|
+
} | {
|
|
9
|
+
transform: (val: any, meta?: any) => any;
|
|
10
|
+
} | Record<string, any>;
|
|
11
|
+
export declare function normalizeRouteSchema(method: HttpMethod, path: string, rawSchema?: MethodSchemaInput): RouteSchema<any, any, any, any> | undefined;
|
|
12
|
+
export declare function createMethodDecorator(method: HttpMethod): (path?: string, schema?: MethodSchemaInput) => any;
|
|
3
13
|
/**
|
|
4
14
|
* Marks a controller method as an HTTP GET route handler.
|
|
5
15
|
*
|
|
@@ -17,7 +27,7 @@ export declare function createMethodDecorator(method: HttpMethod): (path?: strin
|
|
|
17
27
|
* }
|
|
18
28
|
* ```
|
|
19
29
|
*/
|
|
20
|
-
export declare const Get: (path?: string, schema?:
|
|
30
|
+
export declare const Get: (path?: string, schema?: MethodSchemaInput) => any;
|
|
21
31
|
/**
|
|
22
32
|
* Marks a controller method as an HTTP POST route handler.
|
|
23
33
|
*
|
|
@@ -35,7 +45,7 @@ export declare const Get: (path?: string, schema?: RouteSchema<any, any, any, an
|
|
|
35
45
|
* }
|
|
36
46
|
* ```
|
|
37
47
|
*/
|
|
38
|
-
export declare const Post: (path?: string, schema?:
|
|
48
|
+
export declare const Post: (path?: string, schema?: MethodSchemaInput) => any;
|
|
39
49
|
/**
|
|
40
50
|
* Marks a controller method as an HTTP PUT route handler.
|
|
41
51
|
*
|
|
@@ -53,14 +63,14 @@ export declare const Post: (path?: string, schema?: RouteSchema<any, any, any, a
|
|
|
53
63
|
* }
|
|
54
64
|
* ```
|
|
55
65
|
*/
|
|
56
|
-
export declare const Put: (path?: string, schema?:
|
|
66
|
+
export declare const Put: (path?: string, schema?: MethodSchemaInput) => any;
|
|
57
67
|
/**
|
|
58
68
|
* Marks a controller method as an HTTP PATCH route handler.
|
|
59
69
|
*
|
|
60
70
|
* @param path Optional route path relative to controller prefix
|
|
61
71
|
* @param schema Optional validation schema
|
|
62
72
|
*/
|
|
63
|
-
export declare const Patch: (path?: string, schema?:
|
|
73
|
+
export declare const Patch: (path?: string, schema?: MethodSchemaInput) => any;
|
|
64
74
|
/**
|
|
65
75
|
* Marks a controller method as an HTTP DELETE route handler.
|
|
66
76
|
*
|
|
@@ -78,25 +88,25 @@ export declare const Patch: (path?: string, schema?: RouteSchema<any, any, any,
|
|
|
78
88
|
* }
|
|
79
89
|
* ```
|
|
80
90
|
*/
|
|
81
|
-
export declare const Delete: (path?: string, schema?:
|
|
91
|
+
export declare const Delete: (path?: string, schema?: MethodSchemaInput) => any;
|
|
82
92
|
/**
|
|
83
93
|
* Marks a controller method as an HTTP OPTIONS route handler.
|
|
84
94
|
*/
|
|
85
|
-
export declare const Options: (path?: string, schema?:
|
|
95
|
+
export declare const Options: (path?: string, schema?: MethodSchemaInput) => any;
|
|
86
96
|
/**
|
|
87
97
|
* Marks a controller method as an HTTP HEAD route handler.
|
|
88
98
|
*/
|
|
89
|
-
export declare const Head: (path?: string, schema?:
|
|
99
|
+
export declare const Head: (path?: string, schema?: MethodSchemaInput) => any;
|
|
90
100
|
/**
|
|
91
101
|
* Marks a controller method to handle any HTTP method (GET, POST, PUT, DELETE, PATCH, etc.).
|
|
92
102
|
*/
|
|
93
|
-
export declare const All: (path?: string, schema?:
|
|
103
|
+
export declare const All: (path?: string, schema?: MethodSchemaInput) => any;
|
|
94
104
|
/**
|
|
95
105
|
* Marks a controller method as an HTTP CONNECT route handler.
|
|
96
106
|
*/
|
|
97
|
-
export declare const Connect: (path?: string, schema?:
|
|
107
|
+
export declare const Connect: (path?: string, schema?: MethodSchemaInput) => any;
|
|
98
108
|
/**
|
|
99
109
|
* Marks a controller method as an HTTP TRACE route handler.
|
|
100
110
|
*/
|
|
101
|
-
export declare const Trace: (path?: string, schema?:
|
|
111
|
+
export declare const Trace: (path?: string, schema?: MethodSchemaInput) => any;
|
|
102
112
|
//# sourceMappingURL=routing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/decorators/routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/decorators/routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAKvE,MAAM,MAAM,iBAAiB,CAC3B,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,GAAG,EACZ,OAAO,GAAG,GAAG,EACb,QAAQ,GAAG,GAAG,IAEZ,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,GAC7C,cAAc,CAAC,GAAG,CAAC,GACnB;IAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAA;CAAE,GAC5B;IAAE,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,GAChB;IAAE,IAAI,CAAC,EAAE,GAAG,CAAA;CAAE,GACd;IAAE,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;CAAE,GAC5C,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEvB,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,iBAAiB,GAC5B,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAiD7C;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,UAAU,IACrC,aAAS,EAAE,SAAS,iBAAiB,KAAG,GAAG,CAsC7D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,GAAG,2BAzDuB,iBAAiB,KAAG,GAyDZ,CAAA;AAE/C;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,IAAI,2BA5EsB,iBAAiB,KAAG,GA4EV,CAAA;AAEjD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,GAAG,2BA/FuB,iBAAiB,KAAG,GA+FZ,CAAA;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,KAAK,2BAvGqB,iBAAiB,KAAG,GAuGR,CAAA;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,MAAM,2BA1HoB,iBAAiB,KAAG,GA0HN,CAAA;AAErD;;GAEG;AACH,eAAO,MAAM,OAAO,2BA/HmB,iBAAiB,KAAG,GA+HJ,CAAA;AAEvD;;GAEG;AACH,eAAO,MAAM,IAAI,2BApIsB,iBAAiB,KAAG,GAoIV,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,GAAG,2BAzIuB,iBAAiB,KAAG,GAyIZ,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,OAAO,2BA9ImB,iBAAiB,KAAG,GA8IJ,CAAA;AAEvD;;GAEG;AACH,eAAO,MAAM,KAAK,2BAnJqB,iBAAiB,KAAG,GAmJR,CAAA"}
|
|
@@ -1,13 +1,59 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Trace = exports.Connect = exports.All = exports.Head = exports.Options = exports.Delete = exports.Patch = exports.Put = exports.Post = exports.Get = void 0;
|
|
4
|
+
exports.normalizeRouteSchema = normalizeRouteSchema;
|
|
4
5
|
exports.createMethodDecorator = createMethodDecorator;
|
|
5
6
|
const constants_1 = require("./constants");
|
|
6
7
|
const metadata_1 = require("./core/metadata");
|
|
7
8
|
const logger_1 = require("../logger");
|
|
9
|
+
function normalizeRouteSchema(method, path, rawSchema) {
|
|
10
|
+
if (!rawSchema)
|
|
11
|
+
return undefined;
|
|
12
|
+
// Check if it's already an explicit RouteSchema wrapper object (and not a direct TexEngine / Zod schema)
|
|
13
|
+
if (typeof rawSchema === 'object' &&
|
|
14
|
+
rawSchema !== null &&
|
|
15
|
+
!('parse' in rawSchema) &&
|
|
16
|
+
!('_parse' in rawSchema) &&
|
|
17
|
+
!('__isTex' in rawSchema) &&
|
|
18
|
+
('body' in rawSchema ||
|
|
19
|
+
'query' in rawSchema ||
|
|
20
|
+
'params' in rawSchema ||
|
|
21
|
+
'headers' in rawSchema ||
|
|
22
|
+
'response' in rawSchema ||
|
|
23
|
+
'responses' in rawSchema ||
|
|
24
|
+
'timeout' in rawSchema ||
|
|
25
|
+
'timeoutMs' in rawSchema ||
|
|
26
|
+
'upload' in rawSchema ||
|
|
27
|
+
'cors' in rawSchema ||
|
|
28
|
+
'filters' in rawSchema ||
|
|
29
|
+
'summary' in rawSchema ||
|
|
30
|
+
'description' in rawSchema ||
|
|
31
|
+
'tags' in rawSchema)) {
|
|
32
|
+
return rawSchema;
|
|
33
|
+
}
|
|
34
|
+
// If rawSchema is a direct validator (TexEngine, Zod, object/function with parse/transform):
|
|
35
|
+
if ((typeof rawSchema === 'object' && rawSchema !== null) ||
|
|
36
|
+
typeof rawSchema === 'function') {
|
|
37
|
+
if (['GET', 'DELETE', 'HEAD', 'OPTIONS'].includes(method)) {
|
|
38
|
+
if (path.includes(':') || path.includes('*')) {
|
|
39
|
+
return { params: rawSchema };
|
|
40
|
+
}
|
|
41
|
+
return { query: rawSchema };
|
|
42
|
+
}
|
|
43
|
+
if (['POST', 'PUT', 'PATCH'].includes(method)) {
|
|
44
|
+
return { body: rawSchema };
|
|
45
|
+
}
|
|
46
|
+
if (path.includes(':') || path.includes('*')) {
|
|
47
|
+
return { params: rawSchema };
|
|
48
|
+
}
|
|
49
|
+
return { query: rawSchema };
|
|
50
|
+
}
|
|
51
|
+
return rawSchema;
|
|
52
|
+
}
|
|
8
53
|
function createMethodDecorator(method) {
|
|
9
54
|
return function (path = '', schema) {
|
|
10
|
-
|
|
55
|
+
const normalizedSchema = normalizeRouteSchema(method, path, schema);
|
|
56
|
+
if (method === 'GET' && normalizedSchema?.body) {
|
|
11
57
|
logger_1.logger.warn(`GET route '${path}' defines a body schema, but GET requests cannot have bodies.`);
|
|
12
58
|
}
|
|
13
59
|
return function (target, contextOrPropertyKey, descriptor) {
|
|
@@ -18,7 +64,7 @@ function createMethodDecorator(method) {
|
|
|
18
64
|
metadata_1.MetadataEngine.set(target, constants_1.ROUTE_META, {
|
|
19
65
|
method,
|
|
20
66
|
path,
|
|
21
|
-
schema,
|
|
67
|
+
schema: normalizedSchema,
|
|
22
68
|
});
|
|
23
69
|
}
|
|
24
70
|
else {
|
|
@@ -28,7 +74,7 @@ function createMethodDecorator(method) {
|
|
|
28
74
|
metadata_1.MetadataEngine.push(proto, constants_1.ROUTE_REGISTRY, {
|
|
29
75
|
method,
|
|
30
76
|
path,
|
|
31
|
-
schema,
|
|
77
|
+
schema: normalizedSchema,
|
|
32
78
|
handlerName: name,
|
|
33
79
|
});
|
|
34
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/decorators/routing.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/decorators/routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Declares required permission keys for a Controller class or route method.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```ts
|
|
6
|
+
* @Controller('/roles')
|
|
7
|
+
* export class RolesController {
|
|
8
|
+
* @Post('/')
|
|
9
|
+
* @Permissions('role:create', 'role:manage')
|
|
10
|
+
* async createRole() {}
|
|
11
|
+
* }
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function Permissions(...permissions: string[]): any;
|
|
15
|
+
/**
|
|
16
|
+
* Declares required roles for a Controller class or route method.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* @Controller('/admin')
|
|
21
|
+
* @Roles('admin', 'superadmin')
|
|
22
|
+
* export class AdminController {}
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function Roles(...roles: string[]): any;
|
|
26
|
+
/**
|
|
27
|
+
* Marks a Controller class or route method as public, bypassing global authentication guards.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* @Controller('/auth')
|
|
32
|
+
* export class AuthController {
|
|
33
|
+
* @Post('/login')
|
|
34
|
+
* @Public()
|
|
35
|
+
* async login() {}
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function Public(): any;
|
|
40
|
+
export declare const IsPublic: typeof Public;
|
|
41
|
+
export declare const AllowAnonymous: typeof Public;
|
|
42
|
+
//# sourceMappingURL=security.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/decorators/security.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,GAAG,WAAW,EAAE,MAAM,EAAE,GAAG,GAAG,CA2BzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CA2B7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,IAAI,GAAG,CA2B5B;AAED,eAAO,MAAM,QAAQ,eAAS,CAAA;AAC9B,eAAO,MAAM,cAAc,eAAS,CAAA"}
|