serverHost: string
thumbnailPath: string
thumbnailUrl: string
+
previewPath: string
previewUrl: string
+
embedPath: string
embedUrl: string
+
+ url?: string
+
views: number
likes: number
dislikes: number
state?: VideoConstant<VideoState>
scheduledUpdate?: VideoScheduleUpdate
blacklisted?: boolean
- blacklistedReason?: string
+ blockedReason?: string
account: {
id: number
this.name = hash.name
this.thumbnailPath = hash.thumbnailPath
- this.thumbnailUrl = absoluteAPIUrl + hash.thumbnailPath
+ this.thumbnailUrl = hash.thumbnailUrl || (absoluteAPIUrl + hash.thumbnailPath)
this.previewPath = hash.previewPath
- this.previewUrl = absoluteAPIUrl + hash.previewPath
+ this.previewUrl = hash.previewUrl || (absoluteAPIUrl + hash.previewPath)
this.embedPath = hash.embedPath
- this.embedUrl = absoluteAPIUrl + hash.embedPath
+ this.embedUrl = hash.embedUrl || (absoluteAPIUrl + hash.embedPath)
+
+ this.url = hash.url
this.views = hash.views
this.likes = hash.likes
if (this.state) this.state.label = peertubeTranslate(this.state.label, translations)
this.blacklisted = hash.blacklisted
- this.blacklistedReason = hash.blacklistedReason
+ this.blockedReason = hash.blacklistedReason
this.userHistory = hash.userHistory
return user && this.isLocal === true && (this.account.name === user.username || user.hasRight(UserRight.REMOVE_ANY_VIDEO))
}
- isBlackistableBy (user: AuthUser) {
- return this.blacklisted !== true && user && user.hasRight(UserRight.MANAGE_VIDEO_BLACKLIST) === true
+ isBlockableBy (user: AuthUser) {
+ return this.blacklisted !== true && user && user.hasRight(UserRight.MANAGE_VIDEO_BLOCKS) === true
}
- isUnblacklistableBy (user: AuthUser) {
- return this.blacklisted === true && user && user.hasRight(UserRight.MANAGE_VIDEO_BLACKLIST) === true
+ isUnblockableBy (user: AuthUser) {
+ return this.blacklisted === true && user && user.hasRight(UserRight.MANAGE_VIDEO_BLOCKS) === true
}
isUpdatableBy (user: AuthUser) {