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