feat(web): 감사 로그·발송 내역 관리 화면 추가

- AuditLogPage(/audit): 최근 관리 행위(승인/반려·블랙리스트) 조회.
- DeliveryOutboxPage(/deliveries): 출입증 발송 내역 조회(성공/실패/전체 필터) + 실패건 수동 재발송.
- api.ts/types에 listAudit·listDeliveries·retryDelivery + AuditLog·PassDelivery 타입 추가.
- Layout 네비(ADMIN)와 App 라우팅(ADMIN 가드) 연결, common.css에 row-gap·cell-error 유틸 추가.

검증: tsc+vite 빌드 통과. 런타임 승인 후 GET /api/admin/audit·/deliveries 응답이 타입과 일치 확인.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
unknown
2026-07-03 16:03:51 +09:00
parent f7aaeaba2a
commit 17d6036bca
7 changed files with 222 additions and 0 deletions

View File

@@ -143,3 +143,28 @@ export interface BlacklistCreate {
contact?: string;
reason: string;
}
export interface AuditLog {
id: number;
at: string;
actorId?: number;
actorUsername?: string;
action: 'APPROVE' | 'REJECT' | 'BLACKLIST_ADD' | 'BLACKLIST_REMOVE';
targetType?: string;
targetId?: number;
detail?: string;
}
export type DeliveryStatus = 'SENT' | 'FAILED';
export interface PassDelivery {
id: number;
visitRequestId: number;
channel?: string;
recipient?: string;
status: DeliveryStatus;
attempts: number;
lastError?: string;
createdAt: string;
updatedAt: string;
}