summaryrefslogtreecommitdiff
path: root/lib/welding/service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/welding/service.ts')
-rw-r--r--lib/welding/service.ts45
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