I am testing my endpoint to delete a record. It works fine if record doesn’t have any child associations.
This is the code:
def delete(conn, %{"id" => id}) do
record = get_record(id)
case Repo.delete(record) do
{:ok, struct} ->
send_resp(conn, :no_content, "Record deleted")
{:error, reason} ->
conn
|> put_status(422)
|> render(Admin.ErrorView, "error.json",
code: 422,
message: "Error occurred",
errors: reason
)
end
end
def get_record(id) do
case Repo.get(model, id) do
nil ->
render(Admin.ErrorView, "error.json", code: 404, message: "Record not found")
record ->
record
end
end
But I want to send the proper error message if the record has some relationship with some other records. It returns the internal server error . and not the foreign key error
.
Any suggestions?
Thanks