diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2020-02-15 01:03:59 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2020-02-15 01:03:59 +0900 |
| commit | 65c0b6c7da1a16c2c81d19800d9aea7b7dfae4b9 (patch) | |
| tree | 7e16caf5d7e09b0a6486be2e6e961f6d0bd4b456 /src/misc/check-hit-antenna.ts | |
| parent | Improve doc page (diff) | |
| download | misskey-65c0b6c7da1a16c2c81d19800d9aea7b7dfae4b9.tar.gz misskey-65c0b6c7da1a16c2c81d19800d9aea7b7dfae4b9.tar.bz2 misskey-65c0b6c7da1a16c2c81d19800d9aea7b7dfae4b9.zip | |
Resolve #5939
Diffstat (limited to 'src/misc/check-hit-antenna.ts')
| -rw-r--r-- | src/misc/check-hit-antenna.ts | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/misc/check-hit-antenna.ts b/src/misc/check-hit-antenna.ts index b527d34354..c229a07ebe 100644 --- a/src/misc/check-hit-antenna.ts +++ b/src/misc/check-hit-antenna.ts @@ -1,9 +1,10 @@ import { Antenna } from '../models/entities/antenna'; import { Note } from '../models/entities/note'; import { User } from '../models/entities/user'; -import { UserListJoinings } from '../models'; +import { UserListJoinings, UserGroupJoinings } from '../models'; import parseAcct from './acct/parse'; import { getFullApAccount } from './convert-host'; +import { ensure } from '../prelude/ensure'; export async function checkHitAntenna(antenna: Antenna, note: Note, noteUser: User, followers: User['id'][]): Promise<boolean> { if (note.visibility === 'specified') return false; @@ -22,6 +23,14 @@ export async function checkHitAntenna(antenna: Antenna, note: Note, noteUser: Us })).map(x => x.userId); if (!listUsers.includes(note.userId)) return false; + } else if (antenna.src === 'group') { + const joining = await UserGroupJoinings.findOne(antenna.userGroupJoiningId!).then(ensure); + + const groupUsers = (await UserGroupJoinings.find({ + userGroupId: joining.userGroupId + })).map(x => x.userId); + + if (!groupUsers.includes(note.userId)) return false; } else if (antenna.src === 'users') { const accts = antenna.users.map(x => { const { username, host } = parseAcct(x); |