diff --git a/src/server/api/endpoints/clips/notes.ts b/src/server/api/endpoints/clips/notes.ts index 3d66623d6..13983d99f 100644 --- a/src/server/api/endpoints/clips/notes.ts +++ b/src/server/api/endpoints/clips/notes.ts @@ -10,7 +10,7 @@ import { ApiError } from '../../error'; export const meta = { tags: ['account', 'notes', 'clips'], - requireCredential: true as const, + requireCredential: false as const, kind: 'read:account', @@ -51,7 +51,7 @@ export default define(meta, async (ps, user) => { throw new ApiError(meta.errors.noSuchClip); } - if (!clip.isPublic && (clip.userId !== user.id)) { + if (!clip.isPublic && (user == null || (clip.userId !== user.id))) { throw new ApiError(meta.errors.noSuchClip); } @@ -64,8 +64,10 @@ export default define(meta, async (ps, user) => { .leftJoinAndSelect('note.user', 'user') .setParameters(clipQuery.getParameters()); - generateVisibilityQuery(query, user); - generateMutedUserQuery(query, user); + if (user) { + generateVisibilityQuery(query, user); + generateMutedUserQuery(query, user); + } const notes = await query .take(ps.limit!) diff --git a/src/server/api/endpoints/clips/show.ts b/src/server/api/endpoints/clips/show.ts index 1d4947528..dc730d64a 100644 --- a/src/server/api/endpoints/clips/show.ts +++ b/src/server/api/endpoints/clips/show.ts @@ -7,7 +7,7 @@ import { Clips } from '../../../../models'; export const meta = { tags: ['clips', 'account'], - requireCredential: true as const, + requireCredential: false as const, kind: 'read:account', @@ -36,7 +36,7 @@ export default define(meta, async (ps, me) => { throw new ApiError(meta.errors.noSuchClip); } - if (!clip.isPublic && (clip.userId !== me.id)) { + if (!clip.isPublic && (me == null || (clip.userId !== me.id))) { throw new ApiError(meta.errors.noSuchClip); }