なんかもうめっちゃ変えた
This commit is contained in:
		| @@ -1,8 +1,8 @@ | ||||
| import define from '../../../define.js'; | ||||
| import { Emojis } from '@/models/index.js'; | ||||
| import { In } from 'typeorm'; | ||||
| import { ApiError } from '../../../error.js'; | ||||
| import { db } from '@/db/postgre.js'; | ||||
| import { Inject, Injectable } from '@nestjs/common'; | ||||
| import { DataSource, In } from 'typeorm'; | ||||
| import { Endpoint } from '@/server/api/endpoint-base.js'; | ||||
| import { EmojisRepository } from '@/models/index.js'; | ||||
| import { DI } from '@/di-symbols.js'; | ||||
|  | ||||
| export const meta = { | ||||
| 	tags: ['admin'], | ||||
| @@ -24,18 +24,31 @@ export const paramDef = { | ||||
| 	required: ['ids', 'aliases'], | ||||
| } as const; | ||||
|  | ||||
| // eslint-disable-next-line import/no-default-export | ||||
| export default define(meta, paramDef, async (ps) => { | ||||
| 	const emojis = await Emojis.findBy({ | ||||
| 		id: In(ps.ids), | ||||
| 	}); | ||||
| // TODO: ロジックをサービスに切り出す | ||||
|  | ||||
| 	for (const emoji of emojis) { | ||||
| 		await Emojis.update(emoji.id, { | ||||
| 			updatedAt: new Date(), | ||||
| 			aliases: emoji.aliases.filter(x => !ps.aliases.includes(x)), | ||||
| // eslint-disable-next-line import/no-default-export | ||||
| @Injectable() | ||||
| export default class extends Endpoint<typeof meta, typeof paramDef> { | ||||
| 	constructor( | ||||
| 		@Inject(DI.db) | ||||
| 		private db: DataSource, | ||||
|  | ||||
| 		@Inject(DI.emojisRepository) | ||||
| 		private emojisRepository: EmojisRepository, | ||||
| 	) { | ||||
| 		super(meta, paramDef, async (ps, me) => { | ||||
| 			const emojis = await this.emojisRepository.findBy({ | ||||
| 				id: In(ps.ids), | ||||
| 			}); | ||||
|  | ||||
| 			for (const emoji of emojis) { | ||||
| 				await this.emojisRepository.update(emoji.id, { | ||||
| 					updatedAt: new Date(), | ||||
| 					aliases: emoji.aliases.filter(x => !ps.aliases.includes(x)), | ||||
| 				}); | ||||
| 			} | ||||
|  | ||||
| 			await this.db.queryResultCache!.remove(['meta_emojis']); | ||||
| 		}); | ||||
| 	} | ||||
|  | ||||
| 	await db.queryResultCache!.remove(['meta_emojis']); | ||||
| }); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 syuilo
					syuilo