diff options
Diffstat (limited to 'lib/compliance/red-flag-resolution.ts')
| -rw-r--r-- | lib/compliance/red-flag-resolution.ts | 44 |
1 files changed, 11 insertions, 33 deletions
diff --git a/lib/compliance/red-flag-resolution.ts b/lib/compliance/red-flag-resolution.ts index af69dbf4..47a805bb 100644 --- a/lib/compliance/red-flag-resolution.ts +++ b/lib/compliance/red-flag-resolution.ts @@ -2,19 +2,15 @@ import db from "@/db/db" import { and, eq, inArray } from "drizzle-orm" -import { complianceResponses, redFlagManagers } from "@/db/schema/compliance" +import { complianceResponses } from "@/db/schema/compliance" import { basicContract, basicContractTemplates } from "@/db/schema/basicContractDocumnet" import { vendors } from "@/db/schema/vendors" -import { users } from "@/db/schema" import { getTriggeredRedFlagQuestions, type TriggeredRedFlagInfo } from "./red-flag-notifier" -import { getServerSession } from "next-auth" -import { authOptions } from "@/app/api/auth/[...nextauth]/route" -import { ApprovalSubmissionSaga } from "@/lib/approval" -import { htmlListConverter, htmlTableConverter } from "@/lib/approval/template-utils" -import type { ApprovalResult } from "@/lib/approval/types" import { revalidatePath } from "next/cache" +import { requestRedFlagResolutionWithApproval } from "./approval-actions" +import type { ApprovalResult } from "@/lib/approval/types" -type ContractSummary = { +export type ContractSummary = { contractId: number vendorName: string | null vendorCode: string | null @@ -25,6 +21,9 @@ type ContractSummary = { /** * RED FLAG 해소요청 - Approval Saga를 통해 상신 + * + * @deprecated 이 함수는 호환성을 위해 유지됩니다. + * 새로운 코드는 `requestRedFlagResolutionWithApproval`을 사용하세요. */ export async function requestRedFlagResolution(contractIds: number[]): Promise<ApprovalResult> { if (!contractIds || contractIds.length === 0) { @@ -180,31 +179,10 @@ export async function resolveRedFlag( } } -async function getPurchasingManagerEpId(): Promise<string | null> { - const [manager] = await db - .select({ - purchasingManagerId: redFlagManagers.purchasingManagerId, - }) - .from(redFlagManagers) - .orderBy(redFlagManagers.createdAt) - .limit(1) - - if (!manager?.purchasingManagerId) { - return null - } - - const [user] = await db - .select({ - epId: users.epId, - }) - .from(users) - .where(eq(users.id, manager.purchasingManagerId)) - .limit(1) - - return user?.epId ?? null -} - -async function fetchContractsWithFlags(contractIds: number[]): Promise<ContractSummary[]> { +/** + * 계약서와 RED FLAG 정보를 함께 조회 + */ +export async function fetchContractsWithFlags(contractIds: number[]): Promise<ContractSummary[]> { const contracts = await db .select({ contractId: basicContract.id, |
