diff --git a/app/controllers/api/v1/accounts/agents_controller.rb b/app/controllers/api/v1/accounts/agents_controller.rb index a666d1a67..68389d3cd 100644 --- a/app/controllers/api/v1/accounts/agents_controller.rb +++ b/app/controllers/api/v1/accounts/agents_controller.rb @@ -68,7 +68,7 @@ class Api::V1::Accounts::AgentsController < Api::V1::Accounts::BaseController end def agents - @agents ||= Current.account.users.order_by_full_name.includes({ avatar_attachment: [:blob] }) + @agents ||= Current.account.users.order_by_full_name.includes(:account_users, { avatar_attachment: [:blob] }) end def validate_limit diff --git a/app/models/user.rb b/app/models/user.rb index cbb06b39a..ad4abc142 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -108,7 +108,9 @@ class User < ApplicationRecord end def current_account_user - account_users.find_by(account_id: Current.account.id) if Current.account + # We want to avoid subsequent queries in case where the association is preloaded. + # using where here will trigger n+1 queries. + account_users.find { |ac_usr| ac_usr.account_id == Current.account.id } if Current.account end def available_name diff --git a/app/views/api/v1/models/_agent.json.jbuilder b/app/views/api/v1/models/_agent.json.jbuilder index fd7119ca5..02601d6b0 100644 --- a/app/views/api/v1/models/_agent.json.jbuilder +++ b/app/views/api/v1/models/_agent.json.jbuilder @@ -1,6 +1,6 @@ json.id resource.id # could be nil for a deleted agent hence the safe operator before account id -json.account_id resource.account&.id +json.account_id Current.account&.id json.availability_status resource.availability_status json.auto_offline resource.auto_offline json.confirmed resource.confirmed? diff --git a/config/app.yml b/config/app.yml index 56cd8bfff..b8f19bfd6 100644 --- a/config/app.yml +++ b/config/app.yml @@ -1,5 +1,5 @@ shared: &shared - version: '2.3.0' + version: '2.3.1' development: <<: *shared diff --git a/package.json b/package.json index 54a609102..445a54e05 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@chatwoot/chatwoot", - "version": "2.3.0", + "version": "2.3.1", "license": "MIT", "scripts": { "eslint": "eslint app/**/*.{js,vue} --fix",