Minor Fix and Adjs

This commit is contained in:
Jyotirmoy Bandyopadhayaya 2022-09-13 16:00:11 +05:30
parent 1012286b80
commit 4874669385
Signed by: bravo68web
GPG Key ID: F5671FD7BCB9917A
8 changed files with 104 additions and 32 deletions

View File

@ -2,4 +2,5 @@
. "$(dirname -- "$0")/_/husky.sh"
npx pretty-quick --staged
npm run lint --fix
npx eslint --fix .
# npx --no-install lint-staged

View File

@ -10,4 +10,5 @@ module.exports = async () => {
},
() => console.log('Connected to MongoDB 🍀')
)
return
}

View File

@ -9,4 +9,8 @@ redis_client.on('connect', function () {
console.log('Redis Client connected 🍒')
})
redis_client.on('error', function (err) {
console.log('Redis error: ' + err)
})
module.exports = redis_client

View File

@ -3,6 +3,8 @@ const express = require('express')
const fs = require('fs')
const morgan = require('morgan')
const cors = require('cors')
const waitFor = require('wait-for-stuff')
// const wait = require('wait')
const app = express()
const connectMongo = require('./helpers/mongo_connect')
@ -15,31 +17,33 @@ app.use(morgan('tiny'))
app.use(cors())
// Connect to MongoDB and Config Checking
;(async () => {
let startApp = async () => {
try {
setTimeout(async () => {
console.log('Connecting to MongoDB ...')
await connectMongo()
console.log('Checking Config ...')
await checkENV()
}, 1000)
console.log('Checking Config ...')
await checkENV()
console.log('Connecting to MongoDB ...')
await connectMongo()
console.log('Auto Loading routes 🎩 ...')
fs.readdirSync('./routes/').forEach(function (file) {
console.log('Loading route: /' + file.split('.')[0])
app.use(`/${file.split('.')[0]}`, require('./routes/' + file))
})
console.log('Loaded all routes 🎩 ...')
app.use('*', err_routes.notFound)
app.use(err_routes.logErrors)
app.use(err_routes.clientErrorHandler)
app.use(err_routes.errorHandler)
const port = process.env.PORT || 5000
app.listen(port, () =>
console.log(`🤖 API Server is running at ${port} ...`)
)
} catch (error) {
console.log(error.message)
process.exit(1)
}
})()
}
console.log('Auto Loading routes 🎩 ...')
fs.readdirSync('./routes/').forEach(function (file) {
console.log('Loading route: /' + file.split('.')[0])
app.use(`/${file.split('.')[0]}`, require('./routes/' + file))
})
console.log('Loaded all routes 🎩 ...')
app.use('*', err_routes.notFound)
app.use(err_routes.logErrors)
app.use(err_routes.clientErrorHandler)
app.use(err_routes.errorHandler)
const port = process.env.PORT || 5000
app.listen(port, () => console.log(`🤖 API Server is running at ${port} ...`))
waitFor.for.function(startApp)

View File

@ -1,6 +1,6 @@
{
"name": "jwt-auth-nodejs",
"version": "2.0.0",
"version": "2.0.1",
"description": "",
"main": "index.js",
"scripts": {
@ -8,10 +8,21 @@
"dev": "nodemon index.js",
"pretty": "prettier --write .",
"prepare": "husky install",
"lint": "eslint ."
"configure-husky": "npx husky install && npx husky add .husky/pre-commit \"npx --no-install lint-staged\""
},
"keywords": [
"jwt",
"auth",
"authentication",
"node",
"express",
"api"
],
"author": {
"email": "me@bravo68web.me",
"name": "Bravo68Web",
"url": "https://itsmebravo.dev"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"cors": "^2.8.5",
@ -23,7 +34,9 @@
"morgan": "^1.10.0",
"napi-nanoid": "^0.0.3",
"nodemailer": "^6.7.6",
"redis": "^3.0.2"
"redis": "^3.0.2",
"wait": "^0.4.2",
"wait-for-stuff": "^1.4.0"
},
"devDependencies": {
"eslint": "^8.19.0",
@ -31,5 +44,16 @@
"nodemon": "^2.0.7",
"prettier": "^2.7.1",
"pretty-quick": "^3.1.3"
},
"lint-staged": {
"**/*.{js,json,ts,css}": [
"eslint --fix",
"prettier --write"
]
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
}
}

View File

@ -1,8 +1,9 @@
const jwt = require('jsonwebtoken')
const redis_client = require('../helpers/redis_connect')
const fs = require('fs')
const { readFileSync } = require('fs')
// const waitFor = require('wait-for-stuff')
const privateKey = fs.readFileSync('jwtRS256.key')
const privateKey = readFileSync('jwtRS256.key')
function GenerateAccessToken(user_id) {
let userData = {

View File

@ -2,12 +2,12 @@ const { exists } = require('fs')
module.exports = async (fn) => {
const notDiffVars = []
exists('jwtRS256.key', (chk) => {
await exists('jwtRS256.key', (chk) => {
if (!chk) {
throw new Error('Please generate jwtRS256.key ("Private Key")')
}
})
exists('jwtRS256.key.pub', (chk) => {
await exists('jwtRS256.key.pub', (chk) => {
if (!chk) {
throw new Error('Please generate jwtRS256.key.pub ("Public Key")')
}

View File

@ -182,6 +182,13 @@ binary-extensions@^2.0.0:
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
bindings@^1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
dependencies:
file-uri-to-path "1.0.0"
bl@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5"
@ -424,6 +431,14 @@ crypto@^1.0.1:
resolved "https://registry.yarnpkg.com/crypto/-/crypto-1.0.1.tgz#2af1b7cad8175d24c8a1b0778255794a21803037"
integrity sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==
deasync@^0.1.8:
version "0.1.28"
resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.28.tgz#9b447b79b3f822432f0ab6a8614c0062808b5ad2"
integrity sha512-QqLF6inIDwiATrfROIyQtwOQxjZuek13WRYZ7donU5wJPLoP67MnYxA6QtqdvdBy2mMqv5m3UefBVdJjvevOYg==
dependencies:
bindings "^1.5.0"
node-addon-api "^1.7.1"
debug@2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@ -739,6 +754,11 @@ file-entry-cache@^6.0.1:
dependencies:
flat-cache "^3.0.4"
file-uri-to-path@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
fill-range@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
@ -1488,6 +1508,11 @@ negotiator@0.6.3:
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
node-addon-api@^1.7.1:
version "1.7.2"
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
nodemailer@^6.7.6:
version "6.7.6"
resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.6.tgz#d3de8f644eaa0dad784d1be1375c596de492f3fc"
@ -2147,6 +2172,18 @@ vary@^1, vary@~1.1.2:
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
wait-for-stuff@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/wait-for-stuff/-/wait-for-stuff-1.4.0.tgz#297cdfb967df8f0cb223c1d1acb19113c97f6fbd"
integrity sha512-PMD4il0BK3MWBp1eQTXvIAL4hyyTgKH+vnpTigElv8K2VID8rajbKjeq9Q9UnpDfccMDckYtzUvhsZ4JVIF8rA==
dependencies:
deasync "^0.1.8"
wait@^0.4.2:
version "0.4.2"
resolved "https://registry.yarnpkg.com/wait/-/wait-0.4.2.tgz#d7d932ea72a57a78b526d168322457d2d7e4ae33"
integrity sha512-g4Uu25y9MJ3jtBcrRDDXeI/f7lBNtVmNUM3Xd78S19tm1gZutDkL/f6UEcMi/NqWvKZ74Mhrb+4LwpYbjG6XYA==
which@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"