| |
| |
| |
| |
|
|
| import { apiClient } from './client' |
| import type { UserSubscription, SubscriptionProgress } from '@/types' |
|
|
| |
| |
| |
| 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 |
| }> |
| } |
|
|
| |
| |
| |
| export async function getMySubscriptions(): Promise<UserSubscription[]> { |
| const response = await apiClient.get<UserSubscription[]>('/subscriptions') |
| return response.data |
| } |
|
|
| |
| |
| |
| export async function getActiveSubscriptions(): Promise<UserSubscription[]> { |
| const response = await apiClient.get<UserSubscription[]>('/subscriptions/active') |
| return response.data |
| } |
|
|
| |
| |
| |
| export async function getSubscriptionsProgress(): Promise<SubscriptionProgress[]> { |
| const response = await apiClient.get<SubscriptionProgress[]>('/subscriptions/progress') |
| return response.data |
| } |
|
|
| |
| |
| |
| export async function getSubscriptionSummary(): Promise<SubscriptionSummary> { |
| const response = await apiClient.get<SubscriptionSummary>('/subscriptions/summary') |
| return response.data |
| } |
|
|
| |
| |
| |
| export async function getSubscriptionProgress( |
| subscriptionId: number |
| ): Promise<SubscriptionProgress> { |
| const response = await apiClient.get<SubscriptionProgress>( |
| `/subscriptions/${subscriptionId}/progress` |
| ) |
| return response.data |
| } |
|
|
| export default { |
| getMySubscriptions, |
| getActiveSubscriptions, |
| getSubscriptionsProgress, |
| getSubscriptionSummary, |
| getSubscriptionProgress |
| } |
|
|