n8n
Version:
n8n Workflow Automation Tool
48 lines • 1.78 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.preparePersonalizationSurvey = exports.writeSurveyToDisk = void 0;
const fs_1 = require("fs");
const util_1 = require("util");
const n8n_core_1 = require("n8n-core");
const config = require("../config");
const _1 = require(".");
const fsWriteFile = util_1.promisify(fs_1.writeFile);
const PERSONALIZATION_SURVEY_FILENAME = 'personalizationSurvey.json';
function loadSurveyFromDisk() {
const userSettingsPath = n8n_core_1.UserSettings.getUserN8nFolderPath();
try {
const surveyFile = fs_1.readFileSync(`${userSettingsPath}/${PERSONALIZATION_SURVEY_FILENAME}`, 'utf-8');
return JSON.parse(surveyFile);
}
catch (error) {
return undefined;
}
}
async function writeSurveyToDisk(surveyAnswers) {
const userSettingsPath = n8n_core_1.UserSettings.getUserN8nFolderPath();
await fsWriteFile(`${userSettingsPath}/${PERSONALIZATION_SURVEY_FILENAME}`, JSON.stringify(surveyAnswers, null, '\t'));
}
exports.writeSurveyToDisk = writeSurveyToDisk;
async function preparePersonalizationSurvey() {
var _a;
const survey = {
shouldShow: false,
};
survey.answers = loadSurveyFromDisk();
if (survey.answers) {
return survey;
}
const enabled = config.get('personalization.enabled') &&
config.get('diagnostics.enabled');
if (!enabled) {
return survey;
}
const workflowsExist = !!(await ((_a = _1.Db.collections.Workflow) === null || _a === void 0 ? void 0 : _a.findOne()));
if (workflowsExist) {
return survey;
}
survey.shouldShow = true;
return survey;
}
exports.preparePersonalizationSurvey = preparePersonalizationSurvey;
//# sourceMappingURL=PersonalizationSurvey.js.map
;