Packages
messenger_bot_store
0.1.0-beta6
0.1.0
0.1.0-beta9
retired
0.1.0-beta8
retired
0.1.0-beta7
retired
0.1.0-beta6
retired
0.1.0-beta5
retired
0.1.0-beta4
retired
0.1.0-beta3
retired
0.1.0-beta2
retired
0.1.0-beta1
retired
0.0.11
retired
0.0.10
retired
0.0.9
retired
0.0.8
retired
0.0.7
retired
0.0.6
retired
0.0.5
retired
0.0.4
retired
0.0.3
retired
0.0.2
retired
0.0.1
retired
MessengerBot event storage addon for PostgreSQL
Retired package: Deprecated
Current section
Files
Jump to
Current section
Files
lib/messenger_bot_store/model/user.ex
defmodule MessengerBotStore.Model.User do
@moduledoc """
User Model
"""
use Ecto.Schema
import Ecto.Changeset
alias MessengerBotStore.Model.User
@allowed_attrs [
:external_id,
:app_id,
:page_id,
:current_status,
:first_name,
:last_name,
:profile_pic,
:locale,
:timezone,
:gender,
:last_ad_referral
]
@primary_key {:id, :binary_id, autogenerate: true}
@foreign_key_type :binary_id
schema "messenger_users" do
field(:app_id, :integer)
field(:current_status, :integer)
field(:external_id, :integer)
field(:first_name, :string)
field(:gender, :string)
field(:last_ad_referral, :map)
field(:last_name, :string)
field(:locale, :string)
field(:page_id, :integer)
field(:profile_pic, :string)
field(:timezone, :integer)
timestamps()
end
@doc false
def changeset(
%User{} = user,
%{app_id: app_id, id: id, page_id: page_id} = attrs
) do
app_id = String.to_integer("#{app_id}")
page_id = String.to_integer("#{page_id}")
external_id = String.to_integer("#{id}")
attrs =
Map.merge(attrs, %{
app_id: app_id,
external_id: external_id,
page_id: page_id
})
user
|> cast(attrs, @allowed_attrs)
|> validate_required([:external_id, :app_id, :page_id])
end
def changeset(%User{} = user, attrs) do
user
|> cast(attrs, @allowed_attrs)
|> validate_required([:external_id, :app_id, :page_id])
end
end