cleanup-mock-data.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. const fs = require('fs');
  2. const path = require('path');
  3. const outputsRoot = path.resolve(__dirname, '..', 'outputs');
  4. const dashboardStatePath = path.join(outputsRoot, 'dashboard', 'dashboard-state.json');
  5. const roomsLatestPath = path.join(outputsRoot, 'groups', 'rooms-latest.json');
  6. function timestamp() {
  7. return new Date().toISOString().replace(/[:.]/g, '-');
  8. }
  9. function backup(filePath) {
  10. const backupPath = `${filePath}.backup-${timestamp()}`;
  11. fs.copyFileSync(filePath, backupPath);
  12. console.log(`Backed up: ${filePath} -> ${backupPath}`);
  13. return backupPath;
  14. }
  15. function cleanDashboardState() {
  16. const data = JSON.parse(fs.readFileSync(dashboardStatePath, 'utf8'));
  17. const before = Object.keys(data.customers || {}).length;
  18. delete data.customers['wx-u-1'];
  19. const after = Object.keys(data.customers || {}).length;
  20. data.updatedAt = new Date().toISOString();
  21. fs.writeFileSync(dashboardStatePath, JSON.stringify(data, null, 2), 'utf8');
  22. console.log(`Dashboard state: removed ${before - after} mock customer(s)`);
  23. }
  24. function cleanRoomsLatest() {
  25. const rooms = JSON.parse(fs.readFileSync(roomsLatestPath, 'utf8'));
  26. const mockIds = new Set(['r-1', 'r-2', 'r-3']);
  27. const before = rooms.length;
  28. const cleaned = rooms.filter(room => !mockIds.has(room.roomId));
  29. const after = cleaned.length;
  30. fs.writeFileSync(roomsLatestPath, JSON.stringify(cleaned, null, 2), 'utf8');
  31. console.log(`Rooms latest: removed ${before - after} mock group(s)`);
  32. }
  33. backup(dashboardStatePath);
  34. backup(roomsLatestPath);
  35. cleanDashboardState();
  36. cleanRoomsLatest();
  37. console.log('Cleanup complete.');