Merge branch 'main' into use-first-four

This commit is contained in:
Sara Vieira authored and GitHub committed 2022-07-26 00:54:06 +02:00
commit ab5ee2ae34
5 files changed
+12 -11

No files matched your search

+2 -1
View File
@@ -11,9 +11,10 @@ FILE_UPLOAD_PATH="uploads"
# S3 envs
S3_BUCKET=
S3_REGION=
S3_ACL="public-read"
S3_ENDPOINT=
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
# if using r2 this your worker url
WORKER_URL=
ASSET_CDN_URL=
@@ -22,7 +22,7 @@ describe("getAssetPath", () => {
...OLD_ENV,
S3_ACCESS_KEY_ID: "testid",
S3_SECRET_ACCESS_KEY: "testkey",
WORKER_URL: "",
ASSET_CDN_URL: "",
};
});
@@ -87,7 +87,7 @@ describe("getAssetPath", () => {
process.env.S3_ENDPOINT = "https://userid.r2.cloudflarestorage.com";
process.env.S3_BUCKET = "bucket";
process.env.S3_REGION = "auto";
process.env.WORKER_URL = "https://worker-test.workers.dev";
process.env.ASSET_CDN_URL = "https://worker-test.workers.dev";
const { getAssetPath } = require("./get-asset-path");
expect(
getAssetPath({
@@ -13,10 +13,10 @@ export const getAssetPath = (asset: DbAsset) => {
if (asset.location === Location.REMOTE && s3Envs.success) {
const s3Url = new URL(s3Envs.data.S3_ENDPOINT);
if (s3Envs.data.WORKER_URL) {
const r2Url = new URL(s3Envs.data.WORKER_URL);
r2Url.pathname = asset.name;
return r2Url.toString();
if (s3Envs.data.ASSET_CDN_URL) {
const cndUrl = new URL(s3Envs.data.ASSET_CDN_URL);
cndUrl.pathname = asset.name;
return cndUrl.toString();
}
s3Url.hostname = `${s3Envs.data.S3_BUCKET}.${s3Url.hostname}`;
s3Url.pathname = asset.name;
+2 -2
View File
@@ -20,8 +20,8 @@ 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().default("public-read"),
WORKER_URL: z.string().optional(),
S3_ACL: z.string().optional(),
ASSET_CDN_URL: z.string().optional(),
});
export const fsEnvVariables = z.object({
@@ -43,8 +43,8 @@ export const s3UploadHandler: S3UploadHandler = async ({
const [name, extension] = getFilenameAndExtension(filename);
const key = encodeURI(`${name}_${Date.now()}.${extension}`);
// r2 does not have ACL support so in that case we pass nothing there
const ACL = s3Envs.WORKER_URL ? {} : { ACL: s3Envs.S3_ACL };
// if there is no ACL passed we do not default since some providers do not support it
const ACL = s3Envs.S3_ACL ? { ACL: s3Envs.S3_ACL } : {};
const params: PutObjectCommandInput = {
Bucket: s3Envs.S3_BUCKET,