diff options
Diffstat (limited to 'server/controllers/api')
-rw-r--r-- | server/controllers/api/videos/index.ts | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/server/controllers/api/videos/index.ts b/server/controllers/api/videos/index.ts index 9504c40a4..dcd6194ae 100644 --- a/server/controllers/api/videos/index.ts +++ b/server/controllers/api/videos/index.ts | |||
@@ -7,7 +7,7 @@ import { changeVideoChannelShare } from '@server/lib/activitypub/share' | |||
7 | import { getLocalVideoActivityPubUrl } from '@server/lib/activitypub/url' | 7 | import { getLocalVideoActivityPubUrl } from '@server/lib/activitypub/url' |
8 | import { LiveManager } from '@server/lib/live-manager' | 8 | import { LiveManager } from '@server/lib/live-manager' |
9 | import { addOptimizeOrMergeAudioJob, buildLocalVideoFromReq, buildVideoThumbnailsFromReq, setVideoTags } from '@server/lib/video' | 9 | import { addOptimizeOrMergeAudioJob, buildLocalVideoFromReq, buildVideoThumbnailsFromReq, setVideoTags } from '@server/lib/video' |
10 | import { getVideoFilePath } from '@server/lib/video-paths' | 10 | import { generateVideoFilename, getVideoFilePath } from '@server/lib/video-paths' |
11 | import { getServerActor } from '@server/models/application/application' | 11 | import { getServerActor } from '@server/models/application/application' |
12 | import { MVideoFullLight } from '@server/types/models' | 12 | import { MVideoFullLight } from '@server/types/models' |
13 | import { VideoCreate, VideoState, VideoUpdate } from '../../../../shared' | 13 | import { VideoCreate, VideoState, VideoUpdate } from '../../../../shared' |
@@ -189,6 +189,7 @@ async function addVideo (req: express.Request, res: express.Response) { | |||
189 | videoData.duration = videoPhysicalFile['duration'] // duration was added by a previous middleware | 189 | videoData.duration = videoPhysicalFile['duration'] // duration was added by a previous middleware |
190 | 190 | ||
191 | const video = new VideoModel(videoData) as MVideoFullLight | 191 | const video = new VideoModel(videoData) as MVideoFullLight |
192 | video.VideoChannel = res.locals.videoChannel | ||
192 | video.url = getLocalVideoActivityPubUrl(video) // We use the UUID, so set the URL after building the object | 193 | video.url = getLocalVideoActivityPubUrl(video) // We use the UUID, so set the URL after building the object |
193 | 194 | ||
194 | const videoFile = new VideoFileModel({ | 195 | const videoFile = new VideoFileModel({ |
@@ -205,6 +206,8 @@ async function addVideo (req: express.Request, res: express.Response) { | |||
205 | videoFile.resolution = (await getVideoFileResolution(videoPhysicalFile.path)).videoFileResolution | 206 | videoFile.resolution = (await getVideoFileResolution(videoPhysicalFile.path)).videoFileResolution |
206 | } | 207 | } |
207 | 208 | ||
209 | videoFile.filename = generateVideoFilename(video, false, videoFile.resolution, videoFile.extname) | ||
210 | |||
208 | // Move physical file | 211 | // Move physical file |
209 | const destination = getVideoFilePath(video, videoFile) | 212 | const destination = getVideoFilePath(video, videoFile) |
210 | await move(videoPhysicalFile.path, destination) | 213 | await move(videoPhysicalFile.path, destination) |
@@ -219,7 +222,7 @@ async function addVideo (req: express.Request, res: express.Response) { | |||
219 | }) | 222 | }) |
220 | 223 | ||
221 | // Create the torrent file | 224 | // Create the torrent file |
222 | await createTorrentAndSetInfoHash(video, videoFile) | 225 | await createTorrentAndSetInfoHash(video, video, videoFile) |
223 | 226 | ||
224 | const { videoCreated } = await sequelizeTypescript.transaction(async t => { | 227 | const { videoCreated } = await sequelizeTypescript.transaction(async t => { |
225 | const sequelizeOptions = { transaction: t } | 228 | const sequelizeOptions = { transaction: t } |