import { axiosInstance } from './client';
import type {
Forecast,
ForecastCreate,
ForecastUpdate,
ForecastSyncResult,
} from '../types';
const baseUrl = '/api/company';
export async function getForecasts(
companyId: string,
params?: { type?: string; period?: string }
): Promise<Forecast[]> {
const response = await axiosInstance.get(`${baseUrl}/${companyId}/forecasts`, { params });
return response.data.forecasts;
}
export async function createForecast(
companyId: string,
data: ForecastCreate
): Promise<Forecast> {
const response = await axiosInstance.post(`${baseUrl}/${companyId}/forecasts`, data);
return response.data.forecast;
}
export async function updateForecast(
companyId: string,
forecastId: string,
data: ForecastUpdate
): Promise<Forecast> {
const response = await axiosInstance.put(`${baseUrl}/${companyId}/forecasts/${forecastId}`, data);
return response.data.forecast;
}
export async function deleteForecast(
companyId: string,
forecastId: string
): Promise<{ success: boolean }> {
const response = await axiosInstance.delete(`${baseUrl}/${companyId}/forecasts/${forecastId}`);
return response.data;
}
export async function syncForecasts(
companyId: string
): Promise<ForecastSyncResult> {
const response = await axiosInstance.post(`${baseUrl}/${companyId}/forecasts/sync`);
return response.data.result;
}
export async function getForecastSyncStatus(
companyId: string
): Promise<{ last_sync: string | null; next_sync: string | null }> {
const response = await axiosInstance.get(`${baseUrl}/${companyId}/forecasts/sync-status`);
return response.data;
}