/** * Redeem code API endpoints * Handles redeem code redemption for users */ import { apiClient } from './client' import type { RedeemCodeRequest } from '@/types' export interface RedeemHistoryItem { id: number code: string type: string value: number status: string used_at: string created_at: string // 订阅类型专用字段 group_id?: number validity_days?: number group?: { id: number name: string } } /** * Redeem a code * @param code - Redeem code string * @returns Redemption result with updated balance or concurrency */ export async function redeem(code: string): Promise<{ message: string type: string value: number new_balance?: number new_concurrency?: number }> { const payload: RedeemCodeRequest = { code } const { data } = await apiClient.post<{ message: string type: string value: number new_balance?: number new_concurrency?: number }>('/redeem', payload) return data } /** * Get user's redemption history * @returns List of redeemed codes */ export async function getHistory(): Promise { const { data } = await apiClient.get('/redeem/history') return data } export const redeemAPI = { redeem, getHistory } export default redeemAPI