VIDEO_DESCRIPTION,
VIDEO_TAGS,
VIDEO_CHANNEL,
- VIDEO_FILE
+ VIDEO_FILE,
+ VIDEO_PRIVACY
} from '../../shared'
import { AuthService, ServerService } from '../../core'
import { VideoService } from '../shared'
videoCategories = []
videoLicences = []
videoLanguages = []
+ videoPrivacies = []
userVideoChannels = []
tagValidators = VIDEO_TAGS.VALIDATORS
form: FormGroup
formErrors = {
name: '',
+ privacy: '',
category: '',
licence: '',
language: '',
}
validationMessages = {
name: VIDEO_NAME.MESSAGES,
+ privacy: VIDEO_PRIVACY.MESSAGES,
category: VIDEO_CATEGORY.MESSAGES,
licence: VIDEO_LICENCE.MESSAGES,
language: VIDEO_LANGUAGE.MESSAGES,
this.form = this.formBuilder.group({
name: [ '', VIDEO_NAME.VALIDATORS ],
nsfw: [ false ],
+ privacy: [ '', VIDEO_PRIVACY.VALIDATORS ],
category: [ '', VIDEO_CATEGORY.VALIDATORS ],
licence: [ '', VIDEO_LICENCE.VALIDATORS ],
language: [ '', VIDEO_LANGUAGE.VALIDATORS ],
- channelId: [ this.userVideoChannels[0].id, VIDEO_CHANNEL.VALIDATORS ],
+ channelId: [ '', VIDEO_CHANNEL.VALIDATORS ],
description: [ '', VIDEO_DESCRIPTION.VALIDATORS ],
videofile: [ '', VIDEO_FILE.VALIDATORS ],
tags: [ '' ]
this.videoCategories = this.serverService.getVideoCategories()
this.videoLicences = this.serverService.getVideoLicences()
this.videoLanguages = this.serverService.getVideoLanguages()
-
- const user = this.authService.getUser()
- this.userVideoChannels = user.videoChannels.map(v => ({ id: v.id, label: v.name }))
+ this.videoPrivacies = this.serverService.getVideoPrivacies()
this.buildForm()
+
+ this.authService.userInformationLoaded
+ .subscribe(
+ () => {
+ const user = this.authService.getUser()
+ if (!user) return
+
+ const videoChannels = user.videoChannels
+ if (Array.isArray(videoChannels) === false) return
+
+ this.userVideoChannels = videoChannels.map(v => ({ id: v.id, label: v.name }))
+
+ this.form.patchValue({ channelId: this.userVideoChannels[0].id })
+ }
+ )
}
// The goal is to keep reactive form validation (required field)
const formValue: VideoCreate = this.form.value
const name = formValue.name
+ const privacy = formValue.privacy
const nsfw = formValue.nsfw
const category = formValue.category
const licence = formValue.licence
const formData = new FormData()
formData.append('name', name)
+ formData.append('privacy', privacy.toString())
formData.append('category', '' + category)
formData.append('nsfw', '' + nsfw)
formData.append('licence', '' + licence)