@cdkx/web-application
Version:
Static web application hosting related constructs
43 lines (42 loc) • 1.22 kB
TypeScript
/// <amd-module name="@cdkx/web-application/handlers/assets-uploader" />
/// <reference types="node" />
import { APIGatewayEvent } from 'aws-lambda';
import { S3 } from 'aws-sdk';
import { BaseHandler } from './base-handler';
export interface IUploadSuccessBody {
location: string;
key: string;
bucket: string;
eTag: string;
}
/**
* Upload files to s3 or return upload Url
* @params returnSignedUrlOnly: boolean @default false
*/
export declare class AssetsUploader extends BaseHandler {
private s3;
constructor(s3: S3);
run(event: APIGatewayEvent): Promise<{
statusCode: number;
body: string;
headers?: unknown;
isBase64Encoded: boolean;
}>;
parseFormData(event: APIGatewayEvent & {
parsedBody?: {
files: {
[key: string]: {
data?: Buffer;
fileName?: string;
fieldName: string;
encoding: string;
mimeType: string;
value?: unknown;
};
};
fields: {
[fieldName: string]: unknown;
};
};
}): Promise<typeof event>;
}