summaryrefslogtreecommitdiff
path: root/lib/approval-template/service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/approval-template/service.ts')
-rw-r--r--lib/approval-template/service.ts11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/approval-template/service.ts b/lib/approval-template/service.ts
index 5dc989d9..cb687c4f 100644
--- a/lib/approval-template/service.ts
+++ b/lib/approval-template/service.ts
@@ -1,6 +1,7 @@
'use server';
import db from '@/db/db';
+import { revalidateI18nPaths } from '@/lib/revalidate';
import {
and,
asc,
@@ -28,6 +29,13 @@ export type ApprovalTemplateVariable =
typeof approvalTemplateVariables.$inferSelect;
export type ApprovalTemplateHistory =
typeof approvalTemplateHistory.$inferSelect;
+// ---------------------------------------------
+// Revalidation helpers
+// ---------------------------------------------
+async function revalidateApprovalTemplatesPaths() {
+ await revalidateI18nPaths('/evcp/approval/template');
+}
+
export interface ApprovalTemplateWithVariables extends ApprovalTemplate {
variables: ApprovalTemplateVariable[];
@@ -209,6 +217,7 @@ export async function createApprovalTemplate(data: CreateInput): Promise<Approva
const result = await getApprovalTemplate(newTemplate.id);
if (!result) throw new Error('생성된 템플릿을 조회할 수 없습니다.');
+ await revalidateApprovalTemplatesPaths();
return result;
}
@@ -262,6 +271,7 @@ export async function updateApprovalTemplate(id: string, data: UpdateInput): Pro
const result = await getApprovalTemplate(id);
if (!result) throw new Error('업데이트된 템플릿을 조회할 수 없습니다.');
+ await revalidateApprovalTemplatesPaths();
return result;
}
@@ -320,6 +330,7 @@ export async function duplicateApprovalTemplate(
export async function deleteApprovalTemplate(id: string): Promise<{ success: boolean; error?: string }> {
try {
await db.delete(approvalTemplates).where(eq(approvalTemplates.id, id));
+ await revalidateApprovalTemplatesPaths();
return { success: true };
} catch (error) {
return {