UNPKG

@ai-growth/n8n-nodes-wordpress

Version:

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

102 lines (101 loc) 2.9 kB
import { WordPressClient } from '../utils/WordPressClient'; import { IWordPressPostMetadata } from '../interfaces/WordPressInterfaces'; /** * Opções para a consulta de metadados SEO */ export interface ISeoQueryOptions { /** * Incluir FAQ * Default: true */ includeFaq?: boolean; /** * Incluir CTA * Default: true */ includeCta?: boolean; /** * Tratar como erro se o plugin não estiver disponível * Default: false */ requirePlugin?: boolean; } /** * Resposta de versão do plugin */ interface IPluginVersionResponse { /** * Versão do plugin */ version: string; /** * Recursos disponíveis */ features?: string[]; /** * Status do plugin */ status: 'active' | 'inactive' | 'not_installed'; } /** * Serviço para gerenciamento de metadados SEO */ export declare class SeoService { private client; private pluginEndpoint; private pluginAvailabilityChecked; private pluginAvailable; private pluginVersion; private pluginFeatures; /** * Construtor do serviço * @param client Cliente WordPress */ constructor(client: WordPressClient); /** * Verifica se o plugin AI GROWTH - SEO WP está disponível * @param force Forçar verificação mesmo se já verificado * @returns Status do plugin */ checkPluginAvailability(force?: boolean): Promise<IPluginVersionResponse>; /** * Obtém metadados SEO para um post específico * @param postId ID do post * @param options Opções da consulta * @returns Metadados SEO do post */ getPostSeoMetadata(postId: number, options?: ISeoQueryOptions): Promise<IWordPressPostMetadata>; /** * Formata os dados de FAQ do plugin * @param faq Dados de FAQ da API * @returns FAQ formatado */ private formatFaq; /** * Formata os dados de CTA do plugin * @param cta Dados de CTA da API * @returns CTA formatado */ private formatCta; /** * Verifica se uma feature específica do plugin está disponível * @param featureName Nome da feature * @returns Se a feature está disponível */ hasFeature(featureName: string): boolean; /** * Enriquece um post com metadados SEO * @param post Post a ser enriquecido * @param options Opções da consulta * @returns Post com metadados SEO */ enrichPostWithSeo(post: Record<string, any>, options?: ISeoQueryOptions): Promise<Record<string, any>>; /** * Enriquece múltiplos posts com metadados SEO * @param posts Array de posts a serem enriquecidos * @param options Opções da consulta * @returns Posts com metadados SEO */ enrichPostsWithSeo(posts: Record<string, any>[], options?: ISeoQueryOptions): Promise<Record<string, any>[]>; } export {};