@ai-growth/n8n-nodes-wordpress
Version:
n8n node for WordPress integration with AI GROWTH - SEO WP plugin
83 lines (82 loc) • 3.01 kB
TypeScript
import { WordPressClient } from '../utils/WordPressClient';
import { IImageMetadata, IWordPressImage } from '../interfaces/WordPressInterfaces';
import { IMediaUploadOptions } from './MediaUploadService';
/**
* Opções para definir a imagem destacada
*/
export interface ISetFeaturedImageOptions {
/**
* Metadados da imagem
*/
metadata?: IImageMetadata;
/**
* Opções para upload da imagem
*/
uploadOptions?: IMediaUploadOptions;
}
/**
* Tipo de conteúdo WordPress
*/
export type WordPressContentType = 'post' | 'page' | 'product';
/**
* Serviço para gerenciar imagens destacadas e metadados de imagens
*/
export declare class FeaturedImageService {
private client;
private mediaService;
/**
* Construtor do serviço
* @param client Cliente WordPress
*/
constructor(client: WordPressClient);
/**
* Define a imagem destacada para um conteúdo a partir de uma URL de imagem
* @param contentId ID do conteúdo (post, página, etc.)
* @param contentType Tipo de conteúdo
* @param imageUrl URL da imagem
* @param options Opções adicionais
* @returns Conteúdo atualizado
*/
setFeaturedImageFromUrl(contentId: number, contentType: WordPressContentType, imageUrl: string, options?: ISetFeaturedImageOptions): Promise<any>;
/**
* Define a imagem destacada para um conteúdo a partir de um ID de mídia existente
* @param contentId ID do conteúdo (post, página, etc.)
* @param contentType Tipo de conteúdo
* @param mediaId ID da mídia na biblioteca do WordPress
* @returns Conteúdo atualizado
*/
setFeaturedImage(contentId: number, contentType: WordPressContentType, mediaId: number): Promise<any>;
/**
* Remove a imagem destacada de um conteúdo
* @param contentId ID do conteúdo (post, página, etc.)
* @param contentType Tipo de conteúdo
* @returns Conteúdo atualizado
*/
removeFeaturedImage(contentId: number, contentType: WordPressContentType): Promise<any>;
/**
* Obtém a imagem destacada de um conteúdo
* @param contentId ID do conteúdo (post, página, etc.)
* @param contentType Tipo de conteúdo
* @returns Imagem destacada ou null se não houver
*/
getFeaturedImage(contentId: number, contentType: WordPressContentType): Promise<IWordPressImage | null>;
/**
* Verifica se um conteúdo existe
* @param contentId ID do conteúdo
* @param contentType Tipo de conteúdo
* @returns Conteúdo se existir
*/
private checkContentExists;
/**
* Obtém o endpoint da API para o tipo de conteúdo
* @param contentType Tipo de conteúdo
* @returns Endpoint da API
*/
private getEndpointForContentType;
/**
* Capitaliza a primeira letra do tipo de conteúdo
* @param contentType Tipo de conteúdo
* @returns Tipo de conteúdo com primeira letra maiúscula
*/
private capitalizeContentType;
}