video-comment-abuse.ts 885 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { BelongsTo, Column, CreatedAt, ForeignKey, Model, Table, UpdatedAt } from 'sequelize-typescript'
  2. import { VideoCommentModel } from '../video/video-comment'
  3. import { AbuseModel } from './abuse'
  4. @Table({
  5. tableName: 'commentAbuse',
  6. indexes: [
  7. {
  8. fields: [ 'abuseId' ]
  9. },
  10. {
  11. fields: [ 'videoCommentId' ]
  12. }
  13. ]
  14. })
  15. export class VideoCommentAbuseModel extends Model {
  16. @CreatedAt
  17. createdAt: Date
  18. @UpdatedAt
  19. updatedAt: Date
  20. @ForeignKey(() => AbuseModel)
  21. @Column
  22. abuseId: number
  23. @BelongsTo(() => AbuseModel, {
  24. foreignKey: {
  25. allowNull: false
  26. },
  27. onDelete: 'cascade'
  28. })
  29. Abuse: AbuseModel
  30. @ForeignKey(() => VideoCommentModel)
  31. @Column
  32. videoCommentId: number
  33. @BelongsTo(() => VideoCommentModel, {
  34. foreignKey: {
  35. allowNull: true
  36. },
  37. onDelete: 'set null'
  38. })
  39. VideoComment: VideoCommentModel
  40. }