import define from "../../../define.js"; import { Announcements } from "../../../../../models/index.js"; import { ApiError } from "../../../error.js"; import { publishBroadcastStream } from "../../../../../services/stream.js"; export const meta = { tags: [ "admin" ], requireCredential: true, requireModerator: true, errors: { noSuchAnnouncement: { message: "No such announcement.", code: "NO_SUCH_ANNOUNCEMENT", id: "ecad8040-a276-4e85-bda9-015a708d291e" } } }; export const paramDef = { type: "object", properties: { id: { type: "string", format: "misskey:id" } }, required: [ "id" ] }; export default define(meta, paramDef, async (ps, me)=>{ const announcement = await Announcements.findOneBy({ id: ps.id }); if (announcement == null) throw new ApiError(meta.errors.noSuchAnnouncement); publishBroadcastStream("announcementDeleted", announcement.id); await Announcements.delete(announcement.id); });