UNPKG

@nivinjoseph/n-data

Version:

Data access library for Postgres based on Knex

38 lines 1.39 kB
import { FileStore } from "./file-store.js"; import { StoredFile } from "./stored-file.js"; import { S3FileStoreConfig } from "./s3-file-store-config.js"; import { Disposable, Duration } from "@nivinjoseph/n-util"; export declare class S3FileStore implements FileStore, Disposable { private readonly _config; private readonly _privateBucket; private readonly _publicBucket; private readonly _publicBucketHasDot; private readonly _connection; private readonly _maxFileSize; private _isDisposed; constructor(config: S3FileStoreConfig); store(fileName: string, fileData: Buffer): Promise<StoredFile>; retrieve(file: StoredFile): Promise<Buffer>; makePublic(file: StoredFile): Promise<StoredFile>; /** * * @param fileName * @param fileSize * @param fileHash * @param expiry default and max duration is 7 days * @returns */ createSignedUpload(fileName: string, fileSize: number, fileHash: string, expiry?: Duration): Promise<StoredFile>; /** * * @param file * @param expiry default and max duration is 7 days * @returns */ createSignedDownload(file: StoredFile, expiry?: Duration): Promise<StoredFile>; dispose(): Promise<void>; private _getFileExt; private _getContentType; private _verifyStoredFileIntegrity; } //# sourceMappingURL=s3-file-store.d.ts.map