@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
JavaScript
;
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;