import { DSQL_DatabaseSchemaType, UserType } from "@/package-shared/types"; import serverError from "./serverError"; import fs from "fs"; import grabDirNames from "@/package-shared/utils/backend/names/grab-dir-names"; import { EJSON } from "@/client-exports"; 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; } }