Files
astuto/app/policies/api/user_policy.rb
Riccardo Graziosi 31999a2af6 Add API (#427)
2024-11-08 16:40:53 +01:00

27 lines
603 B
Ruby

module Api
class UserPolicy < BasePolicy
def index?
api_key.user.moderator?
end
def show?
api_key.user.moderator?
end
def show_by_email?
api_key.user.moderator?
end
def create?
api_key.user.moderator?
end
# Moderators can block users
# Admins can block everyone except the owner
# Owner can block everyone
# Users can't block themselves
def block?
(api_key.user.id != record.id) && ((api_key.user.moderator? && !record.moderator?) || (api_key.user.admin? && !record.owner?) || api_key.user.owner?)
end
end
end