import { Entity, Column, PrimaryGeneratedColumn, ManyToOne } from 'typeorm';
import { Lesson } from '../lessons/lesson.entity';

export type StepType = 'video' | 'text' | 'question' | 'questionList' | 'teleprompter';

@Entity()
export class Step {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  type: StepType;

  @Column({ nullable: true })
  title: string;

  @Column({ type: 'text', nullable: true })
  content: string; // for text steps

  @Column({ nullable: true })
  videoPath: string; // for video steps

  @Column({ type: 'text', nullable: true })
  teleprompterText: string; // for teleprompter scripts

  @Column({ type: 'int', default: 0 })   // ✅ order for sorting
  order: number;

  @Column({ type: 'jsonb', nullable: true })
  questionData: any; // {question, options, answer} for quizzes

  @ManyToOne(() => Lesson, (lesson) => lesson.steps, { onDelete: 'CASCADE' })
  lesson: Lesson;
}
