12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- const express = require('express');
- const app = express();
- require('dotenv').config(); // add dotnv for config
- const server = require('http').createServer(app);
- const mongoose = require('mongoose');
- const bcrypt = require('bcrypt');
- const User = require('./db/models/User');
- const jwt = require('jsonwebtoken');
- const PORT = process.env.PORT || 4000;
- const HASH_KEY = process.env.HASH_KEY;
- const TOKEN_KEY = process.env.TOKEN_KEY || 'rGH452fdfhdfg06hgj7';
- const socket = require('socket.io');
- const cors = require('cors');
- app.get('/', (req, res) => {
- res.send('Hello from express server!')
- })
- app.use(cors());
- app.use(express.json());
- const io = socket(server, {
- cors: {
- origin: "http://localhost:3000" //client endpoint and port
- }
- });
- const generateToken = (id, userName) => {
- const payload = {
- id,
- userName,
- }
- return jwt.sign(payload, TOKEN_KEY);
- }
- const getOneUser = async (userName) => {
- return userInDb;
- }
- const user = getOneUser('Sergey');
- io.on("connection", async (socket) => {
- console.log(socket.id);
- const userInDb = await User.findOne({userName: 'Sergey'});
- socket.emit('connected', userInDb);
- });
- const db = async () => {
- try{
- const salt = await bcrypt.genSalt(2);
- const hashPassword = await bcrypt.hash('myPassword', salt);
- const user = new User({
- userName: 'Sergey',
- hashPassword: hashPassword
- })
- user.save();
- }catch(e){
- console.log(e)
- }
- }
- //db();
- const start = async () => {
- try {
- await mongoose.connect('mongodb://localhost:27017/chat')
- .then(() => console.log(`DB started`))
- server.listen(PORT, () => {
- console.log(`Server started. Port: ${PORT}`);
- })
- } catch (e) {
- console.log(e);
- }
- }
- start();
|