UNPKG

@ugandaemr/esm-patient-queues-app

Version:
35 lines (29 loc) 1.06 kB
import { restBaseUrl } from '@openmrs/esm-framework'; import debounce from 'lodash-es/debounce'; import { mutate } from 'swr'; export function extractErrorMessagesFromResponse(errorObject) { const fieldErrors = errorObject?.responseBody?.error?.fieldErrors; if (!fieldErrors) { return [errorObject?.responseBody?.error?.message ?? errorObject?.message]; } return Object.values(fieldErrors).flatMap((errors: Array<Error>) => errors.map((error) => error.message)); } export const QueueStatus = { Completed: 'completed', Pending: 'pending', Picked: 'picked' }; export enum QueueEnumStatus { COMPLETED = 'COMPLETED', PICKED = 'PICKED', PENDING = 'PENDING', } const refreshDashboardMetrics = debounce( () => mutate((key) => typeof key === 'string' && key.startsWith(`${restBaseUrl}/patientqueue`), undefined, { revalidate: true, }), 300, ); export const handleMutate = (url: string) => { mutate((key) => typeof key === 'string' && key.startsWith(url), undefined, { revalidate: true, }); refreshDashboardMetrics(); };