1 import * as Sequelize from 'sequelize'
2 import { AllowNull, BelongsTo, Column, CreatedAt, ForeignKey, Model, Table } from 'sequelize-typescript'
3 import { AttributesOnly } from '@shared/core-utils'
4 import { VideoModel } from './video'
7 tableName: 'videoView',
14 fields: [ 'startDate' ]
18 export class VideoViewModel extends Model<Partial<AttributesOnly<VideoViewModel>>> {
23 @Column(Sequelize.DATE)
27 @Column(Sequelize.DATE)
34 @ForeignKey(() => VideoModel)
38 @BelongsTo(() => VideoModel, {
46 static removeOldRemoteViewsHistory (beforeDate: string) {
50 [Sequelize.Op.lt]: beforeDate
53 [Sequelize.Op.in]: Sequelize.literal('(SELECT "id" FROM "video" WHERE "remote" IS TRUE)')
58 return VideoViewModel.destroy(query)