From 5ca202a59ec0332432750d69e6cfeed9ad00963d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20P=C3=B6ttker?= Date: Sat, 23 May 2026 15:02:02 +0200 Subject: [PATCH] feat: extend frontend API client for Agrarmonitor polling - Add SettingClient interface and getClients/updateClient methods - Add AgrarmonitorPollingConfig/Result interfaces - Add getPollingConfig, updatePollingConfig, runPolling to agrarmonitorApi Co-Authored-By: Claude Sonnet 4.6 --- paperless-frontend/src/api/settings.ts | 30 ++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/paperless-frontend/src/api/settings.ts b/paperless-frontend/src/api/settings.ts index 7b19b6d..8fabd38 100644 --- a/paperless-frontend/src/api/settings.ts +++ b/paperless-frontend/src/api/settings.ts @@ -78,6 +78,13 @@ export interface SettingUserClient { Role: 'viewer' | 'editor' | 'admin'; } +export interface SettingClient { + Id: number; + Name: string; + PaperlessUserId: number; + AgrarmonitorBetriebId: number | null; +} + export const settingsApi = { // Dokumenttypen getDocTypes: () => api.get('/api/settings/document-types').then(r => r.data), @@ -144,6 +151,11 @@ export const settingsApi = { updateCorrespondentSetting: (id: number, agrarmonitorId: number | null) => api.put(`/api/settings/correspondents/${id}`, { agrarmonitorId }).then(r => r.data), + // Betriebe + getClients: () => api.get('/api/settings/clients').then(r => r.data), + updateClient: (id: number, AgrarmonitorBetriebId: number | null) => + api.put(`/api/settings/clients/${id}`, { AgrarmonitorBetriebId }).then(r => r.data), + // Inbox-Postprozessor (global, deprecated) listInboxActions: () => api.get('/api/settings/inbox-actions').then((r) => r.data), @@ -184,6 +196,18 @@ export interface AgrarmonitorStatusData { error?: string; } +export interface AgrarmonitorPollingConfig { + tagFertig: string; + tagVerbucht: string; +} + +export interface AgrarmonitorPollingResult { + processed: number; + updated: number; + skipped: number; + errors: string[]; +} + export const agrarmonitorApi = { getStatus: () => api.get('/api/agrarmonitor/status').then((r) => r.data), @@ -191,4 +215,10 @@ export const agrarmonitorApi = { api .post<{ success: boolean; message: string }>('/api/agrarmonitor/register', { pcName, agrarmonitorId }) .then((r) => r.data), + getPollingConfig: () => + api.get('/api/agrarmonitor/polling-config').then((r) => r.data), + updatePollingConfig: (config: AgrarmonitorPollingConfig) => + api.put('/api/agrarmonitor/polling-config', config).then((r) => r.data), + runPolling: () => + api.post('/api/agrarmonitor/run-polling').then((r) => r.data), };