9
9
use DoclerLabs \ApiClientGenerator \Entity \Field ;
10
10
use DoclerLabs \ApiClientGenerator \Entity \Operation ;
11
11
use DoclerLabs \ApiClientGenerator \Entity \Request ;
12
+ use DoclerLabs \ApiClientGenerator \Generator \Security \SecurityStrategyAbstract ;
12
13
use DoclerLabs \ApiClientGenerator \Input \Specification ;
13
14
use DoclerLabs \ApiClientGenerator \Naming \CopiedNamespace ;
14
15
use DoclerLabs \ApiClientGenerator \Naming \RequestNaming ;
@@ -22,13 +23,13 @@ class RequestGenerator extends MutatorAccessorClassGeneratorAbstract
22
23
public const NAMESPACE_SUBPATH = '\\Request ' ;
23
24
public const SUBDIRECTORY = 'Request/ ' ;
24
25
25
- /** @var SecurityStrategyInterface [] */
26
+ /** @var SecurityStrategyAbstract [] */
26
27
private array $ securityStrategies ;
27
28
28
29
public function __construct (
29
30
string $ baseNamespace ,
30
31
CodeBuilder $ builder ,
31
- SecurityStrategyInterface ...$ securityStrategies
32
+ SecurityStrategyAbstract ...$ securityStrategies
32
33
) {
33
34
parent ::__construct ($ baseNamespace , $ builder );
34
35
@@ -62,6 +63,10 @@ protected function generateRequest(
62
63
->addStmt ($ this ->generateGetRoute ($ request ))
63
64
->addStmts ($ this ->generateGetParametersMethods ($ request , $ operation , $ specification ));
64
65
66
+ foreach ($ this ->securityStrategies as $ securityStrategy ) {
67
+ $ this ->getImports ()->append ($ securityStrategy ->getImports ($ this ->baseNamespace ));
68
+ }
69
+
65
70
$ this ->registerFile ($ fileRegistry , $ classBuilder , self ::SUBDIRECTORY , self ::NAMESPACE_SUBPATH );
66
71
}
67
72
@@ -105,7 +110,6 @@ protected function generateProperties(Request $request, Operation $operation, Sp
105
110
$ statements [] = $ this ->builder ->localProperty ('contentType ' , 'string ' , 'string ' , false , $ default );
106
111
107
112
foreach ($ this ->securityStrategies as $ securityStrategy ) {
108
- /** @var SecurityStrategyInterface $securityStrategy */
109
113
array_push ($ statements , ...$ securityStrategy ->getProperties ($ operation , $ specification ));
110
114
}
111
115
@@ -143,7 +147,6 @@ protected function generateConstructor(
143
147
}
144
148
145
149
foreach ($ this ->securityStrategies as $ securityStrategy ) {
146
- /** @var SecurityStrategyInterface $securityStrategy */
147
150
array_push ($ params , ...$ securityStrategy ->getConstructorParams ($ operation , $ specification ));
148
151
array_push ($ paramInits , ...$ securityStrategy ->getConstructorParamInits ($ operation , $ specification ));
149
152
}
@@ -377,7 +380,6 @@ private function getSecurityHeaders(Operation $operation, Specification $specifi
377
380
$ headers = [];
378
381
379
382
foreach ($ this ->securityStrategies as $ securityStrategy ) {
380
- /** @var SecurityStrategyInterface $securityStrategy */
381
383
$ headers += $ securityStrategy ->getSecurityHeaders ($ operation , $ specification );
382
384
}
383
385
0 commit comments