feat(media): Add path_style and path configuration to S3

This commit is contained in:
Jesse Wierzbinski 2025-04-15 13:28:12 +02:00
parent 5bb4e967a7
commit 404d63f6d0
No known key found for this signature in database
3 changed files with 13 additions and 1 deletions

View file

@ -449,6 +449,8 @@ export const ConfigSchema = z
public_url: url.describe(
"Public URL that uploaded media will be accessible at",
),
path: z.string().optional(),
path_style: z.boolean().default(true),
})
.optional(),
validation: z.strictObject({

View file

@ -159,11 +159,15 @@ export class Media extends BaseInterface<typeof Medias> {
bucket: config.s3.bucket_name,
accessKeyId: config.s3.access_key,
secretAccessKey: config.s3.secret_access_key,
virtualHostedStyle: !config.s3.path_style,
});
await client.write(path, file);
const finalPath = config.s3.path
? join(config.s3.path, path)
: path;
return { path };
return { path: finalPath };
}
}
}