"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = grabNewUsersTableSchema;
const grabSchemaFieldsFromData_1 = __importDefault(require("./grabSchemaFieldsFromData"));
const serverError_1 = __importDefault(require("./serverError"));
/**
 * # Add User Table to Database
 */
function grabNewUsersTableSchema(params) {
    try {
        const userPreset = require("../../data/presets/users.json");
        const defaultFields = require("../../data/defaultFields.json");
        const supplementalFields = (params === null || params === void 0 ? void 0 : params.payload)
            ? (0, grabSchemaFieldsFromData_1.default)({
                data: params === null || params === void 0 ? void 0 : params.payload,
                excludeData: defaultFields,
                excludeFields: userPreset.fields,
            })
            : [];
        console.log("supplementalFields", supplementalFields);
        const allFields = [...userPreset.fields, ...supplementalFields];
        console.log("allFields", allFields);
        const finalFields = [
            ...defaultFields.slice(0, 2),
            ...allFields,
            ...defaultFields.slice(2),
        ];
        userPreset.fields = [...finalFields];
        return userPreset;
    }
    catch ( /** @type {any} */error) {
        console.log(`grabNewUsersTableSchema.ts ERROR: ${error.message}`);
        (0, serverError_1.default)({
            component: "grabNewUsersTableSchema",
            message: error.message,
        });
        return null;
    }
}