UNPKG

sky-buckets

Version:

NPM package to redirect file uploads from Multer to MinIO with TypeScript support.

39 lines (38 loc) 1.5 kB
import { Request } from 'express'; import * as Minio from 'minio'; import { StorageEngine } from 'multer'; declare global { namespace Express { namespace Multer { interface File { bucket?: string; key?: string; etag?: string; location?: string; } } } } interface MinioStorageOptions { minioClient: Minio.Client; minioEndPoint: string; minioPort: number; minioUseSSL: boolean; bucketName: (req: Request, file: Express.Multer.File) => string | Promise<string>; objectName: (req: Request, file: Express.Multer.File) => string | Promise<string>; metadata?: (req: Request, file: Express.Multer.File) => Minio.ItemBucketMetadata | Promise<Minio.ItemBucketMetadata>; } export declare class MinioStorage implements StorageEngine { private readonly minioClient; private readonly minioEndPoint; private readonly minioPort; private readonly minioUseSSL; private readonly getBucketName; private readonly getObjectName; private readonly getMetadata; constructor(opts: MinioStorageOptions); _handleFile: (req: Request, file: Express.Multer.File, cb: (error?: any, info?: Partial<Express.Multer.File>) => void) => Promise<void>; _removeFile: (req: Request, file: Express.Multer.File, cb: (error: Error | null) => void) => Promise<void>; } export declare function createMinioStorage(opts: MinioStorageOptions): MinioStorage; export {};