]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/lib/activitypub/share.ts
Add beautiful loading bar
[github/Chocobozzz/PeerTube.git] / server / lib / activitypub / share.ts
1 import { Transaction } from 'sequelize'
2 import { getServerAccount } from '../../helpers/utils'
3 import { database as db } from '../../initializers'
4 import { VideoChannelInstance } from '../../models/index'
5 import { VideoInstance } from '../../models/video/video-interface'
6 import { sendVideoAnnounceToFollowers, sendVideoChannelAnnounceToFollowers } from './send/send-announce'
7
8 async function shareVideoChannelByServer (videoChannel: VideoChannelInstance, t: Transaction) {
9 const serverAccount = await getServerAccount()
10
11 await db.VideoChannelShare.create({
12 accountId: serverAccount.id,
13 videoChannelId: videoChannel.id
14 }, { transaction: t })
15
16 return sendVideoChannelAnnounceToFollowers(serverAccount, videoChannel, t)
17 }
18
19 async function shareVideoByServer (video: VideoInstance, t: Transaction) {
20 const serverAccount = await getServerAccount()
21
22 await db.VideoShare.create({
23 accountId: serverAccount.id,
24 videoId: video.id
25 }, { transaction: t })
26
27 return sendVideoAnnounceToFollowers(serverAccount, video, t)
28 }
29
30 export {
31 shareVideoChannelByServer,
32 shareVideoByServer
33 }