-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
92 lines (60 loc) · 2.02 KB
/
index.js
File metadata and controls
92 lines (60 loc) · 2.02 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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
const express = require('express');
const cors = require('cors')
const { PORT, FRONTEND_URL } = require('./Config')
const { connectDB } = require('./Startup')
const socketIo = require('socket.io');
const { authRouter, fileRouter, filterRouter, messageRouter, profileRouter } = require('./Routes')
// const authRouter = require('./Routes/authRoutes')
const authorization = require('./Middlewares/Auth')
const http = require('http');
const app = express();
const server = http.createServer(app);
const io = socketIo(server, {
cors: { origin: FRONTEND_URL, methods: ["GET", "POST"] },
});
connectDB();
app.use(cors())
app.use(express.json())
app.use(express.urlencoded({ extended: true }))
app.get('/', (req, res) => {
res.json({ msg: "hi from server" })
})
app.use('/api/auth', authRouter)
app.use('/api/file', authorization, fileRouter)
app.use('/api/filter', filterRouter)
app.use('/api/message', messageRouter)
app.use('/api/profile', profileRouter)
app.use((err, req, res, next) => {
const errorStatus = err.status || 500;
const errorMessage = err.message || 'Something went wrong';
return res.status(errorStatus).json({
success: false,
status: errorStatus,
message: errorMessage
});
})
const { addmessage } = require('./Helpers/AddMessage');
const { getAllMessages } = require('./Helpers/GetAllMessage')
io.on('connection', (socket) => {
console.log('A user connected');
// Handle incoming messages
socket.on('sendMessage', async (messageData) => {
// Save the message to MongoDB
// console.log(messageData);
const newMessage = await addmessage(messageData);
// console.log(newMessage);
// Emit the message to all connected clients
io.emit('newMessage', newMessage);
});
//Get all message
// socket.on('getAllMessages', async () => {
// const allmessages = await getAllMessages();
// })
// Handle disconnect
socket.on('disconnect', () => {
console.log('User disconnected');
});
});
server.listen(PORT, () => {
console.log(`server running at port ${PORT}`);
})