This repository has been archived on 2026-04-30. You can view files and clone it, but cannot push or open issues or pull requests.
next-deploy/packages/aws-s3/types.d.ts

71 lines
1.4 KiB
TypeScript

import { Credentials, S3 } from 'aws-sdk';
type AwsS3Inputs = {
name?: string;
region?: string;
file?: string;
dir?: string;
key?: string;
zip?: string;
accelerated?: boolean;
cacheControl?: S3.CacheControl;
keyPrefix?: string;
cors?: S3.CORSConfiguration;
};
type PublicDirectoryCache =
| boolean
| {
test?: string;
value?: string;
};
type SyncStageStateDirectoryOptions = Stage & {
nextConfigDir: string;
credentials: Credentials;
syncTo?: boolean;
};
type Stage = {
bucketName: string;
name: string;
versioned?: boolean;
};
type UploadStaticAssetsOptions = {
bucketName: string;
nextConfigDir: string;
nextStaticDir?: string;
credentials: Credentials;
publicDirectoryCache?: PublicDirectoryCache;
};
type S3ClientFactoryOptions = {
bucketName: string;
credentials: Credentials;
};
type UploadFileOptions = {
filePath: string;
cacheControl?: string;
s3Key?: string;
};
type DownloadFileOptions = {
s3Key: string;
};
type ListFileOptions = {
s3Key: string;
};
type SetVersioningOptions = {
versioned?: boolean;
};
type S3Client = {
uploadFile: (options: UploadFileOptions) => Promise<S3.ManagedUpload.SendData>;
listFiles: (options: ListFileOptions) => Promise<S3.ListObjectsV2Output>;
downloadFile: (options: DownloadFileOptions) => Promise<S3.GetObjectOutput>;
setVersioning: (options: SetVersioningOptions) => Promise<unknown>;
};