diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts b/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts index c369ba2b7..da4996902 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts +++ b/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts @@ -1,3 +1,4 @@ +import { switchMap } from 'rxjs' import { AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild } from '@angular/core' import { Router } from '@angular/router' import { AuthService, CanComponentDeactivate, HooksService, Notifier, ServerService } from '@app/core' @@ -87,21 +88,16 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Af this.loadingBar.useRef().start() this.videoImportService.importVideoTorrent(torrentfile || this.magnetUri, videoUpdate) + .pipe(switchMap(({ video }) => this.videoService.getVideo({ videoId: video.uuid }))) .subscribe({ - next: res => { + next: video => { this.loadingBar.useRef().complete() - this.firstStepDone.emit(res.video.name) + this.firstStepDone.emit(video.name) this.isImportingVideo = false this.hasImportedVideo = true - this.video = new VideoEdit(Object.assign(res.video, { - commentsEnabled: videoUpdate.commentsEnabled, - downloadEnabled: videoUpdate.downloadEnabled, - privacy: { id: this.firstStepPrivacyId }, - support: null, - thumbnailUrl: null, - previewUrl: null - })) + this.video = new VideoEdit(video) + this.video.patch({ privacy: this.firstStepPrivacyId }) hydrateFormFromVideo(this.form, this.video, false) }, diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts b/client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts index 4c74eda84..971a2a070 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts +++ b/client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts @@ -1,8 +1,9 @@ +import { forkJoin } from 'rxjs' import { map, switchMap } from 'rxjs/operators' import { AfterViewInit, Component, EventEmitter, OnInit, Output } from '@angular/core' import { Router } from '@angular/router' import { AuthService, CanComponentDeactivate, HooksService, Notifier, ServerService } from '@app/core' -import { getAbsoluteAPIUrl, scrollToTop } from '@app/helpers' +import { scrollToTop } from '@app/helpers' import { FormValidatorService } from '@app/shared/shared-forms' import { VideoCaptionService, VideoEdit, VideoImportService, VideoService } from '@app/shared/shared-main' import { LoadingBarService } from '@ngx-loading-bar/core' @@ -76,12 +77,11 @@ export class VideoImportUrlComponent extends VideoSend implements OnInit, AfterV this.videoImportService .importVideoUrl(this.targetUrl, videoUpdate) .pipe( - switchMap(res => { - return this.videoCaptionService - .listCaptions(res.video.uuid) - .pipe( - map(result => ({ video: res.video, videoCaptions: result.data })) - ) + switchMap(previous => { + return forkJoin([ + this.videoCaptionService.listCaptions(previous.video.uuid), + this.videoService.getVideo({ videoId: previous.video.uuid }) + ]).pipe(map(([ videoCaptionsResult, video ]) => ({ videoCaptions: videoCaptionsResult.data, video }))) }) ) .subscribe({ @@ -91,24 +91,8 @@ export class VideoImportUrlComponent extends VideoSend implements OnInit, AfterV this.isImportingVideo = false this.hasImportedVideo = true - const absoluteAPIUrl = getAbsoluteAPIUrl() - - const thumbnailUrl = video.thumbnailPath - ? absoluteAPIUrl + video.thumbnailPath - : null - - const previewUrl = video.previewPath - ? absoluteAPIUrl + video.previewPath - : null - - this.video = new VideoEdit(Object.assign(video, { - commentsEnabled: videoUpdate.commentsEnabled, - downloadEnabled: videoUpdate.downloadEnabled, - privacy: { id: this.firstStepPrivacyId }, - support: null, - thumbnailUrl, - previewUrl - })) + this.video = new VideoEdit(video) + this.video.patch({ privacy: this.firstStepPrivacyId }) this.videoCaptions = videoCaptions diff --git a/client/src/app/+videos/+video-edit/video-update.component.html b/client/src/app/+videos/+video-edit/video-update.component.html index ffd125695..a33ac3db4 100644 --- a/client/src/app/+videos/+video-edit/video-update.component.html +++ b/client/src/app/+videos/+video-edit/video-update.component.html @@ -1,7 +1,7 @@