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

44 lines
1.1 KiB
TypeScript

import serverError from "./serverError";
import fs from "fs";
import path from "path";
import { DSQL_DatabaseSchemaType } from "../../types";
import grabDirNames from "../../utils/backend/names/grab-dir-names";
type Param = {
userId: string | number;
schemaData: DSQL_DatabaseSchemaType[];
};
/**
* # Set User Schema Data
*/
export default function setUserSchemaData({
userId,
schemaData,
}: Param): boolean {
try {
const { userSchemaMainJSONFilePath } = grabDirNames({ userId });
if (!userSchemaMainJSONFilePath) {
throw new Error(`No User Schema JSON found!`);
}
fs.writeFileSync(
userSchemaMainJSONFilePath,
JSON.stringify(schemaData),
"utf8"
);
return true;
} catch (error: any) {
serverError({
component: "/functions/backend/setUserSchemaData",
message: error.message,
});
global.ERROR_CALLBACK?.(`Error Setting User Schema`, error as Error);
return false;
}
}