import pick from 'lodash.pick'; import * as v from 'valibot'; import { announcementSchema } from '../announcement'; /** @see {@link https://docs.pleroma.social/backend/development/API/admin_api/#get-apiv1pleromaadminannouncements} */ const adminAnnouncementSchema = z.preprocess((announcement: any) => ({ ...announcement, ...pick(announcement.pleroma, 'raw_content'), }), announcementSchema.extend({ raw_content: v.fallback(v.string(), ''), })); type AdminAnnouncement = v.InferOutput; export { adminAnnouncementSchema, type AdminAnnouncement };