diff --git a/src/app/(dashboard)/jobs/[jobId]/components/job-files-panel.tsx b/src/app/(dashboard)/jobs/[jobId]/components/job-files-panel.tsx
index 52f3743..91d5d36 100644
--- a/src/app/(dashboard)/jobs/[jobId]/components/job-files-panel.tsx
+++ b/src/app/(dashboard)/jobs/[jobId]/components/job-files-panel.tsx
@@ -61,8 +61,8 @@ export function JobFilesPanel({
);
}
-const MAX_FILE_BYTES = 30 * 1024 * 1024;
-const MAX_BATCH_BYTES = 180 * 1024 * 1024; // headroom under the 200MB proxy cap
+const MAX_FILE_BYTES = 200 * 1024 * 1024;
+const MAX_BATCH_BYTES = 200 * 1024 * 1024; // proxy cap; one large file fills the whole batch
function UploadForm({ jobId }: { jobId: string }) {
const router = useRouter();
@@ -166,11 +166,11 @@ function UploadForm({ jobId }: { jobId: string }) {
{selected.length > 0 ? (
overSize ? (
- {overSize.name} 30MB'tan büyük (her dosya maksimum 30MB).
+ {overSize.name} 200MB'tan büyük (her dosya maksimum 200MB).
) : overBatch ? (
- Toplam {formatSize(totalBytes)} — 180MB sınırını aşıyor. Daha az dosya seçin.
+ Toplam {formatSize(totalBytes)} — 200MB sınırını aşıyor. Daha az dosya seçin.
) : (
<>
@@ -178,7 +178,7 @@ function UploadForm({ jobId }: { jobId: string }) {
>
)
) : (
- "Tarama (STL/OBJ), görsel veya PDF — max 30MB / dosya, batch 180MB"
+ "Tarama (STL/OBJ), görsel veya PDF — max 200MB / dosya"
)}
{uploading ? (
diff --git a/src/app/api/jobs/[jobId]/files/route.ts b/src/app/api/jobs/[jobId]/files/route.ts
index 44d0efa..3ecaa39 100644
--- a/src/app/api/jobs/[jobId]/files/route.ts
+++ b/src/app/api/jobs/[jobId]/files/route.ts
@@ -14,7 +14,7 @@ import {
import { createAdminClient } from "@/lib/appwrite/server";
import { requireRole, requireTenant } from "@/lib/appwrite/tenant-guard";
-const MAX_FILE_BYTES = 30 * 1024 * 1024;
+const MAX_FILE_BYTES = 200 * 1024 * 1024;
function classifyFile(mimeType: string | undefined, name: string): JobFileKind {
const lower = (mimeType || name).toLowerCase();
@@ -100,7 +100,7 @@ export async function POST(
for (const f of files) {
if (f.size > MAX_FILE_BYTES) {
return NextResponse.json(
- { ok: false, error: `${f.name} 30MB sınırını aşıyor.` },
+ { ok: false, error: `${f.name} 200MB sınırını aşıyor.` },
{ status: 400 },
);
}
diff --git a/src/lib/appwrite/job-file-actions.ts b/src/lib/appwrite/job-file-actions.ts
index 9a1e7a0..2eafcbf 100644
--- a/src/lib/appwrite/job-file-actions.ts
+++ b/src/lib/appwrite/job-file-actions.ts
@@ -20,7 +20,7 @@ import type {
JobFileUploadState,
} from "./job-file-types";
-const MAX_FILE_BYTES = 30 * 1024 * 1024; // 30MB — bucket limit
+const MAX_FILE_BYTES = 200 * 1024 * 1024; // 200MB — bucket limit
function appwriteError(e: unknown, fallback = "Beklenmeyen bir hata oluştu."): string {
if (e instanceof AppwriteException) return e.message || fallback;
@@ -89,7 +89,7 @@ export async function uploadJobFilesAction(
for (const f of files) {
if (f.size > MAX_FILE_BYTES) {
- return { ok: false, error: `${f.name} 30MB sınırını aşıyor.` };
+ return { ok: false, error: `${f.name} 200MB sınırını aşıyor.` };
}
}