uploads: make uploader and media URL configurable

This commit is contained in:
Alex Gleason
2023-09-08 15:20:57 -05:00
parent 014b9f6d29
commit 4f57ac0352
2 changed files with 39 additions and 4 deletions

View File

@@ -1,8 +1,8 @@
import { AppController } from '@/app.ts';
import { Conf } from '@/config.ts';
import { z } from '@/deps.ts';
import { fileSchema } from '@/schema.ts';
import { parseBody } from '@/utils/web.ts';
import { s3Uploader } from '@/uploaders/s3.ts';
const mediaBodySchema = z.object({
file: fileSchema.refine((file) => !!file.type),
@@ -19,12 +19,19 @@ const mediaController: AppController = async (c) => {
}
try {
const { file } = result.data;
const { cid } = await s3Uploader.upload(file);
const { file, description } = result.data;
const { cid } = await Conf.uploader.upload(file);
const url = new URL(`/ipfs/${cid}`, Conf.mediaDomain).toString();
return c.json({
id: cid,
type: file.type,
url,
preview_url: url,
remote_url: null,
description,
blurhash: null,
});
} catch (e) {
console.error(e);