forked from shibao/cannery
		
	add ammo type stuff
This commit is contained in:
		| @@ -13,12 +13,25 @@ defmodule Cannery.Ammo.AmmoType do | ||||
|   @primary_key {:id, :binary_id, autogenerate: true} | ||||
|   @foreign_key_type :binary_id | ||||
|   schema "ammo_types" do | ||||
|     field :bullet_type, :string | ||||
|     field :case_material, :string | ||||
|     field :desc, :string | ||||
|     field :manufacturer, :string | ||||
|     field :name, :string | ||||
|     field :grain, :integer | ||||
|     field :desc, :string | ||||
|  | ||||
|     # https://en.wikipedia.org/wiki/Bullet#Abbreviations | ||||
|     field :bullet_type, :string | ||||
|     field :bullet_core, :string | ||||
|     field :cartridge, :string | ||||
|     field :caliber, :string | ||||
|     field :case_material, :string | ||||
|     field :grains, :integer | ||||
|     field :pressure, :string | ||||
|     field :rimfire, :boolean, null: false, default: false | ||||
|     field :tracer, :boolean, null: false, default: false | ||||
|     field :incendiary, :boolean, null: false, default: false | ||||
|     field :blank, :boolean, null: false, default: false | ||||
|     field :corrosive, :boolean, null: false, default: false | ||||
|  | ||||
|     field :manufacturer, :string | ||||
|     field :sku, :string | ||||
|  | ||||
|     has_many :ammo_groups, AmmoGroup | ||||
|  | ||||
| @@ -27,12 +40,22 @@ defmodule Cannery.Ammo.AmmoType do | ||||
|  | ||||
|   @type t :: %AmmoType{ | ||||
|           id: id(), | ||||
|           bullet_type: String.t(), | ||||
|           case_material: String.t(), | ||||
|           desc: String.t(), | ||||
|           manufacturer: String.t(), | ||||
|           name: String.t(), | ||||
|           grain: integer(), | ||||
|           desc: String.t(), | ||||
|           bullet_type: String.t(), | ||||
|           bullet_core: String.t(), | ||||
|           cartridge: String.t(), | ||||
|           caliber: String.t(), | ||||
|           case_material: String.t(), | ||||
|           grains: integer(), | ||||
|           pressure: String.t(), | ||||
|           rimfire: boolean(), | ||||
|           tracer: boolean(), | ||||
|           incendiary: boolean(), | ||||
|           blank: boolean(), | ||||
|           corrosive: boolean(), | ||||
|           manufacturer: String.t(), | ||||
|           sku: String.t(), | ||||
|           ammo_groups: [AmmoGroup.t()] | nil, | ||||
|           inserted_at: NaiveDateTime.t(), | ||||
|           updated_at: NaiveDateTime.t() | ||||
| @@ -44,7 +67,24 @@ defmodule Cannery.Ammo.AmmoType do | ||||
|   @spec changeset(t() | new_ammo_type(), attrs :: map()) :: Changeset.t(t() | new_ammo_type()) | ||||
|   def changeset(ammo_type, attrs) do | ||||
|     ammo_type | ||||
|     |> cast(attrs, [:name, :desc, :case_material, :bullet_type, :grain, :manufacturer]) | ||||
|     |> cast(attrs, [ | ||||
|       :name, | ||||
|       :desc, | ||||
|       :bullet_type, | ||||
|       :bullet_core, | ||||
|       :cartridge, | ||||
|       :caliber, | ||||
|       :case_material, | ||||
|       :grains, | ||||
|       :pressure, | ||||
|       :rimfire, | ||||
|       :tracer, | ||||
|       :incendiary, | ||||
|       :blank, | ||||
|       :corrosive, | ||||
|       :manufacturer, | ||||
|       :sku | ||||
|     ]) | ||||
|     |> validate_required([:name]) | ||||
|   end | ||||
| end | ||||
|   | ||||
		Reference in New Issue
	
	Block a user