UNPKG

n8n

Version:

n8n Workflow Automation Tool

68 lines 3.15 kB
"use strict"; const api_types_1 = require("@n8n/api-types"); const db_1 = require("@n8n/db"); const di_1 = require("@n8n/di"); const typeorm_1 = require("@n8n/typeorm"); const global_middleware_1 = require("../../shared/middlewares/global.middleware"); const pagination_service_1 = require("../../shared/services/pagination.service"); const variables_controller_ee_1 = require("../../../../environments.ee/variables/variables.controller.ee"); module.exports = { createVariable: [ (0, global_middleware_1.isLicensed)('feat:variables'), (0, global_middleware_1.apiKeyHasScopeWithGlobalScopeFallback)({ scope: 'variable:create' }), async (req, res) => { const payload = api_types_1.CreateVariableRequestDto.safeParse(req.body); if (payload.error) { return res.status(400).json(payload.error.errors[0]); } await di_1.Container.get(variables_controller_ee_1.VariablesController).createVariable(req, res, payload.data); return res.status(201).send(); }, ], updateVariable: [ (0, global_middleware_1.isLicensed)('feat:variables'), (0, global_middleware_1.apiKeyHasScopeWithGlobalScopeFallback)({ scope: 'variable:update' }), async (req, res) => { const payload = api_types_1.CreateVariableRequestDto.safeParse(req.body); if (payload.error) { return res.status(400).json(payload.error.errors[0]); } await di_1.Container.get(variables_controller_ee_1.VariablesController).updateVariable(req, res, payload.data); return res.status(204).send(); }, ], deleteVariable: [ (0, global_middleware_1.isLicensed)('feat:variables'), (0, global_middleware_1.apiKeyHasScopeWithGlobalScopeFallback)({ scope: 'variable:delete' }), async (req, res) => { await di_1.Container.get(variables_controller_ee_1.VariablesController).deleteVariable(req); return res.status(204).send(); }, ], getVariables: [ (0, global_middleware_1.isLicensed)('feat:variables'), (0, global_middleware_1.apiKeyHasScopeWithGlobalScopeFallback)({ scope: 'variable:list' }), global_middleware_1.validCursor, async (req, res) => { const { offset = 0, limit = 100, projectId, state } = req.query; const [variables, count] = await di_1.Container.get(db_1.VariablesRepository).findAndCount({ skip: offset, take: limit, where: { project: projectId === 'null' ? (0, typeorm_1.IsNull)() : { id: projectId }, value: state === 'empty' ? '' : undefined, }, relations: ['project'], }); return res.json({ data: variables, nextCursor: (0, pagination_service_1.encodeNextCursor)({ offset, limit, numberOfTotalRecords: count, }), }); }, ], }; //# sourceMappingURL=variables.handler.js.map