2023-11-29 13:27:03 +00:00

62 lines
858 B
Ruby

class BotPolicy
attr_reader :user, :model
def initialize(user, model)
@user = user || User.new
@bot = model
end
class Scope
def initialize(user, scope)
@user = user
@scope = scope
end
def resolve
if user.admin?
scope.all
else
scope.all
end
end
private
attr_reader :user, :scope
end
def index?
@user.admin?
end
def show?
@user.admin? || @user == @bot.user
end
# TODO: Restrict bot start but for now open to all
def telegram_listen?
@user.admin? || @user == @bot.user || true
end
def new?
@user.admin?
end
def create?
@user.admin?
end
def edit?
@user.admin? || @user == @bot.user
end
def update?
@user.admin? || @user == @bot.user
end
def destroy?
@user.admin? || @user == @bot.user
end
end