import * as z from 'zod' import WikiArticle from '../../../models/wikiArticle.js' import { connectDB } from '../../../utils/mongoose.js' const batchVisibilitySchema = z.object({ articleIds: z.array(z.string()).optional(), collection: z.string().optional(), hidden: z.boolean() }) export default defineEventHandler(async (event) => { await requireAdmin(event) const body = await validateBody(event, batchVisibilitySchema) if (!body.articleIds && !body.collection) { throw createError({ statusCode: 400, statusMessage: 'Must provide either articleIds or collection' }) } await connectDB() const filter = body.articleIds ? { _id: { $in: body.articleIds } } : { collection: body.collection } const result = await WikiArticle.updateMany(filter, { $set: { hidden: body.hidden } }) return { modified: result.modifiedCount || 0 } })