44 lines
1.1 KiB
TypeScript
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;
|
|
}
|
|
}
|