minor improvements

This commit is contained in:
Kaushik 2022-10-15 12:32:05 +05:30
parent 788d0b1998
commit d4a6424fd0
9 changed files with 180 additions and 733 deletions

View File

@ -1,4 +1,3 @@
require('dotenv').config();
const logger = require("../utils/logger")(module); const logger = require("../utils/logger")(module);
const typedefs = require("../typedefs"); const typedefs = require("../typedefs");

View File

@ -1,4 +1,3 @@
require('dotenv').config();
const { authInstance } = require("../axios"); const { authInstance } = require("../axios");
const typedefs = require("../typedefs"); const typedefs = require("../typedefs");

View File

@ -1,4 +1,3 @@
require('dotenv').config();
const logger = require("../utils/logger")(module); const logger = require("../utils/logger")(module);
const typedefs = require("../typedefs"); const typedefs = require("../typedefs");

View File

@ -1,4 +1,4 @@
require('dotenv').config(); require('dotenv-flow').config();
const express = require('express'); const express = require('express');
const session = require("express-session"); const session = require("express-session");
const cors = require('cors'); const cors = require('cors');

874
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -22,13 +22,12 @@
"connect-redis": "^6.1.3", "connect-redis": "^6.1.3",
"cookie-parser": "^1.4.6", "cookie-parser": "^1.4.6",
"cors": "^2.8.5", "cors": "^2.8.5",
"dotenv": "^16.0.2", "dotenv-flow": "^3.2.0",
"express": "^4.18.1", "express": "^4.18.1",
"express-session": "^1.17.3", "express-session": "^1.17.3",
"express-validator": "^6.14.2", "express-validator": "^6.14.2",
"got": "^12.1.0",
"helmet": "^5.1.0", "helmet": "^5.1.0",
"redis": "^4.2.0", "redis": "^4.3.0",
"winston": "^3.8.1" "winston": "^3.8.1"
}, },
"devDependencies": { "devDependencies": {

22
utils/jsonTransformer.js Normal file
View File

@ -0,0 +1,22 @@
/**
* Returns a single string of the values of all keys in the given JSON object, even nested ones.
*
* @param {*} obj
* @returns
*/
const getNestedValuesString = (obj) => {
let values = [];
for (key in obj) {
if (typeof obj[key] !== "object") {
values.push(obj[key]);
} else {
values = values.concat(getNestedValuesString(obj[key]));
}
}
return values.join();
}
module.exports = {
getNestedValuesString
}

View File

@ -1,4 +1,3 @@
require('dotenv').config();
const path = require("path"); const path = require("path");
const { createLogger, transports, config, format } = require('winston'); const { createLogger, transports, config, format } = require('winston');

View File

@ -1,8 +1,11 @@
const { validationResult } = require("express-validator"); const { validationResult } = require("express-validator");
const typedefs = require("../typedefs"); const typedefs = require("../typedefs");
const { getNestedValuesString } = require("../utils/jsonTransformer");
/** /**
* Refer: https://stackoverflow.com/questions/58848625/access-messages-in-express-validator
*
* @param {typedefs.Req} req * @param {typedefs.Req} req
* @param {typedefs.Res} res * @param {typedefs.Res} res
* @param {typedefs.Next} next * @param {typedefs.Next} next
@ -18,7 +21,8 @@ const validate = (req, res, next) => {
})); }));
return res.status(400).json({ return res.status(400).json({
message: extractedErrors, message: getNestedValuesString(extractedErrors),
errors: extractedErrors
}) })
} }