File size: 658 Bytes
65d68f5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { delay, demoQuiz } from "@/lib/frontend-demo-data";
import { apiPost } from "@/lib/api/client";
import { shouldUseDemoData, withDemoFallback } from "@/lib/api/mode";
import type { QuizGenerateRequest, QuizResponse } from "@/lib/api/types";

export async function generateQuiz(payload: QuizGenerateRequest) {
  if (shouldUseDemoData(payload.document_id)) {
    return delay({
      ...demoQuiz,
      document_id: payload.document_id,
    });
  }

  return withDemoFallback(
    () => apiPost<QuizResponse, QuizGenerateRequest>("/quizzes/generate", payload),
    () => delay({
      ...demoQuiz,
      document_id: payload.document_id,
    }),
  );
}