assessment-answer.entity.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import {
  2. Entity,
  3. PrimaryGeneratedColumn,
  4. Column,
  5. CreateDateColumn,
  6. UpdateDateColumn,
  7. ManyToOne,
  8. JoinColumn,
  9. } from 'typeorm';
  10. import type { AssessmentQuestion } from './assessment-question.entity';
  11. @Entity('assessment_answers')
  12. export class AssessmentAnswer {
  13. @PrimaryGeneratedColumn('uuid')
  14. id: string;
  15. @Column({ name: 'question_id' })
  16. questionId: string;
  17. @ManyToOne('AssessmentQuestion', (question: AssessmentQuestion) => question.answers, { onDelete: 'CASCADE' })
  18. @JoinColumn({ name: 'question_id' })
  19. question: AssessmentQuestion;
  20. @Column({ type: 'text', name: 'user_answer' })
  21. userAnswer: string;
  22. @Column({ type: 'float', nullable: true })
  23. score: number;
  24. @Column({ type: 'text', nullable: true })
  25. feedback: string;
  26. @Column({ type: 'boolean', name: 'is_follow_up', default: false })
  27. isFollowUp: boolean;
  28. @CreateDateColumn({ name: 'created_at' })
  29. createdAt: Date;
  30. @UpdateDateColumn({ name: 'updated_at' })
  31. updatedAt: Date;
  32. }