@ai-growth/n8n-nodes-wordpress
Version:
n8n node for WordPress integration with AI GROWTH - SEO WP plugin
113 lines (112 loc) • 4.01 kB
TypeScript
import { ICredentialDataDecryptedObject, IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
import { ICreatePostParams, IDeletePostParams, IGetAllPostsParams, IGetPostParams, IUpdatePostParams, WordPressOperation, WordPressResource } from '../interfaces/NodeInterfaces';
import { WordPressClient } from '../utils/WordPressClient';
/**
* Serviço para executar operações do nó WordPress
*/
export declare class NodeService {
private execFunctions;
private client;
private contentService;
private postCreateService;
private taxonomyService;
private mediaService;
private featuredImageService;
/**
* Construtor do serviço
* @param execFunctions Funções de execução do n8n
* @param credentials Credenciais do WordPress
*/
constructor(execFunctions: IExecuteFunctions, credentials: ICredentialDataDecryptedObject);
/**
* Obtém o cliente WordPress para acesso direto
* @returns Cliente WordPress
*/
getClient(): WordPressClient;
/**
* Executa uma operação de post/página
* @param params Parâmetros da operação
* @param resource Tipo de recurso (post ou page)
* @param operation Operação a ser realizada
* @returns Dados resultantes da operação
*/
executeOperation(params: ICreatePostParams | IUpdatePostParams | IGetPostParams | IGetAllPostsParams | IDeletePostParams, resource: WordPressResource, operation: WordPressOperation): Promise<any>;
/**
* Converte parâmetros do nó para o formato da API WordPress
* @param params Parâmetros do nó
* @returns Parâmetros formatados para a API
*/
private convertToWordPressPost;
/**
* Cria um novo post/página
* @param params Parâmetros de criação
* @param resource Tipo de recurso (post ou page)
* @returns Recurso criado
*/
private createResource;
/**
* Atualiza um post/página existente
* @param params Parâmetros de atualização
* @param resource Tipo de recurso (post ou page)
* @returns Recurso atualizado
*/
private updateResource;
/**
* Obtém um post/página específico
* @param params Parâmetros da consulta
* @param resource Tipo de recurso (post ou page)
* @returns Recurso obtido
*/
private getResource;
/**
* Obtém múltiplos posts/páginas
* @param params Parâmetros da consulta
* @param resource Tipo de recurso (post ou page)
* @returns Lista de recursos
*/
private getAllResources;
/**
* Exclui um post/página
* @param params Parâmetros de exclusão
* @param resource Tipo de recurso (post ou page)
* @returns true se excluído com sucesso
*/
private deleteResource;
/**
* Converte um único resultado em formato de nó n8n
* @param result Resultado da operação
* @returns Dados formatados para o n8n
*/
formatSingleOutput(result: any): INodeExecutionData[];
/**
* Extrai nomes das taxonomias (categorias/tags) dos dados
* @param taxonomyData Dados das taxonomias
* @returns Array com os nomes
*/
private extractTaxonomyNames;
/**
* Converte múltiplos resultados em formato de nó n8n
* @param results Lista de resultados
* @returns Dados formatados para o n8n
*/
formatMultipleOutput(results: any[]): INodeExecutionData[];
/**
* Converte resultado booleano em formato de nó n8n
* @param success Resultado da operação
* @param id ID do recurso (opcional)
* @returns Dados formatados para o n8n
*/
formatBooleanOutput(success: boolean, id?: number): INodeExecutionData[];
/**
* Remove tags HTML de uma string
* @param html String HTML
* @returns Texto sem HTML
*/
private stripHtml;
/**
* Obtém o label do status para exibição
* @param status Status do WordPress
* @returns Label formatado
*/
private getStatusLabel;
}