]>
Commit | Line | Data |
---|---|---|
df0b219d | 1 | import * as Sequelize from 'sequelize' |
df0b219d C |
2 | import { VideoPlaylistModel } from '../models/video/video-playlist' |
3 | import { VideoPlaylistPrivacy } from '../../shared/models/videos/playlist/video-playlist-privacy.model' | |
4 | import { getVideoPlaylistActivityPubUrl } from './activitypub' | |
5 | import { VideoPlaylistType } from '../../shared/models/videos/playlist/video-playlist-type.model' | |
453e83ea C |
6 | import { MAccount } from '../typings/models' |
7 | import { MVideoPlaylistOwner } from '../typings/models/video/video-playlist' | |
df0b219d | 8 | |
453e83ea C |
9 | async function createWatchLaterPlaylist (account: MAccount, t: Sequelize.Transaction) { |
10 | const videoPlaylist: MVideoPlaylistOwner = new VideoPlaylistModel({ | |
df0b219d C |
11 | name: 'Watch later', |
12 | privacy: VideoPlaylistPrivacy.PRIVATE, | |
13 | type: VideoPlaylistType.WATCH_LATER, | |
14 | ownerAccountId: account.id | |
15 | }) | |
16 | ||
17 | videoPlaylist.url = getVideoPlaylistActivityPubUrl(videoPlaylist) // We use the UUID, so set the URL after building the object | |
18 | ||
19 | await videoPlaylist.save({ transaction: t }) | |
20 | ||
21 | videoPlaylist.OwnerAccount = account | |
22 | ||
23 | return videoPlaylist | |
24 | } | |
25 | ||
26 | // --------------------------------------------------------------------------- | |
27 | ||
28 | export { | |
29 | createWatchLaterPlaylist | |
30 | } |