Skip to content

Commit

Permalink
Merge pull request #261 from avantifellows/main
Browse files Browse the repository at this point in the history
Prod deployment
  • Loading branch information
Bahugunajii authored Jan 28, 2025
2 parents 69ae762 + 132ae67 commit 5f5e273
Showing 1 changed file with 30 additions and 1 deletion.
31 changes: 30 additions & 1 deletion lib/dbservice_web/controllers/group_user_controller.ex
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ defmodule DbserviceWeb.GroupUserController do
alias Dbservice.Schools
alias Dbservice.Groups
alias Dbservice.EnrollmentRecords
alias Dbservice.Grades
use DbserviceWeb, :controller

import Ecto.Query
Expand Down Expand Up @@ -299,7 +300,7 @@ defmodule DbserviceWeb.GroupUserController do
handle_group_user(group_user_data)

"grade" ->
handle_group_user(group_user_data)
handle_grade_enrollment(group_user_data)

_ ->
{:error, "Unknown enrollment type"}
Expand Down Expand Up @@ -330,6 +331,18 @@ defmodule DbserviceWeb.GroupUserController do
end
end

defp handle_grade_enrollment(group_user_data) do
case get_grade_group_id(group_user_data["grade_id"]) do
{:error, error_msg} ->
{:error, error_msg}

grade_group_id ->
group_user_data
|> Map.put("group_id", grade_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"],
Expand Down Expand Up @@ -375,6 +388,22 @@ defmodule DbserviceWeb.GroupUserController do
end
end

defp get_grade_group_id(grade_id) do
case Grades.get_grade!(grade_id) do
nil ->
{:error, "Grade not found"}

grade ->
case Groups.get_group_by_child_id_and_type(grade.id, "grade") do
nil ->
{:error, "Grade group not found"}

group ->
group.id
end
end
end

defp create_new_group_user_from_batch(params) do
group = Groups.get_group!(params["group_id"])

Expand Down

0 comments on commit 5f5e273

Please sign in to comment.