diff --git a/lib/dbservice_web/controllers/group_user_controller.ex b/lib/dbservice_web/controllers/group_user_controller.ex index c8729df7..ae4aa1fd 100644 --- a/lib/dbservice_web/controllers/group_user_controller.ex +++ b/lib/dbservice_web/controllers/group_user_controller.ex @@ -291,33 +291,46 @@ defmodule DbserviceWeb.GroupUserController do defp process_group_user(group_user_data) do case group_user_data["enrollment_type"] do "school" -> - case get_school_group_id(group_user_data["school_code"]) do - {:error, error_msg} -> - {:error, error_msg} - - school_group_id -> - group_user_data = Map.put(group_user_data, "group_id", school_group_id) - handle_group_user(group_user_data) - end + handle_school_enrollment(group_user_data) "batch" -> - case get_batch_group_id(group_user_data["batch_id"]) do - {:error, error_msg} -> - {:error, error_msg} - - batch_group_id -> - group_user_data = Map.put(group_user_data, "group_id", batch_group_id) - handle_group_user(group_user_data) - end + handle_batch_enrollment(group_user_data) "auth_group" -> handle_group_user(group_user_data) + "grade" -> + handle_group_user(group_user_data) + _ -> {:error, "Unknown enrollment type"} end end + defp handle_school_enrollment(group_user_data) do + case get_school_group_id(group_user_data["school_code"]) do + {:error, error_msg} -> + {:error, error_msg} + + school_group_id -> + group_user_data + |> Map.put("group_id", school_group_id) + |> handle_group_user() + end + end + + defp handle_batch_enrollment(group_user_data) do + case get_batch_group_id(group_user_data["batch_id"]) do + {:error, error_msg} -> + {:error, error_msg} + + batch_group_id -> + group_user_data + |> Map.put("group_id", batch_group_id) + |> handle_group_user() + end + end + defp handle_group_user(group_user_data) do case GroupUsers.get_group_user_by_user_id_and_group_id( group_user_data["user_id"], @@ -372,7 +385,6 @@ defmodule DbserviceWeb.GroupUserController do "group_id" => group.child_id, "group_type" => group.type, "user_id" => params["user_id"], - "grade_id" => params["grade_id"], "academic_year" => academic_year, "start_date" => params["start_date"] }