From 16793374ec72c75f133368b209eb169e4fc2c8f2 Mon Sep 17 00:00:00 2001 From: Sara Vieira Date: Tue, 19 Jul 2022 20:42:43 +0200 Subject: [PATCH] more pr fixes --- packages/asset-uploader/src/schema.ts | 11 +---------- .../asset-uploader/src/targets/s3/handler.ts | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/packages/asset-uploader/src/schema.ts b/packages/asset-uploader/src/schema.ts index 2b63bb06d5..6e8ed64a27 100644 --- a/packages/asset-uploader/src/schema.ts +++ b/packages/asset-uploader/src/schema.ts @@ -1,4 +1,3 @@ -import { UploadHandlerPart } from "@remix-run/node"; import { z } from "zod"; import { NodeOnDiskFile } from "@remix-run/node"; import { DEFAULT_UPLPOAD_PATH } from "./constants"; @@ -21,7 +20,7 @@ export const s3EnvVariables = z.object({ S3_ACCESS_KEY_ID: z.string(), S3_SECRET_ACCESS_KEY: z.string(), S3_BUCKET: z.string(), - S3_ACL: z.string().optional(), + S3_ACL: z.string().optional().default("public-read"), }); export const fsEnvVariables = z.object({ @@ -31,11 +30,3 @@ export const fsEnvVariables = z.object({ export const assetEnvVariables = z.object({ MAX_UPLOAD_SIZE: z.number().optional().default(10), }); - -export type S3UploadHandler = ({ - file, - maxPartSize, -}: { - file: UploadHandlerPart; - maxPartSize: number; -}) => Promise; diff --git a/packages/asset-uploader/src/targets/s3/handler.ts b/packages/asset-uploader/src/targets/s3/handler.ts index b1125a9093..4e4e1741d2 100644 --- a/packages/asset-uploader/src/targets/s3/handler.ts +++ b/packages/asset-uploader/src/targets/s3/handler.ts @@ -1,3 +1,4 @@ +import { UploadHandlerPart } from "@remix-run/node"; import { PutObjectCommandInput, S3Client } from "@aws-sdk/client-s3"; import { Upload } from "@aws-sdk/lib-storage"; import ObjectID from "bson-objectid"; @@ -7,20 +8,29 @@ import { assetEnvVariables, ImagesUploadedSuccess, s3EnvVariables, - S3UploadHandler, } from "../../schema"; import { getArrayBufferFromIterable, getFilenameAndExtension, } from "../../helpers/array-buffer-helpers"; +export type S3UploadHandler = ({ + file, + maxPartSize, +}: { + file: UploadHandlerPart; + maxPartSize: number; +}) => Promise; + export const s3UploadHandler: S3UploadHandler = async ({ file: { data, filename: baseFileName, contentType }, maxPartSize, }) => { const s3Envs = s3EnvVariables.parse(process.env); const { MAX_UPLOAD_SIZE } = assetEnvVariables.parse(process.env); - if (!data) return; + if (!data) { + throw new Error("Your asset seems to be empty"); + } const filename = baseFileName ?? ObjectID().toString(); const uint8Array = await getArrayBufferFromIterable(data); @@ -34,7 +44,7 @@ export const s3UploadHandler: S3UploadHandler = async ({ const params: PutObjectCommandInput = { Bucket: s3Envs.S3_BUCKET, - ACL: s3Envs.S3_ACL ?? "public-read", + ACL: s3Envs.S3_ACL, Key: key, Body: uint8Array, ContentType: contentType,