diff --git a/src/server/api/endpoints/notes/create.ts b/src/server/api/endpoints/notes/create.ts index fa4388b68..e8c37664f 100644 --- a/src/server/api/endpoints/notes/create.ts +++ b/src/server/api/endpoints/notes/create.ts @@ -42,7 +42,7 @@ export const meta = { }, visibleUserIds: { - validator: $.arr($.type(ID)).optional.unique().min(1), + validator: $.arr($.type(ID)).optional.unique().min(0), transform: transformMany, desc: { 'ja-JP': '(投稿の公開範囲が specified の場合)投稿を閲覧できるユーザー' diff --git a/src/services/note/create.ts b/src/services/note/create.ts index 248c2372f..84daa7dfe 100644 --- a/src/services/note/create.ts +++ b/src/services/note/create.ts @@ -182,6 +182,12 @@ export default async (user: IUser, data: Option, silent = false) => new Promise< mentionedUsers.push(u); } } + + for (const u of mentionedUsers) { + if (!data.visibleUsers.some(x => x._id.equals(u._id))) { + data.visibleUsers.push(u); + } + } } const note = await insertNote(user, data, tags, emojis, mentionedUsers);