From 68480a65db70449a2b3d59acca22cb61e9583486 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 18 Feb 2025 00:29:36 -0800 Subject: [PATCH] Enhancement: support API key for Kavita (#4784) --- docs/widgets/services/kavita.md | 1 + src/widgets/kavita/proxy.js | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/widgets/services/kavita.md b/docs/widgets/services/kavita.md index 12d40164..af5d1c22 100644 --- a/docs/widgets/services/kavita.md +++ b/docs/widgets/services/kavita.md @@ -15,4 +15,5 @@ widget: url: http://kavita.host.or.ip:port username: username password: password + key: kavitaapikey # Optional, e.g. if not using username and password ``` diff --git a/src/widgets/kavita/proxy.js b/src/widgets/kavita/proxy.js index 1c41c45f..af29d048 100644 --- a/src/widgets/kavita/proxy.js +++ b/src/widgets/kavita/proxy.js @@ -14,7 +14,13 @@ async function login(widget, service) { const endpoint = "Account/login"; const api = widgets?.[widget.type]?.api; const loginUrl = new URL(formatApiCall(api, { endpoint, ...widget })); - const loginBody = { username: widget.username, password: widget.password }; + const loginBody = {}; + if (widget.username && widget.password) { + loginBody.username = widget.username; + loginBody.password = widget.password; + } else if (widget.key) { + loginBody.apiKey = widget.key; + } const headers = { "Content-Type": "application/json", accept: "text/plain" }; const [, , data] = await httpProxy(loginUrl, {