From 8f0cd7e088bd0ec2a630ebcbb5eab4f790c5188e Mon Sep 17 00:00:00 2001
From: Cyb3rzombie <me.github@cybernest.de>
Date: Mon, 5 Jun 2023 16:23:37 +0200
Subject: [PATCH] Add support for auth token

---
 src/utils/proxy/handlers/credentialed.js | 6 ++++++
 src/widgets/paperlessngx/widget.js       | 4 ++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/utils/proxy/handlers/credentialed.js b/src/utils/proxy/handlers/credentialed.js
index 5d4b7e3b..8fa975d0 100644
--- a/src/utils/proxy/handlers/credentialed.js
+++ b/src/utils/proxy/handlers/credentialed.js
@@ -55,6 +55,12 @@ export default async function credentialedProxyHandler(req, res, map) {
         } else {
           headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
         }
+      } else if (widget.type === "paperlessngx") {
+        if (widget.key) {
+          headers.Authorization = `Token ${widget.key}`;
+        } else {
+          headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
+        }
       } else {
         headers["X-API-Key"] = `${widget.key}`;
       }
diff --git a/src/widgets/paperlessngx/widget.js b/src/widgets/paperlessngx/widget.js
index 8af8079d..de37f595 100644
--- a/src/widgets/paperlessngx/widget.js
+++ b/src/widgets/paperlessngx/widget.js
@@ -1,8 +1,8 @@
-import genericProxyHandler from "utils/proxy/handlers/generic";
+import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
 
 const widget = {
   api: "{url}/api/{endpoint}",
-  proxyHandler: genericProxyHandler,
+  proxyHandler: credentialedProxyHandler,
 
   mappings: {
     "statistics": {