package domain import "time" // ExamPrepPractice is question-set content tied to an exam-prep lesson; uses shared question_sets / questions. type ExamPrepPractice struct { ID int64 `json:"id"` LessonID int64 `json:"lesson_id"` // exam_prep.unit_module_lessons.id Title string `json:"title"` StoryDescription *string `json:"story_description,omitempty"` StoryImage *string `json:"story_image,omitempty"` PersonaID *int64 `json:"persona_id,omitempty"` QuestionSetID int64 `json:"question_set_id"` QuickTips *string `json:"quick_tips,omitempty"` CreatedAt time.Time `json:"created_at"` UpdatedAt *time.Time `json:"updated_at,omitempty"` } // CreateExamPrepPracticeInput is the body for POST .../exam-prep/lessons/{lessonId}/practices (lesson from path). type CreateExamPrepPracticeInput struct { Title string `json:"title" validate:"required"` StoryDescription *string `json:"story_description,omitempty"` StoryImage *string `json:"story_image,omitempty"` PersonaID *int64 `json:"persona_id,omitempty"` QuestionSetID int64 `json:"question_set_id" validate:"required,gt=0"` QuickTips *string `json:"quick_tips,omitempty"` } type UpdateExamPrepPracticeInput struct { Title *string `json:"title,omitempty"` StoryDescription *string `json:"story_description,omitempty"` StoryImage *string `json:"story_image,omitempty"` PersonaID *int64 `json:"persona_id,omitempty"` QuestionSetID *int64 `json:"question_set_id,omitempty"` QuickTips *string `json:"quick_tips,omitempty"` }