2022-01-12 17:47:05 +02:00
|
|
|
import $ from 'cafy';
|
|
|
|
import define from '../../../define';
|
|
|
|
import { ID } from '@/misc/cafy-id';
|
|
|
|
import { Emojis } from '@/models/index';
|
|
|
|
import { getConnection, In } from 'typeorm';
|
|
|
|
import { ApiError } from '../../../error';
|
|
|
|
|
|
|
|
export const meta = {
|
|
|
|
tags: ['admin'],
|
|
|
|
|
2022-01-18 15:27:10 +02:00
|
|
|
requireCredential: true,
|
2022-01-12 17:47:05 +02:00
|
|
|
requireModerator: true,
|
|
|
|
|
|
|
|
params: {
|
|
|
|
ids: {
|
|
|
|
validator: $.arr($.type(ID)),
|
|
|
|
},
|
|
|
|
|
|
|
|
aliases: {
|
|
|
|
validator: $.arr($.str),
|
|
|
|
},
|
|
|
|
},
|
2022-01-18 15:27:10 +02:00
|
|
|
} as const;
|
2022-01-12 17:47:05 +02:00
|
|
|
|
|
|
|
// eslint-disable-next-line import/no-default-export
|
|
|
|
export default define(meta, async (ps) => {
|
|
|
|
const emojis = await Emojis.find({
|
|
|
|
id: In(ps.ids),
|
|
|
|
});
|
|
|
|
|
|
|
|
for (const emoji of emojis) {
|
|
|
|
await Emojis.update(emoji.id, {
|
|
|
|
updatedAt: new Date(),
|
|
|
|
aliases: [...new Set(emoji.aliases.concat(ps.aliases))],
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
await getConnection().queryResultCache!.remove(['meta_emojis']);
|
|
|
|
});
|