diff options
Diffstat (limited to 'lib/Crater/Routes')
-rw-r--r-- | lib/Crater/Routes/Auth.rakumod | 1 | ||||
-rw-r--r-- | lib/Crater/Routes/Gallery.rakumod | 15 |
2 files changed, 11 insertions, 5 deletions
diff --git a/lib/Crater/Routes/Auth.rakumod b/lib/Crater/Routes/Auth.rakumod index 23872e9..73e6dc7 100644 --- a/lib/Crater/Routes/Auth.rakumod +++ b/lib/Crater/Routes/Auth.rakumod @@ -13,7 +13,6 @@ sub auth-routes( get -> Crater::Session $session, 'login' { template 'login.crotmp', { :!error }; } - post -> Crater::Session $session, 'login' { request-body -> (:$pass!, *%) { if $password eq $pass { diff --git a/lib/Crater/Routes/Gallery.rakumod b/lib/Crater/Routes/Gallery.rakumod index cf79cc6..aa3e4b6 100644 --- a/lib/Crater/Routes/Gallery.rakumod +++ b/lib/Crater/Routes/Gallery.rakumod @@ -8,6 +8,15 @@ sub gallery-routes( Crater::Gallery :$gallery!, #= gallery object ) is export { route { + # Logged in users can view images. + get -> LoggedIn $session, 'resources', 'img', *@path, :$original { + my $dir = $gallery.directory; + # Serve the thumbnail unless original image was requested. + $dir .= add(".crater/thumbnails") unless $original.defined; + static $dir, @path; + } + + # Gallery view. get -> LoggedIn $session { template 'gallery.crotmp', { gallery => $gallery.list(), @@ -15,11 +24,9 @@ sub gallery-routes( }; } - get -> { - redirect '/login', :see-other; - } + # Redirect to login page if not logged in. get -> *@path { - static $gallery.directory.add(".crater/thumbnails"), @path; + redirect '/login', :see-other; } } } |