Переглянути джерело

Distinct location.name / id

theenglishway (time) 4 роки тому
батько
коміт
806b4ca09c
1 змінених файлів з 15 додано та 5 видалено
  1. 15 5
      lib/vaccins/queries.ex

+ 15 - 5
lib/vaccins/queries.ex

@@ -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