DocDoeAI / src /lib /api /generations.ts
asnannp's picture
deploy: sync backend to Space root (learn-lesson HF cache fix)
65d68f5
Raw History Blame Contribute Delete
1.37 kB
import { apiGet, apiPost } from "@/lib/api/client";
import type {
ExamModeResult,
FlashcardResult,
GenerationResult,
QuizResult,
} from "@/types/dashboard";
export type StudioGenerationPayload = {
source_id: string;
study_profile_id?: string;
topic?: string;
subject?: string;
level?: string;
goal?: string;
time_left?: string;
language_preference?: string;
options?: Record<string, unknown>;
};
export async function generateNotes(payload: StudioGenerationPayload) {
return apiPost<GenerationResult, StudioGenerationPayload>(
"/generate/notes",
payload,
{ timeoutMs: 180000 },
);
}
export async function generateQuiz(payload: StudioGenerationPayload) {
return apiPost<QuizResult, StudioGenerationPayload>(
"/generate/quiz",
payload,
{ timeoutMs: 180000 },
);
}
export async function generateFlashcards(payload: StudioGenerationPayload) {
return apiPost<FlashcardResult, StudioGenerationPayload>(
"/generate/flashcards",
payload,
{ timeoutMs: 180000 },
);
}
export async function generateExamMode(payload: StudioGenerationPayload) {
return apiPost<ExamModeResult, StudioGenerationPayload>(
"/generate/exam-mode",
payload,
{ timeoutMs: 180000 },
);
}
export async function listGenerations(limit = 10) {
return apiGet<GenerationResult[]>(`/generations?limit=${limit}`);
}