major claude changes
This commit is contained in:
128
src/services/deliveryService.ts
Normal file
128
src/services/deliveryService.ts
Normal file
@@ -0,0 +1,128 @@
|
||||
import api, { autoApi } from './api';
|
||||
import {
|
||||
Delivery,
|
||||
DeliveryNote,
|
||||
AutoDelivery,
|
||||
DeliveryListResponse,
|
||||
CreateDeliveryRequest,
|
||||
UpdateDeliveryRequest,
|
||||
ApiResponse
|
||||
} from '../types/models';
|
||||
|
||||
export const deliveryService = {
|
||||
// CRUD operations
|
||||
create: (customerId: number, data: CreateDeliveryRequest): Promise<ApiResponse<Delivery>> =>
|
||||
api.post(`/delivery/create/${customerId}`, data),
|
||||
|
||||
getById: (id: number): Promise<ApiResponse<Delivery>> =>
|
||||
api.get(`/delivery/${id}`),
|
||||
|
||||
getOrder: (id: number): Promise<ApiResponse<Delivery>> =>
|
||||
api.get(`/delivery/order/${id}`),
|
||||
|
||||
update: (id: number, data: UpdateDeliveryRequest): Promise<ApiResponse<Delivery>> =>
|
||||
api.put(`/delivery/edit/${id}`, data),
|
||||
|
||||
delete: (id: number): Promise<ApiResponse<void>> =>
|
||||
api.delete(`/delivery/delete/${id}`),
|
||||
|
||||
cancel: (id: number): Promise<ApiResponse<void>> =>
|
||||
api.put(`/delivery/cancel/${id}`),
|
||||
|
||||
markCancelled: (id: number): Promise<ApiResponse<void>> =>
|
||||
api.put(`/delivery/cancelled/${id}`),
|
||||
|
||||
// List operations
|
||||
getAll: (page: number = 1): Promise<DeliveryListResponse> =>
|
||||
api.get(`/delivery/all/${page}`),
|
||||
|
||||
getByCustomer: (customerId: number, page: number = 1): Promise<DeliveryListResponse> =>
|
||||
api.get(`/delivery/customer/${customerId}/${page}`),
|
||||
|
||||
getPast1: (customerId: number): Promise<ApiResponse<Delivery[]>> =>
|
||||
api.get(`/delivery/past1/${customerId}`),
|
||||
|
||||
getPast2: (customerId: number): Promise<ApiResponse<Delivery[]>> =>
|
||||
api.get(`/delivery/past2/${customerId}`),
|
||||
|
||||
// Status-based lists
|
||||
getWaiting: (page: number = 1): Promise<DeliveryListResponse> =>
|
||||
api.get(`/delivery/waiting/${page}`),
|
||||
|
||||
getTomorrow: (page: number = 1): Promise<DeliveryListResponse> =>
|
||||
api.get(`/delivery/tommorrow/${page}`),
|
||||
|
||||
getOutForDelivery: (page: number = 1): Promise<DeliveryListResponse> =>
|
||||
api.get(`/delivery/outfordelivery/${page}`),
|
||||
|
||||
getDelivered: (page: number = 1): Promise<DeliveryListResponse> =>
|
||||
api.get(`/delivery/delivered/${page}`),
|
||||
|
||||
getFinalized: (page: number = 1): Promise<DeliveryListResponse> =>
|
||||
api.get(`/delivery/finalized/${page}`),
|
||||
|
||||
getPending: (page: number = 1): Promise<DeliveryListResponse> =>
|
||||
api.get(`/delivery/pending/${page}`),
|
||||
|
||||
getIssues: (page: number = 1): Promise<DeliveryListResponse> =>
|
||||
api.get(`/delivery/issue/${page}`),
|
||||
|
||||
// Status & totals
|
||||
updateStatus: (data: { id: number; status: number }): Promise<ApiResponse<void>> =>
|
||||
api.put('/delivery/updatestatus', data),
|
||||
|
||||
getTotal: (id: number): Promise<ApiResponse<{ total: number }>> =>
|
||||
api.get(`/delivery/total/${id}`),
|
||||
|
||||
// Cash handling
|
||||
handleCash: (id: number, type: string): Promise<ApiResponse<{ amount: number }>> =>
|
||||
api.get(`/delivery/cash/${id}/${type}`),
|
||||
|
||||
// Finalize
|
||||
finalize: (id: number, data?: { final_price: number }): Promise<ApiResponse<void>> =>
|
||||
api.put(`/deliverydata/finalize/${id}`, data),
|
||||
|
||||
// Auto system endpoints (VITE_AUTO_URL)
|
||||
auto: {
|
||||
getDelivery: (id: number) =>
|
||||
autoApi.get(`/delivery/delivery/${id}`),
|
||||
|
||||
getProfileDeliveries: (id: number) =>
|
||||
autoApi.get(`/delivery/all/profile/${id}`),
|
||||
|
||||
getAllCustomers: () =>
|
||||
autoApi.get('/delivery/all/customers'),
|
||||
|
||||
getByCustomer: (id: number) =>
|
||||
autoApi.get(`/delivery/auto/customer/${id}`),
|
||||
|
||||
getTicket: (id: number) =>
|
||||
autoApi.get(`/delivery/autoticket/${id}`),
|
||||
|
||||
findDelivery: (id: number) =>
|
||||
autoApi.get(`/delivery/finddelivery/${id}`),
|
||||
|
||||
updateStatus: (id: number, data: any) =>
|
||||
autoApi.put(`/delivery/update_status/${id}`, data),
|
||||
|
||||
confirm: (data: any) =>
|
||||
autoApi.post('/confirm/delivery', data),
|
||||
|
||||
createTicket: (id: number, data: any) =>
|
||||
autoApi.post(`/confirm/auto/create/${id}`, data),
|
||||
|
||||
createTicketNoPreauth: (id: number, data: any) =>
|
||||
autoApi.post(`/confirm/auto/create/nopreauth/${id}`, data),
|
||||
|
||||
closeTicket: (id: number, data?: any) =>
|
||||
autoApi.put(`/confirm/auto/close_ticket/${id}`, data),
|
||||
|
||||
updateTicket: (id: number, data: any) =>
|
||||
autoApi.put(`/confirm/auto/update/${id}`, data),
|
||||
|
||||
estimateGallons: (customerId: number) =>
|
||||
autoApi.get(`/fixstuff_customer/estimate_gallons/customer/${customerId}`),
|
||||
},
|
||||
};
|
||||
|
||||
export default deliveryService;
|
||||
Reference in New Issue
Block a user