sky-buckets
Version:
NPM package to redirect file uploads from Multer to MinIO with TypeScript support.
26 lines (25 loc) • 916 B
TypeScript
import * as Minio from 'minio';
import { Request } from 'express';
import { Readable } from 'stream';
export interface ISkyBucketsConfig {
minioEndPoint: string;
minioPort: number;
minioUseSSL: boolean;
minioAccessKey: string;
minioSecretKey: string;
bucketNameResolver?: (req: Request, file: Express.Multer.File) => string | Promise<string>;
objectNameResolver?: (req: Request, file: Express.Multer.File) => string | Promise<string>;
metadataResolver?: (req: Request, file: Express.Multer.File) => Minio.ItemBucketMetadata | Promise<Minio.ItemBucketMetadata>;
}
export interface UploadedObjectInfo {
etag: string;
bucket: string;
name: string;
}
export interface FileUploadData {
objectName: string;
data: Buffer | Readable | string | Blob;
type: 'buffer' | 'stream' | 'path' | 'base64' | 'blob';
size?: number;
metaData?: Minio.ItemBucketMetadata;
}