Rechnungsdatum und Belegupload ueberarbeiten
All checks were successful
CI / Build (push) Successful in 1m59s
CI / Deploy (push) Successful in 2m2s

This commit is contained in:
jan
2026-05-01 16:51:27 +02:00
parent 549c8f16c6
commit 796e134ea2
14 changed files with 165 additions and 95 deletions

View File

@@ -56,6 +56,7 @@ export function snapshotExpense(
| "approvalStatus"
| "recurrence"
| "recurrenceStartAt"
| "invoiceDate"
| "proofUrl"
| "createdAt"
| "paidAt"
@@ -74,6 +75,7 @@ export function snapshotExpense(
approvalStatus: expense.approvalStatus,
recurrence: expense.recurrence,
recurrenceStartAt: expense.recurrenceStartAt?.toISOString() ?? null,
invoiceDate: expense.invoiceDate?.toISOString() ?? null,
proofUrl: expense.proofUrl,
createdAt: expense.createdAt.toISOString(),
paidAt: expense.paidAt?.toISOString() ?? null,

View File

@@ -49,6 +49,7 @@ export type DashboardExpense = {
recurrenceStartAt: string | null;
paidAt: string | null;
documentedAt: string | null;
invoiceDate: string | null;
proofUrl: string | null;
createdAt: string;
creator: {

View File

@@ -33,6 +33,7 @@ export function sanitizeDriveFileName(title: string, fallback = "beleg") {
export async function uploadExpenseProofToDrive(input: {
title: string;
invoiceDate: string;
fileName: string;
mimeType: string;
buffer: Buffer;
@@ -41,8 +42,7 @@ export async function uploadExpenseProofToDrive(input: {
const folderId = process.env.GOOGLE_DRIVE_FOLDER_ID || DEFAULT_DRIVE_FOLDER_ID;
const extension = input.fileName.includes(".") ? `.${input.fileName.split(".").pop()}` : "";
const baseName = sanitizeDriveFileName(input.title);
const uniqueSuffix = new Date().toISOString().replace(/[-:]/g, "").replace(/\.\d{3}Z$/, "Z");
const name = `${baseName}-${uniqueSuffix}${extension}`;
const name = `${input.invoiceDate}-${baseName}${extension}`;
const response = await drive.files.create({
requestBody: {