Packages
messenger_bot_store
0.0.3
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
@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, [:external_id, :app_id, :page_id, :current_status, :first_name, :last_name, :profile_pic, :locale, :timezone, :gender, :last_ad_referral])
|> validate_required([:external_id, :app_id, :page_id])
end
def changeset(%User{} = user, attrs) do
user
|> cast(attrs, [:external_id, :app_id, :page_id, :current_status, :first_name, :last_name, :profile_pic, :locale, :timezone, :gender, :last_ad_referral])
|> validate_required([:external_id, :app_id, :page_id])
end
end