X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Ffiles-cache%2Fvideos-preview-cache.ts;h=dd3a84aca60a7c8fe5d0dbf7c6a3676bea57d3aa;hb=450de91e22ba1388e14e12ada875c94e0c38f5d3;hp=d0d4fc5b551f4b780aaf86d034624c1b6bacd370;hpb=7cd1b12c19d0589d1d692ed0571ca0800f028aea;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/files-cache/videos-preview-cache.ts b/server/lib/files-cache/videos-preview-cache.ts index d0d4fc5b5..dd3a84aca 100644 --- a/server/lib/files-cache/videos-preview-cache.ts +++ b/server/lib/files-cache/videos-preview-cache.ts @@ -3,6 +3,9 @@ import { FILES_CACHE } from '../../initializers/constants' import { VideoModel } from '../../models/video/video' import { AbstractVideoStaticFileCache } from './abstract-video-static-file-cache' import { doRequestAndSaveToFile } from '@server/helpers/requests' +import { ThumbnailModel } from '@server/models/video/thumbnail' +import { ThumbnailType } from '@shared/models' +import { logger } from '@server/helpers/logger' class VideosPreviewCache extends AbstractVideoStaticFileCache { @@ -16,15 +19,16 @@ class VideosPreviewCache extends AbstractVideoStaticFileCache { return this.instance || (this.instance = new this()) } - async getFilePathImpl (videoUUID: string) { - const video = await VideoModel.loadByUUID(videoUUID) - if (!video) return undefined + async getFilePathImpl (filename: string) { + const thumbnail = await ThumbnailModel.loadWithVideoByFilename(filename, ThumbnailType.PREVIEW) + if (!thumbnail) return undefined - if (video.isOwned()) return { isOwned: true, path: video.getPreview().getPath() } + if (thumbnail.Video.isOwned()) return { isOwned: true, path: thumbnail.getPath() } - return this.loadRemoteFile(videoUUID) + return this.loadRemoteFile(thumbnail.Video.uuid) } + // Key is the video UUID protected async loadRemoteFile (key: string) { const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(key) if (!video) return undefined @@ -35,7 +39,9 @@ class VideosPreviewCache extends AbstractVideoStaticFileCache { const destPath = join(FILES_CACHE.PREVIEWS.DIRECTORY, preview.filename) const remoteUrl = preview.getFileUrl(video) - await doRequestAndSaveToFile({ uri: remoteUrl }, destPath) + await doRequestAndSaveToFile(remoteUrl, destPath) + + logger.debug('Fetched remote preview %s to %s.', remoteUrl, destPath) return { isOwned: false, path: destPath } }