|
|
@@ -57,7 +57,17 @@ defmodule Vaccins.Queries do
|
|
|
|
|
|
defmodule Location do
|
|
|
alias __MODULE__, as: Location
|
|
|
- defstruct [:id, :availability_query, :booking_page, :provider, availability_query_params: []]
|
|
|
+
|
|
|
+ defstruct [
|
|
|
+ :id,
|
|
|
+ :name,
|
|
|
+ :availability_query,
|
|
|
+ :booking_page,
|
|
|
+ :provider,
|
|
|
+ availability_query_params: []
|
|
|
+ ]
|
|
|
+
|
|
|
+ def set_id(l = %Location{name: name}), do: %{l | id: name |> String.to_atom()}
|
|
|
|
|
|
def build_query(l = %Location{availability_query_params: params, provider: provider})
|
|
|
when params != [],
|
|
|
@@ -80,7 +90,7 @@ defmodule Vaccins.Queries do
|
|
|
do:
|
|
|
[
|
|
|
%Location{
|
|
|
- id: "Centre de Vaccination - Salle Olympe de Gouges",
|
|
|
+ name: "Centre de Vaccination - Salle Olympe de Gouges",
|
|
|
provider: Doctolib,
|
|
|
availability_query_params: [
|
|
|
visit_motive_ids: 2_549_915,
|
|
|
@@ -93,7 +103,7 @@ defmodule Vaccins.Queries do
|
|
|
"https://partners.doctolib.fr/centre-de-sante/fontenay-sous-bois/centre-de-vaccination-covid-19-fontenay-sous-bois?pid=practice-180541"
|
|
|
},
|
|
|
%Location{
|
|
|
- id: "Centre de Vaccination - Paris 20e",
|
|
|
+ name: "Centre de Vaccination - Paris 20e",
|
|
|
provider: Doctolib,
|
|
|
availability_query_params: [
|
|
|
visit_motive_ids: 2_549_915,
|
|
|
@@ -106,7 +116,7 @@ defmodule Vaccins.Queries do
|
|
|
"https://www.doctolib.fr/centre-de-sante/paris/centre-de-vaccination-covid-19-ville-de-paris?pid=practice-166459"
|
|
|
},
|
|
|
%Location{
|
|
|
- id: "Hotel de ville de Fontenay-sous-Bois",
|
|
|
+ name: "Hotel de ville de Fontenay-sous-Bois",
|
|
|
provider: Doctolib,
|
|
|
availability_query_params: [
|
|
|
visit_motive_ids: 2_743_304,
|
|
|
@@ -118,5 +128,5 @@ defmodule Vaccins.Queries do
|
|
|
"https://partners.doctolib.fr/centre-de-sante/fontenay-sous-bois/centre-de-vaccination-covid-19-fontenay-sous-bois?pid=practice-180541&enable_cookies_consent=1"
|
|
|
}
|
|
|
]
|
|
|
- |> Enum.map(&Location.build_query/1)
|
|
|
+ |> Enum.map(&(&1 |> Location.set_id() |> Location.build_query()))
|
|
|
end
|