/** * User Subscription API * API for regular users to view their own subscriptions and progress */ import { apiClient } from './client' import type { UserSubscription, SubscriptionProgress } from '@/types' /** * Subscription summary for user dashboard */ export interface SubscriptionSummary { active_count: number subscriptions: Array<{ id: number group_name: string status: string daily_progress: number | null weekly_progress: number | null monthly_progress: number | null expires_at: string | null days_remaining: number | null }> } /** * Get list of current user's subscriptions */ export async function getMySubscriptions(): Promise { const response = await apiClient.get('/subscriptions') return response.data } /** * Get current user's active subscriptions */ export async function getActiveSubscriptions(): Promise { const response = await apiClient.get('/subscriptions/active') return response.data } /** * Get progress for all user's active subscriptions */ export async function getSubscriptionsProgress(): Promise { const response = await apiClient.get('/subscriptions/progress') return response.data } /** * Get subscription summary for dashboard display */ export async function getSubscriptionSummary(): Promise { const response = await apiClient.get('/subscriptions/summary') return response.data } /** * Get progress for a specific subscription */ export async function getSubscriptionProgress( subscriptionId: number ): Promise { const response = await apiClient.get( `/subscriptions/${subscriptionId}/progress` ) return response.data } export default { getMySubscriptions, getActiveSubscriptions, getSubscriptionsProgress, getSubscriptionSummary, getSubscriptionProgress }