fix: delete visit request test records
This commit is contained in:
@@ -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="삭제"
|
||||||
|
|||||||
@@ -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="삭제"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user