feat(inquiries): Add status change functionality to inquiries

- Add useChangeInquiryStatus hook for managing inquiry status mutations
- Add STATUS endpoint to inquiries API endpoints configuration
- Add changeInquiryStatus method to inquiries service with error handling
- Add TChangeInquiryStatusCredentials type with validation schema
- Include description, reason, and status fields in status change credentials
- Invalidate inquiries query cache on successful status update
- Display success toast notification after status change completes
This commit is contained in:
AmirReza Jamali
2025-11-25 14:11:00 +03:30
parent 8b795bb428
commit 6da653cb15
4 changed files with 53 additions and 5 deletions
+23 -2
View File
@@ -1,6 +1,6 @@
import api from "../axios";
import { API_ENDPOINTS } from "../endpoints";
import { TInquiriesResponse } from "../types";
import { TChangeInquiryStatusCredentials, TInquiriesResponse } from "../types";
export const inquiriesService = {
getInquiries: async (
@@ -17,7 +17,28 @@ export const inquiriesService = {
try {
return (await api.delete(API_ENDPOINTS.INQUIRIES.BASE(id))).data;
} catch (error) {
console.error("ERROR caught in inquiries service => deleteInquiry", error);
console.error(
"ERROR caught in inquiries service => deleteInquiry",
error,
);
throw error;
}
},
changeInquiryStatus: async ({
credentials,
id,
}: {
credentials: TChangeInquiryStatusCredentials;
id: string;
}) => {
try {
return (await api.put(API_ENDPOINTS.INQUIRIES.STATUS(id), credentials))
.data;
} catch (error) {
console.error(
"ERROR caught in inquiries service => changeInquiryStatus",
error,
);
throw error;
}
},