6
6
} from '@asyncapi/parser' ;
7
7
8
8
import { Href , Markdown } from '../../components' ;
9
- import { useSpec } from '../../contexts' ;
10
9
import { ServerHelpers } from '../../helpers' ;
11
10
12
11
interface Props {
@@ -20,29 +19,20 @@ export const Security: React.FunctionComponent<Props> = ({
20
19
protocol = '' ,
21
20
header = 'Security' ,
22
21
} ) => {
23
- const asyncapi = useSpec ( ) ;
24
- const securitySchemes =
25
- ! asyncapi . components ( ) . isEmpty ( ) && asyncapi . components ( ) . securitySchemes ( ) ;
26
-
27
22
let renderedSecurities ;
28
- if (
29
- ! security ?. length ||
30
- ! securitySchemes ||
31
- ! Object . keys ( securitySchemes ) . length
32
- ) {
23
+ if ( ! security ?. length ) {
33
24
if ( protocol === 'kafka' || protocol === 'kafka-secure' ) {
34
25
renderedSecurities = (
35
26
< SecurityItem protocol = { protocol } securitySchema = { null } />
36
27
) ;
37
28
}
38
29
} else {
39
30
const securities : React . ReactNodeArray = Object . values ( security )
31
+ . map ( ( requirements ) => requirements . all ( ) )
32
+ . flat ( )
40
33
. map ( ( requirement ) => {
41
- const requirements = requirement . all ( ) ;
42
- const key = Object . keys ( requirements ) [ 0 ] ;
43
- const def = securitySchemes [ Number ( key ) ] ;
44
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
- const requiredScopes : any = requirements [ Number ( key ) ] ;
34
+ const def = requirement . scheme ( ) ;
35
+ const requiredScopes = requirement . scopes ( ) ;
46
36
47
37
if ( ! def ) {
48
38
return null ;
@@ -51,7 +41,6 @@ export const Security: React.FunctionComponent<Props> = ({
51
41
< SecurityItem
52
42
protocol = { protocol }
53
43
securitySchema = { def }
54
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
55
44
requiredScopes = { requiredScopes }
56
45
key = { def . type ( ) }
57
46
/>
0 commit comments