From 617dbfab2a31314d66e3d783dfab033cef14bf5d Mon Sep 17 00:00:00 2001 From: NoriDev Date: Fri, 24 Nov 2023 18:07:03 +0900 Subject: [PATCH] tweak 335c6a8e --- .../server/api/endpoints/admin/emoji/steal.ts | 16 +++++++++------- .../src/components/global/MkCustomEmoji.vue | 4 ++-- .../global/MkMisskeyFlavoredMarkdown.ts | 2 ++ 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/steal.ts b/packages/backend/src/server/api/endpoints/admin/emoji/steal.ts index f7fde8d6b8..406b84acb7 100644 --- a/packages/backend/src/server/api/endpoints/admin/emoji/steal.ts +++ b/packages/backend/src/server/api/endpoints/admin/emoji/steal.ts @@ -4,16 +4,16 @@ */ import { Inject, Injectable } from '@nestjs/common'; +import { IsNull } from 'typeorm'; import { Endpoint } from '@/server/api/endpoint-base.js'; -import type { EmojisRepository } from '@/models/index.js'; +import type { EmojisRepository } from '@/models/_.js'; import { IdService } from '@/core/IdService.js'; -import type { DriveFile } from '@/models/entities/DriveFile.js'; +import type { MiDriveFile } from '@/models/DriveFile.js'; import { DI } from '@/di-symbols.js'; import { DriveService } from '@/core/DriveService.js'; import { GlobalEventService } from '@/core/GlobalEventService.js'; import { EmojiEntityService } from '@/core/entities/EmojiEntityService.js'; import { ApiError } from '../../../error.js'; -import { IsNull } from 'typeorm'; export const meta = { tags: ['admin'], @@ -56,9 +56,10 @@ export const paramDef = { required: ['name', 'host'], } as const; +// TODO: ロジックをサービスに切り出す + @Injectable() -// eslint-disable-next-line import/no-default-export -export default class extends Endpoint { +export default class extends Endpoint { // eslint-disable-next-line import/no-default-export constructor( @Inject(DI.emojisRepository) private emojisRepository: EmojisRepository, @@ -80,16 +81,17 @@ export default class extends Endpoint { throw new ApiError(meta.errors.localEmojiAlreadyExists); } - let driveFile: DriveFile; + let driveFile: MiDriveFile; try { + // Create file driveFile = await this.driveService.uploadFromUrl({ url: emoji.originalUrl, user: null, force: true }); } catch (e) { throw new ApiError(); } const copied = await this.emojisRepository.insert({ - id: this.idService.genId(), + id: this.idService.gen(), updatedAt: new Date(), name: emoji.name, host: null, diff --git a/packages/frontend/src/components/global/MkCustomEmoji.vue b/packages/frontend/src/components/global/MkCustomEmoji.vue index fc0d8d4105..4347c32253 100644 --- a/packages/frontend/src/components/global/MkCustomEmoji.vue +++ b/packages/frontend/src/components/global/MkCustomEmoji.vue @@ -96,8 +96,8 @@ function onClick(ev: MouseEvent) { }, ...(props.host && $i && ($i.isAdmin || $i.policies.canManageCustomEmojis) ? [{ text: i18n.ts.import, icon: 'ti ti-plus', - action: async () => { - await os.apiWithDialog('admin/emoji/steal', { + action: () => { + os.apiWithDialog('admin/emoji/steal', { name: customEmojiName.value, host: props.host, }); diff --git a/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts b/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts index 861564bd83..018ccf4337 100644 --- a/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts +++ b/packages/frontend/src/components/global/MkMisskeyFlavoredMarkdown.ts @@ -383,6 +383,8 @@ export default function(props: MfmProps) { normal: props.plain, host: props.author.host, useOriginalSize: scale >= 2.5, + menu: props.enableEmojiMenu, + menuReaction: props.enableEmojiMenuReaction, })]; } }