diff --git a/lib/faces/gallery/gallery.ex b/lib/faces/gallery/gallery.ex new file mode 100644 index 0000000..48a59cf --- /dev/null +++ b/lib/faces/gallery/gallery.ex @@ -0,0 +1,23 @@ +defmodule Faces.Gallery do + @moduledoc """ + The Gallery context. + """ + + import Ecto.Query, warn: false + alias Faces.Repo + + alias Faces.Gallery.Person + + @doc """ + Returns the list of people. + + ## Examples + + iex> list_people() + [%Person{}, ...] + + """ + def list_people do + Repo.all(Person) + end +end diff --git a/lib/faces/gallery/person.ex b/lib/faces/gallery/person.ex new file mode 100644 index 0000000..84aebe2 --- /dev/null +++ b/lib/faces/gallery/person.ex @@ -0,0 +1,20 @@ +defmodule Faces.Gallery.Person do + use Ecto.Schema + import Ecto.Changeset + + + schema "people" do + field :avatar_url, :string + field :location, :string + field :name, :string + + timestamps() + end + + @doc false + def changeset(person, attrs) do + person + |> cast(attrs, [:name, :location, :avatar_url]) + |> validate_required([:name, :location, :avatar_url]) + end +end diff --git a/priv/repo/migrations/20180407212640_create_people.exs b/priv/repo/migrations/20180407212640_create_people.exs new file mode 100644 index 0000000..e7f03be --- /dev/null +++ b/priv/repo/migrations/20180407212640_create_people.exs @@ -0,0 +1,14 @@ +defmodule Faces.Repo.Migrations.CreatePeople do + use Ecto.Migration + + def change do + create table(:people) do + add :name, :string + add :location, :string + add :avatar_url, :string + + timestamps() + end + + end +end diff --git a/test/faces/gallery/gallery_test.exs b/test/faces/gallery/gallery_test.exs new file mode 100644 index 0000000..d3aed13 --- /dev/null +++ b/test/faces/gallery/gallery_test.exs @@ -0,0 +1,4 @@ +defmodule Faces.GalleryTest do + use Faces.DataCase + alias Faces.Gallery +end