59 lines
2.1 KiB
JavaScript
59 lines
2.1 KiB
JavaScript
|
// @ts-check
|
||
|
|
||
|
/** ****************************************************************************** */
|
||
|
/** ****************************************************************************** */
|
||
|
/** ****************************************************************************** */
|
||
|
/** ****************************************************************************** */
|
||
|
/** ****************************************************************************** */
|
||
|
/** ****************************************************************************** */
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
* @param {object} param0
|
||
|
* @param {DSQL_FieldSchemaType[]} param0.tableInfoArray
|
||
|
* @returns
|
||
|
*/
|
||
|
module.exports = function supplementTable({ tableInfoArray }) {
|
||
|
/**
|
||
|
* Format tableInfoArray
|
||
|
*
|
||
|
* @description Format tableInfoArray
|
||
|
*/
|
||
|
let finalTableArray = tableInfoArray;
|
||
|
const defaultFields = require("../../jsonData/dbSchemas/defaultFields.json");
|
||
|
|
||
|
////////////////////////////////////////
|
||
|
|
||
|
let primaryKeyExists = finalTableArray.filter(
|
||
|
(_field) => _field.primaryKey
|
||
|
);
|
||
|
|
||
|
////////////////////////////////////////
|
||
|
|
||
|
defaultFields.forEach((field) => {
|
||
|
let fieldExists = finalTableArray.filter(
|
||
|
(_field) => _field.fieldName === field.fieldName
|
||
|
);
|
||
|
|
||
|
if (fieldExists && fieldExists[0]) {
|
||
|
return;
|
||
|
} else if (field.fieldName === "id" && !primaryKeyExists[0]) {
|
||
|
finalTableArray.unshift(field);
|
||
|
} else {
|
||
|
finalTableArray.push(field);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
////////////////////////////////////////
|
||
|
////////////////////////////////////////
|
||
|
////////////////////////////////////////
|
||
|
|
||
|
return finalTableArray;
|
||
|
};
|
||
|
|
||
|
/** ****************************************************************************** */
|
||
|
/** ****************************************************************************** */
|
||
|
/** ****************************************************************************** */
|
||
|
/** ****************************************************************************** */
|
||
|
/** ****************************************************************************** */
|