From 9d5a369ff6aa2dc3a80f104ffdc622ddf594a725 Mon Sep 17 00:00:00 2001 From: Logan Hunt Date: Wed, 13 Apr 2022 12:42:01 -0600 Subject: Add guards on post resources --- lib/aggiedit/roles.ex | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lib/aggiedit/roles.ex (limited to 'lib/aggiedit') diff --git a/lib/aggiedit/roles.ex b/lib/aggiedit/roles.ex new file mode 100644 index 0000000..e50b53b --- /dev/null +++ b/lib/aggiedit/roles.ex @@ -0,0 +1,10 @@ +defmodule Aggiedit.Roles do + alias Aggiedit.Accounts.User + alias Aggiedit.Rooms.Post + + def guard?(user, action, object) + def guard?(%User{role: :admin}, _, _), 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 -- cgit v1.2.3-70-g09d2