Файловый менеджер - Редактировать - /home/gqdcvggs/hizhat.com/backend.tar
Назад
server.js 0000644 00000006107 15114716261 0006420 0 ustar 00 const express = require('express'); const http = require('http'); const cors = require('cors'); const { Server } = require('socket.io'); const dotenv = require('dotenv'); const connectDB = require('./config/db'); const fs = require('fs'); const https = require('https'); require('dotenv').config(); // Import des modèles const Conversation = require('./models/Conversation'); dotenv.config(); connectDB(); const app = express(); const privateKey = fs.readFileSync('./ssl/private.key', 'utf8'); const certificate = fs.readFileSync('./ssl/cert.pem', 'utf8'); const ca = fs.readFileSync('./ssl/ca.pem', 'utf8'); const credentials = { key: privateKey, cert: certificate, ca: ca }; const server = https.createServer(credentials, app); const io = new Server(server, { cors: { origin: '*', methods: ['GET', 'POST'] } }); // Middleware app.use(cors({ origin: '*', methods: 'GET,POST,PUT,DELETE', credentials: true })); app.use(express.json()); // Routes app.use('/api/auth', require('./routes/authRoute')); app.use('/api/users', require('./routes/userRoute')); app.use('/api/conversations', require('./routes/conversationRoute')); app.use('/api/statistics', require('./routes/statisticsRoute')); app.use('/uploads', express.static('uploads')); app.use('/api/booking', require('./routes/bookingRoutes')); app.use('/public', express.static('public')); io.on('connection', (socket) => { console.log('Un utilisateur s\'est connecté:', socket.id); socket.on('join-conversation', (conversationId) => { socket.join(conversationId); console.log(`Utilisateur a rejoint la conversation : ${conversationId}`); }); socket.on('new-message', async ({ conversationId, message }) => { console.log('Événement new-message reçu :', { conversationId, message }); try { const conversation = await Conversation.findById(conversationId); if (!conversation) { console.error('Conversation non trouvée pour new-message'); return; } // Ne pas resauvegarder le message, mais émettre l'événement console.log('Message émis aux autres clients via Socket.IO'); io.to(conversationId).emit('message-received', { conversationId, message }); } catch (error) { console.error('Erreur lors de la gestion du message via Socket.IO:', error); } }); // Événement : L'utilisateur est en train d'écrire socket.on('typing', ({ conversationId, userId }) => { socket.to(conversationId).emit('user-typing', userId); // Émettre à tous sauf à l'expéditeur }); // Événement : L'utilisateur a arrêté d'écrire socket.on('stop-typing', ({ conversationId, userId }) => { socket.to(conversationId).emit('user-stopped-typing', userId); }); // Déconnexion socket.on('disconnect', () => { console.log('Un utilisateur s\'est déconnecté:', socket.id); }); }); const PORT = process.env.PORT || 5000; server.listen(PORT, '0.0.0.0', () => { console.log(`Server running on port ${PORT}`); }); public/images/default-profile.webp 0000644 00000060072 15114716261 0013241 0 ustar 00 RIFF2` WEBPVP8X � � VP8 �_ Ј�*�� %���?�|x��v����O�X�_�����˽����?����=�J���������ȿ�\�r����~�W�o����?��}�������5����S�_�o���?�?�|����������?Կ�|���������/��~��?�������o�g�������cO��`����{6������S���g�_���_������?����� ���m����/�>��K�?�w��|���_��������`�#������v����?�����+�;�;��_����p��������Q�o���wt������#�����0�g� ���/�_����}9�;����?e~?��U�W������~ܿ����[�w��������?�o����������/�/���|�����+��?�g����OmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmMIBHu��j~Ŕl�x?�X�N���Ӱ�*�/���R�1��1��1��1��1��1��1���X�~�q4��o����PL�}R1R��Z,:d���$ƛDƛDƛDƛDƛDƛD�:�zZW_-�ڐ����ƞ�, ��q���e<6�2x�h��h��h��h��h��CԤ�5�Jv�'�qA�tK�؝5R% ��ƛDƛDƛDƛDƛDƛu��V���>fm��x�� c���6��6��6��6��6��6�^�MF���G%�h2xӭ�E*v▃'�6��6��6��6��6����ܟs͒#2x�hv����=�R��O�<i�Li�Li�Li�Lfa���{ ���6����CC�a�����\�<i�Li�Li�Li�Li�K�U�+.D��h��]d��e&DA�(�)�c�Ommmml�>��EAT�&4�&-+�Ɂ;O���T�����ƛDƛDƛDƛDƛ(p}r��̞4�%�Q���vOJ�����̞4�&4�&4�&4�&/}�x6h�̞4��/�v�)�<�Z���ƛDƛDƛDƛDƏ���X��<���K��4���]��QU?�݇*��t�-z|��M�cM�cM�V[Y�:+_),�4�&3y��\6^\�0z��'��1��1��1��1��1��4������pd��Wqܨ�>y�f�Ig�#]���tt�։�6��6��6��6��._��H��8 >Z���R��>d��v�m���pd��1��1��1��V/}$�?˜e� ��1�` �o�f��pd�"(��������T� �1�'�6��6��6���T�[5ϣ?��L#Y�ts����WG���O�F>d�y�H�m��aX2x�h��h��h��h��ٰ@Qt�dic�7� �vu�E,���*u�+Z����;���~ �`'���M�i�7���М1��82x�h��h��h��h��1�Bt�1E��b��d��1�Z�Y�� ����-z|��M�cM�cM�1$H�{GA��&4�&4�&>�Dv�2��d���pd��1��1��1�M�|�=[r`C7?kWnv-��;/ ��bƀ�I����ΘR��[_�B��װ��\��p�ק��\�`�< ����\"Li�Li�Li�LS Cn�d�?�4�^��Kf�C+���C��g��1�3�㋜)fo{# �\v�'�;����s4��^�2x�h��g�91�R���j����>��M�j8C�KR�e}�ؤ� 3�2:�Ã'���5�����ƛDƛDƋ���w(���|iD�&4�&5�d���� |�˷g0:�z�^�:~�e*@ �iu/�mm`�� !�S�Ã'�6��7���4X� ���������:�t�q��|��O�<D���@����<i�Li�Liը��U��g{��0|���3��b�[w��<i�Lg�u���'�6��6��6�z�����or�N�,Z�ya���i��h�̞4��:�jv�h��h��h��h��;\@x�0����Z�.�N���@w���m[!���$a��ƛDƛDƛ���Q���Ӷ�|�+U1hmhU���d��1��1��1����g�xa��h�̞7��F>d���\F-�oYk��Ommn2���މ�Li�Li�Li��A�Z1�'�6��6��6���_���KDƛDƛDƘ"�?�G��5Q�)h��h��h��h��iZM�s�8�Ã'�6��6���[�2ޏ-z|��M�cM�cM�c�D�~Li�Li�Li�F�F��U>d��1��1��1����U��Z�ƛDƙ��)��ƛDƛDƛDƛDh�%m�?|-z|��M�cKv�]?'̞4�&4�&4�&4�%��/1�pyk��Om���>