Optional Domain mit Port und ohne für Sharelinks
This commit is contained in:
@@ -34,7 +34,7 @@ const TASK_POLL = 1500;
|
||||
export class PaperlessError extends Error {}
|
||||
|
||||
export class PaperlessClient {
|
||||
constructor(baseUrl, token) {
|
||||
constructor(baseUrl, token, shareBaseUrl = "") {
|
||||
let parsed;
|
||||
try {
|
||||
parsed = new URL(String(baseUrl || "").trim());
|
||||
@@ -48,6 +48,13 @@ export class PaperlessClient {
|
||||
}
|
||||
this.base = String(baseUrl).trim().replace(/\/+$/, "");
|
||||
this.token = String(token || "").trim();
|
||||
|
||||
// Adresse für Freigabelinks. Paperless liefert nur den Slug, die
|
||||
// vollständige Adresse wird hier zusammengesetzt. Führt der interne
|
||||
// Zugang über einen abweichenden Port, wäre ein daraus gebauter Link
|
||||
// für den Empfänger wertlos - deshalb getrennt konfigurierbar.
|
||||
this.shareBase = String(shareBaseUrl || "").trim().replace(/\/+$/, "")
|
||||
|| this.base;
|
||||
}
|
||||
|
||||
get origin() {
|
||||
@@ -313,7 +320,7 @@ export class PaperlessClient {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify(payload)
|
||||
});
|
||||
if (res?.slug) return `${this.base}/share/${res.slug}`;
|
||||
if (res?.slug) return `${this.shareBase}/share/${res.slug}`;
|
||||
return null;
|
||||
} catch (err) {
|
||||
last = err;
|
||||
|
||||
Reference in New Issue
Block a user