Change models
This commit is contained in:
parent
94a680c095
commit
c80341655f
8 changed files with 26 additions and 1 deletions
|
@ -25,6 +25,7 @@ export class VideoEdit implements VideoUpdate {
|
|||
uuid?: string
|
||||
id?: number
|
||||
scheduleUpdate?: VideoScheduleUpdate
|
||||
originallyPublishedAt?: Date | string
|
||||
|
||||
constructor (video?: Video & { tags: string[], commentsEnabled: boolean, support: string, thumbnailUrl: string, previewUrl: string }) {
|
||||
if (video) {
|
||||
|
@ -46,6 +47,7 @@ export class VideoEdit implements VideoUpdate {
|
|||
this.previewUrl = video.previewUrl
|
||||
|
||||
this.scheduleUpdate = video.scheduledUpdate
|
||||
this.originallyPublishedAt = new Date(video.originallyPublishedAt)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -67,6 +69,12 @@ export class VideoEdit implements VideoUpdate {
|
|||
} else {
|
||||
this.scheduleUpdate = null
|
||||
}
|
||||
|
||||
// Convert originallyPublishedAt to string so that function objectToFormData() works correctly
|
||||
if (this.originallyPublishedAt) {
|
||||
const originallyPublishedAt = new Date(values['originallyPublishedAt'])
|
||||
this.originallyPublishedAt = originallyPublishedAt.toISOString()
|
||||
}
|
||||
}
|
||||
|
||||
toFormPatch () {
|
||||
|
@ -82,7 +90,8 @@ export class VideoEdit implements VideoUpdate {
|
|||
commentsEnabled: this.commentsEnabled,
|
||||
waitTranscoding: this.waitTranscoding,
|
||||
channelId: this.channelId,
|
||||
privacy: this.privacy
|
||||
privacy: this.privacy,
|
||||
originallyPublishedAt: this.originallyPublishedAt
|
||||
}
|
||||
|
||||
// Special case if we scheduled an update
|
||||
|
|
|
@ -17,6 +17,7 @@ export class Video implements VideoServerModel {
|
|||
createdAt: Date
|
||||
updatedAt: Date
|
||||
publishedAt: Date
|
||||
originallyPublishedAt: Date | string
|
||||
category: VideoConstant<number>
|
||||
licence: VideoConstant<number>
|
||||
language: VideoConstant<string>
|
||||
|
@ -116,6 +117,9 @@ export class Video implements VideoServerModel {
|
|||
this.privacy.label = peertubeTranslate(this.privacy.label, translations)
|
||||
|
||||
this.scheduledUpdate = hash.scheduledUpdate
|
||||
this.originallyPublishedAt = hash.originallyPublishedAt ?
|
||||
new Date(hash.originallyPublishedAt.toString())
|
||||
: null
|
||||
if (this.state) this.state.label = peertubeTranslate(this.state.label, translations)
|
||||
|
||||
this.blacklisted = hash.blacklisted
|
||||
|
|
|
@ -60,6 +60,7 @@ function videoModelToFormattedJSON (video: VideoModel, options?: VideoFormatting
|
|||
createdAt: video.createdAt,
|
||||
updatedAt: video.updatedAt,
|
||||
publishedAt: video.publishedAt,
|
||||
originallyPublishedAt: video.originallyPublishedAt,
|
||||
account: {
|
||||
id: formattedAccount.id,
|
||||
uuid: formattedAccount.uuid,
|
||||
|
@ -264,6 +265,9 @@ function videoModelToActivityPubObject (video: VideoModel): VideoTorrentObject {
|
|||
state: video.state,
|
||||
commentsEnabled: video.commentsEnabled,
|
||||
published: video.publishedAt.toISOString(),
|
||||
originallyPublishedAt: video.originallyPublishedAt ?
|
||||
video.originallyPublishedAt.toISOString() :
|
||||
null,
|
||||
updated: video.updatedAt.toISOString(),
|
||||
mediaType: 'text/markdown',
|
||||
content: video.getTruncatedDescription(),
|
||||
|
|
|
@ -102,6 +102,7 @@ const indexes: Sequelize.DefineIndexesOptions[] = [
|
|||
|
||||
{ fields: [ 'createdAt' ] },
|
||||
{ fields: [ 'publishedAt' ] },
|
||||
{ fields: [ 'originallyPublishedAt' ] },
|
||||
{ fields: [ 'duration' ] },
|
||||
{ fields: [ 'views' ] },
|
||||
{ fields: [ 'channelId' ] },
|
||||
|
@ -684,6 +685,9 @@ export class VideoModel extends Model<VideoModel> {
|
|||
@Column
|
||||
publishedAt: Date
|
||||
|
||||
@Column
|
||||
originallyPublishedAt: Date
|
||||
|
||||
@ForeignKey(() => VideoChannelModel)
|
||||
@Column
|
||||
channelId: number
|
||||
|
|
|
@ -24,6 +24,7 @@ export interface VideoTorrentObject {
|
|||
waitTranscoding: boolean
|
||||
state: VideoState
|
||||
published: string
|
||||
originallyPublishedAt: string
|
||||
updated: string
|
||||
mediaType: 'text/markdown'
|
||||
content: string
|
||||
|
|
|
@ -15,4 +15,5 @@ export interface VideoCreate {
|
|||
commentsEnabled?: boolean
|
||||
privacy: VideoPrivacy
|
||||
scheduleUpdate?: VideoScheduleUpdate
|
||||
originallyPublishedAt: Date | string
|
||||
}
|
||||
|
|
|
@ -17,4 +17,5 @@ export interface VideoUpdate {
|
|||
thumbnailfile?: Blob
|
||||
previewfile?: Blob
|
||||
scheduleUpdate?: VideoScheduleUpdate
|
||||
originallyPublishedAt?: Date | string
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@ export interface Video {
|
|||
createdAt: Date | string
|
||||
updatedAt: Date | string
|
||||
publishedAt: Date | string
|
||||
originallyPublishedAt: Date | string
|
||||
category: VideoConstant<number>
|
||||
licence: VideoConstant<number>
|
||||
language: VideoConstant<string>
|
||||
|
|
Loading…
Reference in a new issue