@@ -10,22 +10,28 @@ use utoipa::OpenApi;
1010use crate :: { actors, ctx, datacenters, namespaces, runner_configs, runners, ui} ;
1111
1212#[ derive( OpenApi ) ]
13- #[ openapi( paths(
14- actors:: list:: list,
15- actors:: create:: create,
16- actors:: delete:: delete,
17- actors:: list_names:: list_names,
18- actors:: get_or_create:: get_or_create,
19- runners:: list,
20- runners:: list_names,
21- namespaces:: list,
22- namespaces:: create,
23- runner_configs:: list,
24- runner_configs:: upsert,
25- runner_configs:: delete,
26- datacenters:: list,
27- ) ) ]
28- #[ openapi( components( schemas( namespace:: keys:: RunnerConfigVariant ) ) ) ]
13+ #[ openapi(
14+ paths(
15+ actors:: list:: list,
16+ actors:: create:: create,
17+ actors:: delete:: delete,
18+ actors:: list_names:: list_names,
19+ actors:: get_or_create:: get_or_create,
20+ runners:: list,
21+ runners:: list_names,
22+ namespaces:: list,
23+ namespaces:: create,
24+ runner_configs:: list,
25+ runner_configs:: upsert,
26+ runner_configs:: delete,
27+ datacenters:: list,
28+ ) ,
29+ components(
30+ schemas( namespace:: keys:: RunnerConfigVariant )
31+ ) ,
32+ security( ( "bearer_auth" = [ ] ) ) ,
33+ modifiers( & SecurityAddon ) ,
34+ ) ]
2935pub struct ApiDoc ;
3036
3137pub async fn router (
@@ -118,3 +124,19 @@ async fn auth_middleware(
118124
119125 Ok ( res)
120126}
127+
128+ struct SecurityAddon ;
129+
130+ impl utoipa:: Modify for SecurityAddon {
131+ fn modify ( & self , openapi : & mut utoipa:: openapi:: OpenApi ) {
132+ openapi. components . as_mut ( ) . unwrap ( ) . add_security_scheme (
133+ "bearer_auth" ,
134+ utoipa:: openapi:: security:: SecurityScheme :: Http (
135+ utoipa:: openapi:: security:: HttpBuilder :: new ( )
136+ . scheme ( utoipa:: openapi:: security:: HttpAuthScheme :: Bearer )
137+ // .bearer_format("Rivet")
138+ . build ( ) ,
139+ ) ,
140+ ) ;
141+ }
142+ }
0 commit comments