import fs from 'fs'; import { authTokens } from './auth-tokens.js'; import authorizations from './authorizations.js'; import avrop from './avrop.js'; import currentUser from './current-user.js'; import deltagare from './deltagare.js'; import employees from './employees.js'; import languages from './languages.js'; import participants from './participants.js'; const generatedEmployees = employees.generate(50); const generatedDeltagare = deltagare.generate(50); const generatedAvrop = avrop.generate(10, generatedDeltagare.slice(0, 10)); const tjanster = []; const organizations = []; const kommuner = []; generatedAvrop.forEach(({ tjanstekod, tjansteNamn, utforandeVerksamhetId, utforandeverksamhet, kommunKod, kommun }) => { const tjanstExists = tjanster.find(tjanst => tjanst.code === tjanstekod); const organizationExists = organizations.find(organization => organization.id === utforandeVerksamhetId); const kommunExists = kommuner.find(kommun => kommun.kommunCode === kommunKod); if (tjanstExists) { if (!tjanstExists.related_utforandeverksamhetIds.includes(utforandeVerksamhetId)) { tjanstExists.related_utforandeverksamhetIds.push(utforandeVerksamhetId); } if (!tjanstExists.related_kommunCodes.includes(kommunKod)) { tjanstExists.related_kommunCodes.push(kommunKod); } } else { tjanster.push({ code: tjanstekod, name: tjansteNamn, related_utforandeverksamhetIds: [utforandeVerksamhetId], related_kommunCodes: [kommunKod], }); } if (organizationExists) { if (!organizationExists.related_tjanstIds.includes(tjanstekod)) { organizationExists.related_tjanstIds.push(tjanstekod); } if (!organizationExists.related_kommunCodes.includes(kommunKod)) { organizationExists.related_kommunCodes.push(kommunKod); } } else { organizations.push({ id: utforandeVerksamhetId, name: utforandeverksamhet, related_tjanstIds: [tjanstekod], related_kommunCodes: [kommunKod], }); } if (kommunExists) { if (!kommunExists.related_tjanstIds.includes(tjanstekod)) { kommunExists.related_tjanstIds.push(tjanstekod); } if (!kommunExists.related_utforandeverksamhetIds.includes(utforandeVerksamhetId)) { kommunExists.related_utforandeverksamhetIds.push(utforandeVerksamhetId); } } else { kommuner.push({ kommunCode: kommunKod, kommun, related_tjanstIds: [tjanstekod], related_utforandeverksamhetIds: [utforandeVerksamhetId], }); } }); const apiData = { languages: languages.generate(), employees: generatedEmployees, avrop: generatedAvrop, tjanster, organizations, kommuner, deltagare: generatedDeltagare, participants: participants.generate(50).map(participant => ({ ...participant, employeeId: generatedEmployees[Math.floor(Math.random() * generatedEmployees.length)].id, })), currentUser: currentUser.generate(), authorizations: authorizations.generate(), getTokenFullAccess: authTokens.auth_code_from_CIAM_with_all_permissions, invites: [], }; fs.writeFileSync('api.json', JSON.stringify(apiData, null, '\t'));