defmodule Fretex.Shipping.CarrierService do
use Ecto.Schema
import Ecto.Changeset
@primary_key {:code, :binary_id, autogenerate: false}
embedded_schema do
field(:enabled, :boolean, default: false)
field(:description, :string)
field(:name, :string)
field(:custom_name, :string)
field(:deprecated, :boolean, virtual: true, default: false)
end
@doc false
def changeset(correios, attrs) do
correios
|> cast(attrs, [:enabled, :code, :name, :custom_name, :description, :deprecated])
|> validate_required([:enabled, :code, :name])
end
def new(attrs) do
%__MODULE__{}
|> changeset(attrs)
|> apply_action(:validate)
end
end