]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts
Merge branch 'release/4.0.0' into develop
[github/Chocobozzz/PeerTube.git] / client / src / app / +videos / +video-edit / video-add-components / video-import-url.component.ts
index 7a9fe369f108e96e41adf35256a23477a9f83c50..0c78669c127a0da8309d64ff0f374d3034399f77 100644 (file)
@@ -6,7 +6,7 @@ import { getAbsoluteAPIUrl, 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'
-import { VideoPrivacy, VideoUpdate } from '@shared/models'
+import { VideoUpdate } from '@shared/models'
 import { hydrateFormFromVideo } from '../shared/video-edit-utils'
 import { VideoSend } from './video-send'
 
@@ -31,8 +31,6 @@ export class VideoImportUrlComponent extends VideoSend implements OnInit, AfterV
   video: VideoEdit
   error: string
 
-  protected readonly DEFAULT_VIDEO_PRIVACY = VideoPrivacy.PUBLIC
-
   constructor (
     protected formValidatorService: FormValidatorService,
     protected loadingBar: LoadingBarService,
@@ -61,17 +59,15 @@ export class VideoImportUrlComponent extends VideoSend implements OnInit, AfterV
   }
 
   isTargetUrlValid () {
-    return this.targetUrl && this.targetUrl.match(/https?:\/\//)
+    return this.targetUrl?.match(/https?:\/\//)
   }
 
   importVideo () {
     this.isImportingVideo = true
 
     const videoUpdate: VideoUpdate = {
-      privacy: VideoPrivacy.PRIVATE,
+      privacy: this.highestPrivacy,
       waitTranscoding: false,
-      commentsEnabled: true,
-      downloadEnabled: true,
       channelId: this.firstStepChannelId
     }
 
@@ -88,8 +84,8 @@ export class VideoImportUrlComponent extends VideoSend implements OnInit, AfterV
                 )
           })
         )
-        .subscribe(
-          ({ video, videoCaptions }) => {
+        .subscribe({
+          next: ({ video, videoCaptions }) => {
             this.loadingBar.useRef().complete()
             this.firstStepDone.emit(video.name)
             this.isImportingVideo = false
@@ -119,19 +115,17 @@ export class VideoImportUrlComponent extends VideoSend implements OnInit, AfterV
             hydrateFormFromVideo(this.form, this.video, true)
           },
 
-          err => {
+          error: err => {
             this.loadingBar.useRef().complete()
             this.isImportingVideo = false
             this.firstStepError.emit()
             this.notifier.error(err.message)
           }
-        )
+        })
   }
 
-  updateSecondStep () {
-    if (this.checkForm() === false) {
-      return
-    }
+  async updateSecondStep () {
+    if (!await this.isFormValid()) return
 
     this.video.patch(this.form.value)
 
@@ -139,19 +133,19 @@ export class VideoImportUrlComponent extends VideoSend implements OnInit, AfterV
 
     // Update the video
     this.updateVideoAndCaptions(this.video)
-        .subscribe(
-          () => {
+        .subscribe({
+          next: () => {
             this.isUpdatingVideo = false
             this.notifier.success($localize`Video to import updated.`)
 
             this.router.navigate([ '/my-library', 'video-imports' ])
           },
 
-          err => {
+          error: err => {
             this.error = err.message
             scrollToTop()
             console.error(err)
           }
-        )
+        })
   }
 }