n8n
Version:
n8n Workflow Automation Tool
48 lines • 2.51 kB
JavaScript
const typedi_1 = require("typedi");
const global_middleware_1 = require("../../shared/middlewares/global.middleware");
const sourceControl_service_ee_1 = require("../../../../environments/sourceControl/sourceControl.service.ee");
const sourceControlPreferences_service_ee_1 = require("../../../../environments/sourceControl/sourceControlPreferences.service.ee");
const sourceControlHelper_ee_1 = require("../../../../environments/sourceControl/sourceControlHelper.ee");
const event_service_1 = require("../../../../events/event.service");
module.exports = {
pull: [
(0, global_middleware_1.globalScope)('sourceControl:pull'),
async (req, res) => {
var _a;
const sourceControlPreferencesService = typedi_1.Container.get(sourceControlPreferences_service_ee_1.SourceControlPreferencesService);
if (!(0, sourceControlHelper_ee_1.isSourceControlLicensed)()) {
return res
.status(401)
.json({ status: 'Error', message: 'Source Control feature is not licensed' });
}
if (!sourceControlPreferencesService.isSourceControlConnected()) {
return res
.status(400)
.json({ status: 'Error', message: 'Source Control is not connected to a repository' });
}
try {
const sourceControlService = typedi_1.Container.get(sourceControl_service_ee_1.SourceControlService);
const result = await sourceControlService.pullWorkfolder({
force: req.body.force,
variables: req.body.variables,
userId: req.user.id,
});
if (result.statusCode === 200) {
typedi_1.Container.get(event_service_1.EventService).emit('source-control-user-pulled-api', {
...(0, sourceControlHelper_ee_1.getTrackingInformationFromPullResult)(result.statusResult),
forced: (_a = req.body.force) !== null && _a !== void 0 ? _a : false,
});
return res.status(200).send(result.statusResult);
}
else {
return res.status(409).send(result.statusResult);
}
}
catch (error) {
return res.status(400).send(error.message);
}
},
],
};
//# sourceMappingURL=sourceControl.handler.js.map
;