mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-03 17:59:37 +02:00
Fix CI tests
This commit is contained in:
parent
881958d179
commit
c37e305342
41 changed files with 133 additions and 72 deletions
41
server/lib/object-storage/pre-signed-urls.ts
Normal file
41
server/lib/object-storage/pre-signed-urls.ts
Normal file
|
@ -0,0 +1,41 @@
|
|||
import { GetObjectCommand } from '@aws-sdk/client-s3'
|
||||
import { getSignedUrl } from '@aws-sdk/s3-request-presigner'
|
||||
import { CONFIG } from '@server/initializers/config'
|
||||
import { MStreamingPlaylistVideo, MVideoFile } from '@server/types/models'
|
||||
import { generateHLSObjectStorageKey, generateWebTorrentObjectStorageKey } from './keys'
|
||||
import { buildKey, getClient } from './shared'
|
||||
|
||||
export function generateWebVideoPresignedUrl (options: {
|
||||
file: MVideoFile
|
||||
downloadFilename: string
|
||||
}) {
|
||||
const { file, downloadFilename } = options
|
||||
|
||||
const key = generateWebTorrentObjectStorageKey(file.filename)
|
||||
|
||||
const command = new GetObjectCommand({
|
||||
Bucket: CONFIG.OBJECT_STORAGE.VIDEOS.BUCKET_NAME,
|
||||
Key: buildKey(key, CONFIG.OBJECT_STORAGE.VIDEOS),
|
||||
ResponseContentDisposition: `attachment; filename=${downloadFilename}`
|
||||
})
|
||||
|
||||
return getSignedUrl(getClient(), command, { expiresIn: 3600 * 24 })
|
||||
}
|
||||
|
||||
export function generateHLSFilePresignedUrl (options: {
|
||||
streamingPlaylist: MStreamingPlaylistVideo
|
||||
file: MVideoFile
|
||||
downloadFilename: string
|
||||
}) {
|
||||
const { streamingPlaylist, file, downloadFilename } = options
|
||||
|
||||
const key = generateHLSObjectStorageKey(streamingPlaylist, file.filename)
|
||||
|
||||
const command = new GetObjectCommand({
|
||||
Bucket: CONFIG.OBJECT_STORAGE.STREAMING_PLAYLISTS.BUCKET_NAME,
|
||||
Key: buildKey(key, CONFIG.OBJECT_STORAGE.STREAMING_PLAYLISTS),
|
||||
ResponseContentDisposition: `attachment; filename=${downloadFilename}`
|
||||
})
|
||||
|
||||
return getSignedUrl(getClient(), command, { expiresIn: 3600 * 24 })
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue