Files
approagency-admin-panel/lib/api/purchases.ts
T
2026-07-03 17:22:57 +03:30

23 lines
1.1 KiB
TypeScript

import { apiClient } from './client';
import { Purchase, Paginated, PurchaseFilters } from '@/types/purchase';
export const purchasesApi = {
// List all subscription purchases with optional filters
getPurchases: async (filters: PurchaseFilters, token: string): Promise<Paginated<Purchase>> => {
const params = new URLSearchParams();
if (filters.email) params.append('email', filters.email);
if (filters.mobile) params.append('mobile', filters.mobile);
if (filters.package_name) params.append('package_name', filters.package_name);
if (filters.gateway) params.append('gateway', filters.gateway);
if (filters.status !== undefined && filters.status !== null) {
params.append('status', String(filters.status));
}
if (filters.per_page) params.append('per_page', String(filters.per_page));
if (filters.page) params.append('page', String(filters.page));
const qs = params.toString();
return apiClient.get<Paginated<Purchase>>(`/admin/purchases${qs ? `?${qs}` : ''}`, token);
},
};