Restructure omni services and add Chatwoot research snapshot
This commit is contained in:
59
research/chatwoot/app/policies/application_policy.rb
Normal file
59
research/chatwoot/app/policies/application_policy.rb
Normal file
@@ -0,0 +1,59 @@
|
||||
class ApplicationPolicy
|
||||
attr_reader :user_context, :user, :record, :account, :account_user
|
||||
|
||||
def initialize(user_context, record)
|
||||
@user_context = user_context
|
||||
@user = user_context[:user]
|
||||
@account = user_context[:account]
|
||||
@account_user = user_context[:account_user]
|
||||
@record = record
|
||||
end
|
||||
|
||||
def index?
|
||||
false
|
||||
end
|
||||
|
||||
def show?
|
||||
scope.exists?(id: record.id)
|
||||
end
|
||||
|
||||
def create?
|
||||
false
|
||||
end
|
||||
|
||||
def new?
|
||||
create?
|
||||
end
|
||||
|
||||
def update?
|
||||
false
|
||||
end
|
||||
|
||||
def edit?
|
||||
update?
|
||||
end
|
||||
|
||||
def destroy?
|
||||
false
|
||||
end
|
||||
|
||||
def scope
|
||||
Pundit.policy_scope!(user_context, record.class)
|
||||
end
|
||||
|
||||
class Scope
|
||||
attr_reader :user_context, :user, :scope, :account, :account_user
|
||||
|
||||
def initialize(user_context, scope)
|
||||
@user_context = user_context
|
||||
@user = user_context[:user]
|
||||
@account = user_context[:account]
|
||||
@account_user = user_context[:account_user]
|
||||
@scope = scope
|
||||
end
|
||||
|
||||
def resolve
|
||||
scope
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user