diff --git a/apps/admin/src/pages/api/cloudflare/index.ts b/apps/admin/src/pages/api/cloudflare/index.ts index c4fb1a0e..530ba4b1 100644 --- a/apps/admin/src/pages/api/cloudflare/index.ts +++ b/apps/admin/src/pages/api/cloudflare/index.ts @@ -14,7 +14,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) data: { result: { uploadURL }, }, - } = await api.post(`${process.env.CLOUDFLARE_REQ_URL}`, null, { + } = await api.post(`${process.env.CLOUDFLARE_REQ_IMG_URL}`, null, { headers: { ContentType: "application/json", Authorization: `Bearer ${process.env.CLOUDFLARE_API_KEY}`, diff --git a/apps/client/src/components/homeWorship/create.tsx b/apps/client/src/components/homeWorship/create.tsx index b1ebf19d..d4fb9799 100644 --- a/apps/client/src/components/homeWorship/create.tsx +++ b/apps/client/src/components/homeWorship/create.tsx @@ -22,9 +22,22 @@ const HomeWorshipCreate = () => { const onSubmit: SubmitHandler = async (data) => { const formData = new FormData(); - if (data.image.length === 0 || !data.date || !data.title || !data.password || !data.userName || !content) + // FIXME: 추후 validate 및 디자인 변경해야 함 + if (!data.date || !data.title || !data.password || !data.userName || !content) { return alert("모든 정보를 입력해주세요."); - if (data.image.length !== 1) return alert("사진은 한 장 업로드 가능합니다."); + } + + if (data.image.length === 0 && data.video.length === 0) { + return alert("사진 또는 영상은 반드시 업로드해야 합니다."); + } + + if (data.image.length > 1) { + return alert("사진은 1장만 가능 합니다."); + } + + if (data.video.length > 1) { + return alert("영상은 1개만 가능 합니다."); + } formData.append("title", data.title); formData.append("date", data.date); @@ -32,9 +45,15 @@ const HomeWorshipCreate = () => { formData.append("password", data.password); formData.append("userName", data.userName); - Array.from(data.image).forEach((image) => { - formData.append(`image-file`, image); - formData.append(`image-name`, image.name); + const imageFile = data.image || []; + const videoFile = data.video || []; + + Array.from(imageFile).forEach((image) => { + formData.append("image-file", image); + }); + + Array.from(videoFile).forEach((video) => { + formData.append("video-file", video); }); mutate(formData, { @@ -70,6 +89,10 @@ const HomeWorshipCreate = () => {

사진 업로드

+

diff --git a/apps/client/src/components/homeWorship/detail/form.tsx b/apps/client/src/components/homeWorship/detail/form.tsx index 75bf54c6..626b0c31 100644 --- a/apps/client/src/components/homeWorship/detail/form.tsx +++ b/apps/client/src/components/homeWorship/detail/form.tsx @@ -37,21 +37,28 @@ const HomeWorshipDetailComment = () => {
- +