From 9d33b2fe6b3fbea60d981d9f4ed24cf82b05a7af Mon Sep 17 00:00:00 2001 From: Rory& Date: Thu, 29 May 2025 22:48:16 +0200 Subject: Prettier config --- src/api/index.js | 2 +- src/api/middlewares/corsMiddleware.js | 38 ++++++++++++++++---------------- src/api/middlewares/index.js | 4 ++-- src/api/middlewares/loggingMiddleware.js | 18 +++++++-------- src/api/routes.js | 28 +++++++++++------------ src/api/routes/auth/index.js | 2 +- src/api/routes/auth/registerRoute.js | 20 ++++++++--------- src/api/routes/index.js | 6 ++--- src/api/routes/indexRoute.js | 8 +++---- src/api/routes/statusRoute.js | 20 ++++++++--------- src/api/start.js | 16 +++++++------- src/db/db.js | 30 ++++++++++++------------- src/db/index.js | 4 ++-- src/db/schemas/user.js | 32 +++++++++++++++++++-------- src/util/index.js | 2 +- src/util/secretUtils.js | 12 +++++----- 16 files changed, 128 insertions(+), 114 deletions(-) (limited to 'src') diff --git a/src/api/index.js b/src/api/index.js index 9bf9b1b..a382098 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1 +1 @@ -export * from "./routes"; +export * from './routes'; diff --git a/src/api/middlewares/corsMiddleware.js b/src/api/middlewares/corsMiddleware.js index 2d06d47..f64dd32 100644 --- a/src/api/middlewares/corsMiddleware.js +++ b/src/api/middlewares/corsMiddleware.js @@ -1,25 +1,25 @@ export function useCors(req, res, next) { - res.set( - "Content-security-policy", - "default-src * data: blob: filesystem: about: ws: wss: 'unsafe-inline' 'unsafe-eval'; script-src * data: blob: 'unsafe-inline' 'unsafe-eval'; connect-src * data: blob: 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; frame-src * data: blob: ; style-src * data: blob: 'unsafe-inline'; font-src * data: blob: 'unsafe-inline';", - ); + res.set( + 'Content-security-policy', + "default-src * data: blob: filesystem: about: ws: wss: 'unsafe-inline' 'unsafe-eval'; script-src * data: blob: 'unsafe-inline' 'unsafe-eval'; connect-src * data: blob: 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; frame-src * data: blob: ; style-src * data: blob: 'unsafe-inline'; font-src * data: blob: 'unsafe-inline';" + ); - res.set("Access-Control-Allow-Origin", "*"); - res.set( - "Access-Control-Allow-Headers", - req.header("Access-Control-Request-Headers") || "*", - ); - res.set( - "Access-Control-Allow-Methods", - req.header("Access-Control-Request-Methods") || "*", - ); + res.set('Access-Control-Allow-Origin', '*'); + res.set( + 'Access-Control-Allow-Headers', + req.header('Access-Control-Request-Headers') || '*' + ); + res.set( + 'Access-Control-Allow-Methods', + req.header('Access-Control-Request-Methods') || '*' + ); - res.set("Access-Control-Allow-Credentials", "true"); + res.set('Access-Control-Allow-Credentials', 'true'); - // Handle preflight requests - if (req.method === "OPTIONS") { - return res.sendStatus(204); - } + // Handle preflight requests + if (req.method === 'OPTIONS') { + return res.sendStatus(204); + } - next(); + next(); } diff --git a/src/api/middlewares/index.js b/src/api/middlewares/index.js index 3f8b800..1894f1a 100644 --- a/src/api/middlewares/index.js +++ b/src/api/middlewares/index.js @@ -1,2 +1,2 @@ -export * from "./corsMiddleware.js"; -export * from "./loggingMiddleware.js"; +export * from './corsMiddleware.js'; +export * from './loggingMiddleware.js'; diff --git a/src/api/middlewares/loggingMiddleware.js b/src/api/middlewares/loggingMiddleware.js index 7f3b2ec..a47c08d 100644 --- a/src/api/middlewares/loggingMiddleware.js +++ b/src/api/middlewares/loggingMiddleware.js @@ -1,14 +1,14 @@ -import morgan from "morgan"; +import morgan from 'morgan'; const requestLogFormat = - '[API] :remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent" ":response-time ms"'; + '[API] :remote-addr - :remote-user [:date[clf]] ":method :url HTTP/:http-version" :status :res[content-length] ":referrer" ":user-agent" ":response-time ms"'; export function useLogging(logRequests) { - return morgan(requestLogFormat, { - skip: (req, res) => { - let skip = !logRequests.includes(res.statusCode); - if (logRequests.startsWith("-")) skip = !skip; - return skip; - }, - }); + return morgan(requestLogFormat, { + skip: (req, res) => { + let skip = !logRequests.includes(res.statusCode); + if (logRequests.startsWith('-')) skip = !skip; + return skip; + } + }); } diff --git a/src/api/routes.js b/src/api/routes.js index 6229196..73d954e 100644 --- a/src/api/routes.js +++ b/src/api/routes.js @@ -1,18 +1,18 @@ -import * as routes from "./routes/index.js"; +import * as routes from './routes/index.js'; export function registerRoutes(app) { - // app.get("/status", routes.statusRoute); - Object.values(routes).forEach((route) => { - console.log("Registering route:", route); - if (!route.route) - throw new Error( - "Route definition is missing 'route' property: " + - JSON.stringify(route), - ); + // app.get("/status", routes.statusRoute); + Object.values(routes).forEach(route => { + console.log('Registering route:', route); + if (!route.route) + throw new Error( + "Route definition is missing 'route' property: " + + JSON.stringify(route) + ); - if (route.onGet) app.get(route.route, route.onGet); - if (route.onPost) app.post(route.route, route.onPost); - if (route.onPut) app.put(route.route, route.onPut); - if (route.onDelete) app.put(route.route, route.onDelete); - }); + if (route.onGet) app.get(route.route, route.onGet); + if (route.onPost) app.post(route.route, route.onPost); + if (route.onPut) app.put(route.route, route.onPut); + if (route.onDelete) app.put(route.route, route.onDelete); + }); } diff --git a/src/api/routes/auth/index.js b/src/api/routes/auth/index.js index 8306697..7113a17 100644 --- a/src/api/routes/auth/index.js +++ b/src/api/routes/auth/index.js @@ -1 +1 @@ -export * from "./registerRoute.js"; +export * from './registerRoute.js'; diff --git a/src/api/routes/auth/registerRoute.js b/src/api/routes/auth/registerRoute.js index 14188a4..725c7d8 100644 --- a/src/api/routes/auth/registerRoute.js +++ b/src/api/routes/auth/registerRoute.js @@ -1,14 +1,14 @@ -import { User } from "#db/schemas/user.js"; +import { User } from '#db/schemas/user.js'; export const registerRoute = { - route: "/auth/register", - async onGet(req, res) { - const result = await User.create({ - username: req.query.username, - password: req.query.password, - email: req.query.email, - }); + route: '/auth/register', + async onGet(req, res) { + const result = await User.create({ + username: req.query.username, + password: req.query.password, + email: req.query.email + }); - res.send(result); - }, + res.send(result); + } }; diff --git a/src/api/routes/index.js b/src/api/routes/index.js index 147246e..745dd27 100644 --- a/src/api/routes/index.js +++ b/src/api/routes/index.js @@ -1,4 +1,4 @@ -export * from "./statusRoute.js"; -export * from "./indexRoute.js"; +export * from './statusRoute.js'; +export * from './indexRoute.js'; -export * from "./auth/index.js"; +export * from './auth/index.js'; diff --git a/src/api/routes/indexRoute.js b/src/api/routes/indexRoute.js index 3685893..3b9eaef 100644 --- a/src/api/routes/indexRoute.js +++ b/src/api/routes/indexRoute.js @@ -1,6 +1,6 @@ export const indexRoute = { - route: "/", - onGet(req, res) { - res.send("What art thou doing here???"); - }, + route: '/', + onGet(req, res) { + res.send('What art thou doing here???'); + } }; diff --git a/src/api/routes/statusRoute.js b/src/api/routes/statusRoute.js index b9974a5..41208a4 100644 --- a/src/api/routes/statusRoute.js +++ b/src/api/routes/statusRoute.js @@ -1,14 +1,14 @@ -import { User } from "#db/schemas/user.js"; +import { User } from '#db/schemas/user.js'; export const statusRoute = { - route: "/status", - async onGet(req, res) { - const status = { - status: "ok", - timestamp: new Date().toISOString(), - users: await User.countDocuments(), - }; + route: '/status', + async onGet(req, res) { + const status = { + status: 'ok', + timestamp: new Date().toISOString(), + users: await User.countDocuments() + }; - res.status(200).json(status); - }, + res.status(200).json(status); + } }; diff --git a/src/api/start.js b/src/api/start.js index ff94dec..6aa4567 100644 --- a/src/api/start.js +++ b/src/api/start.js @@ -1,25 +1,25 @@ -import express from "express"; -import { registerRoutes } from "./routes.js"; -import { useCors, useLogging } from "./middlewares/index.js"; -import { initDb } from "#db/index.js"; +import express from 'express'; +import { registerRoutes } from './routes.js'; +import { useCors, useLogging } from './middlewares/index.js'; +import { initDb } from '#db/index.js'; const app = express(); const PORT = process.env.PORT ?? 3000; -const logRequests = process.env["LOG_REQUESTS"] ?? "-"; +const logRequests = process.env['LOG_REQUESTS'] ?? '-'; await initDb(); // Configure Express app.use(express.json()); app.use(useCors); -app.disable("x-powered-by"); +app.disable('x-powered-by'); if (logRequests) { - app.use(useLogging(logRequests)); + app.use(useLogging(logRequests)); } registerRoutes(app); app.listen(PORT, () => { - console.log(`Server is running on http://localhost:${PORT}`); + console.log(`Server is running on http://localhost:${PORT}`); }); diff --git a/src/db/db.js b/src/db/db.js index 36f2105..9a7b50e 100644 --- a/src/db/db.js +++ b/src/db/db.js @@ -1,19 +1,19 @@ -import { connect } from "mongoose"; -import { readSecret } from "#util/secretUtils.js"; +import { connect } from 'mongoose'; +import { readSecret } from '#util/secretUtils.js'; export async function initDb() { - const connectionString = await readSecret( - process.env["DATABASE_SECRET_PATH"], - ); - try { - const res = await connect(connectionString); - if (res.connection.readyState === 1) { - console.log("[MONGODB] Connected successfully!"); - } else { - console.error("[MONGODB] Failed to connect to ", connectionString); + const connectionString = await readSecret( + process.env['DATABASE_SECRET_PATH'] + ); + try { + const res = await connect(connectionString); + if (res.connection.readyState === 1) { + console.log('[MONGODB] Connected successfully!'); + } else { + console.error('[MONGODB] Failed to connect to ', connectionString); + } + } catch (e) { + console.error('[MONGODB] Error connecting to database!'); + throw e; } - } catch (e) { - console.error("[MONGODB] Error connecting to database!"); - throw e; - } } diff --git a/src/db/index.js b/src/db/index.js index f55b773..cd306b7 100644 --- a/src/db/index.js +++ b/src/db/index.js @@ -1,2 +1,2 @@ -export * from "./db.js"; -export * from "./schemas/index.js"; +export * from './db.js'; +export * from './schemas/index.js'; diff --git a/src/db/schemas/user.js b/src/db/schemas/user.js index eaddb08..da2516c 100644 --- a/src/db/schemas/user.js +++ b/src/db/schemas/user.js @@ -1,14 +1,28 @@ -import { model, Schema } from "mongoose"; +import { model, Schema } from 'mongoose'; export const userSchema = new Schema({ - username: { - type: String, - required: true, - unique: true, - trim: true, - }, + username: { + type: String, + required: true, + unique: true, + trim: true + }, + passwordHash: { + type: String, + required: true + }, + email: { + type: String, + required: true, + unique: true, + trim: true + }, + createdAt: { + type: Date, + default: Date.now + } }); -export const User = model("user", userSchema); +export const User = model('user', userSchema); -console.log("[MONGODB] User schema initialized successfully!"); +console.log('[MONGODB] User schema initialized successfully!'); diff --git a/src/util/index.js b/src/util/index.js index 9a6c774..6b51d7b 100644 --- a/src/util/index.js +++ b/src/util/index.js @@ -1 +1 @@ -export * from "./secretUtils.js"; +export * from './secretUtils.js'; diff --git a/src/util/secretUtils.js b/src/util/secretUtils.js index 33e5fef..bbad8ca 100644 --- a/src/util/secretUtils.js +++ b/src/util/secretUtils.js @@ -1,9 +1,9 @@ -import fs from "node:fs/promises"; +import fs from 'node:fs/promises'; export async function readSecret(path) { - if (!path) { - throw new Error("Path to secret file is required"); - } - const content = await fs.readFile(path, "utf8"); - return content.trim(); + if (!path) { + throw new Error('Path to secret file is required'); + } + const content = await fs.readFile(path, 'utf8'); + return content.trim(); } -- cgit 1.5.1