fix: delete visit request test records

This commit is contained in:
unknown
2026-07-20 19:26:42 +09:00
parent 5ba8c5db5e
commit 10da3ff62d
3 changed files with 3 additions and 10 deletions

View File

@@ -154,7 +154,7 @@ export const DashboardPage: React.FC = () => {
{deleting != null && ( {deleting != null && (
<Dialog <Dialog
title="출입신청 삭제" title="출입신청 삭제"
message={`${deleting.visitorName} / ${deleting.zoneName || '-'} 신청을 삭제합니다. 실제 입/퇴장 기록이 있는 신청은 삭제되지 않습니다. 계속하려면 "삭제"를 입력하세요.`} message={`${deleting.visitorName} / ${deleting.zoneName || '-'} 신청과 관련 테스트 기록을 함께 삭제합니다. 계속하려면 "삭제"를 입력하세요.`}
withInput withInput
inputPlaceholder="삭제" inputPlaceholder="삭제"
confirmLabel="삭제" confirmLabel="삭제"

View File

@@ -146,7 +146,7 @@ export const VisitRequestListPage: React.FC = () => {
{deleting != null && ( {deleting != null && (
<Dialog <Dialog
title="출입신청 삭제" title="출입신청 삭제"
message={`${deleting.visitorName} / ${deleting.zoneName || '-'} 신청을 삭제합니다. 실제 입/퇴장 기록이 있는 신청은 삭제되지 않습니다. 계속하려면 "삭제"를 입력하세요.`} message={`${deleting.visitorName} / ${deleting.zoneName || '-'} 신청과 관련 테스트 기록을 함께 삭제합니다. 계속하려면 "삭제"를 입력하세요.`}
withInput withInput
inputPlaceholder="삭제" inputPlaceholder="삭제"
confirmLabel="삭제" confirmLabel="삭제"

View File

@@ -589,16 +589,9 @@ export function createBusinessRouter(deps: BusinessRouterDeps = { query }): Rout
const visit = await visitById(dbQuery, id); const visit = await visitById(dbQuery, id);
if (!visit) throw new ApiError(404, '방문 신청을 찾을 수 없습니다.'); if (!visit) throw new ApiError(404, '방문 신청을 찾을 수 없습니다.');
const events = await dbQuery<{ count: string }>(
'SELECT count(*) AS count FROM access_events WHERE visit_request_id = $1',
[id],
);
if (Number(events.rows[0]?.count ?? 0) > 0) {
throw new ApiError(400, '실제 입/퇴장 기록이 있는 신청은 삭제할 수 없습니다.');
}
await dbQuery('DELETE FROM pass_deliveries WHERE visit_request_id = $1', [id]); await dbQuery('DELETE FROM pass_deliveries WHERE visit_request_id = $1', [id]);
await dbQuery('DELETE FROM approvals WHERE visit_request_id = $1', [id]); await dbQuery('DELETE FROM approvals WHERE visit_request_id = $1', [id]);
await dbQuery('DELETE FROM access_events WHERE visit_request_id = $1', [id]);
await dbQuery('DELETE FROM visit_requests WHERE id = $1', [id]); await dbQuery('DELETE FROM visit_requests WHERE id = $1', [id]);
await dbQuery( await dbQuery(
`DELETE FROM visitors v `DELETE FROM visitors v