]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/lib/activitypub/audience.ts
Use bullmq job dependency
[github/Chocobozzz/PeerTube.git] / server / lib / activitypub / audience.ts
CommitLineData
e251f170 1import { ActivityAudience } from '../../../shared/models/activitypub'
74dc3bca 2import { ACTIVITY_PUB } from '../../initializers/constants'
57e4e1c1 3import { MActorFollowersUrl } from '../../types/models'
e251f170 4
453e83ea 5function getAudience (actorSender: MActorFollowersUrl, isPublic = true) {
e251f170
C
6 return buildAudience([ actorSender.followersUrl ], isPublic)
7}
8
e3d5ea4f 9function buildAudience (followerUrls: string[], isPublic = true) {
c1e791ba
RK
10 let to: string[] = []
11 let cc: string[] = []
e251f170
C
12
13 if (isPublic) {
14 to = [ ACTIVITY_PUB.PUBLIC ]
e3d5ea4f 15 cc = followerUrls
e251f170 16 } else { // Unlisted
2186386c
C
17 to = []
18 cc = []
e251f170
C
19 }
20
21 return { to, cc }
22}
23
2186386c 24function audiencify<T> (object: T, audience: ActivityAudience) {
a219c910 25 return { ...audience, ...object }
e251f170
C
26}
27
28// ---------------------------------------------------------------------------
29
30export {
31 buildAudience,
32 getAudience,
57e4e1c1 33 audiencify
e251f170 34}