-
Notifications
You must be signed in to change notification settings - Fork 41
/
Copy pathBulkCreateUsers.js
74 lines (68 loc) · 2.39 KB
/
BulkCreateUsers.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import React, { useState } from 'react';
import axios from 'axios';
import { Container, Typography, TextField, Button, Snackbar } from '@mui/material';
import Layout from '@/components/layout';
import SimpleSnackbar from '@/components/SimpleSnackbar';
import AuthService from '@/services/AuthService';
const BulkCreateUsers = () => {
const [userData, setUserData] = useState('');
const [openSnackbar, setOpenSnackbar] = useState(false);
const [snackbarMessage, setSnackbarMessage] = useState('');
const handleUserChange = (e) => {
setUserData(e.target.value);
};
const handleSubmit = async () => {
try {
const token = localStorage.getItem('token');
const response = await axios.post('http://localhost:3001/api/v1/users/bulkCreate', {
users: JSON.parse(userData)
}, {
headers: {
'Authorization': `Bearer ${token}`
}
});
if (response.status === 200) {
setSnackbarMessage('Users created successfully');
setOpenSnackbar(true);
setUserData('');
} else {
setSnackbarMessage('Failed to create users');
setOpenSnackbar(true);
}
} catch (error) {
console.error('Error creating users:', error);
setSnackbarMessage('Error creating users');
setOpenSnackbar(true);
}
};
const handleCloseSnackbar = () => {
setOpenSnackbar(false);
};
return (
<Layout>
<Container maxWidth="md">
<Typography variant="h4" gutterBottom>
Bulk Create Users
</Typography>
<TextField
label="Enter user data JSON"
variant="outlined"
multiline
rows={6}
fullWidth
value={userData}
onChange={handleUserChange}
/>
<Button variant="contained" onClick={handleSubmit}>
Submit
</Button>
</Container>
<SimpleSnackbar
openSnack={openSnackbar}
closeSnack={handleCloseSnackbar}
message={snackbarMessage}
/>
</Layout>
);
};
export default BulkCreateUsers;