import { api } from '@/lib/api' import type { PaginatedResponse, StoreResponse, OutstandingBalanceResponse, StoreDashboardResponse, StoreAnalyticsResponse, StoreVisitHistoryItem, } from '@/types/api' import type { PageParams } from './master' // ─── Stores ─────────────────────────────────────────────────────────────────── export interface StoreBody { routeId: string ownerName?: string | null contactNumber?: string | null storeName: string storeAddress: string latitude: number longitude: number oneTimeAmount?: number creditLimit?: number segment?: string | null isActive?: boolean } export interface StoreListParams extends PageParams { routeId?: string search?: string } export const stores = { list: (params?: StoreListParams) => api.get>('/stores', { params }).then(r => r.data), get: (id: string) => api.get(`/stores/${id}`).then(r => r.data), create: (body: StoreBody) => api.post('/stores', body).then(r => r.data), update: (id: string, body: Partial) => api.put(`/stores/${id}`, body).then(r => r.data), updateStatus: (id: string, isActive: boolean) => api.patch(`/stores/${id}/status`, { isActive }).then(r => r.data), outstandingBalance: (id: string) => api.get(`/stores/${id}/outstanding-balance`).then(r => r.data), dashboard: (id: string, period?: string) => api.get(`/stores/${id}/dashboard`, { params: { period } }).then(r => r.data), analytics: (id: string, months = 12) => api.get(`/stores/${id}/analytics`, { params: { months } }).then(r => r.data), visitHistory: (id: string) => api.get(`/stores/${id}/visit-history`).then(r => r.data), }