UNPKG

@ai-growth/n8n-nodes-wordpress

Version:

n8n node for WordPress integration with AI GROWTH - SEO WP plugin

113 lines (112 loc) 4.01 kB
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; }