defmodule DaProductApp.Groups.Group do use Ecto.Schema import Ecto.Changeset @primary_key {:id, :id, autogenerate: true} schema "groups" do field :name, :string field :code, :string field :description, :string field :status, :string, default: "active" field :phone_number, :string field :mcc_code, :string field :transaction_currency, :string, default: "AED" field :settlement_currency, :string, default: "AED" field :registered, :string field :params, :map timestamps(type: :utc_datetime) end def changeset(group, attrs) do group |> cast(attrs, [:name, :code, :description, :status, :phone_number, :mcc_code, :transaction_currency, :settlement_currency, :registered, :params]) |> validate_required([:name, :code]) |> validate_length(:code, min: 2, max: 50) |> validate_length(:name, min: 2, max: 255) |> validate_length(:mcc_code, max: 255) |> unique_constraint(:code) end end