summaryrefslogtreecommitdiff
path: root/lib/aggiedit/roles.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/aggiedit/roles.ex')
-rw-r--r--lib/aggiedit/roles.ex3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/aggiedit/roles.ex b/lib/aggiedit/roles.ex
index e50b53b..3ec6bfd 100644
--- a/lib/aggiedit/roles.ex
+++ b/lib/aggiedit/roles.ex
@@ -1,10 +1,13 @@
defmodule Aggiedit.Roles do
alias Aggiedit.Accounts.User
alias Aggiedit.Rooms.Post
+ alias Aggiedit.Rooms.Room
def guard?(user, action, object)
def guard?(%User{role: :admin}, _, _), do: true
+ def guard?(%User{room_id: rid}, :index, %Room{id: rid}), do: true
def guard?(%User{room_id: rid}, :show, %Post{room_id: rid}), do: true
def guard?(%User{id: id, room_id: rid}, action, %Post{user_id: id, room_id: rid}) when action in [:delete, :edit], do: true
def guard?(_, _, _), do: false
+
end \ No newline at end of file