Skip to content

Commit cf48b67

Browse files
committed
Add UserTaskView and tests
1 parent 3dcb004 commit cf48b67

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
defmodule CodeCorps.UserTaskController do
2+
use CodeCorps.Web, :controller
3+
use JaResource
4+
5+
import CodeCorps.Helpers.Query, only: [id_filter: 2]
6+
7+
alias CodeCorps.UserTask
8+
9+
plug :load_resource, model: UserTask, only: [:show], preload: [:task, :user]
10+
plug :load_and_authorize_changeset, model: UserTask, only: [:create]
11+
plug :load_and_authorize_resource, model: UserTask, only: [:delete]
12+
plug JaResource
13+
14+
@spec filter(Plug.Conn.t, Ecto.Query.t, String.t, list) :: Plug.Conn.t
15+
def filter(_conn, query, "id", id_list) do
16+
query |> id_filter(id_list)
17+
end
18+
19+
@spec handle_create(Plug.Conn.t, map) :: Ecto.Changeset.t
20+
def handle_create(_conn, attributes) do
21+
%UserTask{} |> UserTask.create_changeset(attributes)
22+
end
23+
end

web/views/user_task_view.ex

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
defmodule CodeCorps.UserTaskView do
2+
use CodeCorps.PreloadHelpers, default_preloads: [:task, :user]
3+
use CodeCorps.Web, :view
4+
use JaSerializer.PhoenixView
5+
6+
has_one :task, serializer: CodeCorps.TaskView
7+
has_one :user, serializer: CodeCorps.UserView
8+
end

0 commit comments

Comments
 (0)