Current section

Files

Jump to
messenger_bot_store lib messenger_bot_store model user.ex
Raw

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