From 0151fc86a704248ad7504c14ecdae1d63aeaa601 Mon Sep 17 00:00:00 2001 From: Oliver Gorwits Date: Mon, 31 Dec 2018 22:59:13 +0000 Subject: [PATCH] add more openapi defs --- lib/App/Netdisco/Web.pm | 9 +++++++++ lib/App/Netdisco/Web/Auth/Provider/DBIC.pm | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/App/Netdisco/Web.pm b/lib/App/Netdisco/Web.pm index dda13e57..7496d8dc 100644 --- a/lib/App/Netdisco/Web.pm +++ b/lib/App/Netdisco/Web.pm @@ -72,6 +72,15 @@ my $skey = $sessions->find({id => 'dancer_session_cookie_key'}); setting('session_cookie_key' => $skey->get_column('a_session')) if $skey; Dancer::Session::Cookie::init(session); +# setup for swagger API +my $swagger = Dancer::Plugin::Swagger->instance->doc; +$swagger->{schemes} = ['http','https']; +$swagger->{consumes} = 'application/json'; +$swagger->{produces} = 'application/json'; +$swagger->{securityDefinitions} = { APIKeyHeader => + { type => 'apiKey', name => 'Authorization', in => 'header' } }; +$swagger->{security} = [ { APIKeyHeader => [] } ]; + # workaround for https://github.com/PerlDancer/Dancer/issues/935 hook after_error_render => sub { setting('layout' => 'main') }; diff --git a/lib/App/Netdisco/Web/Auth/Provider/DBIC.pm b/lib/App/Netdisco/Web/Auth/Provider/DBIC.pm index 77a30866..a35f8d19 100644 --- a/lib/App/Netdisco/Web/Auth/Provider/DBIC.pm +++ b/lib/App/Netdisco/Web/Auth/Provider/DBIC.pm @@ -64,7 +64,7 @@ sub validate_api_token { my $users_table = $settings->{users_resultset} || 'User'; my $token_column = $settings->{users_token_column} || 'token'; - $token =~ s/^Apikey //i or return; + $token =~ s/^Apikey //i; # should be there but swagger-ui doesn't add it my $user = try { $database->resultset($users_table)->find({ $token_column => $token }); };