import { ActivityAudience } from '../../../shared/models/activitypub' import { ACTIVITY_PUB } from '../../initializers/constants' import { MActorFollowersUrl } from '../../types/models' function getAudience (actorSender: MActorFollowersUrl, isPublic = true) { return buildAudience([ actorSender.followersUrl ], isPublic) } function buildAudience (followerUrls: string[], isPublic = true) { let to: string[] = [] let cc: string[] = [] if (isPublic) { to = [ ACTIVITY_PUB.PUBLIC ] cc = followerUrls } else { // Unlisted to = [] cc = [] } return { to, cc } } function audiencify (object: T, audience: ActivityAudience) { return { ...audience, ...object } } // --------------------------------------------------------------------------- export { buildAudience, getAudience, audiencify }