Files
mina-sidor-fa-web/mock-api/mina-sidor-fa/scripts/generate-api.js
Aden Hassan a7aa94e084 Merge pull request #132 in TEA/mina-sidor-fa-web from feature/TV-591 to develop
Squashed commit of the following:

commit 92501f038a2e9d43a62ee7ef606fe8ff95b3a994
Author: Chingiz <chingiz.esenbaev@arbetsformedlingen.se>
Date:   Mon Sep 27 10:06:56 2021 +0200

    updating models, services, api

commit bc9815f457ef4e80e40e3f0ea9f0f71d14cf5c65
Author: Chingiz <chingiz.esenbaev@arbetsformedlingen.se>
Date:   Mon Sep 27 07:07:34 2021 +0200

    updated html file

commit a5842fd33b9909679c091d7b2657eb7d8cd2e094
Merge: 1b51bf6 85242b0
Author: Chingiz <chingiz.esenbaev@arbetsformedlingen.se>
Date:   Mon Sep 27 06:56:01 2021 +0200

    Merge branch 'develop' into feature/TV-591

commit 1b51bf6c73e831b6b0f46c0b75b09c86f813b237
Author: Chingiz <chingiz.esenbaev@arbetsformedlingen.se>
Date:   Mon Sep 27 06:55:26 2021 +0200

    base structure done

commit fd0900411a0365d9c92337ab5ee7c8fae4282fe3
Merge: 4333891 9bedbd3
Author: Chingiz <chingiz.esenbaev@arbetsformedlingen.se>
Date:   Thu Sep 23 16:44:11 2021 +0200

    Merge branch 'develop' into feature/TV-591

commit 43338914fa67d40357f68d20ef2d6fe0cb19e218
Author: Chingiz <chingiz.esenbaev@arbetsformedlingen.se>
Date:   Thu Sep 23 16:43:42 2021 +0200

    formgroup and more

commit 96086b08b10ca785d3271e38e5cd81cade91acf0
Merge: d263f27 5846c2c
Author: Chingiz <chingiz.esenbaev@arbetsformedlingen.se>
Date:   Tue Sep 21 19:57:06 2021 +0200

    Merge branch 'develop' into feature/TV-591

commit d263f270c643cc0a8f36a1edb4f87813b1916eba
Author: Chingiz <chingiz.esenbaev@arbetsformedlingen.se>
Date:   Tue Sep 21 19:56:24 2021 +0200

    sÃparar filer innan merge

commit 4352b00d0eed60ea2703b5a3957a608ee053e8d3
Author: Chingiz <chingiz.esenbaev@arbetsformedlingen.se>
Date:   Mon Sep 20 10:58:12 2021 +0200

    updating to match other tasks

commit d51e22bc8a61e67cec711eb4915c3a381eb67aaf
Author: Chingiz <chingiz.esenbaev@arbetsformedlingen.se>
Date:   Thu Sep 16 18:52:25 2021 +0200

    Created some base-structure
2021-09-27 12:33:47 +02:00

138 lines
5.4 KiB
JavaScript

import fs from 'fs';
import { authTokens } from './auth-tokens.js';
import avrop from './avrop.js';
import currentUser from './current-user.js';
import userinfo from './userinfo.js';
import deltagare from './deltagare.js';
import deltagareHandelser from './deltagare-handelser.js';
import employees from './employees.js';
import handledare from './handledare.js';
import languages from './languages.js';
import participants from './participants.js';
import tjanster from './tjanster.js';
import chooseRandom from './utils/choose-random.util.js';
import organizations from './organizations.js';
import orsaksKoderFranvaro from './avvikelse-alternative/orsaks-koder-franvaro.js';
import orsaksKoderAvvikelse from './avvikelse-alternative/orsaks-koder-avvikelse.js';
import kandaAvvikelseKoder from './avvikelse-alternative/kanda-avvikelse-koder.js';
import fragorForAvvikelser from './avvikelse-alternative/fragor-for-avvikelser.js';
import activities from './activities.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();
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,
participants: participants.generate(50).map(participant => ({
...participant,
employeeId: generatedEmployees[Math.floor(Math.random() * generatedEmployees.length)].id,
})),
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'));