import { DSQL_DatabaseSchemaType, UserType } from "../../types"; import serverError from "./serverError"; import fs from "fs"; import grabDirNames from "../../utils/backend/names/grab-dir-names"; import EJSON from "../../utils/ejson"; type Params = { userId?: string | number; }; /** * # Grab User Schema Data */ export default function grabUserSchemaData({ userId, }: Params): DSQL_DatabaseSchemaType[] | null { try { const { userSchemaMainJSONFilePath } = grabDirNames({ userId }); const schemaJSON = fs.readFileSync( userSchemaMainJSONFilePath || "", "utf-8" ); const schemaObj = EJSON.parse(schemaJSON) as DSQL_DatabaseSchemaType[]; return schemaObj; } catch (error: any) { serverError({ component: "grabUserSchemaData", message: error.message, }); global.ERROR_CALLBACK?.( `Error Grabbing User Schema Data`, error as Error ); return null; } }