Files
BRETT/server/api/admin/motd.put.ts
T
2026-10-03 20:07:49 +02:00

19 lines
535 B
TypeScript

import { z } from 'zod'
import { settings } from '../../db/schema'
const bodySchema = z.object({
message: z.string().trim().max(500),
})
export default defineEventHandler(async (event) => {
await requirePermission(event, 'site.manage')
const { message } = await readValidatedBody(event, bodySchema.parse)
const db = useDb()
await db
.insert(settings)
.values({ key: 'motd', value: message })
.onDuplicateKeyUpdate({ set: { value: message } })
broadcastToAll({ type: 'motd', message })
return { message }
})