|
|
@@ -79,7 +79,9 @@ defmodule Vaccins.LocationStore do
|
|
|
def build_location(l = %Location{}), do: l |> Location.set_id() |> Location.build_query()
|
|
|
|
|
|
def add_location(params) do
|
|
|
- with {:ok, raw_location} <- params |> LocationRaw.changeset() |> apply_action(:insert),
|
|
|
+ cs = params |> LocationRaw.changeset()
|
|
|
+
|
|
|
+ with {:ok, raw_location} <- cs |> apply_action(:insert),
|
|
|
processed <-
|
|
|
%Location{
|
|
|
name: raw_location.name,
|
|
|
@@ -88,7 +90,10 @@ defmodule Vaccins.LocationStore do
|
|
|
provider: Doctolib
|
|
|
}
|
|
|
|> build_location,
|
|
|
- true <- :dets.insert_new(@name, {processed.id, processed}),
|
|
|
- do: :ok
|
|
|
+ true <- :dets.insert_new(@name, {processed.id, processed}) do
|
|
|
+ :ok
|
|
|
+ else
|
|
|
+ false -> cs |> add_error(:name, "error on insertion", []) |> apply_action(:insert)
|
|
|
+ end
|
|
|
end
|
|
|
end
|