41f086e2c9
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
39 lines
706 B
Elixir
39 lines
706 B
Elixir
defmodule Mobilizon.Users.Setting.Location do
|
|
@moduledoc """
|
|
Represents user location information
|
|
"""
|
|
|
|
use Ecto.Schema
|
|
import Ecto.Changeset
|
|
|
|
@type t :: %__MODULE__{
|
|
name: String.t(),
|
|
range: non_neg_integer(),
|
|
geohash: String.t()
|
|
}
|
|
|
|
@required_attrs []
|
|
|
|
@optional_attrs [
|
|
:name,
|
|
:range,
|
|
:geohash
|
|
]
|
|
|
|
@attrs @required_attrs ++ @optional_attrs
|
|
|
|
@primary_key false
|
|
embedded_schema do
|
|
field(:name, :string)
|
|
field(:range, :integer)
|
|
field(:geohash, :string)
|
|
end
|
|
|
|
@doc false
|
|
@spec changeset(t | Ecto.Schema.t(), map) :: Ecto.Changeset.t()
|
|
def changeset(schema, params) do
|
|
schema
|
|
|> cast(params, @attrs)
|
|
end
|
|
end
|