From 0c055992826074f6bfc13dccf643e7e39d1ea0ae Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Mon, 14 Jul 2025 17:54:44 +0530 Subject: [PATCH] feat: load account user in intialize --- enterprise/lib/captain/tools/base_agent_tool.rb | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/enterprise/lib/captain/tools/base_agent_tool.rb b/enterprise/lib/captain/tools/base_agent_tool.rb index 4b12e6a64..8020cd5f0 100644 --- a/enterprise/lib/captain/tools/base_agent_tool.rb +++ b/enterprise/lib/captain/tools/base_agent_tool.rb @@ -4,6 +4,7 @@ class Captain::Tools::BaseAgentTool < Agents::Tool def initialize(assistant, user: nil) @assistant = assistant @user = user + @account_user = find_account_user if @user.present? super() end @@ -21,15 +22,16 @@ class Captain::Tools::BaseAgentTool < Agents::Tool private def user_has_permission(permission) - return false if @user.blank? + return false if @account_user.blank? - account_user = AccountUser.find_by(account_id: @assistant.account_id, user_id: @user.id) - return false if account_user.blank? - - return account_user.custom_role.permissions.include?(permission) if account_user.custom_role.present? + return @account_user.custom_role.permissions.include?(permission) if @account_user.custom_role.present? # Default permission for agents without custom roles - account_user.administrator? || account_user.agent? + @account_user.administrator? || @account_user.agent? + end + + def find_account_user + AccountUser.find_by(account_id: @assistant.account_id, user_id: @user.id) end def account_scoped(model_class)