uchill/front_material/api/referrals.ts

44 lines
1.2 KiB
TypeScript

/**
* API для реферальной системы
*/
import apiClient from '@/lib/api-client';
export interface ReferralProfile {
referral_code: string;
referral_link: string;
total_points: number;
}
export interface ReferralStats {
referral_code: string;
total_points: number;
current_level: { level: number; name: string };
referrals: { direct: number; indirect: number; total: number };
earnings: { total: number };
bonus_account: { balance: number };
}
export async function getReferralProfile(): Promise<ReferralProfile | null> {
try {
const response = await apiClient.get<any>('/referrals/my_profile/');
return response.data;
} catch {
return null;
}
}
export async function getReferralStats(): Promise<ReferralStats | null> {
try {
const response = await apiClient.get<any>('/referrals/stats/');
return response.data;
} catch {
return null;
}
}
/** Установить реферера по коду (после регистрации). */
export async function setReferrer(referralCode: string): Promise<void> {
await apiClient.post('/referrals/set_referrer/', { referral_code: referralCode.trim() });
}