X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fobject-storage%2Fvideos.ts;h=9152c535295eb3108bb3a95d4e3eb65c81272d05;hb=d4fff51d96925b5704c97dd673dd779030b1aced;hp=003807826ccc10d72da78dc4877e00c17cfc0297;hpb=9ab330b90decf4edf152ff8e1d2948c065766b2c;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/object-storage/videos.ts b/server/lib/object-storage/videos.ts index 003807826..9152c5352 100644 --- a/server/lib/object-storage/videos.ts +++ b/server/lib/object-storage/videos.ts @@ -11,7 +11,9 @@ import { lTags, makeAvailable, removeObject, + removeObjectByFullKey, removePrefix, + storeContent, storeObject, updateObjectACL, updatePrefixACL @@ -41,6 +43,16 @@ function storeHLSFileFromPath (playlist: MStreamingPlaylistVideo, path: string) }) } +function storeHLSFileFromContent (playlist: MStreamingPlaylistVideo, path: string, content: string) { + return storeContent({ + content, + inputPath: path, + objectStorageKey: generateHLSObjectStorageKey(playlist, basename(path)), + bucketInfo: CONFIG.OBJECT_STORAGE.STREAMING_PLAYLISTS, + isPrivate: playlist.Video.hasPrivateStaticPath() + }) +} + // --------------------------------------------------------------------------- function storeWebTorrentFile (video: MVideo, file: MVideoFile) { @@ -54,16 +66,16 @@ function storeWebTorrentFile (video: MVideo, file: MVideoFile) { // --------------------------------------------------------------------------- -function updateWebTorrentFileACL (video: MVideo, file: MVideoFile) { - return updateObjectACL({ +async function updateWebTorrentFileACL (video: MVideo, file: MVideoFile) { + await updateObjectACL({ objectStorageKey: generateWebTorrentObjectStorageKey(file.filename), bucketInfo: CONFIG.OBJECT_STORAGE.VIDEOS, isPrivate: video.hasPrivateStaticPath() }) } -function updateHLSFilesACL (playlist: MStreamingPlaylistVideo) { - return updatePrefixACL({ +async function updateHLSFilesACL (playlist: MStreamingPlaylistVideo) { + await updatePrefixACL({ prefix: generateHLSObjectBaseStorageKey(playlist), bucketInfo: CONFIG.OBJECT_STORAGE.STREAMING_PLAYLISTS, isPrivate: playlist.Video.hasPrivateStaticPath() @@ -76,10 +88,18 @@ function removeHLSObjectStorage (playlist: MStreamingPlaylistVideo) { return removePrefix(generateHLSObjectBaseStorageKey(playlist), CONFIG.OBJECT_STORAGE.STREAMING_PLAYLISTS) } -function removeHLSFileObjectStorage (playlist: MStreamingPlaylistVideo, filename: string) { +function removeHLSFileObjectStorageByFilename (playlist: MStreamingPlaylistVideo, filename: string) { return removeObject(generateHLSObjectStorageKey(playlist, filename), CONFIG.OBJECT_STORAGE.STREAMING_PLAYLISTS) } +function removeHLSFileObjectStorageByPath (playlist: MStreamingPlaylistVideo, path: string) { + return removeObject(generateHLSObjectStorageKey(playlist, basename(path)), CONFIG.OBJECT_STORAGE.STREAMING_PLAYLISTS) +} + +function removeHLSFileObjectStorageByFullKey (key: string) { + return removeObjectByFullKey(key, CONFIG.OBJECT_STORAGE.STREAMING_PLAYLISTS) +} + // --------------------------------------------------------------------------- function removeWebTorrentObjectStorage (videoFile: MVideoFile) { @@ -157,12 +177,16 @@ export { storeWebTorrentFile, storeHLSFileFromFilename, storeHLSFileFromPath, + storeHLSFileFromContent, updateWebTorrentFileACL, updateHLSFilesACL, removeHLSObjectStorage, - removeHLSFileObjectStorage, + removeHLSFileObjectStorageByFilename, + removeHLSFileObjectStorageByPath, + removeHLSFileObjectStorageByFullKey, + removeWebTorrentObjectStorage, makeWebTorrentFileAvailable,