added getContact query
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { io } from "socket.io-client";
|
||||
import io from "socket.io-client";
|
||||
import Cookie from "js-cookie";
|
||||
const socket = io({
|
||||
auth: {
|
||||
|
||||
@@ -19,6 +19,7 @@ function verifyJwtToken(token) {
|
||||
const decoded = jwt.verify(token, jwtSecret);
|
||||
return { username: decoded.username };
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
return { errorMessage: e.message }; // Sending message to client because it's not backend error (in most cases i guess) so
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,10 +43,9 @@ async function createTables() {
|
||||
try {
|
||||
await client.query(`
|
||||
CREATE TABLE IF NOT EXISTS messages (
|
||||
sender_id VARCHAR(128),
|
||||
receiver_id VARCHAR(128),
|
||||
sender VARCHAR(128),
|
||||
recipient VARCHAR(128),
|
||||
message VARCHAR(500),
|
||||
created_at VARCHAR(100),
|
||||
message_id SERIAL PRIMARY KEY
|
||||
);
|
||||
`);
|
||||
@@ -57,7 +56,7 @@ async function createTables() {
|
||||
await client.query(`
|
||||
CREATE TABLE IF NOT EXISTS contacts (
|
||||
username VARCHAR(20),
|
||||
usernameContact VARCHAR(20),
|
||||
usernameContact VARCHAR(20)
|
||||
);
|
||||
`);
|
||||
} catch (e) {
|
||||
@@ -77,19 +76,30 @@ async function insertUser(username, password, user_id, created_at) {
|
||||
}
|
||||
}
|
||||
|
||||
async function insertMessage(sender_id, receiver_id, message) {
|
||||
async function insertMessage(sender, receiver_id, message) {
|
||||
const query = `
|
||||
INSERT INTO messages (sender_id, receiver_id, message)
|
||||
INSERT INTO messages (sender, receiver_id, message)
|
||||
VALUES ($1, $2, $3)
|
||||
RETURNING id;
|
||||
`;
|
||||
try {
|
||||
await client.query(query, [sender_id, receiver_id, message]);
|
||||
await client.query(query, [sender, receiver_id, message]);
|
||||
} catch (e) {
|
||||
console.error("Failed to insert message ", e);
|
||||
}
|
||||
}
|
||||
|
||||
async function getMessages(username, recipient) {
|
||||
const query = `
|
||||
SELECT message FROM messages
|
||||
WHERE (username = $1 AND recipient = $2);
|
||||
`;
|
||||
try {
|
||||
await client.query(query, [username, recipient]);
|
||||
} catch (e) {
|
||||
console.error("Failed to get messages ", e);
|
||||
}
|
||||
}
|
||||
async function checkUserExist(username) {
|
||||
const query = `
|
||||
SELECT COUNT(*) FROM accounts
|
||||
@@ -162,4 +172,5 @@ module.exports = {
|
||||
getPassword,
|
||||
insertContact,
|
||||
removeContact,
|
||||
getMessages,
|
||||
};
|
||||
|
||||
@@ -8,7 +8,8 @@ const cookieParser = require("cookie-parser");
|
||||
const bcrypt = require("bcrypt");
|
||||
const crypto = require("crypto");
|
||||
const saltRounds = 10;
|
||||
|
||||
const { Server } = require("socket.io");
|
||||
const io = new Server(server);
|
||||
require("dotenv").config();
|
||||
const PORT = process.env.SERVER_PORT;
|
||||
const {
|
||||
@@ -128,7 +129,7 @@ app.get("/api/auth/validate", (req, res) => {
|
||||
res.status(401).json({ message: "Unauthorized" });
|
||||
});
|
||||
|
||||
initializeSocket(server);
|
||||
initializeSocket(io);
|
||||
|
||||
server.listen(PORT, () => {
|
||||
console.log(`Server is running on port: ${PORT}`);
|
||||
|
||||
@@ -1,26 +1,21 @@
|
||||
const { Server } = require("socket.io");
|
||||
const { insertMessage } = require("../db/db");
|
||||
const { insertMessage, getMessages } = require("../db/db");
|
||||
const { verifyJwtToken } = require("../auth/jwt");
|
||||
|
||||
function initializeSocket(server) {
|
||||
const io = new Server(server);
|
||||
|
||||
io.use((socket, next) => {
|
||||
const token = socket.handshake.auth;
|
||||
if (!token) {
|
||||
socket.disconnect();
|
||||
}
|
||||
const { username } = verifyJwtToken(token);
|
||||
if (!username) {
|
||||
socket.disconnect();
|
||||
}
|
||||
});
|
||||
function initializeSocket(io) {
|
||||
console.log(
|
||||
"sdfklsdfjklsdfjklasdfjkl;asdfjkljkasdfl;asjkldf;asdfjkl;jklasdfjklasdf;jkl;asdfjkl;asdf",
|
||||
);
|
||||
//TODO authorization
|
||||
|
||||
io.on("connection", (socket) => {
|
||||
console.log("connected");
|
||||
|
||||
const token = socket.handshake.auth.token;
|
||||
const { username } = verifyJwtToken(token);
|
||||
|
||||
socket.on("chat message", (msg) => {
|
||||
insertMessage(msg);
|
||||
insertMessage(username, "na razie nie ma ", msg);
|
||||
console.log("message", msg);
|
||||
});
|
||||
socket.on("disconnect", () => {
|
||||
|
||||
Reference in New Issue
Block a user