package http import domain "knowfoolery/backend/services/question-bank-service/internal/domain/question" // RandomQuestionRequest is the POST /questions/random request payload. type RandomQuestionRequest struct { ExcludeQuestionIDs []string `json:"exclude_question_ids"` Theme string `json:"theme"` Difficulty domain.Difficulty `json:"difficulty"` } // CreateQuestionRequest is the admin create question payload. type CreateQuestionRequest struct { Theme string `json:"theme" validate:"required,min=2,max=100"` Text string `json:"text" validate:"required,min=5,max=1000"` Answer string `json:"answer" validate:"required,min=1,max=500"` Hint string `json:"hint" validate:"omitempty,max=500"` Difficulty domain.Difficulty `json:"difficulty" validate:"required,oneof=easy medium hard"` } // UpdateQuestionRequest is the admin update question payload. type UpdateQuestionRequest struct { Theme string `json:"theme" validate:"required,min=2,max=100"` Text string `json:"text" validate:"required,min=5,max=1000"` Answer string `json:"answer" validate:"required,min=1,max=500"` Hint string `json:"hint" validate:"omitempty,max=500"` Difficulty domain.Difficulty `json:"difficulty" validate:"required,oneof=easy medium hard"` IsActive bool `json:"is_active"` } // BulkImportRequest is the admin bulk import payload. type BulkImportRequest struct { Questions []CreateQuestionRequest `json:"questions" validate:"required,min=1"` } // ValidateAnswerRequest is the POST /questions/:id/validate-answer request payload. type ValidateAnswerRequest struct { Answer string `json:"answer" validate:"required,min=1,max=500"` }