datasquirel/package-shared/functions/backend/grabUserSchemaData.ts
Benjamin Toby 6e334c2525 Updates
2025-06-04 08:46:39 +01:00

39 lines
1.0 KiB
TypeScript

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