major claude changes

This commit is contained in:
2026-01-28 21:55:14 -05:00
parent f9d0e4c0fd
commit f9b5364c53
81 changed files with 11155 additions and 10086 deletions

View 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;