78 lines
1.7 KiB
JavaScript
78 lines
1.7 KiB
JavaScript
const { db } = require("../db/db-connect");
|
|
const logger = require("../utils/logger");
|
|
const numeral = require("numeral");
|
|
|
|
require("numeral/locales/fr");
|
|
numeral.locale("fr");
|
|
|
|
async function getRecordIdFromFieldValue(collection, field, value) {
|
|
try {
|
|
const resultList = await db.records.getList(collection, 1, 1, {
|
|
filter: `${field} = '${value}'`,
|
|
});
|
|
|
|
if (resultList.totalItems > 0) {
|
|
return resultList.items[0].id;
|
|
} else {
|
|
return null;
|
|
}
|
|
} catch (error) {
|
|
logger.log("error", error);
|
|
return null;
|
|
}
|
|
}
|
|
|
|
async function fetchInfoByCriteria(collection, criteria) {
|
|
try {
|
|
const resultList = await db.records.getList(collection, 1, 1, criteria);
|
|
|
|
if (resultList.totalItems > 0) {
|
|
return resultList.items[0];
|
|
}
|
|
} catch (error) {
|
|
logger.log("error", error);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
async function updateRecordFromData(collection, recordID, data) {
|
|
try {
|
|
const record = await db.records.update(collection, recordID, data);
|
|
|
|
return record;
|
|
} catch (error) {
|
|
logger.log("error", error);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
function customFormatNumber(number, decimal, taux=false) {
|
|
if (Number.isInteger(number)) {
|
|
if (decimal == true) {
|
|
return numeral(number).format("0,0.00");
|
|
} else {
|
|
return numeral(number).format("0,0");
|
|
}
|
|
} else {
|
|
if (taux == true) {
|
|
return numeral(number).format("0,0.000");
|
|
} else {
|
|
return numeral(number).format("0,0.00");
|
|
}
|
|
}
|
|
}
|
|
|
|
function cleanDoubleSpaces(inputString) {
|
|
return inputString.replace(/\s{2,}/g, " ");
|
|
}
|
|
|
|
module.exports = {
|
|
getRecordIdFromFieldValue,
|
|
fetchInfoByCriteria,
|
|
updateRecordFromData,
|
|
cleanDoubleSpaces,
|
|
customFormatNumber,
|
|
};
|