import faker from 'faker'; import kommuner from './kommuner.js'; import languages from './languages.js'; import organizations from './organizations.js'; import utforandeVerksamheter from './utforande-verksamheter.js'; import tjanster from './tjanster.js'; faker.locale = 'sv'; const TJANSTER = tjanster.generate(); const SUPORTLANGUAGES = languages.generate(); const TRACK = ['A', 'B', 'C']; const ORGANIZATIONS = organizations.generate(); const UTFORANDEVERKSAMHETER = utforandeVerksamheter.generate(); const KOMMUNER = kommuner.generate(); const FREKVENSER = ['25%', '50%', '75%', '100%']; function generateAvrop(amount = 10, deltagare) { const avrop = []; for (let i = 1; i <= amount; ++i) { const organization = ORGANIZATIONS[Math.floor(Math.random() * ORGANIZATIONS.length)]; const utforandeVerksamhet = UTFORANDEVERKSAMHETER[Math.floor(Math.random() * UTFORANDEVERKSAMHETER.length)]; const kommun = KOMMUNER[Math.floor(Math.random() * KOMMUNER.length)]; const tjanst = TJANSTER[Math.floor(Math.random() * TJANSTER.length)]; const track = TRACK[Math.floor(Math.random() * TRACK.length)]; const currentDeltagare = deltagare[i - 1]; avrop.push({ id: faker.datatype.uuid(), fornamn: currentDeltagare.contact.fornamn, efternamn: currentDeltagare.contact.efternamn, deltagare: `${currentDeltagare.contact.fornamn} ${currentDeltagare.contact.efternamn}`, genomforandeReferens: faker.datatype.number({ min: 100000000, max: 999999999 }), orgId: faker.datatype.uuid(), leverantorId: faker.datatype.number({ min: 1000, max: 99999 }), organisationsnummer: organization.organizationNumber, utforandeVerksamhetId: utforandeVerksamhet.utforandeVerksamhetId, utforandeverksamhet: utforandeVerksamhet.namn, kommunKod: kommun.kommunCode, kommun: kommun.kommun, utforandeAdressId: faker.datatype.number({ min: 10000, max: 99999 }), adress: `${utforandeVerksamhet.adresser.adressrad}`, ordernummer: `AKTTEST-${faker.datatype.number({ min: 10000, max: 99999 })}`, bokningsId: faker.datatype.number({ min: 100000, max: 999999 }), personnummer: currentDeltagare.personnummer, sokandeId: currentDeltagare.id, tjanstekod: tjanst.code, tjansteNamn: tjanst.name, deltagandeGrad: FREKVENSER[Math.floor(Math.random() * FREKVENSER.length)], startdatumAvrop: faker.date.recent(), slutdatumAvrop: faker.date.future(), aktnummerDiariet: `Af-2021/0000 ${faker.datatype.number({ min: 1000, max: 9999 })}`, tolkbehov: currentDeltagare.translator.sprak.beskrivning, sprakstod: SUPORTLANGUAGES[Math.floor(Math.random() * SUPORTLANGUAGES.length)].beskrivning, sparkod: track, sparNamn: `NivÄ ${track}: ${tjanst.name}`, supervisorId: Math.random() > 0.3 && faker.datatype.uuid(), recievedTimestamp: faker.date.recent(), }); } console.info('Avrop generated...'); return avrop; } export default { generate: generateAvrop, };