import { API_BASE_URL } from '@/shared/constants'; import apiClient from '../api-client'; import { IServerResponse } from '@/types/common.types'; import { ITeamMemberViewModel } from '@/types/teamMembers/teamMembersGetResponse.types'; import { DateList, Member, Project, ScheduleData, Settings, } from '@/types/schedule/schedule-v2.types'; const rootUrl = `${API_BASE_URL}/schedule-gannt-v2`; export const scheduleAPIService = { fetchScheduleSettings: async (): Promise> => { const response = await apiClient.get>(`${rootUrl}/settings`); return response.data; }, updateScheduleSettings: async ({ workingDays, workingHours, }: { workingDays: string[]; workingHours: number; }): Promise> => { const response = await apiClient.put>(`${rootUrl}/settings`, { workingDays, workingHours, }); return response.data; }, fetchScheduleDates: async ({ type, date, }: { type: string; date: string; }): Promise> => { const response = await apiClient.get>( `${rootUrl}/dates/${date}/${type}` ); return response.data; }, fetchScheduleMembers: async (): Promise> => { const response = await apiClient.get>(`${rootUrl}/members`); return response.data; }, fetchMemberProjects: async ({ id }: { id: string }): Promise> => { const response = await apiClient.get>( `${rootUrl}/members/projects/${id}` ); return response.data; }, submitScheduleData: async ({ schedule, }: { schedule: ScheduleData; }): Promise> => { const response = await apiClient.post>(`${rootUrl}/schedule`, schedule); return response.data; }, };