summaryrefslogtreecommitdiff
path: root/lib/aggiedit
diff options
context:
space:
mode:
Diffstat (limited to 'lib/aggiedit')
-rw-r--r--lib/aggiedit/accounts.ex1
-rw-r--r--lib/aggiedit/rooms.ex8
-rw-r--r--lib/aggiedit/uploads.ex16
3 files changed, 11 insertions, 14 deletions
diff --git a/lib/aggiedit/accounts.ex b/lib/aggiedit/accounts.ex
index 36dbd0c..1852393 100644
--- a/lib/aggiedit/accounts.ex
+++ b/lib/aggiedit/accounts.ex
@@ -247,6 +247,7 @@ defmodule Aggiedit.Accounts do
def get_user_by_session_token(token) do
{:ok, query} = UserToken.verify_session_token_query(token)
Repo.one(query)
+ |> Repo.preload(:room)
end
@doc """
diff --git a/lib/aggiedit/rooms.ex b/lib/aggiedit/rooms.ex
index 272f9b4..8f2e39f 100644
--- a/lib/aggiedit/rooms.ex
+++ b/lib/aggiedit/rooms.ex
@@ -6,6 +6,7 @@ defmodule Aggiedit.Rooms do
import Ecto.Query, warn: false
alias Aggiedit.Repo
+ alias Aggiedit.Accounts
alias Aggiedit.Rooms.Room
@doc """
@@ -140,9 +141,14 @@ defmodule Aggiedit.Rooms do
"""
def get_post!(id), do: Repo.get!(Post, id)
- def create_post(attrs, after_save \\ &{:ok, &1}) do
+ def create_post(attrs, user, after_save \\ &{:ok, &1}) do
+ user = Repo.preload(user, :room)
+
%Post{}
+ |> Repo.preload([:user, :room])
|> Post.changeset(attrs)
+ |> Ecto.Changeset.put_assoc(:user, user)
+ |> Ecto.Changeset.put_assoc(:room, user.room)
|> Repo.insert()
|> post_saved(after_save)
end
diff --git a/lib/aggiedit/uploads.ex b/lib/aggiedit/uploads.ex
index 2dcdcc3..4cbc237 100644
--- a/lib/aggiedit/uploads.ex
+++ b/lib/aggiedit/uploads.ex
@@ -37,21 +37,11 @@ defmodule Aggiedit.Uploads do
"""
def get_upload!(id), do: Repo.get!(Upload, id)
- @doc """
- Creates a upload.
-
- ## Examples
-
- iex> create_upload(%{field: value})
- {:ok, %Upload{}}
-
- iex> create_upload(%{field: bad_value})
- {:error, %Ecto.Changeset{}}
-
- """
- def create_upload(attrs \\ %{}) do
+ def create_upload(attrs, user) do
%Upload{}
+ |> Repo.preload(:user)
|> Upload.changeset(attrs)
+ |> Ecto.Changeset.put_assoc(:user, user)
|> Repo.insert()
end