import { db, PostState, PostType, VisitType } from '@nice/common';
export async function updatePostViewCount(id: string, type: VisitType) {
  const totalViews = await db.visit.aggregate({
    _sum: {
      views: true,
    },
    where: {
      postId: id,
      type: type,
    },
  });
  if (type === VisitType.READED) {
    await db.post.update({
      where: {
        id: id,
      },
      data: {
        views: totalViews._sum.views || 0, // Use 0 if no visits exist
      },
    });
  } else if (type === VisitType.LIKE) {
    await db.post.update({
      where: {
        id: id,
      },
      data: {
        likes: totalViews._sum.views || 0, // Use 0 if no visits exist
      },
    });
  } else if (type === VisitType.HATE) {
    await db.post.update({
      where: {
        id: id,
      },
      data: {
        hates: totalViews._sum.views || 0, // Use 0 if no visits exist
      },
    });
  }
}
