Files
2025-08-08 18:34:15 +02:00

39 lines
1.3 KiB
JavaScript

const appendTagList = (articleTags, article) => {
const tagList = articleTags.map((tag) => tag.name);
if (!article) return tagList;
delete article.dataValues.tagLists;
article.dataValues.tagList = tagList;
};
const appendFavorites = async (loggedUser, article) => {
const favorited = await article.hasUser(loggedUser ? loggedUser : null);
article.dataValues.favorited = loggedUser ? favorited : false;
const favoritesCount = await article.countUsers();
article.dataValues.favoritesCount = favoritesCount;
};
const appendFollowers = async (loggedUser, toAppend) => {
//
if (toAppend?.author) {
const author = await toAppend.getAuthor();
const following = await author.hasFollower(loggedUser ? loggedUser : null);
toAppend.author.dataValues.following = loggedUser ? following : false;
const followersCount = await author.countFollowers();
toAppend.author.dataValues.followersCount = followersCount;
//
} else {
const following = await toAppend.hasFollower(
loggedUser ? loggedUser : null
);
toAppend.dataValues.following = loggedUser ? following : false;
const followersCount = await toAppend.countFollowers();
toAppend.dataValues.followersCount = followersCount;
}
};
module.exports = { appendTagList, appendFavorites, appendFollowers };