n8n
Version:
n8n Workflow Automation Tool
34 lines • 1.52 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.validCredentialsProperties = exports.validCredentialType = void 0;
const jsonschema_1 = require("jsonschema");
const CredentialsHelper_1 = require("../../../../CredentialsHelper");
const CredentialTypes_1 = require("../../../../CredentialTypes");
const credentials_service_1 = require("./credentials.service");
const typedi_1 = require("typedi");
const validCredentialType = (req, res, next) => {
try {
typedi_1.Container.get(CredentialTypes_1.CredentialTypes).getByName(req.body.type);
}
catch {
return res.status(400).json({ message: 'req.body.type is not a known type' });
}
return next();
};
exports.validCredentialType = validCredentialType;
const validCredentialsProperties = (req, res, next) => {
const { type, data } = req.body;
const properties = typedi_1.Container.get(CredentialsHelper_1.CredentialsHelper)
.getCredentialsProperties(type)
.filter((property) => property.type !== 'hidden');
const schema = (0, credentials_service_1.toJsonSchema)(properties);
const { valid, errors } = (0, jsonschema_1.validate)(data, schema, { nestedErrors: true });
if (!valid) {
return res.status(400).json({
message: errors.map((error) => `request.body.data ${error.message}`).join(','),
});
}
return next();
};
exports.validCredentialsProperties = validCredentialsProperties;
//# sourceMappingURL=credentials.middleware.js.map
;