import fs from 'fs'; import activities from './activities.js'; import { authTokens } from './auth-tokens.js'; import avrop from './avrop.js'; import fragorForAvvikelser from './avvikelse-alternative/fragor-for-avvikelser.js'; import kandaAvvikelseKoder from './avvikelse-alternative/kanda-avvikelse-koder.js'; import orsaksKoderAvvikelse from './avvikelse-alternative/orsaks-koder-avvikelse.js'; import orsaksKoderFranvaro from './avvikelse-alternative/orsaks-koder-franvaro.js'; import currentUser from './current-user.js'; import deltagareHandelser from './deltagare-handelser.js'; import deltagare from './deltagare.js'; import employees from './employees.js'; import handledare from './handledare.js'; import languages from './languages.js'; import organizations from './organizations.js'; import tjanster from './tjanster.js'; import userinfo from './userinfo.js'; import chooseRandom from './utils/choose-random.util.js'; const ORGANIZATIONS = organizations.generate(); const AUTHORIZATIONS = ['Hantera användare', 'Hantera origisation', 'Hantera ekonomi']; const generatedActivities = activities.generate(); const generatedEmployees = employees.generate(50); const generatedDeltagare = deltagare.generate(50); const generatedDeltagareHandelser = deltagareHandelser.generate(10); const generatedHandledare = handledare.generate(generatedEmployees.slice(0, 6)); const generatedAvrop = avrop.generate(10, generatedDeltagare.slice(0, 25), generatedHandledare); const generatedTjanster = tjanster.generate(); const generatedCurrentUser = currentUser.generate(); const generatedOrganizations = chooseRandom(ORGANIZATIONS, ORGANIZATIONS.length); const generatedUserinfo = { ...userinfo.generate(), firstName: generatedCurrentUser.firstName, lastName: generatedCurrentUser.lastName, }; const avropTjanster = []; const utforandeVerksamheter = []; const avropKommuner = []; const generateOrsaksKoderFranvaro = orsaksKoderFranvaro.generate(); const generateOrsaksKoderAvvikelse = orsaksKoderAvvikelse.generate(); const generateKandaAvvikelseKoder = kandaAvvikelseKoder.generate(); const generateFragorForAvvikelser = fragorForAvvikelser.generate(); const generatedActivites = activities.generate(); generatedAvrop.forEach(({ tjanstekod, tjansteNamn, utforandeVerksamhetId, utforandeverksamhet, kommunKod, kommun }) => { const tjanstExists = avropTjanster.find(tjanst => tjanst.id === tjanstekod); const utforandeVerksamhetExists = utforandeVerksamheter.find( utforandeVerksamhet => utforandeVerksamhet.id === utforandeVerksamhetId ); const kommunExists = avropKommuner.find(kommun => kommun.id === kommunKod); if (tjanstExists) { tjanstExists.count = tjanstExists.count + 1; if (!tjanstExists.related_utforandeverksamhetIds.includes(utforandeVerksamhetId)) { tjanstExists.related_utforandeverksamhetIds.push(utforandeVerksamhetId); } if (!tjanstExists.related_kommunKoder.includes(kommunKod)) { tjanstExists.related_kommunKoder.push(kommunKod); } } else { avropTjanster.push({ id: tjanstekod, label: tjansteNamn, count: 1, related_utforandeverksamhetIds: [utforandeVerksamhetId], related_kommunKoder: [kommunKod], }); } if (utforandeVerksamhetExists) { utforandeVerksamhetExists.count = utforandeVerksamhetExists.count + 1; if (!utforandeVerksamhetExists.related_tjanstKoder.includes(tjanstekod)) { utforandeVerksamhetExists.related_tjanstKoder.push(tjanstekod); } if (!utforandeVerksamhetExists.related_kommunKoder.includes(kommunKod)) { utforandeVerksamhetExists.related_kommunKoder.push(kommunKod); } } else { utforandeVerksamheter.push({ id: utforandeVerksamhetId, label: utforandeverksamhet, count: 1, related_tjanstKoder: [tjanstekod], related_kommunKoder: [kommunKod], }); } if (kommunExists) { kommunExists.count = kommunExists.count + 1; if (!kommunExists.related_tjanstKoder.includes(tjanstekod)) { kommunExists.related_tjanstKoder.push(tjanstekod); } if (!kommunExists.related_utforandeverksamhetIds.includes(utforandeVerksamhetId)) { kommunExists.related_utforandeverksamhetIds.push(utforandeVerksamhetId); } } else { avropKommuner.push({ id: kommunKod, label: kommun, count: 1, related_tjanstKoder: [tjanstekod], related_utforandeverksamhetIds: [utforandeVerksamhetId], }); } }); const apiData = { languages: languages.generate(), employees: generatedEmployees, avrop: generatedAvrop, avropTjanster, tjanster: generatedTjanster, utforandeVerksamheter, kommuner: avropKommuner, deltagare: generatedDeltagare, deltagareHandelser: generatedDeltagareHandelser, handledare: generatedHandledare, currentUser: generatedCurrentUser, organizations: generatedOrganizations, userinfo: generatedUserinfo, getTokenFullAccess: authTokens.auth_code_from_CIAM_with_all_permissions, invites: [], orsakskoderfranvaro: generateOrsaksKoderFranvaro, orsakskoderavvikelse: generateOrsaksKoderAvvikelse, kandaavvikelsekoder: generateKandaAvvikelseKoder, fragorforavvikelser: generateFragorForAvvikelser, minaDeltagare: chooseRandom(generatedAvrop, 3), activities: generatedActivities, }; fs.writeFileSync('api.json', JSON.stringify(apiData, null, '\t'));