PeerTube/server/core/lib/video-playlist.ts

30 lines
1.0 KiB
TypeScript
Raw Normal View History

2019-03-05 03:58:44 -06:00
import * as Sequelize from 'sequelize'
import { VideoPlaylistPrivacy, VideoPlaylistType } from '@peertube/peertube-models'
import { VideoPlaylistModel } from '../models/video/video-playlist.js'
import { MAccount } from '../types/models/index.js'
import { MVideoPlaylistOwner } from '../types/models/video/video-playlist.js'
import { getLocalVideoPlaylistActivityPubUrl } from './activitypub/url.js'
2019-03-05 03:58:44 -06:00
2019-08-15 04:53:26 -05:00
async function createWatchLaterPlaylist (account: MAccount, t: Sequelize.Transaction) {
const videoPlaylist: MVideoPlaylistOwner = new VideoPlaylistModel({
2019-03-05 03:58:44 -06:00
name: 'Watch later',
privacy: VideoPlaylistPrivacy.PRIVATE,
type: VideoPlaylistType.WATCH_LATER,
ownerAccountId: account.id
})
2020-11-20 04:21:08 -06:00
videoPlaylist.url = getLocalVideoPlaylistActivityPubUrl(videoPlaylist) // We use the UUID, so set the URL after building the object
2019-03-05 03:58:44 -06:00
await videoPlaylist.save({ transaction: t })
videoPlaylist.OwnerAccount = account
return videoPlaylist
}
// ---------------------------------------------------------------------------
export {
createWatchLaterPlaylist
}