From 83d96fd2a125380cc2b6978e07528e458213adc9 Mon Sep 17 00:00:00 2001 From: Alex Ling Date: Fri, 23 Oct 2020 12:30:47 +0000 Subject: [PATCH] Add the route to serve thumbnails --- src/routes/api.cr | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/routes/api.cr b/src/routes/api.cr index a131a97..5a5a506 100644 --- a/src/routes/api.cr +++ b/src/routes/api.cr @@ -26,6 +26,28 @@ class APIRouter < Router end end + get "/api/cover/:tid/:eid" do |env| + begin + tid = env.params.url["tid"] + eid = env.params.url["eid"] + + title = @context.library.get_title tid + raise "Title ID `#{tid}` not found" if title.nil? + entry = title.get_entry eid + raise "Entry ID `#{eid}` of `#{title.title}` not found" if entry.nil? + + img = entry.get_thumbnail || entry.read_page 1 + raise "Failed to get cover of `#{title.title}/#{entry.title}`" \ + if img.nil? + + send_img env, img + rescue e + @context.error e + env.response.status_code = 500 + e.message + end + end + get "/api/book/:tid" do |env| begin tid = env.params.url["tid"]