Extend the `processImage` method to support optional resizing with `width` and `height` parameters. Update processing pipeline to handle resizing while maintaining existing format processing for `webp` and `avif`.
27 lines
568 B
TypeScript
27 lines
568 B
TypeScript
export interface MediaProcessingResult {
|
|
buffer: Buffer;
|
|
mimeType: string;
|
|
extension: string;
|
|
width?: number;
|
|
height?: number;
|
|
size: number;
|
|
}
|
|
|
|
export interface ScanResult {
|
|
isInfected: boolean;
|
|
virusName?: string;
|
|
}
|
|
|
|
export interface IMediaService {
|
|
scanFile(buffer: Buffer, filename: string): Promise<ScanResult>;
|
|
processImage(
|
|
buffer: Buffer,
|
|
format?: "webp" | "avif",
|
|
resize?: { width?: number; height?: number },
|
|
): Promise<MediaProcessingResult>;
|
|
processVideo(
|
|
buffer: Buffer,
|
|
format?: "webm" | "av1",
|
|
): Promise<MediaProcessingResult>;
|
|
}
|