@ai-growth/n8n-nodes-wordpress
Version:
n8n node for WordPress integration with AI GROWTH - SEO WP plugin
102 lines (101 loc) • 2.9 kB
TypeScript
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 {};