Files
ctms/frontend/src/api/studies.ts
T

14 lines
624 B
TypeScript

import { apiGet, apiPatch, apiPost } from "./axios";
import type { ApiListResponse, Study } from "../types/api";
// Backend expects trailing slash to avoid 307 redirect
export const fetchStudies = () => apiGet<ApiListResponse<Study>>("/api/v1/studies/");
export const createStudy = (payload: Partial<Study> & { code: string; name: string }) =>
apiPost<Study>("/api/v1/studies/", payload);
export const updateStudy = (studyId: string, payload: Partial<Study>) =>
apiPatch<Study>(`/api/v1/studies/${studyId}`, payload);
export const fetchStudyDetail = (studyId: string) => apiGet<Study>(`/api/v1/studies/${studyId}`);