defmodule Core.Statuses do @moduledoc false import Ecto.Changeset import Ecto.Query alias Core.Repo def changeset(%Schema.Status{} = status, attrs \\ %{}) do status |> cast(attrs, [:body]) |> validate_required([:body]) end def create_status(attrs) do %Schema.Status{} |> changeset(attrs) |> Repo.insert() end def update_status(status, attrs) do status |> changeset(attrs) |> Repo.update() end def get_status!(id) do Repo.get!(Schema.Status, id) end def list_statuses do query = from status in Schema.Status, order_by: [desc: status.inserted_at] Repo.all(query) end end