/** * Onboarding Service - Mirror backend onboarding endpoints */ import { apiClient } from '../client'; import { UserProgress, UpdateStepRequest } from '../types/onboarding'; export class OnboardingService { private readonly baseUrl = '/onboarding'; async getUserProgress(userId: string): Promise { return apiClient.get(`${this.baseUrl}/progress/${userId}`); } async updateStep(userId: string, stepData: UpdateStepRequest): Promise { return apiClient.put(`${this.baseUrl}/progress/${userId}/step`, stepData); } async markStepCompleted( userId: string, stepName: string, data?: Record ): Promise { return apiClient.post(`${this.baseUrl}/progress/${userId}/complete`, { step_name: stepName, data: data, }); } async resetProgress(userId: string): Promise { return apiClient.post(`${this.baseUrl}/progress/${userId}/reset`); } async getStepDetails(stepName: string): Promise<{ name: string; description: string; dependencies: string[]; estimated_time_minutes: number; }> { return apiClient.get(`${this.baseUrl}/steps/${stepName}`); } async getAllSteps(): Promise> { return apiClient.get(`${this.baseUrl}/steps`); } } export const onboardingService = new OnboardingService();