@ai-growth/n8n-nodes-wordpress
Version:
n8n node for WordPress integration with AI GROWTH - SEO WP plugin
139 lines (138 loc) • 4.15 kB
TypeScript
import { WordPressClient } from '../utils/WordPressClient';
import { IWordPressPost, ITaxonomyItem } from '../interfaces/WordPressInterfaces';
/**
* Opções para consulta de conteúdo
*/
export interface IContentQueryOptions {
/**
* Número da página para resultados paginados
* Default: 1
*/
page?: number;
/**
* Quantidade de itens por página
* Default: 10
*/
perPage?: number;
/**
* Status do conteúdo a ser consultado
* Default: 'publish'
*/
status?: string;
/**
* Filtro por termo de busca
*/
search?: string;
/**
* Filtro por categorias (IDs)
*/
categories?: number[];
/**
* Filtro por tags (IDs)
*/
tags?: number[];
/**
* Incluir metadados do AI GROWTH - SEO WP
* Default: false
*/
includeSeoMetadata?: boolean;
/**
* Incluir FAQs do AI GROWTH - SEO WP
* Default: false
*/
includeFaqs?: boolean;
/**
* Incluir CTA do AI GROWTH - SEO WP
* Default: false
*/
includeCta?: boolean;
}
/**
* Serviço para gerenciamento de conteúdo do WordPress
*/
export declare class ContentService {
private client;
private seoService;
private faqService;
private ctaService;
private parameterSupportCache;
/**
* Construtor do serviço
* @param client Cliente WordPress
*/
constructor(client: WordPressClient);
/**
* Valida se um endpoint está disponível antes de fazer a requisição
* @param endpoint Endpoint a ser validado
* @param method Método HTTP (padrão: GET)
* @returns True se o endpoint estiver disponível
*/
private validateEndpointAvailability;
/**
* Testa se um endpoint suporta parâmetros específicos
* @param endpoint Endpoint a ser testado
* @param parameters Parâmetros a serem testados
* @returns True se os parâmetros são suportados
*/
private testParameterSupport;
/**
* Filtra posts no lado do cliente quando a filtragem no servidor falha
* @param posts Posts a serem filtrados
* @param categories IDs das categorias para filtrar
* @param tags IDs das tags para filtrar
* @returns Posts filtrados
*/
private filterPostsClientSide;
/**
* Cria uma mensagem de erro amigável quando um endpoint não está disponível
* @param endpoint Endpoint que não foi encontrado
* @param method Método HTTP
* @returns Mensagem de erro
*/
private createEndpointNotAvailableError;
/**
* Obtém posts do WordPress
* @param options Opções da consulta
* @returns Array de posts
*/
getPosts(options?: IContentQueryOptions): Promise<IWordPressPost[]>;
/**
* Obtém páginas do WordPress
* @param options Opções da consulta
* @returns Array de páginas
*/
getPages(options?: IContentQueryOptions): Promise<IWordPressPost[]>;
/**
* Obtém um post específico pelo ID
* @param id ID do post
* @param options Opções da consulta
* @returns Post ou null se não encontrado
*/
getPost(id: number, options?: IContentQueryOptions): Promise<IWordPressPost | null>;
/**
* Obtém uma página específica pelo ID
* @param id ID da página
* @param options Opções da consulta
* @returns Página ou null se não encontrada
*/
getPage(id: number, options?: IContentQueryOptions): Promise<IWordPressPost | null>;
/**
* Obtém categorias do WordPress
* @param options Opções da consulta
* @returns Array de categorias
*/
getCategories(options?: IContentQueryOptions): Promise<ITaxonomyItem[]>;
/**
* Obtém tags do WordPress
* @param options Opções da consulta
* @returns Array de tags
*/
getTags(options?: IContentQueryOptions): Promise<ITaxonomyItem[]>;
/**
* Enriquece os posts com metadados do AI GROWTH - SEO WP
* @param posts Posts a serem enriquecidos
* @param options Opções de enriquecimento
* @returns Posts enriquecidos
*/
private enrichPosts;
}