123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import { BelongsTo, Column, CreatedAt, ForeignKey, Model, Table, UpdatedAt } from 'sequelize-typescript'
- import { AttributesOnly } from '@shared/typescript-utils'
- import { VideoCommentModel } from '../video/video-comment'
- import { AbuseModel } from './abuse'
- @Table({
- tableName: 'commentAbuse',
- indexes: [
- {
- fields: [ 'abuseId' ]
- },
- {
- fields: [ 'videoCommentId' ]
- }
- ]
- })
- export class VideoCommentAbuseModel extends Model<Partial<AttributesOnly<VideoCommentAbuseModel>>> {
- @CreatedAt
- createdAt: Date
- @UpdatedAt
- updatedAt: Date
- @ForeignKey(() => AbuseModel)
- @Column
- abuseId: number
- @BelongsTo(() => AbuseModel, {
- foreignKey: {
- allowNull: false
- },
- onDelete: 'cascade'
- })
- Abuse: AbuseModel
- @ForeignKey(() => VideoCommentModel)
- @Column
- videoCommentId: number
- @BelongsTo(() => VideoCommentModel, {
- foreignKey: {
- allowNull: true
- },
- onDelete: 'set null'
- })
- VideoComment: VideoCommentModel
- }
|