@@ -8,8 +8,6 @@ import { generateOperationParameters } from "./operation-parameters.js";
8
8
import { OperationResponseMetadataStorage } from "../metadata/operation-response.js" ;
9
9
import { generateOperationResponse } from "./operation-response.js" ;
10
10
import { OperationSecurityMetadataStorage } from "../metadata/operation-security.js" ;
11
- import { ExtraModelsMetadataStorage } from "../metadata/extra-models.js" ;
12
- import { loadType } from "../loaders/type.js" ;
13
11
14
12
export async function generateOperation (
15
13
context : Context ,
@@ -21,29 +19,26 @@ export async function generateOperation(
21
19
22
20
const target = controller . prototype ;
23
21
24
- const extraModels = ExtraModelsMetadataStorage . getMetadata ( target ) ;
25
-
26
- await Promise . all ( extraModels . map ( ( m ) => loadType ( context , { type : m } ) ) ) ;
27
-
28
22
const body = OperationBodyMetadataStorage . getMetadata ( target , propertyKey ) ;
29
23
if ( body ) {
30
24
operation . requestBody = await generateOperationBody ( context , body ) ;
31
25
}
32
26
33
- const parameters = OperationParameterMetadataStorage . getMetadata ( target , propertyKey ) ;
27
+ const parameters = OperationParameterMetadataStorage . getMetadata ( target , propertyKey , true ) ;
34
28
operation . parameters = [ ] ;
35
29
for ( const parameter of parameters ) {
36
30
operation . parameters . push ( await generateOperationParameters ( context , parameter ) ) ;
37
31
}
38
32
39
- const responses = OperationResponseMetadataStorage . getMetadata ( target , propertyKey ) ;
33
+ const responses = OperationResponseMetadataStorage . getMetadata ( target , propertyKey , true ) ;
40
34
for ( const [ status , response ] of Object . entries ( responses ) ) {
41
35
operation . responses [ status ] = await generateOperationResponse ( context , response ) ;
42
36
}
43
37
44
38
const security = OperationSecurityMetadataStorage . getMetadata ( target , propertyKey , true ) ;
45
39
46
- operation . security = [ security ] ;
40
+ // TODO: Check what the difference between `[{ auth1: {} }, {auth2: {} }]` and `[{ auth1: {}, auth2: {}}]`
41
+ operation . security = Object . keys ( security ) . length > 0 ? [ security ] : [ ] ;
47
42
48
43
return operation ;
49
44
}
0 commit comments