/** * portal/ops/model.mjs — 운영자 고객 지원 영역의 표. * support_access : 고객 지원용 일시 접근(§25): 대상·이유·만료·승인 기록. 허용 범위(scope_json) 안에서만 조회·변경할 수 있음을 화면에 보인다. * ops_changes : 운영자가 고객 대신 바꾼 값의 변경 전후·사유·승인자(§26.2). 고객 감사 기록(audit_log)에도 같은 내용이 남는다. */ export const MIGRATIONS = [{ id: 'ops_0001', sql: ` CREATE TABLE IF NOT EXISTS support_access ( id TEXT PRIMARY KEY, group_id TEXT NOT NULL, target_type TEXT NOT NULL, target_id TEXT, reason TEXT NOT NULL, scope_json TEXT NOT NULL, requested_by TEXT NOT NULL, approved_by TEXT, approved_at TEXT, created_at TEXT NOT NULL, expires_at TEXT NOT NULL, revoked_at TEXT, revoked_by TEXT, last_used_at TEXT ); CREATE INDEX IF NOT EXISTS support_access_group ON support_access(group_id, expires_at); CREATE TABLE IF NOT EXISTS ops_changes ( id TEXT PRIMARY KEY, group_id TEXT NOT NULL, subject_type TEXT NOT NULL, subject_id TEXT NOT NULL, field TEXT NOT NULL, before_json TEXT, after_json TEXT, reason TEXT NOT NULL, operator TEXT NOT NULL, approver TEXT, created_at TEXT NOT NULL ); CREATE INDEX IF NOT EXISTS ops_changes_group ON ops_changes(group_id, created_at); ` }];