2026-06-28 16:46:42 +03:30
|
|
|
import { apiClient } from './client';
|
|
|
|
|
import type {
|
2026-06-28 17:49:40 +03:30
|
|
|
CasesFilterOptions,
|
2026-06-28 16:46:42 +03:30
|
|
|
LabCaseDetail,
|
|
|
|
|
LabCaseTask,
|
|
|
|
|
ListLabCasesParams,
|
|
|
|
|
PaginatedLabCases,
|
|
|
|
|
} from '@/types/cases';
|
|
|
|
|
|
|
|
|
|
export const casesApi = {
|
|
|
|
|
list: async (
|
|
|
|
|
params: ListLabCasesParams = {},
|
|
|
|
|
): Promise<{ success: boolean; data: PaginatedLabCases }> => {
|
|
|
|
|
const response = await apiClient.get('/cases', { params });
|
|
|
|
|
return response.data;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
getOne: async (id: string): Promise<{ success: boolean; data: LabCaseDetail }> => {
|
|
|
|
|
const response = await apiClient.get(`/cases/${id}`);
|
|
|
|
|
return response.data;
|
|
|
|
|
},
|
|
|
|
|
|
2026-06-28 17:49:40 +03:30
|
|
|
listFilterOptions: async (): Promise<{ success: boolean; data: CasesFilterOptions }> => {
|
|
|
|
|
const response = await apiClient.get('/cases/filter-options');
|
|
|
|
|
return response.data;
|
|
|
|
|
},
|
|
|
|
|
|
2026-07-07 15:31:09 +03:30
|
|
|
setTaskImportant: async (
|
2026-06-28 16:46:42 +03:30
|
|
|
caseId: string,
|
|
|
|
|
taskId: string,
|
2026-07-07 15:31:09 +03:30
|
|
|
isImportant: boolean,
|
2026-06-28 16:46:42 +03:30
|
|
|
): Promise<{ success: boolean; data: LabCaseTask }> => {
|
2026-07-07 15:31:09 +03:30
|
|
|
const response = await apiClient.patch(`/cases/${caseId}/tasks/${taskId}`, { isImportant });
|
2026-06-28 16:46:42 +03:30
|
|
|
return response.data;
|
|
|
|
|
},
|
|
|
|
|
};
|