Files
ctms/frontend/src/api/members.ts
T
2025-12-18 16:24:57 +08:00

18 lines
855 B
TypeScript

import { apiDelete, apiGet, apiPatch, apiPost } from "./axios";
import type { StudyMember } from "../types/api";
export const listMembers = (studyId: string, params?: Record<string, any>) =>
apiGet<StudyMember[] | { items: StudyMember[] }>(`/api/v1/studies/${studyId}/members/`, { params });
export const addMember = (studyId: string, payload: { user_id: string; role_in_study: string; is_active?: boolean }) =>
apiPost<StudyMember>(`/api/v1/studies/${studyId}/members/`, payload);
export const updateMember = (
studyId: string,
memberId: string,
payload: Partial<{ role_in_study: string; is_active: boolean }>
) => apiPatch<StudyMember>(`/api/v1/studies/${studyId}/members/${memberId}`, payload);
export const removeMember = (studyId: string, memberId: string) =>
apiDelete<StudyMember>(`/api/v1/studies/${studyId}/members/${memberId}`);