diff options
Diffstat (limited to 'lib/welding/service.ts')
| -rw-r--r-- | lib/welding/service.ts | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/lib/welding/service.ts b/lib/welding/service.ts index feb6272b..424c4666 100644 --- a/lib/welding/service.ts +++ b/lib/welding/service.ts @@ -1,6 +1,6 @@ "use server"; -import { revalidateTag, unstable_noStore } from "next/cache"; +import { revalidatePath, revalidateTag, unstable_noStore } from "next/cache"; import db from "@/db/db"; import { unstable_cache } from "@/lib/unstable-cache"; import { filterColumns } from "@/lib/filter-columns"; @@ -11,6 +11,7 @@ import { OcrRow, ocrRows, users } from "@/db/schema"; import { countOcrRows, selectOcrRows } from "./repository"; import { getServerSession } from "next-auth/next" import { authOptions } from "@/app/api/auth/[...nextauth]/route" +import { z } from "zod"; @@ -166,6 +167,8 @@ export async function getOcrAllRows(): Promise<OcrRow[]> { sessionId: ocrRows.sessionId, rowIndex: ocrRows.rowIndex, reportNo: ocrRows.reportNo, + fileName: ocrRows.fileName, + inspectionDate: ocrRows.inspectionDate, no: ocrRows.no, identificationNo: ocrRows.identificationNo, tagNo: ocrRows.tagNo, @@ -186,10 +189,50 @@ export async function getOcrAllRows(): Promise<OcrRow[]> { .leftJoin(users, eq(ocrRows.userId, users.id)) .orderBy(desc(ocrRows.createdAt)) + console.log(allRows.length) + return allRows } catch (error) { console.error("Error fetching all OCR rows:", error) throw new Error("Failed to fetch all OCR data") } +} + + +const removeOcrRowsSchema = z.object({ + ids: z.array(z.string().uuid()), +}) + +export async function removeOcrRows( + input: z.infer<typeof removeOcrRowsSchema> +) { + try { + const { ids } = removeOcrRowsSchema.parse(input) + + if (ids.length === 0) { + return { + data: null, + error: "삭제할 데이터를 선택해주세요.", + } + } + + // OCR 행들을 삭제 + await db + .delete(ocrRows) + .where(inArray(ocrRows.id, ids)) + + revalidatePath("/partners/ocr") + + return { + data: null, + error: null, + } + } catch (error) { + console.error("OCR 행 삭제 중 오류 발생:", error) + return { + data: null, + error: error instanceof Error ? error.message : "삭제 중 오류가 발생했습니다.", + } + } }
\ No newline at end of file |
