iceshrimp-legacy/packages/backend/src/server/api/endpoints/admin/emoji/delete-bulk.ts
ThatOneCalculator 7c2dabd047
no more eslint
2023-01-12 20:54:33 -08:00

45 lines
885 B
TypeScript

import define from "../../../define.js";
import { Emojis } from "@/models/index.js";
import { In } from "typeorm";
import { insertModerationLog } from "@/services/insert-moderation-log.js";
import { ApiError } from "../../../error.js";
import { db } from "@/db/postgre.js";
export const meta = {
tags: ["admin"],
requireCredential: true,
requireModerator: true,
} as const;
export const paramDef = {
type: "object",
properties: {
ids: {
type: "array",
items: {
type: "string",
format: "misskey:id",
},
},
},
required: ["ids"],
} as const;
export default define(meta, paramDef, async (ps, me) => {
const emojis = await Emojis.findBy({
id: In(ps.ids),
});
for (const emoji of emojis) {
await Emojis.delete(emoji.id);
await db.queryResultCache!.remove(["meta_emojis"]);
insertModerationLog(me, "deleteEmoji", {
emoji: emoji,
});
}
});