diff --git a/supabase/migrations/20241223012709_validate_mark_as_complete.sql b/supabase/migrations/20241223012709_validate_mark_as_complete.sql deleted file mode 100644 index a111ef93..00000000 Binary files a/supabase/migrations/20241223012709_validate_mark_as_complete.sql and /dev/null differ diff --git a/supabase/migrations/20241223012712_validate_mark_as_complete.sql b/supabase/migrations/20241223012712_validate_mark_as_complete.sql new file mode 100644 index 00000000..c855b042 --- /dev/null +++ b/supabase/migrations/20241223012712_validate_mark_as_complete.sql @@ -0,0 +1,18 @@ +set check_function_bodies = off; + +CREATE OR REPLACE FUNCTION public.check_if_student_completed_exercises(lesson_id_arg uuid, groupmember_id_arg uuid) + RETURNS boolean + LANGUAGE plpgsql +AS $function$ +DECLARE + all_exercises_exist boolean; +BEGIN + SELECT COUNT(*) = COUNT(s.id) INTO all_exercises_exist + FROM exercise e + LEFT JOIN submission s ON e.id = s.exercise_id AND s.submitted_by = groupmember_id_arg + WHERE e.lesson_id = lesson_id_arg; + + RETURN all_exercises_exist; +END; +$function$ +; \ No newline at end of file