"use client";

import { getQuestionsForPickerAction } from "../actions-questions";
import type {
  QuestionPickerItem,
  QuestionPickerParams,
  QuestionService,
} from "../providers/lesson-plan-provider";

/**
 * 默认跨模块题目服务实现（V4 P0-4 修复）。
 *
 * 包装 lesson-preparation 自有的 Server Action（`getQuestionsForPickerAction`），
 * 该 Action 内部通过 `external-questions-bridge` 调用 questions 模块的 data-access，
 * 避免备课模块在客户端直接 import `@/modules/questions/actions`。
 *
 * 通过 LessonPlanProvider 注入，question-bank-picker 使用 `useQuestionService()` 获取。
 * 测试时可替换为 mock 实现。
 */
export function createDefaultQuestionService(): QuestionService {
  return {
    async getQuestions(params: QuestionPickerParams) {
      const res = await getQuestionsForPickerAction(params);
      if (res.success && res.data) {
        return { success: true, data: { data: res.data.data as QuestionPickerItem[] } };
      }
      return { success: false, message: res.message };
    },
  };
}
