All files / lib/policy history_logger.ts

0% Statements 0/18
0% Branches 0/1
0% Functions 0/1
0% Lines 0/18

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                                               
import fs from 'node:fs';
import { PolicyConfig } from '../../config/policy.config';
import { PolicyHistoryRecord } from './policy_types';
 
function ensureStorage() {
  fs.mkdirSync('./storage', { recursive: true });
}
 
export function appendHistory(rec: PolicyHistoryRecord) {
  ensureStorage();
  if (!fs.existsSync(PolicyConfig.historyPath)) fs.writeFileSync(PolicyConfig.historyPath, '[]');
  const arr: PolicyHistoryRecord[] = JSON.parse(
    fs.readFileSync(PolicyConfig.historyPath, 'utf-8') || '[]'
  );
  arr.push(rec);
  fs.writeFileSync(PolicyConfig.historyPath, JSON.stringify(arr, null, 2));
}
 
export function loadHistory(): PolicyHistoryRecord[] {
  ensureStorage();
  if (!fs.existsSync(PolicyConfig.historyPath)) return [];
  return JSON.parse(fs.readFileSync(PolicyConfig.historyPath, 'utf-8') || '[]');
}