Vendor at Purchase Form

This commit is contained in:
efrilm
2025-09-12 21:54:27 +07:00
parent 20203942d2
commit 0b51b29474
8 changed files with 1247 additions and 9 deletions
+22
View File
@@ -0,0 +1,22 @@
import { useMutation, useQueryClient } from '@tanstack/react-query'
import { toast } from 'react-toastify'
import { api } from '../api'
import { PurchaseOrderRequest } from '@/types/services/purchaseOrder'
export const useVendorsMutation = () => {
const queryClient = useQueryClient()
const createVendor = useMutation({
mutationFn: async (newVendor: PurchaseOrderRequest) => {
const response = await api.post('/vendors', newVendor)
return response.data
},
onSuccess: () => {
toast.success('Vendor created successfully!')
queryClient.invalidateQueries({ queryKey: ['vendors'] })
},
onError: (error: any) => {
toast.error(error.response?.data?.errors?.[0]?.cause || 'Create failed')
}
})
}
+10
View File
@@ -35,6 +35,16 @@ export function useVendors(params: VendorQueryParams = {}) {
})
}
export function useVendorActive() {
return useQuery<Vendor[]>({
queryKey: ['vendors/active'],
queryFn: async () => {
const res = await api.get(`/vendors/active`)
return res.data.data
}
})
}
export function useVendorById(id: string) {
return useQuery<Vendor>({
queryKey: ['vendors', id],