- implementa busca automática de CEP e coordenadas - adiciona upload e visualização de licença sanitária - corrige listagem de pedidos vinculados à empresa - ajusta interceptador Axios para envio correto de multipart/form-data
43 lines
954 B
TypeScript
43 lines
954 B
TypeScript
import { apiClient } from './apiClient'
|
|
|
|
export interface OrderItem {
|
|
product_id: string
|
|
quantity: number
|
|
unit_cents: number
|
|
batch: string
|
|
expires_at: string
|
|
}
|
|
|
|
export interface ShippingAddress {
|
|
recipient_name: string
|
|
street: string
|
|
number: string
|
|
complement?: string
|
|
district: string
|
|
city: string
|
|
state: string
|
|
zip_code: string
|
|
country: string
|
|
}
|
|
|
|
export interface CreateOrderRequest {
|
|
buyer_id: string
|
|
seller_id: string
|
|
items: OrderItem[]
|
|
shipping: ShippingAddress
|
|
payment_method: 'pix' | 'credit_card' | 'debit_card'
|
|
}
|
|
|
|
export const ordersService = {
|
|
createOrder: (data: CreateOrderRequest) => {
|
|
return apiClient.post('/v1/orders', data)
|
|
},
|
|
|
|
listOrders: () => {
|
|
return apiClient.get('/v1/orders')
|
|
},
|
|
|
|
reorder: (orderId: string) => {
|
|
return apiClient.post<{ cart: any; warnings: string[] }>(`/v1/orders/${orderId}/reorder`)
|
|
}
|
|
}
|