diff --git a/src/lib/services/workflow-counts.ts b/src/lib/services/workflow-counts.ts index 36d93c4c81..07bd40565e 100644 --- a/src/lib/services/workflow-counts.ts +++ b/src/lib/services/workflow-counts.ts @@ -1,4 +1,7 @@ -import type { CountWorkflowExecutionsResponse } from '$lib/types/workflows'; +import type { + CountSchedulesResponse, + CountWorkflowExecutionsResponse, +} from '$lib/types/workflows'; import { requestFromAPI } from '$lib/utilities/request-from-api'; import { routeForApi } from '$lib/utilities/route-for-api'; import { TASK_FAILURES_QUERY } from '$lib/utilities/workflow-task-failures'; @@ -73,23 +76,12 @@ export const fetchScheduleCount = async ({ namespace: string; query?: string; }): Promise => { - const scheduleFixedQuery = - 'TemporalNamespaceDivision="TemporalScheduler" AND ExecutionStatus="Running"'; - - const fullQuery = query - ? `${scheduleFixedQuery} AND ${query}` - : scheduleFixedQuery; - const countRoute = routeForApi('workflows.count', { + const countRoute = routeForApi('schedules.count', { namespace, }); - const { count } = await requestFromAPI( - countRoute, - { - params: { - query: fullQuery, - }, - notifyOnError: false, - }, - ); + const { count } = await requestFromAPI(countRoute, { + params: query ? { query } : {}, + notifyOnError: false, + }); return count ?? '0'; }; diff --git a/src/lib/types/api.ts b/src/lib/types/api.ts index 480da8c8be..c008ac21f1 100644 --- a/src/lib/types/api.ts +++ b/src/lib/types/api.ts @@ -44,7 +44,7 @@ export type ParameterlessAPIRoutePath = | 'nexus-endpoints' | 'namespaces'; export type WorkerAPIRoutePath = 'worker-task-reachability'; -export type SchedulesAPIRoutePath = 'schedules'; +export type SchedulesAPIRoutePath = 'schedules' | 'schedules.count'; export type ScheduleAPIRoutePath = | 'schedule' | 'schedule.patch' diff --git a/src/lib/types/workflows.ts b/src/lib/types/workflows.ts index 9bca54e37b..67f724644e 100644 --- a/src/lib/types/workflows.ts +++ b/src/lib/types/workflows.ts @@ -54,6 +54,11 @@ export type CountWorkflowExecutionsResponse = { groups?: { count: string; groupValues: Payloads }[]; }; +export type CountSchedulesResponse = { + count?: string; + groups?: { count: string; groupValues: Payloads }[]; +}; + export type WorkflowExecutionConfig = Replace< import('$lib/types').WorkflowExecutionConfig, { diff --git a/src/lib/utilities/route-for-api.ts b/src/lib/utilities/route-for-api.ts index 0fc28685e1..1c576b8974 100644 --- a/src/lib/utilities/route-for-api.ts +++ b/src/lib/utilities/route-for-api.ts @@ -141,6 +141,7 @@ export function pathForApi( 'schedule.patch': `/namespaces/${parameters?.namespace}/schedules/${parameters?.scheduleId}/patch`, 'schedule.edit': `/namespaces/${parameters?.namespace}/schedules/${parameters?.scheduleId}/update`, schedules: `/namespaces/${parameters?.namespace}/schedules`, + 'schedules.count': `/namespaces/${parameters?.namespace}/schedule-count`, settings: '/settings', 'task-queue': `/namespaces/${parameters?.namespace}/task-queues/${parameters?.queue}`, 'task-queue.compatibility': `/namespaces/${parameters?.namespace}/task-queues/${parameters?.queue}/worker-build-id-compatibility`,