@catbee/utils 0.0.4 → 0.0.6
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/LICENSE +21 -201
- package/README.md +911 -242
- package/build/esm/config.d.ts +108 -8
- package/build/esm/config.js +122 -6
- package/build/esm/config.js.map +1 -1
- package/build/esm/index.d.ts +6 -0
- package/build/esm/index.js +29 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/servers/server.builder.d.ts +625 -0
- package/build/esm/servers/server.builder.js +722 -0
- package/build/esm/servers/server.builder.js.map +1 -0
- package/build/esm/servers/server.d.ts +256 -0
- package/build/esm/servers/server.js +1211 -0
- package/build/esm/servers/server.js.map +1 -0
- package/build/esm/types/api-response.d.ts +5 -7
- package/build/esm/types/api-response.js +23 -0
- package/build/esm/types/api-response.js.map +1 -1
- package/build/esm/types/index.d.ts +125 -0
- package/build/esm/types/index.js +25 -0
- package/build/esm/types/index.js.map +1 -0
- package/build/esm/types/server.d.ts +285 -0
- package/build/esm/types/server.js +25 -0
- package/build/esm/types/server.js.map +1 -0
- package/build/esm/utils/array.utils.js +23 -0
- package/build/esm/utils/array.utils.js.map +1 -1
- package/build/esm/utils/async.utils.js +23 -0
- package/build/esm/utils/async.utils.js.map +1 -1
- package/build/esm/utils/cache.utils.js +39 -16
- package/build/esm/utils/cache.utils.js.map +1 -1
- package/build/esm/utils/context-store.utils.d.ts +1 -1
- package/build/esm/utils/context-store.utils.js +24 -1
- package/build/esm/utils/context-store.utils.js.map +1 -1
- package/build/esm/utils/crypto.utils.js +26 -2
- package/build/esm/utils/crypto.utils.js.map +1 -1
- package/build/esm/utils/decorators.utils.d.ts +291 -0
- package/build/esm/utils/decorators.utils.js +395 -41
- package/build/esm/utils/decorators.utils.js.map +1 -1
- package/build/esm/utils/dir.utils.js +23 -0
- package/build/esm/utils/dir.utils.js.map +1 -1
- package/build/esm/utils/env.utils.d.ts +186 -23
- package/build/esm/utils/env.utils.js +517 -91
- package/build/esm/utils/env.utils.js.map +1 -1
- package/build/esm/utils/exception.utils.js +31 -8
- package/build/esm/utils/exception.utils.js.map +1 -1
- package/build/esm/utils/fs.utils.js +23 -0
- package/build/esm/utils/fs.utils.js.map +1 -1
- package/build/esm/utils/http-status-codes.js +23 -0
- package/build/esm/utils/http-status-codes.js.map +1 -1
- package/build/esm/utils/id.utils.js +23 -0
- package/build/esm/utils/id.utils.js.map +1 -1
- package/build/esm/utils/logger.utils.d.ts +118 -0
- package/build/esm/utils/logger.utils.js +251 -15
- package/build/esm/utils/logger.utils.js.map +1 -1
- package/build/esm/utils/middleware.utils.d.ts +29 -7
- package/build/esm/utils/middleware.utils.js +81 -55
- package/build/esm/utils/middleware.utils.js.map +1 -1
- package/build/esm/utils/obj.utils.d.ts +10 -3
- package/build/esm/utils/obj.utils.js +225 -15
- package/build/esm/utils/obj.utils.js.map +1 -1
- package/build/esm/utils/request.utils.d.ts +77 -0
- package/build/esm/utils/request.utils.js +196 -0
- package/build/esm/utils/request.utils.js.map +1 -0
- package/build/esm/utils/response.utils.d.ts +15 -1
- package/build/esm/utils/response.utils.js +55 -4
- package/build/esm/utils/response.utils.js.map +1 -1
- package/build/esm/utils/string.utils.js +23 -0
- package/build/esm/utils/string.utils.js.map +1 -1
- package/build/esm/utils/url.utils.js +23 -0
- package/build/esm/utils/url.utils.js.map +1 -1
- package/build/esm/utils/validate.utils.d.ts +7 -0
- package/build/esm/utils/validate.utils.js +35 -2
- package/build/esm/utils/validate.utils.js.map +1 -1
- package/build/esnext/config.d.ts +108 -8
- package/build/esnext/config.js +122 -6
- package/build/esnext/config.js.map +1 -1
- package/build/esnext/index.d.ts +6 -0
- package/build/esnext/index.js +29 -0
- package/build/esnext/index.js.map +1 -1
- package/build/esnext/servers/server.builder.d.ts +625 -0
- package/build/esnext/servers/server.builder.js +677 -0
- package/build/esnext/servers/server.builder.js.map +1 -0
- package/build/esnext/servers/server.d.ts +256 -0
- package/build/esnext/servers/server.js +918 -0
- package/build/esnext/servers/server.js.map +1 -0
- package/build/esnext/types/api-response.d.ts +5 -7
- package/build/esnext/types/api-response.js +23 -0
- package/build/esnext/types/api-response.js.map +1 -1
- package/build/esnext/types/index.d.ts +125 -0
- package/build/esnext/types/index.js +25 -0
- package/build/esnext/types/index.js.map +1 -0
- package/build/esnext/types/server.d.ts +285 -0
- package/build/esnext/types/server.js +25 -0
- package/build/esnext/types/server.js.map +1 -0
- package/build/esnext/utils/array.utils.js +23 -0
- package/build/esnext/utils/array.utils.js.map +1 -1
- package/build/esnext/utils/async.utils.js +23 -0
- package/build/esnext/utils/async.utils.js.map +1 -1
- package/build/esnext/utils/cache.utils.js +39 -16
- package/build/esnext/utils/cache.utils.js.map +1 -1
- package/build/esnext/utils/context-store.utils.d.ts +1 -1
- package/build/esnext/utils/context-store.utils.js +24 -1
- package/build/esnext/utils/context-store.utils.js.map +1 -1
- package/build/esnext/utils/crypto.utils.js +26 -2
- package/build/esnext/utils/crypto.utils.js.map +1 -1
- package/build/esnext/utils/decorators.utils.d.ts +291 -0
- package/build/esnext/utils/decorators.utils.js +371 -22
- package/build/esnext/utils/decorators.utils.js.map +1 -1
- package/build/esnext/utils/dir.utils.js +23 -0
- package/build/esnext/utils/dir.utils.js.map +1 -1
- package/build/esnext/utils/env.utils.d.ts +186 -23
- package/build/esnext/utils/env.utils.js +468 -77
- package/build/esnext/utils/env.utils.js.map +1 -1
- package/build/esnext/utils/exception.utils.js +30 -7
- package/build/esnext/utils/exception.utils.js.map +1 -1
- package/build/esnext/utils/fs.utils.js +23 -0
- package/build/esnext/utils/fs.utils.js.map +1 -1
- package/build/esnext/utils/http-status-codes.js +23 -0
- package/build/esnext/utils/http-status-codes.js.map +1 -1
- package/build/esnext/utils/id.utils.js +23 -0
- package/build/esnext/utils/id.utils.js.map +1 -1
- package/build/esnext/utils/logger.utils.d.ts +118 -0
- package/build/esnext/utils/logger.utils.js +222 -15
- package/build/esnext/utils/logger.utils.js.map +1 -1
- package/build/esnext/utils/middleware.utils.d.ts +29 -7
- package/build/esnext/utils/middleware.utils.js +77 -55
- package/build/esnext/utils/middleware.utils.js.map +1 -1
- package/build/esnext/utils/obj.utils.d.ts +10 -3
- package/build/esnext/utils/obj.utils.js +176 -12
- package/build/esnext/utils/obj.utils.js.map +1 -1
- package/build/esnext/utils/request.utils.d.ts +77 -0
- package/build/esnext/utils/request.utils.js +168 -0
- package/build/esnext/utils/request.utils.js.map +1 -0
- package/build/esnext/utils/response.utils.d.ts +15 -1
- package/build/esnext/utils/response.utils.js +55 -4
- package/build/esnext/utils/response.utils.js.map +1 -1
- package/build/esnext/utils/string.utils.js +23 -0
- package/build/esnext/utils/string.utils.js.map +1 -1
- package/build/esnext/utils/url.utils.js +23 -0
- package/build/esnext/utils/url.utils.js.map +1 -1
- package/build/esnext/utils/validate.utils.d.ts +7 -0
- package/build/esnext/utils/validate.utils.js +33 -0
- package/build/esnext/utils/validate.utils.js.map +1 -1
- package/build/src/config.d.ts +108 -8
- package/build/src/config.js +125 -7
- package/build/src/config.js.map +1 -1
- package/build/src/index.d.ts +6 -0
- package/build/src/index.js +32 -0
- package/build/src/index.js.map +1 -1
- package/build/src/servers/server.builder.d.ts +625 -0
- package/build/src/servers/server.builder.js +681 -0
- package/build/src/servers/server.builder.js.map +1 -0
- package/build/src/servers/server.d.ts +256 -0
- package/build/src/servers/server.js +958 -0
- package/build/src/servers/server.js.map +1 -0
- package/build/src/types/api-response.d.ts +5 -7
- package/build/src/types/api-response.js +23 -0
- package/build/src/types/api-response.js.map +1 -1
- package/build/src/types/index.d.ts +125 -0
- package/build/src/types/index.js +26 -0
- package/build/src/types/index.js.map +1 -0
- package/build/src/types/server.d.ts +285 -0
- package/build/src/types/server.js +26 -0
- package/build/src/types/server.js.map +1 -0
- package/build/src/utils/array.utils.js +23 -0
- package/build/src/utils/array.utils.js.map +1 -1
- package/build/src/utils/async.utils.js +23 -0
- package/build/src/utils/async.utils.js.map +1 -1
- package/build/src/utils/cache.utils.js +38 -15
- package/build/src/utils/cache.utils.js.map +1 -1
- package/build/src/utils/context-store.utils.d.ts +1 -1
- package/build/src/utils/context-store.utils.js +24 -1
- package/build/src/utils/context-store.utils.js.map +1 -1
- package/build/src/utils/crypto.utils.js +25 -1
- package/build/src/utils/crypto.utils.js.map +1 -1
- package/build/src/utils/decorators.utils.d.ts +291 -0
- package/build/src/utils/decorators.utils.js +373 -22
- package/build/src/utils/decorators.utils.js.map +1 -1
- package/build/src/utils/dir.utils.js +23 -0
- package/build/src/utils/dir.utils.js.map +1 -1
- package/build/src/utils/env.utils.d.ts +186 -23
- package/build/src/utils/env.utils.js +467 -76
- package/build/src/utils/env.utils.js.map +1 -1
- package/build/src/utils/exception.utils.js +30 -7
- package/build/src/utils/exception.utils.js.map +1 -1
- package/build/src/utils/fs.utils.js +23 -0
- package/build/src/utils/fs.utils.js.map +1 -1
- package/build/src/utils/http-status-codes.js +23 -0
- package/build/src/utils/http-status-codes.js.map +1 -1
- package/build/src/utils/id.utils.js +23 -0
- package/build/src/utils/id.utils.js.map +1 -1
- package/build/src/utils/logger.utils.d.ts +118 -0
- package/build/src/utils/logger.utils.js +228 -15
- package/build/src/utils/logger.utils.js.map +1 -1
- package/build/src/utils/middleware.utils.d.ts +29 -7
- package/build/src/utils/middleware.utils.js +76 -54
- package/build/src/utils/middleware.utils.js.map +1 -1
- package/build/src/utils/obj.utils.d.ts +10 -3
- package/build/src/utils/obj.utils.js +177 -12
- package/build/src/utils/obj.utils.js.map +1 -1
- package/build/src/utils/request.utils.d.ts +77 -0
- package/build/src/utils/request.utils.js +175 -0
- package/build/src/utils/request.utils.js.map +1 -0
- package/build/src/utils/response.utils.d.ts +15 -1
- package/build/src/utils/response.utils.js +56 -4
- package/build/src/utils/response.utils.js.map +1 -1
- package/build/src/utils/string.utils.js +23 -0
- package/build/src/utils/string.utils.js.map +1 -1
- package/build/src/utils/url.utils.js +23 -0
- package/build/src/utils/url.utils.js.map +1 -1
- package/build/src/utils/validate.utils.d.ts +7 -0
- package/build/src/utils/validate.utils.js +36 -2
- package/build/src/utils/validate.utils.js.map +1 -1
- package/package.json +40 -9
|
@@ -1,24 +1,315 @@
|
|
|
1
1
|
import type { RequestHandler, Router } from 'express';
|
|
2
2
|
import 'reflect-metadata';
|
|
3
|
+
/**
|
|
4
|
+
* Decorator for GET HTTP method routes.
|
|
5
|
+
*
|
|
6
|
+
* @param path - URL path for the route
|
|
7
|
+
* @returns Method decorator
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* @Get('/users')
|
|
12
|
+
* getUsers() {
|
|
13
|
+
* return this.userService.findAll();
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
3
17
|
export declare const Get: (path: string) => MethodDecorator;
|
|
18
|
+
/**
|
|
19
|
+
* Decorator for POST HTTP method routes.
|
|
20
|
+
*
|
|
21
|
+
* @param path - URL path for the route
|
|
22
|
+
* @returns Method decorator
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* @Post('/users')
|
|
27
|
+
* createUser(@Body() userData: any) {
|
|
28
|
+
* return this.userService.create(userData);
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
4
32
|
export declare const Post: (path: string) => MethodDecorator;
|
|
33
|
+
/**
|
|
34
|
+
* Decorator for PUT HTTP method routes.
|
|
35
|
+
*
|
|
36
|
+
* @param path - URL path for the route
|
|
37
|
+
* @returns Method decorator
|
|
38
|
+
*/
|
|
5
39
|
export declare const Put: (path: string) => MethodDecorator;
|
|
40
|
+
/**
|
|
41
|
+
* Decorator for PATCH HTTP method routes.
|
|
42
|
+
*
|
|
43
|
+
* @param path - URL path for the route
|
|
44
|
+
* @returns Method decorator
|
|
45
|
+
*/
|
|
6
46
|
export declare const Patch: (path: string) => MethodDecorator;
|
|
47
|
+
/**
|
|
48
|
+
* Decorator for DELETE HTTP method routes.
|
|
49
|
+
*
|
|
50
|
+
* @param path - URL path for the route
|
|
51
|
+
* @returns Method decorator
|
|
52
|
+
*/
|
|
7
53
|
export declare const Delete: (path: string) => MethodDecorator;
|
|
54
|
+
/**
|
|
55
|
+
* Decorator for OPTIONS HTTP method routes.
|
|
56
|
+
*
|
|
57
|
+
* @param path - URL path for the route
|
|
58
|
+
* @returns Method decorator
|
|
59
|
+
*/
|
|
8
60
|
export declare const Options: (path: string) => MethodDecorator;
|
|
61
|
+
/**
|
|
62
|
+
* Decorator for HEAD HTTP method routes.
|
|
63
|
+
*
|
|
64
|
+
* @param path - URL path for the route
|
|
65
|
+
* @returns Method decorator
|
|
66
|
+
*/
|
|
9
67
|
export declare const Head: (path: string) => MethodDecorator;
|
|
68
|
+
/**
|
|
69
|
+
* Decorator for TRACE HTTP method routes.
|
|
70
|
+
*
|
|
71
|
+
* @param path - URL path for the route
|
|
72
|
+
* @returns Method decorator
|
|
73
|
+
*/
|
|
10
74
|
export declare const Trace: (path: string) => MethodDecorator;
|
|
75
|
+
/**
|
|
76
|
+
* Decorator for CONNECT HTTP method routes.
|
|
77
|
+
*
|
|
78
|
+
* @param path - URL path for the route
|
|
79
|
+
* @returns Method decorator
|
|
80
|
+
*/
|
|
11
81
|
export declare const Connect: (path: string) => MethodDecorator;
|
|
82
|
+
/**
|
|
83
|
+
* Decorator that marks a class as a controller with a base path.
|
|
84
|
+
* Used as the entry point for routing configuration.
|
|
85
|
+
*
|
|
86
|
+
* @param basePath - Base URL path for all routes in this controller
|
|
87
|
+
* @returns Class decorator
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```ts
|
|
91
|
+
* @Controller('/api/users')
|
|
92
|
+
* class UserController {
|
|
93
|
+
* // Controller methods...
|
|
94
|
+
* }
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
12
97
|
export declare function Controller(basePath: string): ClassDecorator;
|
|
98
|
+
/**
|
|
99
|
+
* Decorator that applies middleware to a controller method.
|
|
100
|
+
* Multiple middlewares can be applied and will execute in order.
|
|
101
|
+
*
|
|
102
|
+
* @param middlewares - Express middleware functions to apply
|
|
103
|
+
* @returns Method decorator
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* @Get('/protected')
|
|
108
|
+
* @Use(authMiddleware, loggingMiddleware)
|
|
109
|
+
* getProtectedResource() {
|
|
110
|
+
* // This route is protected by auth middleware
|
|
111
|
+
* }
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
13
114
|
export declare function Use(...middlewares: RequestHandler[]): MethodDecorator;
|
|
115
|
+
/**
|
|
116
|
+
* Decorator that extracts query parameters from request.
|
|
117
|
+
*
|
|
118
|
+
* @param paramKey - Optional key to extract specific query parameter
|
|
119
|
+
* @returns Parameter decorator
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* @Get('/search')
|
|
124
|
+
* search(@Query('term') searchTerm: string) {
|
|
125
|
+
* // searchTerm will contain the value of req.query.term
|
|
126
|
+
* }
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
14
129
|
export declare const Query: (paramKey?: string) => ParameterDecorator;
|
|
130
|
+
/**
|
|
131
|
+
* Decorator that extracts route parameters from request.
|
|
132
|
+
*
|
|
133
|
+
* @param paramKey - Optional key to extract specific route parameter
|
|
134
|
+
* @returns Parameter decorator
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```ts
|
|
138
|
+
* @Get('/users/:id')
|
|
139
|
+
* getUser(@Param('id') userId: string) {
|
|
140
|
+
* // userId will contain the value of req.params.id
|
|
141
|
+
* }
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
15
144
|
export declare const Param: (paramKey?: string) => ParameterDecorator;
|
|
145
|
+
/**
|
|
146
|
+
* Decorator that extracts body or body property from request.
|
|
147
|
+
*
|
|
148
|
+
* @param paramKey - Optional key to extract specific body property
|
|
149
|
+
* @returns Parameter decorator
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```ts
|
|
153
|
+
* @Post('/users')
|
|
154
|
+
* createUser(@Body() userData: any) {
|
|
155
|
+
* // userData will contain the entire req.body
|
|
156
|
+
* }
|
|
157
|
+
*
|
|
158
|
+
* @Post('/update')
|
|
159
|
+
* updateName(@Body('name') name: string) {
|
|
160
|
+
* // name will contain the value of req.body.name
|
|
161
|
+
* }
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
16
164
|
export declare const Body: (paramKey?: string) => ParameterDecorator;
|
|
165
|
+
/**
|
|
166
|
+
* Decorator that injects the entire request object.
|
|
167
|
+
*
|
|
168
|
+
* @returns Parameter decorator
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```ts
|
|
172
|
+
* @Get('/complex')
|
|
173
|
+
* complex(@Req() req: Request) {
|
|
174
|
+
* // Access the full request object
|
|
175
|
+
* console.log(req.headers);
|
|
176
|
+
* }
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
17
179
|
export declare const Req: (paramKey?: string) => ParameterDecorator;
|
|
180
|
+
/**
|
|
181
|
+
* Decorator that injects the response object.
|
|
182
|
+
*
|
|
183
|
+
* @returns Parameter decorator
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```ts
|
|
187
|
+
* @Get('/custom')
|
|
188
|
+
* custom(@Res() res: Response) {
|
|
189
|
+
* // Direct access to response object
|
|
190
|
+
* return res.status(201).send('Created');
|
|
191
|
+
* }
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
18
194
|
export declare const Res: (paramKey?: string) => ParameterDecorator;
|
|
195
|
+
/**
|
|
196
|
+
* Decorator that sets a custom HTTP status code for a response.
|
|
197
|
+
*
|
|
198
|
+
* @param status - HTTP status code to use
|
|
199
|
+
* @returns Method decorator
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* ```ts
|
|
203
|
+
* @Post('/users')
|
|
204
|
+
* @HttpCode(201)
|
|
205
|
+
* createUser(@Body() userData: any) {
|
|
206
|
+
* // Response will have 201 Created status code
|
|
207
|
+
* return { id: '123', ...userData };
|
|
208
|
+
* }
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
19
211
|
export declare function HttpCode(status: number): MethodDecorator;
|
|
212
|
+
/**
|
|
213
|
+
* Decorator that adds a custom HTTP header to the response.
|
|
214
|
+
*
|
|
215
|
+
* @param name - Header name
|
|
216
|
+
* @param value - Header value
|
|
217
|
+
* @returns Method decorator
|
|
218
|
+
*
|
|
219
|
+
* @example
|
|
220
|
+
* ```ts
|
|
221
|
+
* @Get('/data')
|
|
222
|
+
* @Header('Cache-Control', 'max-age=60')
|
|
223
|
+
* getData() {
|
|
224
|
+
* // Response will include the Cache-Control header
|
|
225
|
+
* return { data: '...' };
|
|
226
|
+
* }
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
20
229
|
export declare function Header(name: string, value: string): MethodDecorator;
|
|
230
|
+
/**
|
|
231
|
+
* Decorator that registers a function to run before route handler execution.
|
|
232
|
+
* Useful for pre-processing or logging.
|
|
233
|
+
*
|
|
234
|
+
* @param fn - Function to execute before the handler
|
|
235
|
+
* @returns Method decorator
|
|
236
|
+
*
|
|
237
|
+
* @example
|
|
238
|
+
* ```ts
|
|
239
|
+
* @Get('/users/:id')
|
|
240
|
+
* @Before((req, res) => console.log(`Accessing user ${req.params.id}`))
|
|
241
|
+
* getUser(@Param('id') id: string) {
|
|
242
|
+
* // Function will log before this handler runs
|
|
243
|
+
* }
|
|
244
|
+
* ```
|
|
245
|
+
*/
|
|
21
246
|
export declare function Before(fn: Function): MethodDecorator;
|
|
247
|
+
/**
|
|
248
|
+
* Decorator that registers a function to run after route handler execution.
|
|
249
|
+
* Can access the handler's result.
|
|
250
|
+
*
|
|
251
|
+
* @param fn - Function to execute after the handler
|
|
252
|
+
* @returns Method decorator
|
|
253
|
+
*
|
|
254
|
+
* @example
|
|
255
|
+
* ```ts
|
|
256
|
+
* @Get('/users/:id')
|
|
257
|
+
* @After((req, res, result) => console.log(`User data sent: ${JSON.stringify(result)}`))
|
|
258
|
+
* getUser(@Param('id') id: string) {
|
|
259
|
+
* // After this handler, the function will log the returned data
|
|
260
|
+
* return { id, name: 'Example' };
|
|
261
|
+
* }
|
|
262
|
+
* ```
|
|
263
|
+
*/
|
|
22
264
|
export declare function After(fn: Function): MethodDecorator;
|
|
265
|
+
/**
|
|
266
|
+
* Decorator that requires specific roles for accessing a route.
|
|
267
|
+
* Must be used with authentication middleware.
|
|
268
|
+
*
|
|
269
|
+
* @param roles - List of roles that can access this route
|
|
270
|
+
* @returns Method decorator
|
|
271
|
+
*
|
|
272
|
+
* @example
|
|
273
|
+
* ```ts
|
|
274
|
+
* @Get('/admin/settings')
|
|
275
|
+
* @Roles('admin', 'superuser')
|
|
276
|
+
* getSettings() {
|
|
277
|
+
* // Only admins and superusers can access
|
|
278
|
+
* return { settings: [...] };
|
|
279
|
+
* }
|
|
280
|
+
* ```
|
|
281
|
+
*/
|
|
282
|
+
export declare function Roles(...roles: string[]): MethodDecorator;
|
|
283
|
+
/**
|
|
284
|
+
* Decorator that redirects to another URL.
|
|
285
|
+
*
|
|
286
|
+
* @param url - URL to redirect to (can be absolute or relative)
|
|
287
|
+
* @param statusCode - HTTP status code for redirect (default: 302)
|
|
288
|
+
* @returns Method decorator
|
|
289
|
+
*
|
|
290
|
+
* @example
|
|
291
|
+
* ```ts
|
|
292
|
+
* @Get('/old-path')
|
|
293
|
+
* @Redirect('/new-path', 301)
|
|
294
|
+
* redirectToNewPath() {
|
|
295
|
+
* // This method won't be executed; automatic redirect happens
|
|
296
|
+
* }
|
|
297
|
+
*
|
|
298
|
+
* @Get('/dynamic-redirect')
|
|
299
|
+
* @Redirect()
|
|
300
|
+
* getDynamicRedirect() {
|
|
301
|
+
* // Return an object with url and optionally statusCode
|
|
302
|
+
* return { url: '/calculated-path', statusCode: 307 };
|
|
303
|
+
* }
|
|
304
|
+
* ```
|
|
305
|
+
*/
|
|
306
|
+
export declare function Redirect(url?: string, statusCode?: number): MethodDecorator;
|
|
307
|
+
/**
|
|
308
|
+
* Registers all controller classes with the provided router.
|
|
309
|
+
* This function processes all decorators and sets up the Express routes.
|
|
310
|
+
*
|
|
311
|
+
* @param router - Express router instance
|
|
312
|
+
* @param controllers - Array of controller classes
|
|
313
|
+
*/
|
|
23
314
|
export declare function registerControllers(router: Router, controllers: any[]): void;
|
|
24
315
|
//# sourceMappingURL=decorators.utils.d.ts.map
|