UNPKG

@icon-solutions/balthazar-query-builder

Version:

This package is a query-builder used to convert data from the segment-builder into SQL-queries.

119 lines (118 loc) 4.62 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addDataHandler = void 0; const checkId_1 = require("../../checkId/checkId"); /** * Funksjon som brukes for å sjekke om et objekt er av en gitt type og har ønsket property * @param { Object } object Objektet en ønsker å sjekke * @param { string } property Propertyen en ønsker å sjekke om gitt objekt innehar * @returns { boolean } Returnerer en boolean-verdi basert på gjennomført sjekk */ const checkObjectType = (object, property) => { return object.hasOwnProperty(property); }; /** * Funksjon som som legger til data i ønsket format (Parameter) og returner dette. * Den håndterer hvilken verdi som skal benyttes i "value"-feltet, basert på om EnglishID * er satt eller ikke. Funksjonen bruker checkId-funksjonen. Denne undersøker om gitt ID * er et tall, dette med hensyn på sikkerhet. Dersom checkId-feiler, returneres ingen ting. * @param {Title | TitleLevel | JobFunction | Nace} data Data som skal sjekkes og håndteres. * @returns {Parameter} Data på formatet Parameter. */ const addDataHandler = (data) => { // Håndterer titles if (checkObjectType(data, 'TitleID') && checkObjectType(data, 'EnglishTitleID')) { // Setter value lik EnglishTitleID (Tittel innsendt er ikke den engelske versjonen) if (data.EnglishTitleID !== null && data.LanguageCode !== 'en') { if ((0, checkId_1.checkId)(data.EnglishTitleID)) { var parameter = { name: 'TitleID', value: data.EnglishTitleID, }; return parameter; } ; // Setter value lik TitleID (Engelsk tittel sendt inn fra bruker) } else { if ((0, checkId_1.checkId)(data.TitleID)) { var parameter = { name: 'TitleID', value: data.TitleID, }; return parameter; } ; } ; } ; // Håndterer jobFunctions if (checkObjectType(data, 'JobFunctionID') && checkObjectType(data, 'EnglishJobFunctionID')) { // Setter value lik EnglishTitleID (Tittel innsendt er ikke den engelske versjonen) if (data.EnglishJobFunctionID !== null && data.LanguageCode !== 'en') { if ((0, checkId_1.checkId)(data.EnglishJobFunctionID)) { var parameter = { name: 'JobFunctionID', value: data.EnglishJobFunctionID, }; return parameter; } ; // Setter value lik TitleID (Engelsk tittel sendt inn fra bruker) } else { if ((0, checkId_1.checkId)(data.JobFunctionID)) { var parameter = { name: 'JobFunctionID', value: data.JobFunctionID, }; return parameter; } ; } ; } ; // Håndterer titleLevels if (checkObjectType(data, 'TitleLevelID') && checkObjectType(data, 'EnglishTitleLevelID')) { //Setter value lik EnglishTitleLevelID (TitleLevel innsendt er ikke den engelske versjonen) if (data.EnglishTitleLevelID !== null && data.LanguageCode !== 'en') { if ((0, checkId_1.checkId)(data.EnglishTitleLevelID)) { var parameter = { name: 'TitleLevelID', value: data.EnglishTitleLevelID, }; return parameter; } ; // Setter value lik TitleLevelID (Engelsk titleLevel sendt inn fra bruker) } else { if ((0, checkId_1.checkId)(data.TitleLevelID)) { var parameter = { name: 'TitleLevelID', value: data.TitleLevelID, }; return parameter; } ; } ; } ; // Håndterer Nacer. NB!: Legger inn Code og ikke NaceID som value. if (checkObjectType(data, 'NaceID')) { const naceCode = parseInt(data.Code); if ((0, checkId_1.checkId)(data.NaceID) && (0, checkId_1.checkId)(naceCode)) { var parameter = { name: 'NaceID', value: data.Code, }; return parameter; } ; } ; }; exports.addDataHandler = addDataHandler;