@ai-growth/wordpress
Version:
n8n node for WordPress integration with AI GROWTH - SEO WP plugin
101 lines (100 loc) • 3.62 kB
TypeScript
import { ICredentialDataDecryptedObject, IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
import { ICreatePostParams, IDeletePostParams, IGetAllPostsParams, IGetPostParams, IUpdatePostParams, WordPressOperation, WordPressResource } from '../interfaces/NodeInterfaces';
/**
* 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);
/**
* 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[];
/**
* 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;
}