feat: update tweet handling in PostDetailResponse and improve title generation logic

This commit is contained in:
암냥 2026-04-19 20:36:54 +09:00
commit 0086c0142b
No known key found for this signature in database
2 changed files with 13 additions and 1 deletions

View file

@ -235,12 +235,24 @@ export default new Elysia({ prefix: "/post" })
return status(404, "포스트를 찾을 수 없습니다."); return status(404, "포스트를 찾을 수 없습니다.");
} }
const tweetData = typeof post.tweet === "object" && post.tweet !== null
? post.tweet as {
text?: string;
title?: string;
description?: string;
}
: undefined;
return { return {
_id: post._id, _id: post._id,
type: post.type, type: post.type,
url: post.tweet?.url, url: post.tweet?.url,
author: post.author, author: post.author,
tags: Array.isArray(post.tags) ? post.tags : [], tags: Array.isArray(post.tags) ? post.tags : [],
tweet: tweetData ? {
text: tweetData.text ?? tweetData.description,
title: tweetData.title,
} : undefined,
mediaUrl: post.mediaUrl, mediaUrl: post.mediaUrl,
mediaIndex: post.mediaIndex, mediaIndex: post.mediaIndex,
}; };

View file

@ -40,7 +40,7 @@ function createDetailDescription(post: PostDetailResponse) {
function createDetailTitle(post: PostDetailResponse) { function createDetailTitle(post: PostDetailResponse) {
const author = post.author?.trim() || "unknown"; const author = post.author?.trim() || "unknown";
const source = getSourceLabel(post.type); const source = getSourceLabel(post.type);
const rawText = post.type === "twitter" ? post.tweet?.text : post.tweet?.title; const rawText = post.tweet?.text || post.tweet?.title;
const contentText = rawText?.trim() || post._id; const contentText = rawText?.trim() || post._id;
return `${author} - ${contentText} | ${source}`; return `${author} - ${contentText} | ${source}`;
} }