2023-08-02 19:35:27 +01:00
|
|
|
import { supabase } from '$lib/utils/functions/supabase';
|
2021-08-18 19:47:02 +03:00
|
|
|
|
|
|
|
|
export function fetchSubmissionStatus() {
|
|
|
|
|
return supabase.from('submissionstatus').select(`*`);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function fetchSubmissions(course_id) {
|
|
|
|
|
return supabase
|
|
|
|
|
.from('submission')
|
|
|
|
|
.select(
|
|
|
|
|
`
|
|
|
|
|
id,
|
2021-09-24 13:20:40 +03:00
|
|
|
created_at,
|
2021-08-18 19:47:02 +03:00
|
|
|
answers:question_answer(*),
|
|
|
|
|
exercise:exercise_id(
|
2021-09-24 13:20:40 +03:00
|
|
|
id, title, due_by,
|
2021-08-18 19:47:02 +03:00
|
|
|
lesson:lesson_id(id, title),
|
|
|
|
|
questions:question(
|
|
|
|
|
*,
|
|
|
|
|
options:option(*),
|
|
|
|
|
question_type:question_type_id(id, label)
|
|
|
|
|
)
|
|
|
|
|
),
|
|
|
|
|
status_id,
|
|
|
|
|
course:course_id(*),
|
|
|
|
|
groupmember:submitted_by(
|
|
|
|
|
profile(*)
|
|
|
|
|
)
|
|
|
|
|
`
|
|
|
|
|
)
|
|
|
|
|
.match({
|
2023-10-18 08:09:52 +00:00
|
|
|
course_id
|
2021-08-18 19:47:02 +03:00
|
|
|
});
|
|
|
|
|
}
|
2021-09-04 22:27:00 +03:00
|
|
|
|
|
|
|
|
export async function fetchSubmission({ courseId, exerciseId, submittedBy }) {
|
|
|
|
|
return supabase
|
|
|
|
|
.from('submission')
|
|
|
|
|
.select(
|
|
|
|
|
`
|
|
|
|
|
id,
|
|
|
|
|
answers:question_answer(*),
|
|
|
|
|
status_id
|
|
|
|
|
`
|
|
|
|
|
)
|
|
|
|
|
.match({
|
|
|
|
|
submitted_by: submittedBy,
|
|
|
|
|
exercise_id: exerciseId,
|
2023-10-18 08:09:52 +00:00
|
|
|
course_id: courseId
|
2021-09-04 22:27:00 +03:00
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2023-10-18 08:09:52 +00:00
|
|
|
export async function updateSubmission(
|
|
|
|
|
{ id, status_id, total }: { id?: number; status_id?: number; total?: number },
|
|
|
|
|
otherArgs?: any
|
|
|
|
|
) {
|
2021-09-04 22:27:00 +03:00
|
|
|
const toUpdate = {
|
2023-10-18 08:09:52 +00:00
|
|
|
status_id
|
2021-09-04 22:27:00 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (typeof total === 'number') {
|
|
|
|
|
toUpdate.total = total;
|
|
|
|
|
}
|
|
|
|
|
|
2021-09-11 19:27:11 +03:00
|
|
|
return supabase.from('submission').update(toUpdate, otherArgs).match({ id });
|
2021-09-04 22:27:00 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export async function updateQuestionAnswer(update, match) {
|
|
|
|
|
return supabase.from('question_answer').update(update).match(match);
|
|
|
|
|
}
|