Files
mina-sidor-fa-web/mock-api/dafa-web/scripts/generate-api.js
Erik Tiekstra f7207ae1e0 feat(avrop): Created mock-api and models for avrop. (TV-288)
Squashed commit of the following:

commit 36959e892dea1213659ba26ceba797b81e1c7769
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Fri Aug 6 14:28:04 2021 +0200

    Added relationships to the mock-api data

commit e2b86b43908952cd4c46af7f58885c6e34b7eb2e
Merge: ece070a 229fb83
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Fri Aug 6 10:08:37 2021 +0200

    Merge branch 'develop' into feature/TV-288-avrop-mock-and-models

commit ece070ac9f04a3aa1984611371586b32c9d5a222
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Fri Aug 6 09:25:59 2021 +0200

    Removed duplicates from avrop mock-data

commit 005acd29f452316f1337132cf4721e4b3a409097
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Thu Aug 5 14:53:03 2021 +0200

    Added more mock-data

commit 23ce076912c5b9e7dfa9615d28654d8d09622775
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Thu Aug 5 12:04:37 2021 +0200

    Added example api-call to avrop-api service

commit 01629a1e1089e38914825408991276b5e847a709
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Thu Aug 5 11:43:48 2021 +0200

    Added mappings

commit b489c2edb99e07929b84309f784eb097d43f31cd
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Thu Aug 5 11:22:49 2021 +0200

    Added avrop models and mock-data

commit fe3d61962115e8e5b8bac3bade1609c2ef6a9bac
Author: Erik Tiekstra <erik.tiekstra@arbetsformedlingen.se>
Date:   Wed Aug 4 15:16:33 2021 +0200

    WIP
2021-08-09 07:24:00 +02:00

88 lines
3.0 KiB
JavaScript

import fs from 'fs';
import { authTokens } from './auth-tokens.js';
import authorizations from './authorizations.js';
import avrop from './avrop.js';
import currentUser from './current-user.js';
import deltagare from './deltagare.js';
import employees from './employees.js';
import languages from './languages.js';
import participants from './participants.js';
const generatedEmployees = employees.generate(50);
const generatedDeltagare = deltagare.generate(50);
const generatedAvrop = avrop.generate(10, generatedDeltagare.slice(0, 10));
const tjanster = [];
const organizations = [];
const kommuner = [];
generatedAvrop.forEach(({ tjanstekod, tjansteNamn, utforandeVerksamhetId, utforandeverksamhet, kommunKod, kommun }) => {
const tjanstExists = tjanster.find(tjanst => tjanst.code === tjanstekod);
const organizationExists = organizations.find(organization => organization.id === utforandeVerksamhetId);
const kommunExists = kommuner.find(kommun => kommun.kommunCode === kommunKod);
if (tjanstExists) {
if (!tjanstExists.related_utforandeverksamhetIds.includes(utforandeVerksamhetId)) {
tjanstExists.related_utforandeverksamhetIds.push(utforandeVerksamhetId);
}
if (!tjanstExists.related_kommunCodes.includes(kommunKod)) {
tjanstExists.related_kommunCodes.push(kommunKod);
}
} else {
tjanster.push({
code: tjanstekod,
name: tjansteNamn,
related_utforandeverksamhetIds: [utforandeVerksamhetId],
related_kommunCodes: [kommunKod],
});
}
if (organizationExists) {
if (!organizationExists.related_tjanstIds.includes(tjanstekod)) {
organizationExists.related_tjanstIds.push(tjanstekod);
}
if (!organizationExists.related_kommunCodes.includes(kommunKod)) {
organizationExists.related_kommunCodes.push(kommunKod);
}
} else {
organizations.push({
id: utforandeVerksamhetId,
name: utforandeverksamhet,
related_tjanstIds: [tjanstekod],
related_kommunCodes: [kommunKod],
});
}
if (kommunExists) {
if (!kommunExists.related_tjanstIds.includes(tjanstekod)) {
kommunExists.related_tjanstIds.push(tjanstekod);
}
if (!kommunExists.related_utforandeverksamhetIds.includes(utforandeVerksamhetId)) {
kommunExists.related_utforandeverksamhetIds.push(utforandeVerksamhetId);
}
} else {
kommuner.push({
kommunCode: kommunKod,
kommun,
related_tjanstIds: [tjanstekod],
related_utforandeverksamhetIds: [utforandeVerksamhetId],
});
}
});
const apiData = {
languages: languages.generate(),
employees: generatedEmployees,
avrop: generatedAvrop,
tjanster,
organizations,
kommuner,
deltagare: generatedDeltagare,
participants: participants.generate(50).map(participant => ({
...participant,
employeeId: generatedEmployees[Math.floor(Math.random() * generatedEmployees.length)].id,
})),
currentUser: currentUser.generate(),
authorizations: authorizations.generate(),
getTokenFullAccess: authTokens.auth_code_from_CIAM_with_all_permissions,
};
fs.writeFileSync('api.json', JSON.stringify(apiData, null, '\t'));