n8n
Version:
n8n Workflow Automation Tool
47 lines • 2.47 kB
JavaScript
const typedi_1 = require("typedi");
const source_control_helper_ee_1 = require("../../../../environments/source-control/source-control-helper.ee");
const source_control_preferences_service_ee_1 = require("../../../../environments/source-control/source-control-preferences.service.ee");
const source_control_service_ee_1 = require("../../../../environments/source-control/source-control.service.ee");
const event_service_1 = require("../../../../events/event.service");
const global_middleware_1 = require("../../shared/middlewares/global.middleware");
module.exports = {
pull: [
(0, global_middleware_1.globalScope)('sourceControl:pull'),
async (req, res) => {
const sourceControlPreferencesService = typedi_1.Container.get(source_control_preferences_service_ee_1.SourceControlPreferencesService);
if (!(0, source_control_helper_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(source_control_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, source_control_helper_ee_1.getTrackingInformationFromPullResult)(result.statusResult),
forced: req.body.force ?? 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=source-control.handler.js.map
;