aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/typings/models/video/video-playlist.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/typings/models/video/video-playlist.ts')
-rw-r--r--server/typings/models/video/video-playlist.ts42
1 files changed, 42 insertions, 0 deletions
diff --git a/server/typings/models/video/video-playlist.ts b/server/typings/models/video/video-playlist.ts
new file mode 100644
index 000000000..825b3391c
--- /dev/null
+++ b/server/typings/models/video/video-playlist.ts
@@ -0,0 +1,42 @@
1import { VideoPlaylistModel } from '../../../models/video/video-playlist'
2import { PickWith } from '../../utils'
3import { MAccount, MAccountDefault, MAccountSummary } from '../account'
4import { MThumbnail } from './thumbnail'
5import { MChannelDefault, MChannelSummary } from './video-channels'
6import { MVideoPlaylistElementLight } from '@server/typings/models/video/video-playlist-element'
7
8export type MVideoPlaylist = Omit<VideoPlaylistModel, 'OwnerAccount' | 'VideoChannel' | 'VideoPlaylistElements' | 'Thumbnail'>
9export type MVideoPlaylistId = Pick<MVideoPlaylist, 'id'>
10export type MVideoPlaylistPrivacy = Pick<MVideoPlaylist, 'privacy'>
11
12export type MVideoPlaylistWithElements = MVideoPlaylist &
13 PickWith<VideoPlaylistModel, 'VideoPlaylistElements', MVideoPlaylistElementLight[]>
14export type MVideoPlaylistIdWithElements = MVideoPlaylistId & MVideoPlaylistWithElements
15
16export type MVideoPlaylistUUID = Pick<MVideoPlaylist, 'uuid'>
17
18export type MVideoPlaylistOwner = MVideoPlaylist &
19 PickWith<VideoPlaylistModel, 'OwnerAccount', MAccount>
20
21export type MVideoPlaylistOwnerDefault = MVideoPlaylist &
22 PickWith<VideoPlaylistModel, 'OwnerAccount', MAccountDefault>
23
24export type MVideoPlaylistThumbnail = MVideoPlaylist &
25 PickWith<VideoPlaylistModel, 'Thumbnail', MThumbnail>
26
27export type MVideoPlaylistAccountThumbnail = MVideoPlaylistOwnerDefault &
28 PickWith<VideoPlaylistModel, 'Thumbnail', MThumbnail>
29
30export type MVideoPlaylistAccountChannelSummary = MVideoPlaylist &
31 PickWith<VideoPlaylistModel, 'OwnerAccount', MAccountSummary> &
32 PickWith<VideoPlaylistModel, 'VideoChannel', MChannelSummary>
33
34export type MVideoPlaylistAccountChannelDefault = MVideoPlaylist &
35 PickWith<VideoPlaylistModel, 'OwnerAccount', MAccountDefault> &
36 PickWith<VideoPlaylistModel, 'VideoChannel', MChannelDefault>
37
38export type MVideoPlaylistVideosLength = MVideoPlaylist & { videosLength: number }
39
40export type MVideoPlaylistFullSummary = MVideoPlaylistAccountChannelSummary & MVideoPlaylistThumbnail
41
42export type MVideoPlaylistFull = MVideoPlaylist & MVideoPlaylistThumbnail & MVideoPlaylistAccountChannelDefault