diff --git a/src/lib/services/agent-service.js b/src/lib/services/agent-service.js index 4734bdc3..a0016eba 100644 --- a/src/lib/services/agent-service.js +++ b/src/lib/services/agent-service.js @@ -32,6 +32,16 @@ export async function getAgents(filter, checkAuth = false) { return response.data; } +/** + * Get agent list + * @returns {Promise} + */ +export async function getAgentOptions() { + let url = endpoints.agentOptionsUrl; + const response = await axios.get(url); + return response.data; +} + /** * Get agent detail * @param {string} id diff --git a/src/lib/services/api-endpoints.js b/src/lib/services/api-endpoints.js index 1d7f62c8..024db209 100644 --- a/src/lib/services/api-endpoints.js +++ b/src/lib/services/api-endpoints.js @@ -30,6 +30,7 @@ export const endpoints = { // agent agentSettingUrl: `${host}/agent/settings`, agentListUrl: `${host}/agents`, + agentOptionsUrl: `${host}/agent/options`, agentDetailUrl: `${host}/agent/{id}`, agentRefreshUrl: `${host}/refresh-agents`, agentCreateUrl: `${host}/agent`, diff --git a/src/routes/page/conversation/+page.svelte b/src/routes/page/conversation/+page.svelte index a6249bf9..78564da7 100644 --- a/src/routes/page/conversation/+page.svelte +++ b/src/routes/page/conversation/+page.svelte @@ -16,7 +16,7 @@ import HeadTitle from '$lib/common/HeadTitle.svelte'; import TablePagination from '$lib/common/TablePagination.svelte'; import LoadingToComplete from '$lib/common/LoadingToComplete.svelte'; - import { getAgents } from '$lib/services/agent-service'; + import { getAgentOptions } from '$lib/services/agent-service'; import { getConversations, deleteConversation, getConversationStateSearchKeys } from '$lib/services/conversation-service.js'; import { utcToLocal } from '$lib/helpers/datetime'; import { ConversationChannel } from '$lib/helpers/enums'; @@ -105,13 +105,13 @@ function loadAgentOptions() { return new Promise((resolve, reject) => { - getAgents({ pager: { page: 1, size: 100, count: 0 } }).then(res => { - agentOptions = res?.items?.map(x => { + getAgentOptions().then(res => { + agentOptions = res?.map(x => { return { id: x.id, name: x.name }; - })?.sort((a, b) => a.name.localeCompare(b.name)) || []; + }) || []; resolve(agentOptions); }).catch((error) => { agentOptions = []; diff --git a/src/routes/page/roles/+page.svelte b/src/routes/page/roles/+page.svelte index 0d29eea1..0923e8b9 100644 --- a/src/routes/page/roles/+page.svelte +++ b/src/routes/page/roles/+page.svelte @@ -12,7 +12,7 @@ import HeadTitle from "$lib/common/HeadTitle.svelte"; import Breadcrumb from '$lib/common/Breadcrumb.svelte'; import LoadingToComplete from '$lib/common/LoadingToComplete.svelte'; - import { getAgents } from '$lib/services/agent-service'; + import { getAgentOptions } from '$lib/services/agent-service'; import { globalEventStore } from '$lib/helpers/store'; import { GlobalEvent } from '$lib/helpers/enums'; import { getRoleOptions, getRoles, updateRole } from '$lib/services/role-service'; @@ -86,13 +86,13 @@ function getPagedAgents() { return new Promise((resolve, reject) => { - getAgents({ pager: { page: 1, size: 100, count: 0 } }).then(res => { - agents = res?.items?.map(x => { + getAgentOptions().then(res => { + agents = res?.map(x => { return { id: x.id, name: x.name }; - })?.sort((a, b) => a.name.localeCompare(b.name)) || []; + }) || []; resolve(agents); }); }); diff --git a/src/routes/page/users/+page.svelte b/src/routes/page/users/+page.svelte index 399330c9..b12b1114 100644 --- a/src/routes/page/users/+page.svelte +++ b/src/routes/page/users/+page.svelte @@ -16,7 +16,7 @@ import LoadingToComplete from '$lib/common/LoadingToComplete.svelte'; import { getUsers, updateUser } from '$lib/services/user-service'; import UserItem from './user-item.svelte'; - import { getAgents } from '$lib/services/agent-service'; + import { getAgentOptions } from '$lib/services/agent-service'; import { globalEventStore } from '$lib/helpers/store'; import { GlobalEvent } from '$lib/helpers/enums'; import { getRoleOptions } from '$lib/services/role-service'; @@ -106,13 +106,13 @@ function getPagedAgents() { return new Promise((resolve, reject) => { - getAgents({ pager: { page: 1, size: 100, count: 0 } }).then(res => { - agents = res?.items?.map(x => { + getAgentOptions().then(res => { + agents = res?.map(x => { return { id: x.id, name: x.name }; - })?.sort((a, b) => a.name.localeCompare(b.name)) || []; + }) || []; resolve(agents); }); });