import apiClient from './client'; import type { ReferralInfo, ReferralTerms, PaginatedResponse } from '../types'; interface ReferralItem { id: number; username: string | null; first_name: string | null; created_at: string; has_subscription: boolean; has_paid: boolean; } interface ReferralEarning { id: number; amount_kopeks: number; amount_rubles: number; reason: string; referral_username: string | null; referral_first_name: string | null; created_at: string; } interface ReferralEarningsList extends PaginatedResponse { total_amount_kopeks: number; total_amount_rubles: number; } export const referralApi = { // Get referral info getReferralInfo: async (): Promise => { const response = await apiClient.get('/cabinet/referral'); return response.data; }, // Get referral list getReferralList: async (params?: { page?: number; per_page?: number; }): Promise> => { const response = await apiClient.get>( '/cabinet/referral/list', { params, }, ); return response.data; }, // Get referral earnings getReferralEarnings: async (params?: { page?: number; per_page?: number; }): Promise => { const response = await apiClient.get('/cabinet/referral/earnings', { params, }); return response.data; }, // Get referral terms getReferralTerms: async (): Promise => { const response = await apiClient.get('/cabinet/referral/terms'); return response.data; }, };