Compare commits

...

2 Commits

Author SHA1 Message Date
1305ac855d Merge branch 'Kartik_Bug#798' into Issues_Aug_1W
# Conflicts:
#	src/hooks/useEmployees.js
2025-08-16 12:27:21 +05:30
43ed77cfc6 Deleted Employee Still Visible Until Manual Refresh. 2025-07-30 16:56:27 +05:30

View File

@ -176,7 +176,8 @@ export const useEmployeeProfile = (employeeId) => {
export const useEmployeesName = (projectId, search) => {
return useQuery({
queryKey: ["employees", projectId, search],
queryFn: async() => await EmployeeRepository.getEmployeeName(projectId, search),
queryFn: async () =>
await EmployeeRepository.getEmployeeName(projectId, search),
staleTime: 5 * 60 * 1000, // Optional: cache for 5 minutes
});
@ -194,7 +195,6 @@ export const useEmployeesNameByProject = (projectId) => {
});
};
// Mutation------------------------------------------------------------------
export const useUpdateEmployee = () => {
@ -232,36 +232,78 @@ export const useUpdateEmployee = () => {
});
};
// export const useSuspendEmployee = ({ setIsDeleteModalOpen, setemployeeLodaing }) => {
// const queryClient = useQueryClient();
// const selectedProject = useSelector((store)=>store.localVariables.projectId)
// return useMutation({
// mutationFn: (id) => {
// setemployeeLodaing(true);
// return EmployeeRepository.deleteEmployee(id);
// },
// onSuccess: () => {
// // queryClient.invalidateQueries( ['allEmployee',false]);
// queryClient.invalidateQueries( {queryKey: [ 'projectEmployees' ]} );
// queryClient.invalidateQueries( {queryKey:[ 'employeeListByProject' ,selectedProject]} );
// showToast("Employee deleted successfully.", "success");
// setIsDeleteModalOpen(false);
// },
// onError: (error) => {
// const message =
// error.response?.data?.message ||
// error.message ||
// "An unexpected error occurred";
// showToast(message, "error");
// setIsDeleteModalOpen(false);
// },
// onSettled: () => {
// setemployeeLodaing(false);
// },
// });
// };
// Manage Role
export const useSuspendEmployee = ({
setIsDeleteModalOpen,
setemployeeLodaing,
}) => {
const queryClient = useQueryClient();
const selectedProject = useSelector(
const selectedProjectId = useSelector(
(store) => store.localVariables.projectId
);
return useMutation({
mutationFn: (id) => {
mutationFn: async (employeeId) => {
setemployeeLodaing(true);
return EmployeeRepository.deleteEmployee(id);
return await EmployeeRepository.deleteEmployee(employeeId);
},
onSuccess: () => {
// queryClient.invalidateQueries( ['allEmployee',false]);
queryClient.invalidateQueries({ queryKey: ["projectEmployees"] });
queryClient.invalidateQueries({
queryKey: ["employeeListByProject", selectedProject],
});
showToast("Employee deleted successfully.", "success");
onSuccess: (_, employeeId) => {
showToast("Employee suspended successfully.", "success");
setIsDeleteModalOpen(false);
// Invalidate only the required employee-related queries
queryClient.invalidateQueries({ queryKey: ["employee", employeeId] });
queryClient.invalidateQueries({ queryKey: ["allEmployees"] });
if (selectedProjectId) {
queryClient.invalidateQueries({
queryKey: ["projectEmployees", selectedProjectId],
});
}
},
onError: (error) => {
const message =
showToast(
error.response?.data?.message ||
error.message ||
"An unexpected error occurred";
showToast(message, "error");
"An unexpected error occurred",
"error"
);
setIsDeleteModalOpen(false);
},
@ -271,8 +313,6 @@ export const useSuspendEmployee = ({
});
};
// Manage Role
export const useUpdateEmployeeRoles = ({
onClose,
resetForm,