chore: Use Round Robin service for team assignment (#4237)
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
This commit is contained in:
@@ -1,9 +1,13 @@
|
||||
class RoundRobin::AssignmentService
|
||||
pattr_initialize [:conversation]
|
||||
pattr_initialize [:conversation, { allowed_member_ids: [] }]
|
||||
|
||||
def find_assignee
|
||||
round_robin_manage_service.available_agent(priority_list: online_agents)
|
||||
end
|
||||
|
||||
def perform
|
||||
# online agents will get priority
|
||||
new_assignee = round_robin_manage_service.available_agent(priority_list: online_agents)
|
||||
new_assignee = find_assignee
|
||||
conversation.update(assignee: new_assignee) if new_assignee
|
||||
end
|
||||
|
||||
@@ -15,7 +19,7 @@ class RoundRobin::AssignmentService
|
||||
end
|
||||
|
||||
def round_robin_manage_service
|
||||
@round_robin_manage_service ||= RoundRobin::ManageService.new(inbox: conversation.inbox)
|
||||
@round_robin_manage_service ||= RoundRobin::ManageService.new(inbox: conversation.inbox, allowed_member_ids: allowed_member_ids)
|
||||
end
|
||||
|
||||
def round_robin_key
|
||||
|
||||
Reference in New Issue
Block a user