UNPKG

n8n

Version:

n8n Workflow Automation Tool

62 lines 3.09 kB
"use strict"; const CredentialsHelper_1 = require("../../../../CredentialsHelper"); const CredentialTypes_1 = require("../../../../CredentialTypes"); const global_middleware_1 = require("../../shared/middlewares/global.middleware"); const credentials_middleware_1 = require("./credentials.middleware"); const credentials_service_1 = require("./credentials.service"); const typedi_1 = require("typedi"); module.exports = { createCredential: [ credentials_middleware_1.validCredentialType, credentials_middleware_1.validCredentialsProperties, async (req, res) => { try { const newCredential = await (0, credentials_service_1.createCredential)(req.body); const encryptedData = await (0, credentials_service_1.encryptCredential)(newCredential); Object.assign(newCredential, encryptedData); const savedCredential = await (0, credentials_service_1.saveCredential)(newCredential, req.user, encryptedData); return res.json((0, credentials_service_1.sanitizeCredentials)(savedCredential)); } catch ({ message, httpStatusCode }) { return res.status(httpStatusCode !== null && httpStatusCode !== void 0 ? httpStatusCode : 500).json({ message }); } }, ], deleteCredential: [ (0, global_middleware_1.projectScope)('credential:delete', 'credential'), async (req, res) => { const { id: credentialId } = req.params; let credential; if (!['global:owner', 'global:admin'].includes(req.user.role)) { const shared = await (0, credentials_service_1.getSharedCredentials)(req.user.id, credentialId); if ((shared === null || shared === void 0 ? void 0 : shared.role) === 'credential:owner') { credential = shared.credentials; } } else { credential = (await (0, credentials_service_1.getCredentials)(credentialId)); } if (!credential) { return res.status(404).json({ message: 'Not Found' }); } await (0, credentials_service_1.removeCredential)(req.user, credential); return res.json((0, credentials_service_1.sanitizeCredentials)(credential)); }, ], getCredentialType: [ async (req, res) => { const { credentialTypeName } = req.params; try { typedi_1.Container.get(CredentialTypes_1.CredentialTypes).getByName(credentialTypeName); } catch (error) { return res.status(404).json({ message: 'Not Found' }); } const schema = typedi_1.Container.get(CredentialsHelper_1.CredentialsHelper) .getCredentialsProperties(credentialTypeName) .filter((property) => property.type !== 'hidden'); return res.json((0, credentials_service_1.toJsonSchema)(schema)); }, ], }; //# sourceMappingURL=credentials.handler.js.map