diff --git a/apps/backend/src/routes/post.ts b/apps/backend/src/routes/post.ts index e78317c..0629579 100644 --- a/apps/backend/src/routes/post.ts +++ b/apps/backend/src/routes/post.ts @@ -613,4 +613,15 @@ export default new Elysia({ prefix: "/post" }) if (!randomPost) return status(404, "포스트를 찾을 수 없습니다."); return fetch(randomPost.mediaUrl, { cache: "no-store" }); + }) + + .get("/random/url", async ({ status }) => { + const count = await MediaUpload.countDocuments(); + if (count === 0) return status(404, "포스트를 찾을 수 없습니다."); + + const randomIndex = Math.floor(Math.random() * count); + const randomPost = await MediaUpload.findOne().skip(randomIndex); + if (!randomPost) return status(404, "포스트를 찾을 수 없습니다."); + + return randomPost.mediaUrl; });