import Update from "../../models/update.js";

export default defineEventHandler(async (event) => {
  const member = await requireAuth(event);
  const memberId = member._id.toString();

  const query = getQuery(event);
  const limit = parseInt(query.limit) || 20;
  const skip = parseInt(query.skip) || 0;

  try {
    const updates = await Update.find({ author: memberId })
      .populate("author", "name avatar")
      .sort({ createdAt: -1 })
      .limit(limit)
      .skip(skip);

    const total = await Update.countDocuments({ author: memberId });

    return {
      updates,
      total,
      hasMore: skip + limit < total,
    };
  } catch (error) {
    console.error("Get my updates error:", error);
    throw createError({
      statusCode: 500,
      statusMessage: "Failed to fetch updates",
    });
  }
});
