@poli-digital/n8n-nodes-poli
Version:
Nó para interagir com a API da Poli
62 lines • 2.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validateRequiredArray = exports.sanitizeEndpoint = exports.validateAndSanitizeUrl = exports.getMultipleParametersSafe = exports.validateRequiredParameter = exports.getParameterSafe = void 0;
function getParameterSafe(executeFunctions, parameterName, itemIndex, fallback = '', required = false) {
try {
const value = executeFunctions.getNodeParameter(parameterName, itemIndex, fallback);
if (required && (value === '' || value === null || value === undefined)) {
throw new Error(`❌ Parâmetro obrigatório '${parameterName}' está vazio ou ausente`);
}
return value;
}
catch (error) {
if (required) {
throw new Error(`❌ Parâmetro obrigatório '${parameterName}' não encontrado: ${error.message}`);
}
console.warn(`⚠️ Parâmetro '${parameterName}' não encontrado no item ${itemIndex}, usando fallback:`, fallback);
return fallback;
}
}
exports.getParameterSafe = getParameterSafe;
function validateRequiredParameter(value, parameterName) {
if (value === '' || value === null || value === undefined) {
throw new Error(`❌ Parâmetro obrigatório '${parameterName}' é necessário`);
}
}
exports.validateRequiredParameter = validateRequiredParameter;
function getMultipleParametersSafe(executeFunctions, itemIndex, parameters) {
const result = {};
for (const param of parameters) {
result[param.name] = getParameterSafe(executeFunctions, param.name, itemIndex, param.fallback || '', param.required || false);
}
return result;
}
exports.getMultipleParametersSafe = getMultipleParametersSafe;
function validateAndSanitizeUrl(url, parameterName = 'url') {
if (!url || url.trim() === '') {
throw new Error(`❌ Parâmetro '${parameterName}' deve conter uma URL válida`);
}
const trimmedUrl = url.trim();
try {
new URL(trimmedUrl);
return trimmedUrl;
}
catch (error) {
throw new Error(`❌ Parâmetro '${parameterName}' deve conter uma URL válida. Formato: https://exemplo.com/webhook`);
}
}
exports.validateAndSanitizeUrl = validateAndSanitizeUrl;
function sanitizeEndpoint(endpoint) {
if (!endpoint)
return '/';
const cleaned = endpoint.trim();
return cleaned.startsWith('/') ? cleaned : `/${cleaned}`;
}
exports.sanitizeEndpoint = sanitizeEndpoint;
function validateRequiredArray(array, parameterName) {
if (!Array.isArray(array) || array.length === 0) {
throw new Error(`❌ Parâmetro '${parameterName}' deve conter pelo menos um item`);
}
}
exports.validateRequiredArray = validateRequiredArray;
//# sourceMappingURL=parameterUtils.js.map