message modal and api fix
This commit is contained in:
parent
2fae816ce7
commit
794d996eac
6 changed files with 54 additions and 14 deletions
|
@ -11,17 +11,18 @@ import {useQuery, useMutation} from 'react-query';
|
|||
import {useNavigate} from 'react-router-dom';
|
||||
import BackButton from '../../components/BackButton/BackButton';
|
||||
import {sendMessage} from '../../services/apiservice';
|
||||
import Spinner from '../../components/Spinner/Spinner';
|
||||
|
||||
import styles from './EnrollmentRequests.module.css';
|
||||
import MessageModal from '../../components/Modal/MessageModal';
|
||||
|
||||
const EnrollmentRequests = () => {
|
||||
const navigate = useNavigate();
|
||||
const {data, refetch} = useQuery('unverified', getUnverifiedUsers);
|
||||
const deleteUse = useMutation((id) => deleteUser(id), {
|
||||
onSuccess: () => {
|
||||
refetch();
|
||||
},
|
||||
});
|
||||
const [open, setOpen] = React.useState(false);
|
||||
const [message, setMessage] = React.useState('');
|
||||
const {data, refetch, isLoading} = useQuery('unverified', getUnverifiedUsers);
|
||||
|
||||
const deleteUse = useMutation((payload) => deleteUser(payload));
|
||||
|
||||
const updateUse = useMutation((id) => updateUser(id, {verified: true}), {
|
||||
onSuccess: () => {
|
||||
|
@ -33,6 +34,23 @@ const EnrollmentRequests = () => {
|
|||
sendMessage(payload);
|
||||
});
|
||||
|
||||
const handleModalClick = (item) => {
|
||||
deleteUse.mutate(item._id, {
|
||||
onSuccess: () => {
|
||||
setConfirm.mutate({
|
||||
mobile: `+91${item.mobile}`,
|
||||
message: message,
|
||||
});
|
||||
setOpen(false);
|
||||
refetch();
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
if (isLoading) {
|
||||
return <Spinner heading='Admin' />;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={styles.unverified_users}>
|
||||
<Header subheading='Admin' />
|
||||
|
@ -52,9 +70,16 @@ const EnrollmentRequests = () => {
|
|||
title='Reject'
|
||||
color='red'
|
||||
onClick={() => {
|
||||
deleteUse.mutate(item._id);
|
||||
setOpen(true);
|
||||
}}
|
||||
/>
|
||||
<MessageModal
|
||||
title='Reason for Reject'
|
||||
open={open}
|
||||
setOpen={setOpen}
|
||||
onChange={(e) => setMessage(e.target.value)}
|
||||
onClick={() => handleModalClick(item)}
|
||||
/>
|
||||
</div>
|
||||
))
|
||||
) : (
|
||||
|
|
|
@ -4,7 +4,7 @@ import Button from '../../components/Button/Button';
|
|||
import Header from '../../components/Header/Header';
|
||||
import {
|
||||
deleteUser,
|
||||
getUnverifiedUsers,
|
||||
getUpdatingUsers,
|
||||
updateUser,
|
||||
} from '../../services/apiservice';
|
||||
import {useQuery, useMutation} from 'react-query';
|
||||
|
@ -16,8 +16,8 @@ import Spinner from '../../components/Spinner/Spinner';
|
|||
const UpdateRequests = () => {
|
||||
const navigate = useNavigate();
|
||||
const {data, isLoading, isError, refetch} = useQuery(
|
||||
'unverified',
|
||||
getUnverifiedUsers
|
||||
'updating',
|
||||
getUpdatingUsers
|
||||
);
|
||||
const deleteUse = useMutation((id) => deleteUser(id), {
|
||||
onSuccess: () => {
|
||||
|
|
|
@ -24,12 +24,12 @@ export const deleteUser = async (id) => {
|
|||
return response;
|
||||
};
|
||||
|
||||
export const updatingUsers = async () => {
|
||||
export const getUpdatingUsers = async () => {
|
||||
const response = await apiClient.get(`/users/updating`);
|
||||
return response;
|
||||
};
|
||||
|
||||
export const sendMessage = async (payload) => {
|
||||
const response = await apiClient.post('/message', payload);
|
||||
const response = await apiClient.post('/messages', payload);
|
||||
return response;
|
||||
};
|
||||
|
|
|
@ -26,4 +26,15 @@ const sendMessage = async (req, res) => {
|
|||
}
|
||||
};
|
||||
|
||||
export default {sendOTP, sendMessage};
|
||||
const sendMessages = async (req, res) => {
|
||||
const {mobile, message} = req.body;
|
||||
|
||||
try {
|
||||
sendSMS(mobile, message);
|
||||
res.status(200).json({message: 'Message sent successfully'});
|
||||
} catch (error) {
|
||||
res.status(404).json({message: error});
|
||||
}
|
||||
};
|
||||
|
||||
export default {sendOTP, sendMessage, sendMessages};
|
||||
|
|
|
@ -121,7 +121,10 @@ const deleteUser = async (req, res) => {
|
|||
|
||||
const getUpdatingUsers = async (req, res) => {
|
||||
try {
|
||||
const updatingUsers = await UserDetails.find({isUpdating: true});
|
||||
const updatingUsers = await UserDetails.find({
|
||||
isUpdating: true,
|
||||
verified: true,
|
||||
});
|
||||
return res.status(200).json(updatingUsers);
|
||||
} catch (error) {
|
||||
res.status(404).json({message: error.message});
|
||||
|
|
|
@ -5,5 +5,6 @@ const router = Express.Router();
|
|||
|
||||
router.post('/otp', message.sendOTP);
|
||||
router.post('/message', message.sendMessage);
|
||||
router.post('/messages', message.sendMessages);
|
||||
|
||||
export default router;
|
||||
|
|
Loading…
Reference in a new issue