datasquirel/package-shared/functions/backend/grabNewUsersTableSchema.ts
2025-01-10 20:10:28 +01:00

49 lines
1.5 KiB
TypeScript
Executable File

import { DSQL_FieldSchemaType, DSQL_TableSchemaType } from "../../types";
import grabSchemaFieldsFromData from "./grabSchemaFieldsFromData";
import serverError from "./serverError";
/**
* # Add User Table to Database
*/
export default function grabNewUsersTableSchema(params: {
payload?: { [s: string]: any };
}): DSQL_TableSchemaType | null {
try {
const userPreset: DSQL_TableSchemaType = require("../../data/presets/users.json");
const defaultFields: DSQL_FieldSchemaType[] = require("../../data/defaultFields.json");
const supplementalFields = params?.payload
? grabSchemaFieldsFromData({
data: 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: any) {
console.log(`grabNewUsersTableSchema.js ERROR: ${error.message}`);
serverError({
component: "grabNewUsersTableSchema",
message: error.message,
});
return null;
}
}