30 lines
1.2 KiB
TypeScript
30 lines
1.2 KiB
TypeScript
import { apiClient } from '../services/apiClient';
|
|
import { Provider, CatalogItem, Order, DeliveryAgent, Location } from '../interfaces';
|
|
|
|
// ─── Types ───────────────────────────────────────────────────────────────────
|
|
|
|
export interface PlaceOrderResponse {
|
|
success: boolean;
|
|
order: Order;
|
|
}
|
|
|
|
// ─── Endpoints ───────────────────────────────────────────────────────────────
|
|
|
|
export const getProvidersApi = () =>
|
|
apiClient.get<Provider[]>('/providers');
|
|
|
|
export const getProviderCatalogApi = (providerId: string) =>
|
|
apiClient.get<CatalogItem[]>(`/providers/${providerId}/catalog`);
|
|
|
|
export const searchProvidersApi = (query: string) =>
|
|
apiClient.get<Provider[]>(`/search?q=${query}`);
|
|
|
|
export const placeOrderApi = (orderData: Partial<Order>) =>
|
|
apiClient.post<PlaceOrderResponse>('/orders', orderData);
|
|
|
|
export const getDeliveryAgentApi = () =>
|
|
apiClient.get<DeliveryAgent>('/delivery/agent');
|
|
|
|
export const getLiveLocationApi = () =>
|
|
apiClient.get<Location>('/delivery/live-location');
|