@ai-growth/n8n-nodes-wordpress
Version:
n8n node for WordPress integration with AI GROWTH - SEO WP plugin
68 lines • 2.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Validator = void 0;
class Validator {
/**
* Valida as credenciais do WordPress
* @param credentials Credenciais a serem validadas
* @returns Um objeto com o resultado da validação
*/
static validateCredentials(credentials) {
// Validar URL
if (!credentials.url) {
return { valid: false, error: 'URL is required' };
}
try {
const url = new URL(credentials.url);
if (!['http:', 'https:'].includes(url.protocol)) {
return { valid: false, error: 'URL must use HTTP or HTTPS protocol' };
}
}
catch (error) {
return { valid: false, error: 'Invalid URL format' };
}
// Validar username
if (!credentials.username || credentials.username.trim() === '') {
return { valid: false, error: 'Username is required' };
}
// Validar password
if (!credentials.password || credentials.password.trim() === '') {
return { valid: false, error: 'Password is required' };
}
return { valid: true };
}
/**
* Sanitiza uma URL, removendo barras finais e garantindo o formato correto
* @param url URL para sanitizar
* @returns URL sanitizada
*/
static sanitizeUrl(url) {
if (!url)
return '';
try {
// Remover barras finais
let sanitized = url.trim();
while (sanitized.endsWith('/')) {
sanitized = sanitized.slice(0, -1);
}
// Verificar se a URL é válida
new URL(sanitized);
return sanitized;
}
catch (error) {
// Retornar a URL original se não for possível sanitizar
return url;
}
}
/**
* Valida se o status do post é válido
* @param status Status a ser validado
* @returns Verdadeiro se o status for válido
*/
static isValidPostStatus(status) {
const validStatuses = ['publish', 'future', 'draft', 'pending', 'private'];
return validStatuses.includes(status);
}
}
exports.Validator = Validator;
//# sourceMappingURL=Validator.js.map