task.entity.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { Column, CreateDateColumn, Entity, PrimaryGeneratedColumn } from 'typeorm'
  2. import { Exclude } from 'class-transformer'
  3. export enum TaskStatus {
  4. IDLE = 'idle',
  5. PENDING = 'pending',
  6. PAUSE = 'pause',
  7. COMPLETED = 'completed',
  8. QUEUED = 'queued',
  9. ERROR = 'error'
  10. }
  11. @Entity()
  12. export class Task {
  13. @PrimaryGeneratedColumn()
  14. id: number
  15. @CreateDateColumn()
  16. createdAt: Date
  17. @Column()
  18. userId: number
  19. @Column()
  20. name: string
  21. @Column({ nullable: false })
  22. listId: number
  23. @Column({ type: 'text', nullable: false })
  24. message: string
  25. @Column({ type: 'enum', enum: TaskStatus, nullable: false, default: TaskStatus.IDLE })
  26. status: TaskStatus
  27. @Column({ nullable: true })
  28. error: string
  29. @Column({ default: 0 })
  30. rcsWait: number
  31. @Column({ default: 0 })
  32. rcsInterval: number
  33. @Column({ default: 0 })
  34. cleanCount: number
  35. @Column({ nullable: true })
  36. successRate: string
  37. @Column({ default: 0 })
  38. sent: number
  39. @Column({ default: 0 })
  40. requestNumberInterval: number
  41. @Column({ nullable: true })
  42. channelId: string
  43. @Column({ type: 'text' })
  44. dynamicMessage: string
  45. }