Work around Addresses to bring them properly through GraphQL
Got caught with https://github.com/absinthe-graphql/absinthe/issues/601 at some point, that's why fields are renamed Fix tests Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
@@ -8,14 +8,14 @@ defmodule Mobilizon.Addresses.Address do
|
||||
# alias Mobilizon.Actors.Actor
|
||||
|
||||
schema "addresses" do
|
||||
field(:addressCountry, :string)
|
||||
field(:addressLocality, :string)
|
||||
field(:addressRegion, :string)
|
||||
field(:country, :string)
|
||||
field(:locality, :string)
|
||||
field(:region, :string)
|
||||
field(:description, :string)
|
||||
field(:floor, :string)
|
||||
field(:geom, Geo.PostGIS.Geometry)
|
||||
field(:postalCode, :string)
|
||||
field(:streetAddress, :string)
|
||||
field(:postal_code, :string)
|
||||
field(:street, :string)
|
||||
has_one(:event, Event, foreign_key: :physical_address_id)
|
||||
# has_one(:group, Actor)
|
||||
|
||||
@@ -29,11 +29,11 @@ defmodule Mobilizon.Addresses.Address do
|
||||
:description,
|
||||
:floor,
|
||||
:geom,
|
||||
:addressCountry,
|
||||
:addressLocality,
|
||||
:addressRegion,
|
||||
:postalCode,
|
||||
:streetAddress
|
||||
:country,
|
||||
:locality,
|
||||
:region,
|
||||
:postal_code,
|
||||
:street
|
||||
])
|
||||
end
|
||||
end
|
||||
|
||||
@@ -11,6 +11,16 @@ defmodule Mobilizon.Addresses do
|
||||
|
||||
@geom_types [:point]
|
||||
|
||||
@doc false
|
||||
def data() do
|
||||
Dataloader.Ecto.new(Repo, query: &query/2)
|
||||
end
|
||||
|
||||
@doc false
|
||||
def query(queryable, _params) do
|
||||
queryable
|
||||
end
|
||||
|
||||
@doc """
|
||||
Returns the list of addresses.
|
||||
|
||||
@@ -168,7 +178,7 @@ defmodule Mobilizon.Addresses do
|
||||
|
||||
query =
|
||||
if country = Keyword.get(options, :country, nil),
|
||||
do: from(a in query, where: ilike(a.addressCountry, ^"%#{country}%")),
|
||||
do: from(a in query, where: ilike(a.country, ^"%#{country}%")),
|
||||
else: query
|
||||
|
||||
Repo.all(query)
|
||||
@@ -198,7 +208,7 @@ defmodule Mobilizon.Addresses do
|
||||
|
||||
query =
|
||||
if country,
|
||||
do: from(a in query, where: ilike(a.addressCountry, ^"%#{country}%")),
|
||||
do: from(a in query, where: ilike(a.country, ^"%#{country}%")),
|
||||
else: query
|
||||
|
||||
Repo.all(query)
|
||||
|
||||
Reference in New Issue
Block a user