payload-plugin-cloud-storage
Version:
Remote storage plugin for Payload CMS.
17 lines (16 loc) • 757 B
TypeScript
import * as AWS from '@aws-sdk/client-s3';
import { AdapterInterface, getEndpointUrl, UploadedFile } from '../adapter';
export declare type FileOptions = {
bucket: string;
endpointUrl: string;
acl?: 'private' | 'public-read';
};
export default class S3Adapter implements AdapterInterface<AWS.PutObjectCommandOutput, AWS.DeleteObjectCommandOutput> {
instance: AWS.S3;
options: FileOptions;
getEndpointUrlRef: getEndpointUrl | undefined;
constructor(s3Configuration: AWS.S3ClientConfig, fileOptions: FileOptions, getEndpoint?: getEndpointUrl);
getEndpointUrl(filename: string): string;
upload(file: UploadedFile): Promise<AWS.PutObjectCommandOutput>;
delete(filename: string): Promise<AWS.DeleteObjectCommandOutput>;
}