exisjs 0.7.6 → 0.7.8
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/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +12 -0
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/clean.d.ts +5 -0
- package/dist/cli/commands/clean.d.ts.map +1 -0
- package/dist/cli/commands/clean.js +30 -0
- package/dist/cli/commands/clean.js.map +1 -0
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +15 -1
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +6 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +57 -2
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/index.js +16 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/manifest.d.ts +1 -0
- package/dist/cli/manifest.d.ts.map +1 -1
- package/dist/cli/manifest.js +161 -23
- package/dist/cli/manifest.js.map +1 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +9 -0
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +4 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/cron/expressions.d.ts +45 -0
- package/dist/cron/expressions.d.ts.map +1 -0
- package/dist/cron/expressions.js +87 -0
- package/dist/cron/expressions.js.map +1 -0
- package/dist/cron/index.d.ts +6 -0
- package/dist/cron/index.d.ts.map +1 -0
- package/dist/cron/index.js +22 -0
- package/dist/cron/index.js.map +1 -0
- package/dist/cron/job.d.ts +50 -0
- package/dist/cron/job.d.ts.map +1 -0
- package/dist/cron/job.js +247 -0
- package/dist/cron/job.js.map +1 -0
- package/dist/cron/manager.d.ts +105 -0
- package/dist/cron/manager.d.ts.map +1 -0
- package/dist/cron/manager.js +245 -0
- package/dist/cron/manager.js.map +1 -0
- package/dist/cron/parser.d.ts +22 -0
- package/dist/cron/parser.d.ts.map +1 -0
- package/dist/cron/parser.js +269 -0
- package/dist/cron/parser.js.map +1 -0
- package/dist/cron/types.d.ts +76 -0
- package/dist/cron/types.d.ts.map +1 -0
- package/dist/cron/types.js +3 -0
- package/dist/cron/types.js.map +1 -0
- package/dist/decorators/constants.d.ts +2 -0
- package/dist/decorators/constants.d.ts.map +1 -1
- package/dist/decorators/constants.js +3 -1
- package/dist/decorators/constants.js.map +1 -1
- package/dist/decorators/core.d.ts +29 -11
- package/dist/decorators/core.d.ts.map +1 -1
- package/dist/decorators/core.js +49 -11
- package/dist/decorators/core.js.map +1 -1
- package/dist/decorators/cron.d.ts +57 -0
- package/dist/decorators/cron.d.ts.map +1 -0
- package/dist/decorators/cron.js +143 -0
- package/dist/decorators/cron.js.map +1 -0
- package/dist/decorators/index.d.ts +2 -0
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +2 -0
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/params.d.ts +97 -2
- package/dist/decorators/params.d.ts.map +1 -1
- package/dist/decorators/params.js +94 -2
- package/dist/decorators/params.js.map +1 -1
- package/dist/decorators/routing.d.ts +81 -16
- package/dist/decorators/routing.d.ts.map +1 -1
- package/dist/decorators/routing.js +81 -16
- package/dist/decorators/routing.js.map +1 -1
- package/dist/docs/content/cron.mdx +196 -0
- package/dist/docs/content/errors.mdx +58 -9
- package/dist/docs/content/structure.mdx +1 -1
- package/dist/docs/content/swagger.mdx +289 -0
- package/dist/docs/reference/cron.mdx +300 -0
- package/dist/docs/reference/decorators.mdx +8 -0
- package/dist/docs/reference/error.mdx +44 -0
- package/dist/docs/reference/swagger.mdx +226 -0
- package/dist/docs/reference/validator.mdx +1 -1
- package/dist/router/boundary.d.ts +24 -2
- package/dist/router/boundary.d.ts.map +1 -1
- package/dist/router/boundary.js +24 -2
- package/dist/router/boundary.js.map +1 -1
- package/dist/router/controller-registrar.d.ts.map +1 -1
- package/dist/router/controller-registrar.js +52 -3
- package/dist/router/controller-registrar.js.map +1 -1
- package/dist/router/route-builder.d.ts +196 -33
- package/dist/router/route-builder.d.ts.map +1 -1
- package/dist/router/route-builder.js +171 -11
- package/dist/router/route-builder.js.map +1 -1
- package/dist/router/route-scanner.d.ts +6 -0
- package/dist/router/route-scanner.d.ts.map +1 -1
- package/dist/router/route-scanner.js +69 -812
- package/dist/router/route-scanner.js.map +1 -1
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/router.js +27 -0
- package/dist/router/router.js.map +1 -1
- package/dist/router/scanner/boundary-loader.d.ts +18 -0
- package/dist/router/scanner/boundary-loader.d.ts.map +1 -0
- package/dist/router/scanner/boundary-loader.js +539 -0
- package/dist/router/scanner/boundary-loader.js.map +1 -0
- package/dist/router/scanner/cron-mounter.d.ts +15 -0
- package/dist/router/scanner/cron-mounter.d.ts.map +1 -0
- package/dist/router/scanner/cron-mounter.js +216 -0
- package/dist/router/scanner/cron-mounter.js.map +1 -0
- package/dist/router/scanner/error-mounter.d.ts +14 -0
- package/dist/router/scanner/error-mounter.d.ts.map +1 -0
- package/dist/router/scanner/error-mounter.js +200 -0
- package/dist/router/scanner/error-mounter.js.map +1 -0
- package/dist/router/scanner/fs-scanner.d.ts +25 -0
- package/dist/router/scanner/fs-scanner.d.ts.map +1 -0
- package/dist/router/scanner/fs-scanner.js +115 -0
- package/dist/router/scanner/fs-scanner.js.map +1 -0
- package/dist/router/scanner/functional-compiler.d.ts +9 -0
- package/dist/router/scanner/functional-compiler.d.ts.map +1 -0
- package/dist/router/scanner/functional-compiler.js +233 -0
- package/dist/router/scanner/functional-compiler.js.map +1 -0
- package/dist/router/scanner/index.d.ts +9 -0
- package/dist/router/scanner/index.d.ts.map +1 -0
- package/dist/router/scanner/index.js +19 -0
- package/dist/router/scanner/index.js.map +1 -0
- package/dist/router/types.d.ts +15 -0
- package/dist/router/types.d.ts.map +1 -1
- package/dist/server/app.d.ts +2 -0
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/app.js +3 -0
- package/dist/server/app.js.map +1 -1
- package/dist/server/helpers/body-parser.d.ts +18 -0
- package/dist/server/helpers/body-parser.d.ts.map +1 -0
- package/dist/server/helpers/body-parser.js +246 -0
- package/dist/server/helpers/body-parser.js.map +1 -0
- package/dist/server/helpers/cookie.d.ts +4 -0
- package/dist/server/helpers/cookie.d.ts.map +1 -0
- package/dist/server/helpers/cookie.js +61 -0
- package/dist/server/helpers/cookie.js.map +1 -0
- package/dist/server/helpers/etag.d.ts +3 -0
- package/dist/server/helpers/etag.d.ts.map +1 -0
- package/dist/server/helpers/etag.js +25 -0
- package/dist/server/helpers/etag.js.map +1 -0
- package/dist/server/helpers/index.d.ts +6 -0
- package/dist/server/helpers/index.d.ts.map +1 -0
- package/dist/server/helpers/index.js +21 -0
- package/dist/server/helpers/index.js.map +1 -0
- package/dist/server/helpers/ip.d.ts +9 -0
- package/dist/server/helpers/ip.d.ts.map +1 -0
- package/dist/server/helpers/ip.js +62 -0
- package/dist/server/helpers/ip.js.map +1 -0
- package/dist/server/helpers/stream.d.ts +4 -0
- package/dist/server/helpers/stream.d.ts.map +1 -0
- package/dist/server/helpers/stream.js +193 -0
- package/dist/server/helpers/stream.js.map +1 -0
- package/dist/server/request.d.ts +1 -139
- package/dist/server/request.d.ts.map +1 -1
- package/dist/server/request.js +19 -433
- package/dist/server/request.js.map +1 -1
- package/dist/server/response.d.ts +105 -158
- package/dist/server/response.d.ts.map +1 -1
- package/dist/server/response.js +121 -423
- package/dist/server/response.js.map +1 -1
- package/dist/swagger/decorators.d.ts +81 -0
- package/dist/swagger/decorators.d.ts.map +1 -0
- package/dist/swagger/decorators.js +172 -0
- package/dist/swagger/decorators.js.map +1 -0
- package/dist/swagger/generator.d.ts +19 -0
- package/dist/swagger/generator.d.ts.map +1 -0
- package/dist/swagger/generator.js +344 -0
- package/dist/swagger/generator.js.map +1 -0
- package/dist/swagger/index.d.ts +31 -0
- package/dist/swagger/index.d.ts.map +1 -0
- package/dist/swagger/index.js +53 -0
- package/dist/swagger/index.js.map +1 -0
- package/dist/swagger/mounter.d.ts +7 -0
- package/dist/swagger/mounter.d.ts.map +1 -0
- package/dist/swagger/mounter.js +56 -0
- package/dist/swagger/mounter.js.map +1 -0
- package/dist/swagger/types.d.ts +190 -0
- package/dist/swagger/types.d.ts.map +1 -0
- package/dist/swagger/types.js +3 -0
- package/dist/swagger/types.js.map +1 -0
- package/dist/swagger/ui.d.ts +6 -0
- package/dist/swagger/ui.d.ts.map +1 -0
- package/dist/swagger/ui.js +118 -0
- package/dist/swagger/ui.js.map +1 -0
- package/dist/validator/builder.d.ts +223 -0
- package/dist/validator/builder.d.ts.map +1 -0
- package/dist/validator/builder.js +517 -0
- package/dist/validator/builder.js.map +1 -0
- package/dist/validator/engine.d.ts +19 -0
- package/dist/validator/engine.d.ts.map +1 -0
- package/dist/validator/engine.js +568 -0
- package/dist/validator/engine.js.map +1 -0
- package/dist/validator/error.d.ts +12 -0
- package/dist/validator/error.d.ts.map +1 -0
- package/dist/validator/error.js +63 -0
- package/dist/validator/error.js.map +1 -0
- package/dist/validator/pagination.d.ts +40 -0
- package/dist/validator/pagination.d.ts.map +1 -0
- package/dist/validator/pagination.js +60 -0
- package/dist/validator/pagination.js.map +1 -0
- package/dist/validator/tex.d.ts +6 -158
- package/dist/validator/tex.d.ts.map +1 -1
- package/dist/validator/tex.js +14 -971
- package/dist/validator/tex.js.map +1 -1
- package/dist/validator/types.d.ts +83 -0
- package/dist/validator/types.d.ts.map +1 -0
- package/dist/validator/types.js +3 -0
- package/dist/validator/types.js.map +1 -0
- package/package.json +9 -1
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Swagger (exisjs/swagger)"
|
|
3
|
+
description: "API Reference for ExisJS Swagger & OpenAPI 3.1 Documentation Subsystem"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Swagger Reference (`exisjs/swagger`)
|
|
7
|
+
|
|
8
|
+
The `exisjs/swagger` module provides tools and decorators for auto-generating OpenAPI 3.1 specifications and serving interactive documentation UIs.
|
|
9
|
+
|
|
10
|
+
```typescript
|
|
11
|
+
import {
|
|
12
|
+
swagger,
|
|
13
|
+
defineSwagger,
|
|
14
|
+
generateOpenApiSpec,
|
|
15
|
+
renderDocumentationHtml,
|
|
16
|
+
mountDocumentation,
|
|
17
|
+
ApiTags,
|
|
18
|
+
ApiOperation,
|
|
19
|
+
ApiResponse,
|
|
20
|
+
ApiBearerAuth,
|
|
21
|
+
ApiSecurity,
|
|
22
|
+
ApiExclude,
|
|
23
|
+
ApiProperty,
|
|
24
|
+
} from 'exisjs/swagger'
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Configuration (`SwaggerConfig`)
|
|
30
|
+
|
|
31
|
+
| Property | Type | Default | Description |
|
|
32
|
+
|---|---|---|---|
|
|
33
|
+
| `enabled` | `boolean` | `false` | Whether to enable documentation routes |
|
|
34
|
+
| `path` | `string` | `'/docs'` | URL path for the interactive HTML UI |
|
|
35
|
+
| `specPath` | `string` | `'/docs/json'` | URL path for OpenAPI 3.1 JSON specification |
|
|
36
|
+
| `title` | `string` | `'ExisJS API Documentation'` | API Title displayed in documentation |
|
|
37
|
+
| `version` | `string` | `'1.0.0'` | API Version string |
|
|
38
|
+
| `description` | `string` | `undefined` | Overview markdown or description |
|
|
39
|
+
| `ui` | `'swagger-ui' \| 'scalar'` | `'swagger-ui'` | Documentation UI renderer |
|
|
40
|
+
| `servers` | `OpenApiServer[]` | `[{ url: '/' }]` | Target server list |
|
|
41
|
+
| `tags` | `OpenApiTag[]` | `[]` | Group tags with descriptions |
|
|
42
|
+
| `security` | `Record<string, string[]>[]` | `[]` | Global security requirements |
|
|
43
|
+
| `securitySchemes` | `Record<string, SecurityScheme>` | `{}` | Reusable security scheme definitions |
|
|
44
|
+
| `customCss` | `string` | `undefined` | Custom CSS injected into the UI |
|
|
45
|
+
| `customFavicon` | `string` | `undefined` | Custom favicon image URL |
|
|
46
|
+
| `transformSpec` | `(spec: OpenApiSpec) => OpenApiSpec` | `undefined` | Hook to mutate OpenAPI spec before serving |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Decorators
|
|
51
|
+
|
|
52
|
+
### `@ApiTags(...tags: string[])`
|
|
53
|
+
Assigns one or more tags to a controller class or method handler.
|
|
54
|
+
*(Alias: `@Tags()`)*
|
|
55
|
+
|
|
56
|
+
```typescript filename="src/http/users/route.ts"
|
|
57
|
+
import { Controller, Get } from 'exisjs/decorators'
|
|
58
|
+
import { ApiTags } from 'exisjs/swagger'
|
|
59
|
+
|
|
60
|
+
@ApiTags('Users', 'Authentication')
|
|
61
|
+
@Controller()
|
|
62
|
+
export default class UserController {
|
|
63
|
+
@Get('/')
|
|
64
|
+
findAll() {
|
|
65
|
+
return []
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### `@ApiOperation(options)`
|
|
71
|
+
Attaches summary, description, operationId, and deprecated status to a route method.
|
|
72
|
+
*(Alias: `@Operation()`)*
|
|
73
|
+
|
|
74
|
+
```typescript filename="src/http/users/route.ts"
|
|
75
|
+
import { Controller, Get, Param } from 'exisjs/decorators'
|
|
76
|
+
import { ApiOperation } from 'exisjs/swagger'
|
|
77
|
+
|
|
78
|
+
@Controller()
|
|
79
|
+
export default class UserController {
|
|
80
|
+
@Get('/:id')
|
|
81
|
+
@ApiOperation({
|
|
82
|
+
summary: 'Get user by UUID',
|
|
83
|
+
description: 'Fetches user details from database',
|
|
84
|
+
deprecated: false,
|
|
85
|
+
})
|
|
86
|
+
getUser(@Param('id') id: string) {
|
|
87
|
+
return { id, name: 'Alice' }
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### `@ApiResponse(options)`
|
|
93
|
+
Defines an expected HTTP response status code and optional schema.
|
|
94
|
+
|
|
95
|
+
```typescript filename="src/http/users/route.ts"
|
|
96
|
+
import { Controller, Get, Param } from 'exisjs/decorators'
|
|
97
|
+
import { ApiOperation, ApiResponse } from 'exisjs/swagger'
|
|
98
|
+
import { tex } from 'exisjs/validator'
|
|
99
|
+
|
|
100
|
+
const UserSchema = tex.object({
|
|
101
|
+
id: tex.uuid(),
|
|
102
|
+
name: tex.string(),
|
|
103
|
+
})
|
|
104
|
+
|
|
105
|
+
@Controller()
|
|
106
|
+
export default class UserController {
|
|
107
|
+
@Get('/:id')
|
|
108
|
+
@ApiResponse({
|
|
109
|
+
status: 200,
|
|
110
|
+
description: 'User details found',
|
|
111
|
+
schema: UserSchema,
|
|
112
|
+
})
|
|
113
|
+
@ApiResponse({ status: 404, description: 'User not found' })
|
|
114
|
+
getUser(@Param('id') id: string) {
|
|
115
|
+
return { id, name: 'Alice' }
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### `@ApiBearerAuth(name?: string)`
|
|
121
|
+
Requires Bearer JWT authentication for this endpoint or controller.
|
|
122
|
+
*(Alias: `@BearerAuth()`)*
|
|
123
|
+
|
|
124
|
+
```typescript filename="src/http/users/route.ts"
|
|
125
|
+
import { Controller, Get } from 'exisjs/decorators'
|
|
126
|
+
import { ApiBearerAuth } from 'exisjs/swagger'
|
|
127
|
+
|
|
128
|
+
@ApiBearerAuth()
|
|
129
|
+
@Controller()
|
|
130
|
+
export default class UserController {
|
|
131
|
+
@Get('/me')
|
|
132
|
+
getMe() {
|
|
133
|
+
return { id: 'user-123', role: 'admin' }
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### `@ApiSecurity(name: string, scopes?: string[])`
|
|
139
|
+
Requires custom security scheme authentication for this endpoint or controller.
|
|
140
|
+
|
|
141
|
+
```typescript filename="src/http/metrics/route.ts"
|
|
142
|
+
import { Controller, Get } from 'exisjs/decorators'
|
|
143
|
+
import { ApiSecurity } from 'exisjs/swagger'
|
|
144
|
+
|
|
145
|
+
@Controller()
|
|
146
|
+
export default class MetricsController {
|
|
147
|
+
@Get('/')
|
|
148
|
+
@ApiSecurity('apiKeyAuth')
|
|
149
|
+
getMetrics() {
|
|
150
|
+
return { uptime: process.uptime() }
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### `@ApiExclude()`
|
|
156
|
+
Excludes an endpoint or controller class from OpenAPI and Swagger generation.
|
|
157
|
+
|
|
158
|
+
```typescript filename="src/http/internal/route.ts"
|
|
159
|
+
import { Controller, Get } from 'exisjs/decorators'
|
|
160
|
+
import { ApiExclude } from 'exisjs/swagger'
|
|
161
|
+
|
|
162
|
+
@Controller()
|
|
163
|
+
export default class InternalController {
|
|
164
|
+
@Get('/health')
|
|
165
|
+
@ApiExclude()
|
|
166
|
+
getHealth() {
|
|
167
|
+
return { status: 'healthy' }
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### `@ApiProperty(options?: { description?: string; example?: any; required?: boolean })`
|
|
173
|
+
Annotates a class property with metadata for OpenAPI schema models.
|
|
174
|
+
|
|
175
|
+
```typescript filename="src/http/users/dto.ts"
|
|
176
|
+
import { ApiProperty } from 'exisjs/swagger'
|
|
177
|
+
|
|
178
|
+
export class CreateUserDto {
|
|
179
|
+
@ApiProperty({ description: 'Full name of the user', example: 'Alice Johnson', required: true })
|
|
180
|
+
name!: string
|
|
181
|
+
|
|
182
|
+
@ApiProperty({ description: 'Work email address', example: 'alice@example.com', required: true })
|
|
183
|
+
email!: string
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Functions
|
|
190
|
+
|
|
191
|
+
### `swagger(config?: SwaggerConfig)`
|
|
192
|
+
Convenience helper to mount Swagger/OpenAPI documentation on an ExisJS App instance (typically inside `onStart` or custom server setups).
|
|
193
|
+
|
|
194
|
+
```typescript filename="src/http/server.ts"
|
|
195
|
+
import { exis } from 'exisjs'
|
|
196
|
+
import { swagger } from 'exisjs/swagger'
|
|
197
|
+
|
|
198
|
+
export default exis({
|
|
199
|
+
onStart(app) {
|
|
200
|
+
swagger({ title: 'My API', path: '/docs' })(app)
|
|
201
|
+
},
|
|
202
|
+
})
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### `generateOpenApiSpec(routesOrApp, config)`
|
|
206
|
+
Pure generator function that introspects routes, parameters, and `TexEngine`/Zod schemas and returns a complete `OpenApiSpec` object.
|
|
207
|
+
|
|
208
|
+
```typescript
|
|
209
|
+
import { generateOpenApiSpec } from 'exisjs/swagger'
|
|
210
|
+
|
|
211
|
+
const spec = generateOpenApiSpec(app, { title: 'My API', version: '1.0.0' })
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### `renderDocumentationHtml(config)`
|
|
215
|
+
Renders standalone HTML markup for Swagger UI or Scalar API reference.
|
|
216
|
+
|
|
217
|
+
```typescript
|
|
218
|
+
import { renderDocumentationHtml } from 'exisjs/swagger'
|
|
219
|
+
|
|
220
|
+
const html = renderDocumentationHtml({
|
|
221
|
+
title: 'My API',
|
|
222
|
+
specPath: '/docs/json',
|
|
223
|
+
ui: 'scalar',
|
|
224
|
+
})
|
|
225
|
+
```
|
|
226
|
+
|
|
@@ -234,7 +234,7 @@ type Profile = ResolveSchema<typeof ProfileSchema>
|
|
|
234
234
|
|
|
235
235
|
## OpenAPI Generation
|
|
236
236
|
|
|
237
|
-
The `TexEngine` automatically converts validation schemas into strictly compliant OpenAPI/Swagger JSON schemas when attached to routes. This powers zero-config Swagger documentation
|
|
237
|
+
The `TexEngine` automatically converts validation schemas into strictly compliant OpenAPI/Swagger JSON schemas when attached to routes. This powers zero-config Swagger documentation in `exisjs/swagger`.
|
|
238
238
|
|
|
239
239
|
---
|
|
240
240
|
|
|
@@ -89,8 +89,30 @@ export type { BlockProbesOptions } from '../middleware/security';
|
|
|
89
89
|
export type BoundaryBeforeHandleHook<TContext = Record<string, any>> = (req: import('../types').Request<any, any, any, TContext>, res: import('../types').Response) => void | boolean | Promise<void | boolean>;
|
|
90
90
|
export type BoundaryAfterHandleHook<T = any, TContext = Record<string, any>> = (req: import('../types').Request<any, any, any, TContext>, res: import('../types').Response, data?: T) => void | any | Promise<void | any>;
|
|
91
91
|
/**
|
|
92
|
-
* Defines a boundary that acts as folder-scoped
|
|
93
|
-
*
|
|
92
|
+
* Defines a boundary configuration that acts as a folder-scoped request pipeline
|
|
93
|
+
* for all routes in its directory and subdirectories.
|
|
94
|
+
*
|
|
95
|
+
* @param config Boundary options (middleware, guards, interceptors, CORS, hooks, exclusions)
|
|
96
|
+
* @returns Strongly typed `BoundaryConfig`
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```ts
|
|
100
|
+
* // src/http/api/admin/boundary.ts
|
|
101
|
+
* export default defineBoundary({
|
|
102
|
+
* guards: [AdminGuard],
|
|
103
|
+
* cors: { origin: 'https://admin.example.com' },
|
|
104
|
+
* beforeHandle(req, res) {
|
|
105
|
+
* if (!req.user) {
|
|
106
|
+
* res.status(401).json({ error: 'Unauthorized' })
|
|
107
|
+
* return false // halts execution
|
|
108
|
+
* }
|
|
109
|
+
* },
|
|
110
|
+
* afterHandle(req, res, data) {
|
|
111
|
+
* // Audit logging / payload wrapping
|
|
112
|
+
* return { data, timestamp: Date.now() }
|
|
113
|
+
* }
|
|
114
|
+
* })
|
|
115
|
+
* ```
|
|
94
116
|
*/
|
|
95
117
|
export declare function defineBoundary<TContext = Record<string, any>>(config: BoundaryConfig<TContext>): BoundaryConfig<TContext>;
|
|
96
118
|
//# sourceMappingURL=boundary.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../../src/router/boundary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAC9C,GAAG,EAAE,OAAO,UAAU,EAAE,QAAQ,CAAA;IAChC,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB,MAAM,CAAC,EAAE,UAAU,CAAA;CACpB;AAED,MAAM,WAAW,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC5D;;;OAGG;IACH,UAAU,CAAC,EACP,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,GACvC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IACzC;;OAEG;IACH,WAAW,CAAC,EACR,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,GACvC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;IAEzC;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAA;IAE3B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,CACR,OAAO,UAAU,EAAE,kBAAkB,GAAG,OAAO,UAAU,EAAE,UAAU,CACtE,EAAE,CAAA;IAEH;;;OAGG;IACH,OAAO,CAAC,EAAE,CACR,OAAO,UAAU,EAAE,kBAAkB,GAAG,OAAO,UAAU,EAAE,UAAU,CACtE,EAAE,CAAA;IAEH;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAA;IAE/C;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,mBAAmB,CAAC,EAAE,CAAA;IAE1C;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,EAAE,CAAA;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;IAEd;;OAEG;IACH,YAAY,CAAC,EAAE,GAAG,EAAE,CAAA;IAEpB;;;OAGG;IACH,OAAO,CAAC,EACJ,MAAM,GACN,CAAC,CACC,GAAG,EAAE,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,KACrD,MAAM,GAAG,SAAS,CAAC,CAAA;IAE5B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,wBAAwB,EAAE,kBAAkB,CAAA;IAC3E,qBAAqB,CAAC,EACpB,OAAO,GAAG,OAAO,wBAAwB,EAAE,kBAAkB,CAAA;IAE/D;;;OAGG;IACH,YAAY,CAAC,EACX,wBAAwB,CAAC,QAAQ,CAAC,GAAG,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAA;IAE3E;;;OAGG;IACH,WAAW,CAAC,EACR,uBAAuB,CAAC,GAAG,EAAE,QAAQ,CAAC,GACtC,uBAAuB,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAA;CAC7C;AAED,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAEhE,MAAM,MAAM,wBAAwB,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CACrE,GAAG,EAAE,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EACxD,GAAG,EAAE,OAAO,UAAU,EAAE,QAAQ,KAC7B,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAA;AAE7C,MAAM,MAAM,uBAAuB,CAAC,CAAC,GAAG,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAC7E,GAAG,EAAE,OAAO,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EACxD,GAAG,EAAE,OAAO,UAAU,EAAE,QAAQ,EAChC,IAAI,CAAC,EAAE,CAAC,KACL,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;AAErC
|
|
1
|
+
{"version":3,"file":"boundary.d.ts","sourceRoot":"","sources":["../../src/router/boundary.ts"],"names":[],"mappings":"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"}
|
package/dist/router/boundary.js
CHANGED
|
@@ -2,8 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.defineBoundary = defineBoundary;
|
|
4
4
|
/**
|
|
5
|
-
* Defines a boundary that acts as folder-scoped
|
|
6
|
-
*
|
|
5
|
+
* Defines a boundary configuration that acts as a folder-scoped request pipeline
|
|
6
|
+
* for all routes in its directory and subdirectories.
|
|
7
|
+
*
|
|
8
|
+
* @param config Boundary options (middleware, guards, interceptors, CORS, hooks, exclusions)
|
|
9
|
+
* @returns Strongly typed `BoundaryConfig`
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* // src/http/api/admin/boundary.ts
|
|
14
|
+
* export default defineBoundary({
|
|
15
|
+
* guards: [AdminGuard],
|
|
16
|
+
* cors: { origin: 'https://admin.example.com' },
|
|
17
|
+
* beforeHandle(req, res) {
|
|
18
|
+
* if (!req.user) {
|
|
19
|
+
* res.status(401).json({ error: 'Unauthorized' })
|
|
20
|
+
* return false // halts execution
|
|
21
|
+
* }
|
|
22
|
+
* },
|
|
23
|
+
* afterHandle(req, res, data) {
|
|
24
|
+
* // Audit logging / payload wrapping
|
|
25
|
+
* return { data, timestamp: Date.now() }
|
|
26
|
+
* }
|
|
27
|
+
* })
|
|
28
|
+
* ```
|
|
7
29
|
*/
|
|
8
30
|
function defineBoundary(config) {
|
|
9
31
|
return config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundary.js","sourceRoot":"","sources":["../../src/router/boundary.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"boundary.js","sourceRoot":"","sources":["../../src/router/boundary.ts"],"names":[],"mappings":";;AAgKA,wCAIC;AA9BD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,cAAc,CAC5B,MAAgC;IAEhC,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-registrar.d.ts","sourceRoot":"","sources":["../../src/router/controller-registrar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAGxC,qBAAa,mBAAmB;IAClB,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IAI1B,mBAAmB,CACxB,WAAW,EAAE,GAAG,EAAE,EAClB,QAAQ,SAAK,EACb,iBAAiB,GAAE,GAAG,EAAO,GAC5B,GAAG,CAAC,GAAG,CAAC;IAIX,OAAO,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"controller-registrar.d.ts","sourceRoot":"","sources":["../../src/router/controller-registrar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAGxC,qBAAa,mBAAmB;IAClB,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;IAI1B,mBAAmB,CACxB,WAAW,EAAE,GAAG,EAAE,EAClB,QAAQ,SAAK,EACb,iBAAiB,GAAE,GAAG,EAAO,GAC5B,GAAG,CAAC,GAAG,CAAC;IAIX,OAAO,CAAC,oBAAoB;CAoiB7B"}
|
|
@@ -337,13 +337,26 @@ class ControllerRegistrar {
|
|
|
337
337
|
let filterInstance = this.app.container.resolve(filter);
|
|
338
338
|
if (!filterInstance)
|
|
339
339
|
filterInstance = new filter();
|
|
340
|
-
await filterInstance.catch(err, { req, res });
|
|
340
|
+
await filterInstance.catch(err, { req, res, next });
|
|
341
341
|
handled = true;
|
|
342
342
|
break;
|
|
343
343
|
}
|
|
344
344
|
else if (typeof filter === 'object' &&
|
|
345
345
|
typeof filter.catch === 'function') {
|
|
346
|
-
await filter.catch(err, { req, res });
|
|
346
|
+
await filter.catch(err, { req, res, next });
|
|
347
|
+
handled = true;
|
|
348
|
+
break;
|
|
349
|
+
}
|
|
350
|
+
else if (typeof filter === 'function') {
|
|
351
|
+
if (filter.length >= 3) {
|
|
352
|
+
await filter(err, req, res, next);
|
|
353
|
+
}
|
|
354
|
+
else if (filter.length === 2) {
|
|
355
|
+
await filter(err, { req, res, next });
|
|
356
|
+
}
|
|
357
|
+
else {
|
|
358
|
+
await filter(err);
|
|
359
|
+
}
|
|
347
360
|
handled = true;
|
|
348
361
|
break;
|
|
349
362
|
}
|
|
@@ -407,13 +420,32 @@ class ControllerRegistrar {
|
|
|
407
420
|
}
|
|
408
421
|
}
|
|
409
422
|
const extractedResponseSchema = routeMeta.responseSchema;
|
|
423
|
+
const classOpenApi = ControllerClass[Symbol.for('exisjs:openapi_class_meta')] ||
|
|
424
|
+
{};
|
|
425
|
+
const mergedTags = [
|
|
426
|
+
...(classOpenApi.tags || []),
|
|
427
|
+
...(routeMeta.tags || []),
|
|
428
|
+
];
|
|
429
|
+
const mergedSecurity = [
|
|
430
|
+
...(classOpenApi.security || []),
|
|
431
|
+
...(routeMeta.security || []),
|
|
432
|
+
];
|
|
410
433
|
if (schema ||
|
|
411
434
|
finalHost ||
|
|
412
435
|
extractedBodySchema ||
|
|
413
436
|
extractedQuerySchema ||
|
|
414
437
|
extractedParamsSchema ||
|
|
415
438
|
extractedHeadersSchema ||
|
|
416
|
-
extractedResponseSchema
|
|
439
|
+
extractedResponseSchema ||
|
|
440
|
+
mergedTags.length > 0 ||
|
|
441
|
+
mergedSecurity.length > 0 ||
|
|
442
|
+
routeMeta.summary ||
|
|
443
|
+
routeMeta.description ||
|
|
444
|
+
routeMeta.operationId ||
|
|
445
|
+
routeMeta.deprecated !== undefined ||
|
|
446
|
+
routeMeta.responses ||
|
|
447
|
+
routeMeta.excludeFromDocs ||
|
|
448
|
+
classOpenApi.excludeFromDocs) {
|
|
417
449
|
schema = schema || {};
|
|
418
450
|
if (finalHost)
|
|
419
451
|
schema.host = finalHost;
|
|
@@ -427,6 +459,23 @@ class ControllerRegistrar {
|
|
|
427
459
|
schema.headers = extractedHeadersSchema;
|
|
428
460
|
if (extractedResponseSchema && !schema.response)
|
|
429
461
|
schema.response = extractedResponseSchema;
|
|
462
|
+
if (mergedTags.length > 0 && !schema.tags)
|
|
463
|
+
schema.tags = mergedTags;
|
|
464
|
+
if (mergedSecurity.length > 0 && !schema.security)
|
|
465
|
+
schema.security = mergedSecurity;
|
|
466
|
+
if (routeMeta.summary && !schema.summary)
|
|
467
|
+
schema.summary = routeMeta.summary;
|
|
468
|
+
if (routeMeta.description && !schema.description)
|
|
469
|
+
schema.description = routeMeta.description;
|
|
470
|
+
if (routeMeta.operationId && !schema.operationId)
|
|
471
|
+
schema.operationId = routeMeta.operationId;
|
|
472
|
+
if (routeMeta.deprecated !== undefined &&
|
|
473
|
+
schema.deprecated === undefined)
|
|
474
|
+
schema.deprecated = routeMeta.deprecated;
|
|
475
|
+
if (routeMeta.responses && !schema.responses)
|
|
476
|
+
schema.responses = routeMeta.responses;
|
|
477
|
+
if (routeMeta.excludeFromDocs || classOpenApi.excludeFromDocs)
|
|
478
|
+
schema.excludeFromDocs = true;
|
|
430
479
|
this.app.router[method](fullPath, ...allMiddlewares, schema, finalHandler);
|
|
431
480
|
}
|
|
432
481
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-registrar.js","sourceRoot":"","sources":["../../src/router/controller-registrar.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller-registrar.js","sourceRoot":"","sources":["../../src/router/controller-registrar.ts"],"names":[],"mappings":"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"}
|