UNPKG

@ai-growth/n8n-nodes-wordpress

Version:

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

139 lines (138 loc) 4.15 kB
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; }