import * as v from 'valibot'; import { pick } from '@/utils'; import { announcementSchema } from '../announcement'; /** * @category Admin schemas * @see {@link https://docs.pleroma.social/backend/development/API/admin_api/#get-apiv1pleromaadminannouncements} */ const adminAnnouncementSchema = v.pipe( v.any(), v.transform((announcement: any) => ({ ...announcement, ...pick(announcement.pleroma, ['raw_content']), })), v.object({ ...announcementSchema.entries, raw_content: v.fallback(v.string(), ''), }), ); /** * @category Admin entity types */ type AdminAnnouncement = v.InferOutput; export { adminAnnouncementSchema, type AdminAnnouncement };