UNPKG

@tsdiapi/s3

Version:

A TSDIAPI plugin for seamless AWS S3 integration, enabling file uploads, downloads, and presigned URL generation.

30 lines 1.02 kB
import type { AppContext, AppPlugin } from "@tsdiapi/server"; import { UploadFileData, S3Provider, UploadFileResponse } from './s3.js'; export { S3Provider, generateFileName, getFileMeta } from './s3.js'; declare module "fastify" { interface FastifyInstance { s3: S3Provider; } } export type PluginOptions = { publicBucketName?: string; privateBucketName?: string; accessKeyId?: string; secretAccessKey?: string; region?: string; customHost?: string; folderPrefix?: string; generateFileNameFunc?: (file: UploadFileData) => string; }; declare class App implements AppPlugin { name: string; config: PluginOptions; context: AppContext; provider: S3Provider; constructor(config?: PluginOptions); onInit(ctx: AppContext): Promise<void>; } export declare function useS3Provider(): S3Provider; export type { UploadFileData as FileMeta, UploadFileResponse }; export default function createPlugin(config?: PluginOptions): App; //# sourceMappingURL=index.d.ts.map