- const text = `Hi dear user,\n\n` +
- `Your video ${video.name} has been published.` +
- `\n\n` +
- `You can view it on ${videoUrl} ` +
- `\n\n` +
- `Cheers,\n` +
- `PeerTube.`
+ const emailPayload: EmailPayload = {
+ template: 'follower-on-channel',
+ to,
+ subject: `New follower on your channel ${followingName}`,
+ locals: {
+ followerName: actorFollow.ActorFollower.Account.getDisplayName(),
+ followerUrl: actorFollow.ActorFollower.url,
+ followingName,
+ followingUrl: actorFollow.ActorFollowing.url,
+ followType
+ }
+ }
+
+ return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload })
+ }
+
+ addNewInstanceFollowerNotification (to: string[], actorFollow: MActorFollowActors) {
+ const awaitingApproval = actorFollow.state === 'pending' ? ' awaiting manual approval.' : ''
+
+ const emailPayload: EmailPayload = {
+ to,
+ subject: 'New instance follower',
+ text: `Your instance has a new follower: ${actorFollow.ActorFollower.url}${awaitingApproval}.`,
+ locals: {
+ title: 'New instance follower',
+ action: {
+ text: 'Review followers',
+ url: WEBSERVER.URL + '/admin/follows/followers-list'
+ }
+ }
+ }
+
+ return JobQueue.Instance.createJob({ type: 'email', payload: emailPayload })
+ }