diff options
| author | zyoshoka <107108195+zyoshoka@users.noreply.github.com> | 2024-02-29 20:42:02 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-29 20:42:02 +0900 |
| commit | 16f16e6b0879199a78f0f9ef2da7e1e44ee8d355 (patch) | |
| tree | 87a4cc793674350420d41bf42bb8b9eca2960875 /packages/backend/src/server/api | |
| parent | enhance: 通知の履歴をリセットできるように (#13335) (diff) | |
| download | sharkey-16f16e6b0879199a78f0f9ef2da7e1e44ee8d355.tar.gz sharkey-16f16e6b0879199a78f0f9ef2da7e1e44ee8d355.tar.bz2 sharkey-16f16e6b0879199a78f0f9ef2da7e1e44ee8d355.zip | |
fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように (#13477)
* fix(backend): ダイレクトなノートに対してはダイレクトでしか返信できないように
* Update CHANGELOG.md
* test(backend): `notes/create`とWebSocket関連のテストを追加
Diffstat (limited to 'packages/backend/src/server/api')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/notes/create.ts | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/packages/backend/src/server/api/endpoints/notes/create.ts b/packages/backend/src/server/api/endpoints/notes/create.ts index 2fa0bd099f..27463577fe 100644 --- a/packages/backend/src/server/api/endpoints/notes/create.ts +++ b/packages/backend/src/server/api/endpoints/notes/create.ts @@ -85,6 +85,12 @@ export const meta = { id: '3ac74a84-8fd5-4bb0-870f-01804f82ce15', }, + cannotReplyToSpecifiedVisibilityNoteWithExtendedVisibility: { + message: 'You cannot reply to a specified visibility note with extended visibility.', + code: 'CANNOT_REPLY_TO_SPECIFIED_VISIBILITY_NOTE_WITH_EXTENDED_VISIBILITY', + id: 'ed940410-535c-4d5e-bfa3-af798671e93c', + }, + cannotCreateAlreadyExpiredPoll: { message: 'Poll is already expired.', code: 'CANNOT_CREATE_ALREADY_EXPIRED_POLL', @@ -313,6 +319,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- throw new ApiError(meta.errors.cannotReplyToPureRenote); } else if (!await this.noteEntityService.isVisibleForMe(reply, me.id)) { throw new ApiError(meta.errors.cannotReplyToInvisibleNote); + } else if (reply.visibility === 'specified' && ps.visibility !== 'specified') { + throw new ApiError(meta.errors.cannotReplyToSpecifiedVisibilityNoteWithExtendedVisibility); } // Check blocking |