67 lines
2.7 KiB
JavaScript
67 lines
2.7 KiB
JavaScript
import faker from 'faker';
|
|
import kommuner from './kommuner.js';
|
|
import languages from './languages.js';
|
|
import organizations from './organizations.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 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 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: organization.id,
|
|
utforandeverksamhet: organization.name,
|
|
kommunKod: kommun.kommunCode,
|
|
kommun: kommun.kommun,
|
|
utforandeAdressId: faker.datatype.number({ min: 10000, max: 99999 }),
|
|
adress: `${organization.address.street} ${organization.address.houseNumber}`,
|
|
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,
|
|
};
|