UNPKG

@ai-growth/n8n-nodes-wordpress

Version:

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

126 lines (125 loc) 4.17 kB
import { WordPressClient } from '../utils/WordPressClient'; import { IWordPressPost } from '../interfaces/WordPressInterfaces'; /** * Opções para a criação/atualização de conteúdo */ export interface IPostUpdateOptions { /** * Atualizar metadados SEO do AI GROWTH - SEO WP * Default: false */ updateSeoMetadata?: boolean; /** * Atualizar FAQs do AI GROWTH - SEO WP * Default: false */ updateFaqs?: boolean; /** * Atualizar CTA do AI GROWTH - SEO WP * Default: false */ updateCta?: boolean; /** * Atualizar imagem destacada */ updateFeaturedImage?: boolean; } /** * Serviço para criação e atualização de posts e páginas no WordPress */ export declare class PostCreateService { private client; private seoService; private faqService; private ctaService; private metadataService; private featuredImageService; private taxonomyService; /** * Construtor do serviço * @param client Cliente WordPress */ constructor(client: WordPressClient); /** * Cria um novo post no WordPress * @param post Dados do post a ser criado * @param options Opções da operação * @returns Post criado */ createPost(post: IWordPressPost, options?: IPostUpdateOptions): Promise<IWordPressPost>; /** * Cria uma nova página no WordPress * @param page Dados da página a ser criada * @param options Opções da operação * @returns Página criada */ createPage(page: IWordPressPost, options?: IPostUpdateOptions): Promise<IWordPressPost>; /** * Atualiza um post existente no WordPress * @param postId ID do post a ser atualizado * @param post Dados do post * @param options Opções da operação * @returns Post atualizado */ updatePost(postId: number, post: Partial<IWordPressPost>, options?: IPostUpdateOptions): Promise<IWordPressPost>; /** * Atualiza uma página existente no WordPress * @param pageId ID da página a ser atualizada * @param page Dados da página * @param options Opções da operação * @returns Página atualizada */ updatePage(pageId: number, page: Partial<IWordPressPost>, options?: IPostUpdateOptions): Promise<IWordPressPost>; /** * Exclui um post do WordPress * @param postId ID do post a ser excluído * @param force Forçar exclusão permanente (true) ou mover para lixeira (false) * @returns true se excluído com sucesso */ deletePost(postId: number, force?: boolean): Promise<boolean>; /** * Exclui uma página do WordPress * @param pageId ID da página a ser excluída * @param force Forçar exclusão permanente (true) ou mover para lixeira (false) * @returns true se excluída com sucesso */ deletePage(pageId: number, force?: boolean): Promise<boolean>; /** * Processa os metadados SEO, FAQ e CTA * @param postId ID do post/página * @param post Dados do post/página * @param options Opções da operação * @returns void */ private processMetadata; /** * Processa a imagem destacada de um post/página * @param postId ID do post/página * @param post Dados do post/página * @returns void */ private processFeaturedImage; /** * Formata um post/página para o formato esperado pela API WordPress * @param post Dados do post * @param type Tipo de conteúdo (post ou page) * @returns Payload formatado para a API */ private formatPostForApi; /** * Obtém um post/página completo com metadados * @param id ID do post/página * @param type Tipo de conteúdo (post ou page) * @param options Opções da operação * @returns Post/página completo */ private getCompletePost; /** * Verifica se um post/página existe no WordPress * @param id ID do post/página * @param type Tipo de conteúdo (post ou page) * @returns O post/página se existir * @throws WordPressError se não existir */ private validateResourceExists; }