Advertisement
jackofblades

schemas

Aug 5th, 2021
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 1.19 KB | None | 0 0
  1. ##################################################################
  2. schema "users" do
  3.     pow_user_fields()
  4.     field :name, :string
  5.     has_many :expenses, Finapp.Records.Expense
  6.     has_many :tags, Finapp.Records.Tag
  7.     timestamps()
  8.   end
  9.  
  10.   def changeset(user, attrs) do
  11.     user
  12.     |> pow_changeset(attrs)
  13.     |> cast(attrs, [:name])
  14.     |> validate_required(:name)
  15.   end
  16. ##################################################################
  17. schema "expenses" do
  18.     field :value, :integer
  19.     field :note, :string
  20.     field :inserted_at, :naive_datetime
  21.     has_many :tags, Finapp.Records.Tag
  22.     belongs_to :user, Finapp.Users.User
  23.   end
  24.  
  25.   def changeset(expense, attrs) do
  26.     expense
  27.     |> cast(attrs, [:value, :note])
  28.     |> validate_required([:value])
  29.     |> validate_number(:value, greater_than_or_equal_to: 10)
  30.   end
  31. ###################################################################
  32. schema "tags" do
  33.     field :name, :string
  34.     belongs_to :user, Finapp.Users.User
  35.     belongs_to :expense, Finapp.Records.Expense
  36.   end
  37.  
  38.   def changeset(tag, attrs) do
  39.     tag
  40.     |> cast(attrs, [:name])
  41.     |> validate_required([:name])
  42.     |> validate_length(:name, min: 2)
  43.   end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement