AVAILABLE_FOR_LIST = 'AVAILABLE_FOR_LIST',
WITH_ACCOUNT_DETAILS = 'WITH_ACCOUNT_DETAILS',
WITH_TAGS = 'WITH_TAGS',
- WITH_FILES = 'WITH_FILES'
+ WITH_FILES = 'WITH_FILES',
+ WITH_SCHEDULED_UPDATE = 'WITH_SCHEDULED_UPDATE'
}
@Scopes({
required: true
}
]
+ },
+ [ScopeNames.WITH_SCHEDULED_UPDATE]: {
+ include: [
+ {
+ model: () => ScheduleVideoUpdateModel.unscoped(),
+ required: false
+ }
+ ]
}
})
@Table({
}
return VideoModel
- .scope([ ScopeNames.WITH_TAGS, ScopeNames.WITH_FILES, ScopeNames.WITH_ACCOUNT_DETAILS ])
+ .scope([ ScopeNames.WITH_TAGS, ScopeNames.WITH_FILES, ScopeNames.WITH_ACCOUNT_DETAILS, ScopeNames.WITH_SCHEDULED_UPDATE ])
.findById(id, options)
}
}
return VideoModel
- .scope([ ScopeNames.WITH_TAGS, ScopeNames.WITH_FILES, ScopeNames.WITH_ACCOUNT_DETAILS ])
+ .scope([ ScopeNames.WITH_TAGS, ScopeNames.WITH_FILES, ScopeNames.WITH_ACCOUNT_DETAILS, ScopeNames.WITH_SCHEDULED_UPDATE ])
.findOne(options)
}
toFormattedJSON (options?: {
additionalAttributes: {
- state: boolean,
- waitTranscoding: boolean,
- scheduledUpdate: boolean
+ state?: boolean,
+ waitTranscoding?: boolean,
+ scheduledUpdate?: boolean
}
}): Video {
const formattedAccount = this.VideoChannel.Account.toFormattedJSON()
}
if (options) {
- if (options.additionalAttributes.state) {
+ if (options.additionalAttributes.state === true) {
videoObject.state = {
id: this.state,
label: VideoModel.getStateLabel(this.state)
}
}
- if (options.additionalAttributes.waitTranscoding) {
+ if (options.additionalAttributes.waitTranscoding === true) {
videoObject.waitTranscoding = this.waitTranscoding
}
- if (options.additionalAttributes.scheduledUpdate && this.ScheduleVideoUpdate) {
+ if (options.additionalAttributes.scheduledUpdate === true && this.ScheduleVideoUpdate) {
videoObject.scheduledUpdate = {
updateAt: this.ScheduleVideoUpdate.updateAt,
privacy: this.ScheduleVideoUpdate.privacy || undefined
}
toFormattedDetailsJSON (): VideoDetails {
- const formattedJson = this.toFormattedJSON()
+ const formattedJson = this.toFormattedJSON({
+ additionalAttributes: {
+ scheduledUpdate: true
+ }
+ })
const detailsJson = {
support: this.support,