diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-03-25 16:09:19 +0900 |
|---|---|---|
| committer | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-03-25 16:09:19 +0900 |
| commit | 98554579eafd2765644c9b3ff37d33a26b6e5ceb (patch) | |
| tree | 638b04c90ab1ddbb498d84e4fdac7b046ddb89c3 /packages/backend/src/server/api | |
| parent | follow up of a01ae38a07f949cbcd5ce555cd90e8570bb985cc (diff) | |
| download | sharkey-98554579eafd2765644c9b3ff37d33a26b6e5ceb.tar.gz sharkey-98554579eafd2765644c9b3ff37d33a26b6e5ceb.tar.bz2 sharkey-98554579eafd2765644c9b3ff37d33a26b6e5ceb.zip | |
enhance: チャットのリアクションを削除できるように
Diffstat (limited to 'packages/backend/src/server/api')
| -rw-r--r-- | packages/backend/src/server/api/endpoint-list.ts | 1 | ||||
| -rw-r--r-- | packages/backend/src/server/api/endpoints/chat/messages/unreact.ts | 49 |
2 files changed, 50 insertions, 0 deletions
diff --git a/packages/backend/src/server/api/endpoint-list.ts b/packages/backend/src/server/api/endpoint-list.ts index c8cb87e0ab..34aaef3cc7 100644 --- a/packages/backend/src/server/api/endpoint-list.ts +++ b/packages/backend/src/server/api/endpoint-list.ts @@ -401,6 +401,7 @@ export * as 'chat/messages/create-to-room' from './endpoints/chat/messages/creat export * as 'chat/messages/delete' from './endpoints/chat/messages/delete.js'; export * as 'chat/messages/show' from './endpoints/chat/messages/show.js'; export * as 'chat/messages/react' from './endpoints/chat/messages/react.js'; +export * as 'chat/messages/unreact' from './endpoints/chat/messages/unreact.js'; export * as 'chat/messages/user-timeline' from './endpoints/chat/messages/user-timeline.js'; export * as 'chat/messages/room-timeline' from './endpoints/chat/messages/room-timeline.js'; export * as 'chat/messages/search' from './endpoints/chat/messages/search.js'; diff --git a/packages/backend/src/server/api/endpoints/chat/messages/unreact.ts b/packages/backend/src/server/api/endpoints/chat/messages/unreact.ts new file mode 100644 index 0000000000..4eb25259fb --- /dev/null +++ b/packages/backend/src/server/api/endpoints/chat/messages/unreact.ts @@ -0,0 +1,49 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { Inject, Injectable } from '@nestjs/common'; +import { Endpoint } from '@/server/api/endpoint-base.js'; +import { DI } from '@/di-symbols.js'; +import { ChatService } from '@/core/ChatService.js'; +import { ApiError } from '@/server/api/error.js'; + +export const meta = { + tags: ['chat'], + + requireCredential: true, + + kind: 'write:chat', + + res: { + }, + + errors: { + noSuchMessage: { + message: 'No such message.', + code: 'NO_SUCH_MESSAGE', + id: 'c39ea42f-e3ca-428a-ad57-390e0a711595', + }, + }, +} as const; + +export const paramDef = { + type: 'object', + properties: { + messageId: { type: 'string', format: 'misskey:id' }, + reaction: { type: 'string' }, + }, + required: ['messageId', 'reaction'], +} as const; + +@Injectable() +export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-disable-line import/no-default-export + constructor( + private chatService: ChatService, + ) { + super(meta, paramDef, async (ps, me) => { + await this.chatService.unreact(ps.messageId, me.id, ps.reaction); + }); + } +} |