134 lines
5.2 KiB
JavaScript
134 lines
5.2 KiB
JavaScript
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'));
|