// ---------------------------------------------------------------------------
function addOpenGraphTags (htmlStringPage, video) {
- const thumbnailUrl = constants.CONFIG.WEBSERVER.URL + video.thumbnailPath
const videoUrl = constants.CONFIG.WEBSERVER.URL + '/videos/watch/'
+ let baseUrlHttp
+
+ if (video.isOwned()) {
+ baseUrlHttp = constants.CONFIG.WEBSERVER.URL
+ } else {
+ baseUrlHttp = constants.REMOTE_SCHEME.HTTP + '://' + video.podUrl
+ }
+
+ // We fetch the remote preview (bigger than the thumbnail)
+ // This should not overhead the remote server since social websites put in a cache the OpenGraph tags
+ // We can't use the thumbnail because these social websites want bigger images (> 200x200 for Facebook for example)
+ const previewUrl = baseUrlHttp + constants.STATIC_PATHS.PREVIEWS + video.getPreviewName()
const metaTags = {
'og:type': 'video',
'og:title': video.name,
- 'og:image': thumbnailUrl,
+ 'og:image': previewUrl,
'og:url': videoUrl,
'og:description': video.description,
'name': video.name,
'description': video.description,
- 'image': thumbnailUrl,
+ 'image': previewUrl,
'twitter:card': 'summary_large_image',
'twitter:site': '@Chocobozzz',
'twitter:title': video.name,
'twitter:description': video.description,
- 'twitter:image': thumbnailUrl
+ 'twitter:image': previewUrl
}
let tagsString = ''
isVideoDateValid(video.createdDate) &&
isVideoDescriptionValid(video.description) &&
isVideoDurationValid(video.duration) &&
- isVideoMagnetValid(video.magnetUri) &&
+ isVideoMagnetValid(video.magnet) &&
isVideoNameValid(video.name) &&
isVideoPodUrlValid(video.podUrl) &&
isVideoTagsValid(video.tags) &&
}
function isVideoMagnetValid (value) {
- return validator.isLength(value.infoHash, VIDEOS_CONSTRAINTS_FIELDS.MAGNET.XT)
+ return validator.isLength(value.infoHash, VIDEOS_CONSTRAINTS_FIELDS.MAGNET.INFO_HASH)
}
function isVideoNameValid (value) {
NAME: { min: 3, max: 50 }, // Length
DESCRIPTION: { min: 3, max: 250 }, // Length
MAGNET: {
- XT: { min: 10 } // Length
+ INFO_HASH: { min: 10, max: 50 } // Length
},
DURATION: { min: 1, max: 7200 }, // Number
TAGS: { min: 1, max: 3 }, // Number of total tags
baseUrlHttp = constants.CONFIG.WEBSERVER.URL
baseUrlWs = constants.CONFIG.WEBSERVER.WS + '://' + constants.CONFIG.WEBSERVER.HOSTNAME + ':' + constants.CONFIG.WEBSERVER.PORT
} else {
- baseUrlHttp = constants.REMOTE_SCHEME.HTTP + this.podUrl
+ baseUrlHttp = constants.REMOTE_SCHEME.HTTP + '://' + this.podUrl
baseUrlWs = constants.REMOTE_SCHEME.WS + this.podUrl
}