39 lines
1.0 KiB
TypeScript
39 lines
1.0 KiB
TypeScript
import { api } from './api';
|
|
import type {
|
|
TeamMember,
|
|
CreateTeamMemberDto,
|
|
UpdateTeamMemberDto,
|
|
TeamSummary,
|
|
} from '../types/team';
|
|
|
|
export const teamApi = {
|
|
getAll: async (): Promise<TeamMember[]> => {
|
|
const response = await api.get<TeamMember[]>('/api/team');
|
|
return response.data;
|
|
},
|
|
|
|
getOne: async (id: string): Promise<TeamMember> => {
|
|
const response = await api.get<TeamMember>(`/api/team/${id}`);
|
|
return response.data;
|
|
},
|
|
|
|
getSummary: async (): Promise<TeamSummary[]> => {
|
|
const response = await api.get<TeamSummary[]>('/api/team/summary');
|
|
return response.data;
|
|
},
|
|
|
|
create: async (dto: CreateTeamMemberDto): Promise<TeamMember> => {
|
|
const response = await api.post<TeamMember>('/api/team', dto);
|
|
return response.data;
|
|
},
|
|
|
|
update: async (id: string, dto: UpdateTeamMemberDto): Promise<TeamMember> => {
|
|
const response = await api.patch<TeamMember>(`/api/team/${id}`, dto);
|
|
return response.data;
|
|
},
|
|
|
|
delete: async (id: string): Promise<void> => {
|
|
await api.delete(`/api/team/${id}`);
|
|
},
|
|
};
|