mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
perform test #1
test to courses Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
This commit is contained in:
@@ -39,6 +39,8 @@ export function CoursesProvider({ children }) {
|
||||
const [quiz, setQuiz] = useState(null);
|
||||
const [questions, setQuestions] = useState([]);
|
||||
const [assessment, setAssessment] = useState(null);
|
||||
const [completions, setCompletions] = useState(null); // { summary, completions[] }
|
||||
const [sessions, setSessions] = useState(null); // { summary, sessions[] }
|
||||
const [attributes, setAttributes] = useState([]);
|
||||
const [pagination, setPagination] = useState(PAGINATION_INIT);
|
||||
const [loading, setLoading] = useState(false);
|
||||
@@ -847,6 +849,43 @@ export function CoursesProvider({ children }) {
|
||||
[request],
|
||||
);
|
||||
|
||||
// =========================================================================
|
||||
// COMPLETIONS & SESSIONS
|
||||
// =========================================================================
|
||||
|
||||
const fetchQuizCompletions = useCallback(
|
||||
(courseId, unitId, quizId) =>
|
||||
request(async () => {
|
||||
setCompletions(null);
|
||||
const { data } = await api.get(`${BASE}/${courseId}/units/${unitId}/quiz/${quizId}/completions`);
|
||||
setCompletions(data?.data ?? null);
|
||||
return data;
|
||||
}),
|
||||
[request],
|
||||
);
|
||||
|
||||
const fetchAssessmentCompletions = useCallback(
|
||||
(courseId, assessmentId) =>
|
||||
request(async () => {
|
||||
setCompletions(null);
|
||||
const { data } = await api.get(`${BASE}/${courseId}/assessment/${assessmentId}/completions`);
|
||||
setCompletions(data?.data ?? null);
|
||||
return data;
|
||||
}),
|
||||
[request],
|
||||
);
|
||||
|
||||
const fetchAssessmentSessions = useCallback(
|
||||
(courseId, assessmentId) =>
|
||||
request(async () => {
|
||||
setSessions(null);
|
||||
const { data } = await api.get(`${BASE}/${courseId}/assessment/${assessmentId}/sessions`);
|
||||
setSessions(data?.data ?? null);
|
||||
return data;
|
||||
}),
|
||||
[request],
|
||||
);
|
||||
|
||||
// =========================================================================
|
||||
// COURSE PRODUCT & CATEGORIES
|
||||
// =========================================================================
|
||||
@@ -1032,6 +1071,12 @@ export function CoursesProvider({ children }) {
|
||||
fetchLessonPage,
|
||||
saveLessonPage,
|
||||
|
||||
// ── completions & sessions ─────────────────────────────────────────────
|
||||
completions, sessions,
|
||||
fetchQuizCompletions,
|
||||
fetchAssessmentCompletions,
|
||||
fetchAssessmentSessions,
|
||||
|
||||
// ── assessment ─────────────────────────────────────────────────────────
|
||||
fetchAssessment,
|
||||
createAssessment,
|
||||
|
||||
Reference in New Issue
Block a user