| node_modules/ | node_modules/ | ||||
| src/loggerFiles/all.log | src/loggerFiles/all.log | ||||
| src/loggerFiles/error.log | src/loggerFiles/error.log | ||||
| const bcrypt = require("bcryptjs/dist/bcrypt") | const bcrypt = require("bcryptjs/dist/bcrypt") | ||||
| const { Router } = require("express") | const { Router } = require("express") | ||||
| const User = require("../models/user") | const User = require("../models/user") | ||||
| const logger = require("../logging/logger") | |||||
| const getUsers = async (req, res, next) => { | const getUsers = async (req, res, next) => { | ||||
| try { | try { | ||||
| logger.silly('hello from logger') | |||||
| const allUsers = await User.find({}) | const allUsers = await User.find({}) | ||||
| return res.status(200).send(allUsers) | return res.status(200).send(allUsers) | ||||
| } catch (e) { | } catch (e) { | ||||
| const user = await User.findById(id) | const user = await User.findById(id) | ||||
| if (!user) { | if (!user) { | ||||
| logger.error('We couldnt find user with the id of '+ id) | |||||
| return res.status(404).send("User with the id of: " + id + " doesnt exist") | return res.status(404).send("User with the id of: " + id + " doesnt exist") | ||||
| } | } | ||||
| const errorLogger = (err, req, res, next) => { | const errorLogger = (err, req, res, next) => { | ||||
| console.error('GRESKA KOLEGAA' + err) | |||||
| console.error(err) | |||||
| next(err) | next(err) | ||||
| } | } | ||||
| const logger = require("../logging/logger") | |||||
| const requestLogging = async (req, res, next) => { | |||||
| res.header("Content-Type", 'application/json'); | |||||
| const reqData = JSON.stringify({ | |||||
| headers: req.headers, | |||||
| method: req.method, | |||||
| url: req.url, | |||||
| httpVersion: req.httpVersion, | |||||
| body: req.body, | |||||
| cookies: req.cookies, | |||||
| path: req.path, | |||||
| protocol: req.protocol, | |||||
| query: req.query, | |||||
| hostname: req.hostname, | |||||
| ip: req.ip, | |||||
| originalUrl: req.originalUrl, | |||||
| params: req.params, | |||||
| }) | |||||
| logger.silly((JSON.stringify(reqData))) | |||||
| next() | |||||
| } | |||||
| module.exports = requestLogging |
| const swaggerJsDoc = require("swagger-jsdoc") | const swaggerJsDoc = require("swagger-jsdoc") | ||||
| const swaggerUi = require("swagger-ui-express") | const swaggerUi = require("swagger-ui-express") | ||||
| const { errorLogger, errorResponder } = require('./middleware/errorHandling.js') | const { errorLogger, errorResponder } = require('./middleware/errorHandling.js') | ||||
| const requestLogging = require('./middleware/requestLogging.js') | |||||
| const cors = require('cors') //Cross-origin resource sharing | const cors = require('cors') //Cross-origin resource sharing | ||||
| const helmet = require('helmet') //Basic protection against attacks like XSS | const helmet = require('helmet') //Basic protection against attacks like XSS | ||||
| const config = require('config') //Default configuration file | const config = require('config') //Default configuration file | ||||
| const { json } = require('express') | |||||
| const swaggerOptions = { | const swaggerOptions = { | ||||
| swaggerDefinition: { | swaggerDefinition: { | ||||
| const swaggerDocs = swaggerJsDoc(swaggerOptions) | const swaggerDocs = swaggerJsDoc(swaggerOptions) | ||||
| app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs)) | app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs)) | ||||
| app.use(express.json()) | app.use(express.json()) | ||||
| app.use(requestLogging) | |||||
| app.use(cors()) | app.use(cors()) | ||||
| app.use(helmet()) | app.use(helmet()) | ||||
| app.use(userRouter) | app.use(userRouter) | ||||
| app.use(tokenRouter) | app.use(tokenRouter) | ||||