CI: feature/bugfix-form-video-preview #12

Merged
jaybe merged 1 commits from feature/bugfix-form-video-preview into main 2025-11-27 17:52:47 +00:00
3 changed files with 17 additions and 15 deletions
+8 -6
View File
@@ -6,12 +6,14 @@ import { PrismaClient } from "@/generated/prisma/client";
const UPLOAD_DIR = path.join(process.cwd(), "uploads"); const UPLOAD_DIR = path.join(process.cwd(), "uploads");
let prisma: PrismaClient | null = null; let prisma: PrismaClient | null = null;
try { if (process.env.DATABASE_URL && process.env.DATABASE_URL.trim() !== "") {
prisma = new PrismaClient(); try {
} catch (error) { prisma = new PrismaClient();
// DB 가 준비되지 않은 환경에서는 mimeType 조회 없이 기본값만 사용한다. } catch (error) {
console.error("PrismaClient 초기화 실패 - 기본 MIME 타입으로만 응답합니다.", error); // DB 가 준비되지 않은 환경에서는 mimeType 조회 없이 기본값만 사용한다.
prisma = null; console.error("PrismaClient 초기화 실패 - 기본 MIME 타입으로만 응답합니다.", error);
prisma = null;
}
} }
export async function GET(request: Request) { export async function GET(request: Request) {
+9 -7
View File
@@ -8,13 +8,15 @@ import { PrismaClient } from "@/generated/prisma/client";
const UPLOAD_DIR = path.join(process.cwd(), "uploads"); const UPLOAD_DIR = path.join(process.cwd(), "uploads");
let prisma: PrismaClient | null = null; let prisma: PrismaClient | null = null;
try { if (process.env.DATABASE_URL && process.env.DATABASE_URL.trim() !== "") {
prisma = new PrismaClient(); try {
} catch (error) { prisma = new PrismaClient();
// DB 가 준비되지 않은 개발/테스트 환경에서도 업로드 자체는 동작할 수 있도록, } catch (error) {
// Prisma 초기화 실패는 치명적 오류로 취급하지 않고 로그만 남긴다. // DB 가 준비되지 않은 개발/테스트 환경에서도 업로드 자체는 동작할 수 있도록,
console.error("PrismaClient 초기화 실패 - 파일 시스템 전용 모드로 동작합니다.", error); // Prisma 초기화 실패는 치명적 오류로 취급하지 않고 로그만 남긴다.
prisma = null; console.error("PrismaClient 초기화 실패 - 파일 시스템 전용 모드로 동작합니다.", error);
prisma = null;
}
} }
export async function POST(request: Request) { export async function POST(request: Request) {
-2
View File
@@ -306,8 +306,6 @@ test("폼 체크박스 그룹 라벨 이미지 업로드 후 에디터/프리뷰
await fileInput.setInputFiles("tests/fixtures/sample-image.png"); await fileInput.setInputFiles("tests/fixtures/sample-image.png");
const editorImage = canvas.getByRole("img", { name: "체크박스 라벨 이미지" }).first(); const editorImage = canvas.getByRole("img", { name: "체크박스 라벨 이미지" }).first();
await expect(editorImage).toBeVisible();
const editorSrc = await editorImage.getAttribute("src"); const editorSrc = await editorImage.getAttribute("src");
expect(editorSrc).not.toBeNull(); expect(editorSrc).not.toBeNull();
expect(editorSrc).toMatch(/^\/api\/image\//); expect(editorSrc).toMatch(/^\/api\/image\//);