import define from "../../../define.js"; import { Emojis } from "../../../../../models/index.js"; import { ApiError } from "../../../error.js"; import { db } from "../../../../../db/postgre.js"; export const meta = { tags: [ "admin" ], requireCredential: true, requireModerator: true, errors: { noSuchEmoji: { message: "No such emoji.", code: "NO_SUCH_EMOJI", id: "684dec9d-a8c2-4364-9aa8-456c49cb1dc8" } } }; export const paramDef = { type: "object", properties: { id: { type: "string", format: "misskey:id" }, name: { type: "string" }, category: { type: "string", nullable: true, description: "Use `null` to reset the category." }, aliases: { type: "array", items: { type: "string" } }, license: { type: "string", nullable: true }, glyph: { type: "boolean" } }, required: [ "id", "name", "aliases" ] }; export default define(meta, paramDef, async (ps)=>{ const emoji = await Emojis.findOneBy({ id: ps.id }); if (emoji == null) throw new ApiError(meta.errors.noSuchEmoji); await Emojis.update(emoji.id, { updatedAt: new Date(), name: ps.name, category: ps.category, aliases: ps.aliases, license: ps.license, ...typeof ps.glyph === "boolean" ? { glyph: ps.glyph } : {} }); await db.queryResultCache.remove([ "meta_emojis" ]); });