diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-15 00:50:39 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-15 00:50:39 +0000 |
| commit | 15c3ae6536c264db0508e4fc4aaa59c3e6d1af30 (patch) | |
| tree | 8e2ad5e6a06999bfaaf00ab4ee30083a87050bad /lib/welding/service.ts | |
| parent | d5d27847a7eded9db59462fa744b76772bc9ce1d (diff) | |
(대표님) 기본계약 및 정기평가 작업사항, OCR 변경사항
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 |
