UNPKG

n8n

Version:

n8n Workflow Automation Tool

45 lines 2.47 kB
"use strict"; const api_types_1 = require("@n8n/api-types"); const di_1 = require("@n8n/di"); const source_control_helper_ee_1 = require("../../../../environments.ee/source-control/source-control-helper.ee"); const source_control_preferences_service_ee_1 = require("../../../../environments.ee/source-control/source-control-preferences.service.ee"); const source_control_service_ee_1 = require("../../../../environments.ee/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 = di_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 payload = api_types_1.PullWorkFolderRequestDto.parse(req.body); const sourceControlService = di_1.Container.get(source_control_service_ee_1.SourceControlService); const result = await sourceControlService.pullWorkfolder(req.user, payload); if (result.statusCode === 200) { di_1.Container.get(event_service_1.EventService).emit('source-control-user-pulled-api', { ...(0, source_control_helper_ee_1.getTrackingInformationFromPullResult)(req.user.id, result.statusResult), forced: payload.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