29 lines
728 B
TypeScript
29 lines
728 B
TypeScript
import { clientFetch } from '@/lib/client-utils';
|
|
|
|
export interface CustomerStats {
|
|
userId: string;
|
|
telegramUserId: number;
|
|
telegramUsername: string;
|
|
totalOrders: number;
|
|
totalSpent: number;
|
|
ordersByStatus: {
|
|
paid: number;
|
|
completed: number;
|
|
acknowledged: number;
|
|
shipped: number;
|
|
};
|
|
lastOrderDate: string;
|
|
firstOrderDate: string;
|
|
chatId: number;
|
|
}
|
|
|
|
export const getCustomers = async (page: number = 1, limit: number = 25): Promise<{
|
|
customers: CustomerStats[];
|
|
total: number;
|
|
}> => {
|
|
return clientFetch(`/customers?page=${page}&limit=${limit}`);
|
|
};
|
|
|
|
export const getCustomerDetails = async (userId: string): Promise<CustomerStats> => {
|
|
return clientFetch(`/customers/${userId}`);
|
|
};
|