diff --git a/pages/api/articles/[article].js b/pages/api/articles/[article].js index 3eadc160..d298b1c0 100644 --- a/pages/api/articles/[article].js +++ b/pages/api/articles/[article].js @@ -1,5 +1,6 @@ import { connect } from '../../../src/core/db' import Article from '../../../src/core/Article' +import { encodeArticle } from '../../../src/api/articles' export default async (req, res) => { await connect() @@ -11,7 +12,7 @@ export default async (req, res) => { const article = await Article.findById(id) if (article) { - res.json(article) + res.json(encodeArticle(article)) } else { res.status(404) res.json({ diff --git a/src/api/articles.js b/src/api/articles.js index 98298a81..9870652b 100644 --- a/src/api/articles.js +++ b/src/api/articles.js @@ -2,6 +2,7 @@ import Article from '../core/Article' import ImageArtifactType from '../core/ImageArtifactType' import { sortBy } from '../utils/sort' import { timestamp } from '../lib/date' +import { encodeImage } from './image' export const sortArticleByDate = sortBy( x => timestamp(new Date(x.date)) @@ -60,4 +61,11 @@ export async function findArticles(page, pageSize) { nextPage, totalPages, } +} + +export function encodeArticle(article) { + return { + ...article, + preview: encodeImage(article.preview), + } } \ No newline at end of file