import api from './client';
import type { CoachingInsight, CoachingInsightsResponse, CoachingScore } from '../types';
/**
* Smart Coaching API client.
* Backend: app/routes/coaching.py — rules engine with a 5-minute server-side cache.
*/
export const coachingApi = {
/** Fetch all coaching insights plus the overall health score. */
getInsights: async (): Promise<CoachingInsightsResponse> => {
const { data } = await api.get<CoachingInsightsResponse>('/api/coaching/insights');
return data;
},
/** Fetch just the overall health score (lighter call for widgets). */
getScore: async (): Promise<CoachingScore> => {
const { data } = await api.get<CoachingScore>('/api/coaching/score');
return data;
},
/** Dismiss an insight (hidden for 24 hours). */
dismissInsight: async (insightId: string): Promise<void> => {
await api.post(`/api/coaching/insights/${encodeURIComponent(insightId)}/dismiss`);
},
};
// Convenience named exports (legacy call-sites)
export const getInsights = coachingApi.getInsights;
export const getScore = coachingApi.getScore;
export const dismissInsight = coachingApi.dismissInsight;
export type { CoachingInsight, CoachingInsightsResponse, CoachingScore };
export type CoachingResponse = CoachingInsightsResponse;