26 lines
876 B
JavaScript
26 lines
876 B
JavaScript
import fs from "fs";
|
|
import grabDirNames from "../names/grab-dir-names";
|
|
import grabConfig from "./grab-config";
|
|
import _ from "lodash";
|
|
export default function updateUserConfig({ newConfig, userId, }) {
|
|
if (!userId || !newConfig) {
|
|
return {
|
|
success: false,
|
|
msg: `UserID or newConfig not provided`,
|
|
};
|
|
}
|
|
const { userConfigJSONFilePath } = grabDirNames({
|
|
userId,
|
|
});
|
|
if (!userConfigJSONFilePath || !fs.existsSync(userConfigJSONFilePath)) {
|
|
return {
|
|
success: false,
|
|
msg: `userConfigJSONFilePath not found!`,
|
|
};
|
|
}
|
|
const { userConfig: existingUserConfig } = grabConfig({ userId });
|
|
const updateConfig = _.merge(existingUserConfig, newConfig);
|
|
fs.writeFileSync(userConfigJSONFilePath, JSON.stringify(updateConfig), "utf-8");
|
|
return { success: true };
|
|
}
|