@ai-growth/n8n-nodes-wordpress
Version:
n8n node for WordPress integration with AI GROWTH - SEO WP plugin
71 lines (70 loc) • 2.38 kB
TypeScript
import { WordPressClient } from '../utils/WordPressClient';
import { IImageMetadata, IWordPressImage } from '../interfaces/WordPressInterfaces';
import { IImageDownloadOptions } from './ImageDownloadService';
/**
* Opções para upload de mídia
*/
export interface IMediaUploadOptions {
/**
* Nome do arquivo (opcional, será extraído da URL se não fornecido)
*/
filename?: string;
/**
* Tipo MIME do arquivo (opcional, será determinado a partir da URL se não fornecido)
*/
mimeType?: string;
/**
* Metadados da imagem
*/
metadata?: IImageMetadata;
/**
* Opções para download da imagem (se upload a partir de URL)
*/
downloadOptions?: IImageDownloadOptions;
}
/**
* Serviço para upload de imagens para a biblioteca de mídia do WordPress
*/
export declare class MediaUploadService {
private client;
private downloadService;
private urlService;
/**
* Construtor do serviço
* @param client Cliente WordPress
*/
constructor(client: WordPressClient);
/**
* Faz upload de uma imagem para a biblioteca de mídia a partir de uma URL
* @param imageUrl URL da imagem
* @param options Opções de upload
* @returns Imagem carregada
*/
uploadFromUrl(imageUrl: string, options?: IMediaUploadOptions): Promise<IWordPressImage>;
/**
* Faz upload de dados binários de imagem para a biblioteca de mídia
* @param buffer Buffer contendo os dados da imagem
* @param options Opções de upload
* @returns Imagem carregada
*/
uploadBuffer(buffer: Buffer, options?: IMediaUploadOptions): Promise<IWordPressImage>;
/**
* Atualiza os metadados de uma imagem existente
* @param imageId ID da imagem na biblioteca de mídia
* @param metadata Metadados a serem atualizados
* @returns Imagem atualizada
*/
updateImageMetadata(imageId: number, metadata: IImageMetadata): Promise<IWordPressImage>;
/**
* Obtém uma mídia específica da biblioteca
* @param mediaId ID da mídia
* @returns Informações da mídia
*/
getMedia(mediaId: number): Promise<IWordPressImage>;
/**
* Formata a resposta da API para o formato de IWordPressImage
* @param response Resposta da API
* @returns Imagem formatada
*/
private formatMediaResponse;
}