Files
web-antrean/update_mock.cjs
T

40 lines
1.2 KiB
JavaScript

const fs = require('fs');
const navContent = fs.readFileSync('stores/navItems1.ts', 'utf-8');
const keys = [...navContent.matchAll(/menuKey:\s*['"]([^'"]+)['"]/g)].map(m => m[1]);
console.log('Extracted keys:', keys);
const data = JSON.parse(fs.readFileSync('data/mock/hakAkses.json', 'utf-8'));
const menus = keys.map(k => ({
menuKey: k,
name: k,
canAccess: true,
canView: true,
canAdd: true,
canEdit: true,
canDelete: true
}));
const usernameOverrides = ['[email protected]', 'akbar44', 'Akbar Attallah'];
for (const user of usernameOverrides) {
const existing = data.find(d => d.namaTipeUser === user || d.namaHakAkses === user);
if (existing) {
existing.hakAksesMenu = menus;
existing.namaTipeUser = user;
} else {
data.push({
id: require('crypto').randomUUID(),
namaHakAkses: user,
namaTipeUser: user,
status: 'aktif',
isGroupBased: false,
hakAksesMenu: menus
});
}
}
fs.writeFileSync('data/mock/hakAkses.json', JSON.stringify(data, null, 4));
console.log('Granted full access to ' + usernameOverrides.join(', '));