package assessment import ( "Yimaru-Backend/internal/domain" "context" ) // CreateQuestion creates a question in the unified questions system. // Initial assessment questions should be created through the unified questions API // and then linked to the initial assessment question set. func (s *Service) CreateQuestion( ctx context.Context, input domain.CreateQuestionInput, ) (domain.Question, error) { return s.questionStore.CreateQuestion(ctx, input) } // ListQuestions returns questions from the initial assessment set. func (s *Service) ListQuestions(ctx context.Context) ([]domain.QuestionWithDetails, error) { // Get the initial assessment set set, err := s.questionStore.GetInitialAssessmentSet(ctx) if err != nil { return nil, err } // Get all questions in the set items, err := s.questionStore.GetPublishedQuestionsInSet(ctx, set.ID) if err != nil { return nil, err } // Build the full question details result := make([]domain.QuestionWithDetails, 0, len(items)) for _, item := range items { qwd, err := s.questionStore.GetQuestionWithDetails(ctx, item.QuestionID) if err != nil { continue // Skip if we can't get details } result = append(result, qwd) } return result, nil } // GetQuestionByID returns a question with full details. func (s *Service) GetQuestionByID(ctx context.Context, id int64) (domain.QuestionWithDetails, error) { return s.questionStore.GetQuestionWithDetails(ctx, id) }