2020-08-27 14:44:21 +02:00
|
|
|
|
2021-05-03 16:52:54 +02:00
|
|
|
import { Account, AccountSummary, ActorImage, Video, VideoChannel, VideoChannelSummary, VideoDetails } from '../../PeerTube/shared/models'
|
2020-02-19 15:39:35 +01:00
|
|
|
import { IndexableDoc } from './elastic-search.model'
|
2020-06-09 14:29:20 +02:00
|
|
|
|
|
|
|
type ActorExtended = {
|
|
|
|
handle: string
|
2021-05-03 16:52:54 +02:00
|
|
|
avatar: ActorImage & { url: string }
|
2020-06-09 14:29:20 +02:00
|
|
|
}
|
2020-02-14 16:14:45 +01:00
|
|
|
|
|
|
|
export interface IndexableVideo extends Video, IndexableDoc {
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface IndexableVideoDetails extends VideoDetails, IndexableDoc {
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface DBVideoDetails extends Omit<VideoDetails, 'isLocal'> {
|
|
|
|
indexedAt: Date
|
|
|
|
host: string
|
2020-05-28 16:32:49 +02:00
|
|
|
|
2020-06-09 14:29:20 +02:00
|
|
|
account: Account & ActorExtended
|
|
|
|
channel: VideoChannel & ActorExtended
|
2020-08-27 14:44:21 +02:00
|
|
|
|
|
|
|
score?: number
|
2020-02-14 16:14:45 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface DBVideo extends Omit<Video, 'isLocal'> {
|
|
|
|
indexedAt: Date
|
|
|
|
host: string
|
2020-06-05 14:37:39 +02:00
|
|
|
url: string
|
2020-05-28 16:32:49 +02:00
|
|
|
|
2020-06-09 14:29:20 +02:00
|
|
|
account: AccountSummary & ActorExtended
|
|
|
|
channel: VideoChannelSummary & ActorExtended
|
2020-02-14 16:14:45 +01:00
|
|
|
}
|
2020-08-27 14:44:21 +02:00
|
|
|
|
|
|
|
// Results from the search API
|
|
|
|
export interface EnhancedVideo extends Video {
|
|
|
|
tags: VideoDetails['tags']
|
|
|
|
|
|
|
|
score: number
|
|
|
|
}
|