sg-delivery-customer/app/api/deliveryApi.ts

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');