import api from './client'; export interface EmailAttachment { Id: number; FileName: string; ContentType: string; Erechnung: boolean; Checksum?: string; ContentId?: string | null; IsEmbedded?: boolean; ParentId?: number | null; PageCount?: number; PaperlessDocumentIds?: Record | null; } export interface EmailItem { Id: number; MessageId: string; SenderAddress: string; RecipientAddress: string; Subject: string; Date: string; Body: string; Status: number; Attachments?: EmailAttachment[]; } export const emailsApi = { list: (params?: { status?: number; limit?: number }) => api.get('/api/emails', { params }).then((r) => r.data), get: (id: number) => api.get(`/api/emails/${id}`).then((r) => r.data), listAttachments: (emailId: number) => api.get(`/api/emails/${emailId}/attachments`).then((r) => r.data), getAttachmentContent: (attachmentId: number) => api.get(`/api/emails/attachments/${attachmentId}/content`, { responseType: 'blob', }).then((r) => r.data), triggerFetch: () => api.post<{ message: string }>('/api/emails/fetch').then((r) => r.data), checkAttachments: () => api.post<{ updatedCount: number }>('/api/emails/check-attachments').then((r) => r.data), updateStatus: (id: number, status: number) => api.patch<{ message?: string }>(`/api/emails/${id}/status`, { status }).then((r) => r.data), };