Initial commit with Email Import Wizard and Task Processor updates

This commit is contained in:
2026-05-04 08:02:11 +02:00
commit effdc5d59f
170 changed files with 67739 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
import api from './client';
export interface PaperlessTag {
id: number;
slug: string;
name: string;
color: string;
text_color: string;
match: string;
matching_algorithm: number;
is_insensitive: boolean;
is_inbox_tag: boolean;
document_count: number;
}
export interface PaperlessDocType {
id: number;
slug: string;
name: string;
match: string;
matching_algorithm: number;
is_insensitive: boolean;
document_count: number;
}
export interface PaperlessCustomField {
id: number;
name: string;
data_type: string;
extra_data?: any;
}
export interface PaperlessCorrespondent {
id: number;
slug: string;
name: string;
match: string;
matching_algorithm: number;
is_insensitive: boolean;
document_count: number;
}
export interface PaperlessUser {
id: number;
username: string;
first_name?: string;
last_name?: string;
}
export const paperlessApi = {
getTags: () => api.get<PaperlessTag[]>('/api/paperless/tags').then(r => r.data),
getDocumentTypes: () => api.get<PaperlessDocType[]>('/api/paperless/document-types').then(r => r.data),
getCustomFields: () => api.get<PaperlessCustomField[]>('/api/paperless/custom-fields').then(r => r.data),
getCorrespondents: (search?: string) => api.get<PaperlessCorrespondent[]>('/api/paperless/correspondents', { params: { search } }).then(r => r.data),
getCorrespondent: (id: number) => api.get<PaperlessCorrespondent>(`/api/paperless/correspondents/${id}`).then(r => r.data),
getUsers: () => api.get<PaperlessUser[]>('/api/paperless/users').then(r => r.data),
searchDocuments: (params: { search?: string, page?: number, pageSize?: number }) =>
api.get<{ results: any[], count: number }>('/api/paperless/documents', { params }).then(r => r.data),
getDocument: (id: number) => api.get<any>(`/api/paperless/documents/${id}`).then(r => r.data),
checksumExists: (checksum: string) =>
api.post<{ exists: boolean }>('/api/paperless/checksum', { checksum }).then(r => r.data.exists),
getDocumentPdfBlob: (id: number) =>
api.get<Blob>(`/api/paperless/inbox/pdf/${id}`, { responseType: 'blob' }).then(r => r.data),
};