From 8dda0d29baf8d154920b3109dbfcde60e8dcd578 Mon Sep 17 00:00:00 2001 From: Dominic Grimm Date: Thu, 10 Mar 2022 20:58:15 +0100 Subject: [PATCH] Only vote when all teachers registered --- docker/backend/src/backend/api/schema/mutation.cr | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docker/backend/src/backend/api/schema/mutation.cr b/docker/backend/src/backend/api/schema/mutation.cr index 358ce43..6081981 100644 --- a/docker/backend/src/backend/api/schema/mutation.cr +++ b/docker/backend/src/backend/api/schema/mutation.cr @@ -143,7 +143,10 @@ module Backend def create_vote(context : Context, input : VoteCreateInput) : Vote context.student! - raise "Teacher selection can't be empty" if input.teacher_ids.empty? + raise "Not enough teachers" if input.teacher_ids.empty? + teacher_role_count = Db::User.where(role: Db::UserRole::Teacher.to_s).count.run.as(Int64) + raise "Teachers not registered" if teacher_role_count != Db::Teacher.count || + teacher_role_count.zero? skif = context.external.as(Db::Student).skif input.teacher_ids.each do |id|