From ce5faa8ff56bb6dce4f8bbc81b2a68ce93e1066f Mon Sep 17 00:00:00 2001
From: tamaina <tamaina@hotmail.co.jp>
Date: Fri, 26 May 2023 07:18:15 +0000
Subject: [PATCH] wip

---
 .../admin/emoji/remove-aliases-bulk.ts        |  5 +-
 .../endpoints/admin/emoji/set-aliases-bulk.ts | 25 +------
 .../admin/emoji/set-category-bulk.ts          | 27 +-------
 packages/misskey-js/src/endpoints.ts          | 67 +++++++++++++++++++
 4 files changed, 76 insertions(+), 48 deletions(-)

diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/remove-aliases-bulk.ts b/packages/backend/src/server/api/endpoints/admin/emoji/remove-aliases-bulk.ts
index 83f882cac5..172eb5dadc 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/remove-aliases-bulk.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/remove-aliases-bulk.ts
@@ -24,11 +24,12 @@ export const paramDef = {
 
 // eslint-disable-next-line import/no-default-export
 @Injectable()
-export default class extends Endpoint<typeof meta, typeof paramDef> {
+export default class extends Endpoint<'admin/emoji/remove-aliases-bulk'> {
+	name = 'admin/emoji/remove-aliases-bulk' as const;
 	constructor(
 		private customEmojiService: CustomEmojiService,
 	) {
-		super(meta, paramDef, async (ps, me) => {
+		super(async (ps, me) => {
 			await this.customEmojiService.removeAliasesBulk(ps.ids, ps.aliases);
 		});
 	}
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/set-aliases-bulk.ts b/packages/backend/src/server/api/endpoints/admin/emoji/set-aliases-bulk.ts
index 1d3a432bb7..93bf50f9d1 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/set-aliases-bulk.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/set-aliases-bulk.ts
@@ -2,33 +2,14 @@ import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { CustomEmojiService } from '@/core/CustomEmojiService.js';
 
-export const meta = {
-	tags: ['admin'],
-
-	requireCredential: true,
-	requireRolePolicy: 'canManageCustomEmojis',
-} as const;
-
-export const paramDef = {
-	type: 'object',
-	properties: {
-		ids: { type: 'array', items: {
-			type: 'string', format: 'misskey:id',
-		} },
-		aliases: { type: 'array', items: {
-			type: 'string',
-		} },
-	},
-	required: ['ids', 'aliases'],
-} as const;
-
 // eslint-disable-next-line import/no-default-export
 @Injectable()
-export default class extends Endpoint<typeof meta, typeof paramDef> {
+export default class extends Endpoint<'admin/emoji/set-aliases-bulk'> {
+	name = 'admin/emoji/set-aliases-bulk' as const;
 	constructor(
 		private customEmojiService: CustomEmojiService,
 	) {
-		super(meta, paramDef, async (ps, me) => {
+		super(async (ps, me) => {
 			await this.customEmojiService.setAliasesBulk(ps.ids, ps.aliases);
 		});
 	}
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/set-category-bulk.ts b/packages/backend/src/server/api/endpoints/admin/emoji/set-category-bulk.ts
index 453968c7a9..da23c5a57c 100644
--- a/packages/backend/src/server/api/endpoints/admin/emoji/set-category-bulk.ts
+++ b/packages/backend/src/server/api/endpoints/admin/emoji/set-category-bulk.ts
@@ -2,35 +2,14 @@ import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { CustomEmojiService } from '@/core/CustomEmojiService.js';
 
-export const meta = {
-	tags: ['admin'],
-
-	requireCredential: true,
-	requireRolePolicy: 'canManageCustomEmojis',
-} as const;
-
-export const paramDef = {
-	type: 'object',
-	properties: {
-		ids: { type: 'array', items: {
-			type: 'string', format: 'misskey:id',
-		} },
-		category: {
-			type: 'string',
-			nullable: true,
-			description: 'Use `null` to reset the category.',
-		},
-	},
-	required: ['ids'],
-} as const;
-
 // eslint-disable-next-line import/no-default-export
 @Injectable()
-export default class extends Endpoint<typeof meta, typeof paramDef> {
+export default class extends Endpoint<'admin/emoji/set-category-bulk'> {
+	name = 'admin/emoji/set-category-bulk' as const
 	constructor(
 		private customEmojiService: CustomEmojiService,
 	) {
-		super(meta, paramDef, async (ps, me) => {
+		super(async (ps, me) => {
 			await this.customEmojiService.setCategoryBulk(ps.ids, ps.category ?? null);
 		});
 	}
diff --git a/packages/misskey-js/src/endpoints.ts b/packages/misskey-js/src/endpoints.ts
index 1ffafa6aea..1bb1d0aee1 100644
--- a/packages/misskey-js/src/endpoints.ts
+++ b/packages/misskey-js/src/endpoints.ts
@@ -658,6 +658,73 @@ export const endpoints = {
 			}
 		}],
 	},
+	'admin/emoji/remove-aliases-bulk': {
+		tags: ['admin'],
+
+		requireCredential: true,
+		requireRolePolicy: 'canManageCustomEmojis',
+
+		defines: [{
+			req: {
+				type: 'object',
+				properties: {
+					ids: { type: 'array', items: {
+						type: 'string', format: 'misskey:id',
+					} },
+					aliases: { type: 'array', items: {
+						type: 'string',
+					} },
+				},
+				required: ['ids', 'aliases'],
+			},
+			res: undefined,
+		}],
+	},
+	'admin/emoji/set-aliases-bulk': {
+		tags: ['admin'],
+	
+		requireCredential: true,
+		requireRolePolicy: 'canManageCustomEmojis',
+
+		defines: [{
+			req: {
+				type: 'object',
+				properties: {
+					ids: { type: 'array', items: {
+						type: 'string', format: 'misskey:id',
+					} },
+					aliases: { type: 'array', items: {
+						type: 'string',
+					} },
+				},
+				required: ['ids', 'aliases'],
+			},
+			res: undefined,
+		}],
+	},
+	'admin/emoji/set-category-bulk': {
+		tags: ['admin'],
+	
+		requireCredential: true,
+		requireRolePolicy: 'canManageCustomEmojis',
+
+		defines: [{
+			req: {
+				type: 'object',
+				properties: {
+					ids: { type: 'array', items: {
+						type: 'string', format: 'misskey:id',
+					} },
+					category: {
+						type: ['string', 'null'],
+						description: 'Use `null` to reset the category.',
+					},
+				},
+				required: ['ids'],
+			},
+			res: undefined,
+		}],
+	},
 } as const satisfies { [x: string]: IEndpointMeta; };
 
 export function getEndpointSchema(reqres: 'req' | 'res', key: keyof typeof endpoints) {