]>
Commit | Line | Data |
---|---|---|
e251f170 | 1 | import { ActivityAudience } from '../../../shared/models/activitypub' |
74dc3bca | 2 | import { ACTIVITY_PUB } from '../../initializers/constants' |
57e4e1c1 | 3 | import { MActorFollowersUrl } from '../../types/models' |
e251f170 | 4 | |
453e83ea | 5 | function getAudience (actorSender: MActorFollowersUrl, isPublic = true) { |
e251f170 C |
6 | return buildAudience([ actorSender.followersUrl ], isPublic) |
7 | } | |
8 | ||
e3d5ea4f | 9 | function 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 | 24 | function audiencify<T> (object: T, audience: ActivityAudience) { |
e251f170 C |
25 | return Object.assign(object, audience) |
26 | } | |
27 | ||
28 | // --------------------------------------------------------------------------- | |
29 | ||
30 | export { | |
31 | buildAudience, | |
32 | getAudience, | |
57e4e1c1 | 33 | audiencify |
e251f170 | 34 | } |