summaryrefslogtreecommitdiff
path: root/lib/pq/service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pq/service.ts')
-rw-r--r--lib/pq/service.ts43
1 files changed, 24 insertions, 19 deletions
diff --git a/lib/pq/service.ts b/lib/pq/service.ts
index bc3f37a0..15d9aebc 100644
--- a/lib/pq/service.ts
+++ b/lib/pq/service.ts
@@ -1451,6 +1451,8 @@ export interface VendorPQsList {
}
export async function getVendorPQsList(vendorId: number): Promise<VendorPQsList> {
+ unstable_noStore();
+
try {
// 1. Check if vendor has general PQ answers
const generalPqAnswers = await db
@@ -1539,6 +1541,8 @@ export async function loadProjectPQAction(vendorId: number, projectId?: number):
export async function getAllPQsByVendorId(vendorId: number) {
+ unstable_noStore();
+
try {
const pqList = await db
.select({
@@ -1569,6 +1573,8 @@ export async function getAllPQsByVendorId(vendorId: number) {
// 특정 PQ의 상세 정보 조회 (개별 PQ 페이지용)
export async function getPQById(pqSubmissionId: number, vendorId: number) {
+ unstable_noStore();
+
try {
const pq = await db
@@ -1679,8 +1685,8 @@ function getStatusLabel(status: string): string {
}
export async function getPQSubmissions(input: GetPQSubmissionsSchema) {
- return unstable_cache(
- async () => {
+ unstable_noStore();
+
try {
const offset = (input.page - 1) * input.perPage;
@@ -1989,16 +1995,11 @@ export async function getPQSubmissions(input: GetPQSubmissionsSchema) {
console.error("Error in getPQSubmissions:", err);
return { data: [], pageCount: 0 };
}
- },
- [JSON.stringify(input)], // 캐싱 키
- {
- revalidate: 3600,
- tags: ["pq-submissions"], // revalidateTag 호출 시 무효화
- }
- )();
}
export async function getPQStatusCountsAll() {
+ unstable_noStore();
+
try {
// 모든 PQ 상태별 개수 조회 (벤더 제한 없음)
const pqStatuses = await db
@@ -3046,8 +3047,12 @@ export async function requestInvestigationAction(
// 이메일 발송 실패는 로그만 남기고 전체 프로세스는 성공으로 처리
console.error("이메일 발송 중 오류 발생:", emailErr);
}
- revalidatePath("/evcp/pq_new");
- revalidatePath("/evcp/vendor-investigation");
+
+ // 캐시 무효화 (skipRevalidation 옵션이 false일 때만)
+ if (!options?.skipRevalidation) {
+ revalidateTag("vendor-investigations")
+ revalidateTag("pq-submissions")
+ }
return {
success: true,
@@ -3092,11 +3097,9 @@ export async function cancelInvestigationAction(investigationIds: number[]) {
return updatedInvestigations
})
- // 캐시 무효화 (핸들러에서 호출 시에는 건너뛰기)
- if (!options?.skipRevalidation) {
- revalidateTag("vendor-investigations")
- revalidateTag("pq-submissions")
- }
+ // 캐시 무효화
+ revalidateTag("vendor-investigations")
+ revalidateTag("pq-submissions")
return {
success: true,
@@ -3160,9 +3163,11 @@ export async function reRequestInvestigationAction(
return updatedInvestigations
})
- // 캐시 무효화
- revalidateTag("vendor-investigations")
- revalidateTag("pq-submissions")
+ // 캐시 무효화 (skipRevalidation 옵션이 false일 때만)
+ if (!options?.skipRevalidation) {
+ revalidateTag("vendor-investigations")
+ revalidateTag("pq-submissions")
+ }
return {
success: true,