From 18b6a6b84ff796c776c2600106a0915090fd5dcd Mon Sep 17 00:00:00 2001 From: gprunet Date: Fri, 16 Jan 2026 19:31:16 +0100 Subject: [PATCH] swap requires to imports --- srcs/backend/db.js | 7 ++++--- srcs/backend/dockerfile | 3 --- srcs/backend/index.js | 16 ++++++++-------- srcs/backend/middleware/auth.js | 4 ++-- srcs/backend/package.json | 6 +++++- srcs/backend/routes/auth.js | 17 +++++++++-------- srcs/backend/routes/global_chat.js | 8 ++++---- srcs/backend/services/auth.js | 8 ++++---- srcs/backend/services/global_chat.js | 8 ++------ srcs/backend/services/socket.js | 6 +++--- 10 files changed, 41 insertions(+), 42 deletions(-) diff --git a/srcs/backend/db.js b/srcs/backend/db.js index 57ca20f..09ffbfb 100644 --- a/srcs/backend/db.js +++ b/srcs/backend/db.js @@ -1,5 +1,5 @@ -require('dotenv').config(); -const { Pool } = require('pg'); +import 'dotenv/config'; +import { Pool } from 'pg'; const pool = new Pool ({ @@ -105,7 +105,8 @@ async function ensureOauthClient(provider, client_id, client_secret, redirect_ur } } -module.exports = { +export +{ waitForDb, createTables, query, diff --git a/srcs/backend/dockerfile b/srcs/backend/dockerfile index 82e95a6..8b7f0e6 100644 --- a/srcs/backend/dockerfile +++ b/srcs/backend/dockerfile @@ -5,9 +5,6 @@ WORKDIR /app COPY package*.json ./ RUN npm install -RUN npm install passport -RUN npm install passport-github2 -RUN npm install express-session COPY . . diff --git a/srcs/backend/index.js b/srcs/backend/index.js index ae61e83..f97351b 100644 --- a/srcs/backend/index.js +++ b/srcs/backend/index.js @@ -1,11 +1,11 @@ -const express = require('express'); -const http = require('http'); -const cors = require('cors'); -const {Server} = require('socket.io'); -const authRouter = require('./routes/auth'); -const chatRouter = require('./routes/global_chat'); -const {waitForDb, createTables, ensureOauthClient} = require('./db'); -const setupSocketIO = require('./services/socket'); +import express from 'express'; +import http from 'http'; +import cors from 'cors'; +import {Server} from 'socket.io'; +import authRouter from './routes/auth.js'; +import chatRouter from './routes/global_chat.js'; +import {waitForDb, createTables, ensureOauthClient} from './db.js'; +import setupSocketIO from './services/socket.js'; const app = express(); const server = http.createServer(app); diff --git a/srcs/backend/middleware/auth.js b/srcs/backend/middleware/auth.js index 1f8c432..842c16f 100644 --- a/srcs/backend/middleware/auth.js +++ b/srcs/backend/middleware/auth.js @@ -1,6 +1,6 @@ -const jwt = require('jsonwebtoken'); +import jwt from 'jsonwebtoken'; -module.exports = function authMiddleware(req, res, next) +export default function authMiddleware(req, res, next) { const header = req.headers.authorization; if (!header) diff --git a/srcs/backend/package.json b/srcs/backend/package.json index 6f8f7c3..98bd860 100644 --- a/srcs/backend/package.json +++ b/srcs/backend/package.json @@ -1,4 +1,5 @@ { + "type": "module", "dependencies": { "express": "^4.18.2", @@ -7,6 +8,9 @@ "jsonwebtoken": "^9.0.2", "dotenv": "^17.2.3", "socket.io": "^4.6.1", - "cors": "^2.8.5" + "cors": "^2.8.5", + "passport": "0.7.0", + "passport-github2": "0.1.12", + "express-session": "1.18.0" } } \ No newline at end of file diff --git a/srcs/backend/routes/auth.js b/srcs/backend/routes/auth.js index 3e01953..8794ff2 100644 --- a/srcs/backend/routes/auth.js +++ b/srcs/backend/routes/auth.js @@ -1,10 +1,12 @@ -const express = require('express'); +import express from 'express'; +import authService from '../services/auth.js'; +import fetch from 'node-fetch'; +import bcrypt from 'bcrypt'; +import jwt from 'jsonwebtoken'; +import {query} from '../db.js'; +import crypto from 'crypto'; + const router = express.Router(); -const authService = require('../services/auth'); -const fetch = require('node-fetch'); -const bcrypt = require('bcrypt'); -const jwt = require('jsonwebtoken'); -const {query} = require('../db'); router.post('/register', async(req, res) => { @@ -65,7 +67,6 @@ router.get('/github/callback', async (req, res) => { if (result.rows.length > 0) { userId = result.rows[0].id; } else { - const crypto = require('crypto'); const randomPwd = crypto.randomBytes(16).toString('hex'); const passwordHash = await bcrypt.hash(randomPwd, 10); await query(`INSERT INTO users (username, password_hash) VALUES ($1, $2)`, [ghUsername, passwordHash]); @@ -84,4 +85,4 @@ router.get('/github/callback', async (req, res) => { } }); -module.exports = router; +export default router; diff --git a/srcs/backend/routes/global_chat.js b/srcs/backend/routes/global_chat.js index 76bbc15..09d2720 100644 --- a/srcs/backend/routes/global_chat.js +++ b/srcs/backend/routes/global_chat.js @@ -1,7 +1,7 @@ -const express = require('express'); +import express from 'express'; +import chatService from '../services/global_chat.js'; +import authenticateToken from '../middleware/auth.js'; const router = express.Router(); -const chatService = require('../services/global_chat'); -const authenticateToken = require('../middleware/auth'); router.get('/messages', authenticateToken, async(req, res) => { @@ -17,4 +17,4 @@ router.get('/messages', authenticateToken, async(req, res) => } }); -module.exports = router; \ No newline at end of file +export default router; \ No newline at end of file diff --git a/srcs/backend/services/auth.js b/srcs/backend/services/auth.js index 5485d7c..6e05d48 100644 --- a/srcs/backend/services/auth.js +++ b/srcs/backend/services/auth.js @@ -1,6 +1,6 @@ -const bcrypt = require('bcrypt'); -const jwt = require('jsonwebtoken'); -const {query} = require('../db'); +import bcrypt from 'bcrypt'; +import jwt from 'jsonwebtoken'; +import {query} from '../db.js'; async function login(username, password) { @@ -60,4 +60,4 @@ async function register(username, password) } }; -module.exports = {register, login}; +export default {register, login}; diff --git a/srcs/backend/services/global_chat.js b/srcs/backend/services/global_chat.js index 8a84ee8..a79e49a 100644 --- a/srcs/backend/services/global_chat.js +++ b/srcs/backend/services/global_chat.js @@ -1,4 +1,4 @@ -const {query} = require('../db'); +import {query} from '../db.js'; async function saveMessage(userId, content) { @@ -24,8 +24,4 @@ async function getRecentMessages(limit = 50) return (result.rows.reverse()); } -module.exports = -{ - saveMessage, - getRecentMessages -}; \ No newline at end of file +export default {saveMessage, getRecentMessages}; \ No newline at end of file diff --git a/srcs/backend/services/socket.js b/srcs/backend/services/socket.js index 63dcf53..9273bb5 100644 --- a/srcs/backend/services/socket.js +++ b/srcs/backend/services/socket.js @@ -1,5 +1,5 @@ -const jwt = require('jsonwebtoken'); -const chatService = require('./global_chat'); +import jwt from 'jsonwebtoken'; +import chatService from './global_chat.js'; function setupSocketIO(io) { @@ -44,4 +44,4 @@ function setupSocketIO(io) }); } -module.exports = setupSocketIO; \ No newline at end of file +export default setupSocketIO; \ No newline at end of file