2026-09-16 20:27:05 -03:00
|
|
|
import { apiGet, apiPost, apiPut } from "@/api/api";
|
2026-09-16 18:54:33 -03:00
|
|
|
import { API_PATHS } from "@/api/api-paths";
|
|
|
|
|
import { handleApiResponse } from "@/api/handle-api-response";
|
2026-09-16 20:27:05 -03:00
|
|
|
import {
|
|
|
|
|
mapTeamMemberDetail,
|
|
|
|
|
mapTeamMemberListItems,
|
|
|
|
|
} from "@/domain/team-members/mappers/team-member-mapper";
|
2026-09-16 19:45:45 -03:00
|
|
|
import type {
|
|
|
|
|
CreateTeamMemberInput,
|
|
|
|
|
TeamMemberCreated,
|
2026-09-16 20:27:05 -03:00
|
|
|
TeamMemberDetail,
|
2026-09-16 19:45:45 -03:00
|
|
|
TeamMemberListResult,
|
2026-09-16 20:27:05 -03:00
|
|
|
UpdateTeamMemberInput,
|
2026-09-16 19:45:45 -03:00
|
|
|
} from "@/domain/team-members/types/team-member";
|
2026-09-16 18:54:33 -03:00
|
|
|
|
|
|
|
|
export const teamMembersApi = {
|
|
|
|
|
getList: async (): Promise<TeamMemberListResult> => {
|
|
|
|
|
const data = await apiGet<unknown>(API_PATHS.teamMember.getList);
|
|
|
|
|
const items = handleApiResponse<unknown[]>(data);
|
|
|
|
|
return { items: mapTeamMemberListItems(Array.isArray(items) ? items : []) };
|
|
|
|
|
},
|
2026-09-16 19:45:45 -03:00
|
|
|
|
|
|
|
|
create: async (input: CreateTeamMemberInput): Promise<TeamMemberCreated> => {
|
|
|
|
|
const data = await apiPost<unknown>(API_PATHS.teamMember.create, input);
|
|
|
|
|
return handleApiResponse<TeamMemberCreated>(data);
|
|
|
|
|
},
|
2026-09-16 20:27:05 -03:00
|
|
|
|
|
|
|
|
getDetail: async (id: string | number): Promise<TeamMemberDetail> => {
|
|
|
|
|
const data = await apiGet<unknown>(
|
|
|
|
|
`${API_PATHS.teamMember.detail}/${encodeURIComponent(String(id))}`,
|
|
|
|
|
);
|
|
|
|
|
return mapTeamMemberDetail(handleApiResponse<unknown>(data));
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
update: async (id: string | number, input: UpdateTeamMemberInput): Promise<TeamMemberDetail> => {
|
|
|
|
|
const data = await apiPut<unknown>(
|
|
|
|
|
`${API_PATHS.teamMember.detail}/${encodeURIComponent(String(id))}`,
|
|
|
|
|
input,
|
|
|
|
|
);
|
|
|
|
|
return mapTeamMemberDetail(handleApiResponse<unknown>(data));
|
|
|
|
|
},
|
2026-09-16 18:54:33 -03:00
|
|
|
};
|