From e1397a6dda11a9238eb50e80d3a538a0a10738c8 Mon Sep 17 00:00:00 2001 From: advplyr Date: Mon, 19 Dec 2022 15:06:43 -0600 Subject: [PATCH] Update:Author cover image API endpoint to get raw cover image #1291 --- server/controllers/AuthorController.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/server/controllers/AuthorController.js b/server/controllers/AuthorController.js index eb0d605e..8cfe3d1b 100644 --- a/server/controllers/AuthorController.js +++ b/server/controllers/AuthorController.js @@ -1,8 +1,11 @@ + +const fs = require('../libs/fsExtra') +const { createNewSortInstance } = require('../libs/fastSort') + const Logger = require('../Logger') const SocketAuthority = require('../SocketAuthority') const { reqSupportsWebp } = require('../utils/index') -const { createNewSortInstance } = require('../libs/fastSort') const naturalSort = createNewSortInstance({ comparer: new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' }).compare @@ -206,7 +209,15 @@ class AuthorController { // GET api/authors/:id/image async getImage(req, res) { - let { query: { width, height, format }, author } = req + const { query: { width, height, format, raw }, author } = req + + if (raw) { // any value + if (!author.imagePath || !await fs.pathExists(author.imagePath)) { + return res.sendStatus(404) + } + + return res.sendFile(author.imagePath) + } const options = { format: format || (reqSupportsWebp(req) ? 'webp' : 'jpeg'),