shoc-frontend-new/src/domain/team-members/api/team-members-api.ts
2026-09-16 19:49:27 -03:00

22 lines
898 B
TypeScript

import { apiGet, apiPost } from "@/api/api";
import { API_PATHS } from "@/api/api-paths";
import { handleApiResponse } from "@/api/handle-api-response";
import { mapTeamMemberListItems } from "@/domain/team-members/mappers/team-member-mapper";
import type {
CreateTeamMemberInput,
TeamMemberCreated,
TeamMemberListResult,
} from "@/domain/team-members/types/team-member";
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 : []) };
},
create: async (input: CreateTeamMemberInput): Promise<TeamMemberCreated> => {
const data = await apiPost<unknown>(API_PATHS.teamMember.create, input);
return handleApiResponse<TeamMemberCreated>(data);
},
};