datasquirel/package-shared/functions/backend/grabUserSchemaData.ts
Benjamin Toby 761348de08 Updates
2025-06-04 08:43:16 +01:00

39 lines
1.1 KiB
TypeScript

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;
}
}