import BaseStore from '@src/stores/base';

export default class QuestionStore extends BaseStore {
  /**
   * 获取课程进度
   */
  getClassProcess() {
    return this.apiGet('/question/class/process');
  }

  /**
   * 获取预习作业列表
   * @param {*} page
   * @param {*} size
   * @param {*} category
   * @param {*} endTime
   * @param {*} finish
   */
  listPreview(page, size, category, endTime, finish) {
    return this.apiGet('/question/preview/list', { page, size, category, endTime, finish });
  }

  /**
   * 练习进度
   * @param {*} page
   * @param {*} size
   */
  getExerciseProcess(page, size) {
    return this.apiGet('/question/exercise/process', { page, size });
  }

  /**
   * 练习组卷
   * @param {*} page
   * @param {*} size
   */
  getExercisePaper(page, size) {
    return this.apiGet('/question/exercise/paper', { page, size });
  }

  /**
   * 模考进度
   * @param {*} page
   * @param {*} size
   */
  getExaminationProcess(page, size) {
    return this.apiGet('/question/examination/process', { page, size });
  }

  /**
   * 模考组卷
   * @param {*} page
   * @param {*} size
   */
  getExaminationPaper(page, size) {
    return this.apiGet('/question/examination/paper', { page, size });
  }

  /**
   * 获取题目详情
   * @param {*} questionNoId
   */
  getDetail(questionNoId) {
    return this.apiGet('/question/detail', { questionNoId });
  }

  /**
   * 开始考试
   * @param {*} paperId
   */
  start(paperId) {
    return this.apiPost('/question/start', { paperId });
  }

  /**
   * 下一题
   * @param {*} reportId
   */
  next(reportId) {
    return this.apiPost('/question/next', { reportId });
  }

  /**
   * 提交题目答案
   * @param {*} questionNoId
   */
  submit(questionNoId) {
    return this.apiPost('/question/submit', { questionNoId });
  }

  /**
   * 完成考试
   * @param {*} paperId
   */
  finish(paperId) {
    return this.apiPost('/question/finish', { paperId });
  }
}

export const Question = new QuestionStore({ key: 'question' });