-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
68 lines (55 loc) · 1.89 KB
/
Copy pathserver.js
File metadata and controls
68 lines (55 loc) · 1.89 KB
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
const express = require('express');
const cron = require('node-cron');
const app = express();
const PORT = 3000;
const generateRandomString = (length) => {
const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
let result = '';
for (let i = 0; i < length; i++) {
const randomIndex = Math.floor(Math.random() * characters.length);
result += characters[randomIndex];
}
return result;
};
// Helper function to generate random email, username, and password
const generateRandomUser = () => {
return {
email: `${generateRandomString(8)}@example.com`,
name: generateRandomString(8),
password: generateRandomString(12)
};
};
// Function to create a user
const createUser = async () => {
const fetch = (await import('node-fetch')).default;
const user = generateRandomUser();
// Log the user object to verify its contents
console.log('Generated user object:', user);
try {
const response = await fetch('https://assignment-w4rp.onrender.com/signup', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(user)
});
if (response.ok) {
const data = await response.json();
console.log('User created:', data);
} else {
const errorData = await response.text();
console.error('Error creating user:', response.statusText, errorData);
}
} catch (error) {
console.error('Error creating user:', error);
}
};
// Schedule the task to run every 30 minutes
cron.schedule('*/30 * * * *', () => {
console.log('Creating a new user...');
createUser();
});
// Start the Express server
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});