diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2577156ee85f1c7c4e303d13efd0645bdfb68023..5ac96414271d44a899abca06475a421a2b6c51dd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,7 +2,7 @@ image: docker:20.10.9 variables: DOCKER_TLS_CERTDIR: "/certs" - IMAGE_VER: 2.0.0 + IMAGE_VER: 2.1.0 services: - docker:20.10.9-dind diff --git a/piratar b/piratar index 976206ddd68b2aa969be613205a9d44a44b7cbad..e1d838b5edfcc0ff5e0e8715d81fddec65e31488 100755 --- a/piratar +++ b/piratar @@ -3,12 +3,14 @@ use Mojolicious::Lite -signatures; use Mojo::UserAgent; use Mojolicious::Static; use GraphQL::Client; +use Mojo::Util qw(dumper); get '/*url' => sub ($c) { my $username = lc($c->param('url')); $username =~ s/^.*\///; $username =~ s/\.(png|jpg|gif)$//; + $c->app->log->debug("Username: $username"); my $gq = GraphQL::Client->new(url => $ENV{OCTOPUS}); my $rc = $gq->execute(qq[ query MyQuery { @@ -17,14 +19,22 @@ get '/*url' => sub ($c) { }}], ); - if ( ! $rc->{errors} && $rc->{data} ) { + if ($rc->{errors}) { + $c->app->log->warn("Octopus error: " . dumper $rc->{errors}); + } + elsif ( $rc->{data} ) { + $c->app->log->debug("Octopus response: " . dumper $rc->{data}); + my $user = $rc->{data}{allPeople}{edges}[0]{node}; + if ( my $photo = $user->{profilePhoto}) { + $c->app->log->info("Avatar for user $username: $photo"); $c->redirect_to($photo); return; } } + $c->app->log->info("Avatar for user $username: FALLBACK"); $c->reply->file('default.jpg'); };