summaryrefslogtreecommitdiff
path: root/lib/compliance/services.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/compliance/services.ts')
-rw-r--r--lib/compliance/services.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/compliance/services.ts b/lib/compliance/services.ts
index de67598b..2d3ec092 100644
--- a/lib/compliance/services.ts
+++ b/lib/compliance/services.ts
@@ -932,3 +932,32 @@ export async function getTemplatesRelatedDataCount(templateIds: number[]) {
return { totalQuestions: 0, totalResponses: 0, details: [] };
}
}
+
+// basic_contract_id로 compliance response 조회
+export async function getComplianceResponseByBasicContractId(basicContractId: number) {
+ try {
+ if (!basicContractId || isNaN(basicContractId) || basicContractId <= 0) {
+ console.error(`Invalid basicContractId: ${basicContractId}`);
+ return null;
+ }
+
+ const [response] = await db
+ .select({
+ id: complianceResponses.id,
+ templateId: complianceResponses.templateId,
+ basicContractId: complianceResponses.basicContractId,
+ status: complianceResponses.status,
+ completedAt: complianceResponses.completedAt,
+ createdAt: complianceResponses.createdAt,
+ updatedAt: complianceResponses.updatedAt,
+ })
+ .from(complianceResponses)
+ .where(eq(complianceResponses.basicContractId, basicContractId))
+ .limit(1);
+
+ return response || null;
+ } catch (error) {
+ console.error("Error fetching compliance response by basic contract id:", error);
+ return null;
+ }
+}