Allow internal Paperless webhook target
This commit is contained in:
@@ -6,6 +6,7 @@ export interface ServerConfig {
|
||||
databasePath: string;
|
||||
paperlessBaseUrl: string | null;
|
||||
paperlessExternalUrl: string | null;
|
||||
paperlessWebhookUrl: string | null;
|
||||
appExternalUrl: string | null;
|
||||
appLocale: string;
|
||||
paperlessConfigured: boolean;
|
||||
@@ -32,6 +33,7 @@ export interface SettingsResponse {
|
||||
values: {
|
||||
paperlessBaseUrl: string | null;
|
||||
paperlessExternalUrl: string | null;
|
||||
paperlessWebhookUrl: string | null;
|
||||
appExternalUrl: string | null;
|
||||
appLocale: string;
|
||||
schedulerIntervalMinutes: number;
|
||||
@@ -69,6 +71,7 @@ export interface SettingsResponse {
|
||||
export type UpdateSettingsPayload = Partial<{
|
||||
paperlessBaseUrl: string | null;
|
||||
paperlessExternalUrl: string | null;
|
||||
paperlessWebhookUrl: string | null;
|
||||
appExternalUrl: string | null;
|
||||
appLocale: string;
|
||||
paperlessToken: string | null;
|
||||
|
||||
@@ -203,12 +203,15 @@
|
||||
"webhookSetupRunning": "Konfiguriere Paperless…",
|
||||
"webhookSetupSuccess": "Paperless-Workflow konfiguriert (ID {{id}})",
|
||||
"webhookSetupError": "Paperless-Workflow konnte nicht konfiguriert werden",
|
||||
"webhookSetupHelp": "Legt ein Secret an und erstellt oder aktualisiert in Paperless den Workflow \"Contract Companion AI Review\".",
|
||||
"webhookSetupHelp": "Legt ein Secret an und erstellt oder aktualisiert in Paperless den Workflow \"Contract Companion AI Review\". Wenn eine Webhook-Ziel-URL gesetzt ist, nutzt Paperless diese URL.",
|
||||
"webhookWorkflowInfo": "Paperless-Workflow ID {{id}} ist verknüpft.",
|
||||
"ical": "iCal-Abo",
|
||||
"icalFeedUrl": "Feed-URL",
|
||||
"paperlessApiUrl": "Paperless API URL",
|
||||
"paperlessExternalUrl": "Paperless externe URL (für Direktlink)",
|
||||
"paperlessWebhookUrl": "Paperless Webhook-Ziel-URL",
|
||||
"paperlessWebhookUrlExample": "http://192.168.178.33:8112/integrations/paperless/webhook",
|
||||
"paperlessWebhookUrlHelp": "URL, die Paperless beim Workflow aufruft. Nutze hier bevorzugt eine interne URL zur Backend-API, wenn der externe Proxy Zugriffsbeschränkungen hat.",
|
||||
"appExternalUrl": "Externe URL der App",
|
||||
"paperlessExample": "https://paperless.example.com",
|
||||
"appExternalExample": "https://contracts.example.com",
|
||||
|
||||
@@ -203,12 +203,15 @@
|
||||
"webhookSetupRunning": "Configuring Paperless…",
|
||||
"webhookSetupSuccess": "Paperless workflow configured (ID {{id}})",
|
||||
"webhookSetupError": "Unable to configure Paperless workflow",
|
||||
"webhookSetupHelp": "Creates a secret and creates or updates the Paperless workflow \"Contract Companion AI Review\".",
|
||||
"webhookSetupHelp": "Creates a secret and creates or updates the Paperless workflow \"Contract Companion AI Review\". If a webhook target URL is set, Paperless uses that URL.",
|
||||
"webhookWorkflowInfo": "Paperless workflow ID {{id}} is linked.",
|
||||
"ical": "iCal subscription",
|
||||
"icalFeedUrl": "Feed URL",
|
||||
"paperlessApiUrl": "Paperless API URL",
|
||||
"paperlessExternalUrl": "Paperless external URL (for direct link)",
|
||||
"paperlessWebhookUrl": "Paperless webhook target URL",
|
||||
"paperlessWebhookUrlExample": "http://192.168.178.33:8112/integrations/paperless/webhook",
|
||||
"paperlessWebhookUrlHelp": "URL called by the Paperless workflow. Prefer an internal backend API URL when the external proxy has access restrictions.",
|
||||
"appExternalUrl": "App external URL",
|
||||
"paperlessExample": "https://paperless.example.com",
|
||||
"appExternalExample": "https://contracts.example.com",
|
||||
|
||||
@@ -59,6 +59,7 @@ interface HealthResponse {
|
||||
type FormValues = {
|
||||
paperlessBaseUrl: string;
|
||||
paperlessExternalUrl: string;
|
||||
paperlessWebhookUrl: string;
|
||||
appExternalUrl: string;
|
||||
appLocale: string;
|
||||
paperlessToken: string;
|
||||
@@ -91,6 +92,7 @@ type FormValues = {
|
||||
const defaultValues: FormValues = {
|
||||
paperlessBaseUrl: "",
|
||||
paperlessExternalUrl: "",
|
||||
paperlessWebhookUrl: "",
|
||||
appExternalUrl: "",
|
||||
appLocale: "de",
|
||||
paperlessToken: "",
|
||||
@@ -187,6 +189,7 @@ export default function SettingsPage() {
|
||||
const values: FormValues = {
|
||||
paperlessBaseUrl: settingsData.values.paperlessBaseUrl ?? "",
|
||||
paperlessExternalUrl: settingsData.values.paperlessExternalUrl ?? "",
|
||||
paperlessWebhookUrl: settingsData.values.paperlessWebhookUrl ?? "",
|
||||
appExternalUrl: settingsData.values.appExternalUrl ?? "",
|
||||
appLocale: settingsData.values.appLocale ?? "de",
|
||||
paperlessToken: "",
|
||||
@@ -354,6 +357,9 @@ export default function SettingsPage() {
|
||||
if (formValues.paperlessExternalUrl !== initial.paperlessExternalUrl) {
|
||||
payload.paperlessExternalUrl = trimOrNull(formValues.paperlessExternalUrl);
|
||||
}
|
||||
if (formValues.paperlessWebhookUrl !== initial.paperlessWebhookUrl) {
|
||||
payload.paperlessWebhookUrl = trimOrNull(formValues.paperlessWebhookUrl);
|
||||
}
|
||||
if (formValues.appExternalUrl !== initial.appExternalUrl) {
|
||||
payload.appExternalUrl = trimOrNull(formValues.appExternalUrl);
|
||||
}
|
||||
@@ -707,6 +713,13 @@ export default function SettingsPage() {
|
||||
placeholder={t("settings.paperlessExample")}
|
||||
fullWidth
|
||||
/>
|
||||
<TextField
|
||||
label={t("settings.paperlessWebhookUrl")}
|
||||
{...register("paperlessWebhookUrl")}
|
||||
placeholder={t("settings.paperlessWebhookUrlExample")}
|
||||
fullWidth
|
||||
helperText={t("settings.paperlessWebhookUrlHelp")}
|
||||
/>
|
||||
<TextField
|
||||
label={t("settings.appExternalUrl")}
|
||||
{...register("appExternalUrl")}
|
||||
|
||||
Reference in New Issue
Block a user