1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- const express = require('express');
- const app = express();
- const http = require('http');
- const { Server } = require('socket.io');
- const ChatModel = require('./model/chat');
- const cors = require('cors');
- const logger = require('morgan');
- const helmet = require('helmet');
- const formatsLogger = app.get('env') === 'development' ? 'dev' : 'short';
- app.use(helmet());
- app.use(logger(formatsLogger));
- app.use(cors());
- const server = http.createServer(app);
- const io = new Server(server, {
- cors: {
- origin: '*',
- methods: ['GET', 'POST'],
- },
- });
- io.on('connection', (socket) => {
- console.log(socket.id);
- socket.emit('me', socket.id);
- socket.on(
- 'call',
- async ({ socketId, signalData, from, userId, companionId }) => {
- const { name, lastName } = await ChatModel.getByField(
- userId,
- companionId
- );
- io.to(socketId).emit('call', {
- signal: signalData,
- from,
- name,
- lastName,
- });
- }
- );
- socket.on('answer', (data) => {
- io.to(data.to).emit('accepted', { signal: data.signal });
- });
- });
- module.exports = server;
|