Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
82d808e
Merge pull request #47 from ELEVATE-Project/master
joffinjoy Dec 28, 2023
fa39f09
Merge pull request #48 from ELEVATE-Project/develop-2.6
joffinjoy Dec 29, 2023
4b7414b
migration step added
Jan 9, 2024
098d5f5
Merge pull request #49 from ELEVATE-Project/ansible_migration_fix
rakeshSgr Jan 9, 2024
a6fc840
ansible fixes
Jan 10, 2024
016b235
Merge pull request #50 from ELEVATE-Project/ansible_migration_fix
rakeshSgr Jan 10, 2024
d6e681f
Refactored Auth Middleware
joffinjoy Jan 23, 2024
39f47ad
Preventing Continued Execution
joffinjoy Jan 23, 2024
5c72cca
Merge pull request #52 from ELEVATE-Project/develop
rakeshSgr Jan 30, 2024
938ad02
helper/responses added
VISHNUDAS-tunerlabs Jan 31, 2024
871618d
Merge pull request #53 from ELEVATE-Project/addResponsesHelper
joffinjoy Jan 31, 2024
466e2c8
Conflict Fix + Modified JsConfig
joffinjoy Jan 31, 2024
aab87ff
Fixed Module Name
joffinjoy Jan 31, 2024
c2003cf
Merge pull request #51 from ELEVATE-Project/auth-middleware
rakeshSgr Jan 31, 2024
40bed30
updated index.js
nevil-mathew Feb 1, 2024
4bc5a72
updated response
nevil-mathew Feb 16, 2024
5a0d570
Merge pull request #54 from ELEVATE-Project/index-update
nevil-mathew Feb 16, 2024
7facd36
Merge pull request #55 from ELEVATE-Project/develop
rakeshSgr Feb 19, 2024
e9e4f43
fixed an issue with index
nevil-mathew Feb 20, 2024
9b72842
Merge pull request #56 from ELEVATE-Project/index-fix
nevil-mathew Feb 20, 2024
86b0a34
Merge pull request #57 from ELEVATE-Project/develop
rakeshSgr Feb 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions deployment/ansible.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,6 @@
- name: Move code from release to service folder
shell: mv "{{ release_path }}"/* {{ current_path }}/

- name: Delete old pm2 process
command: pm2 delete elevate-notification
ignore_errors: yes

- name: set permission
shell: chmod 744 {{ current_path }}/src/scripts/json2env.sh

Expand All @@ -59,6 +55,13 @@
register: envConfig
- debug: msg=" cred {{ envConfig }} "

- name: Run Migrations
command: "chdir={{current_path}}/src npx sequelize-cli db:migrate"

- name: Delete old pm2 process
command: pm2 delete elevate-notification
ignore_errors: yes

- name: Delete release folder
shell: rm -rf {{ release_path }}

Expand Down
45 changes: 0 additions & 45 deletions src/constants/common.js
Original file line number Diff line number Diff line change
@@ -1,61 +1,16 @@
const { elevateLog, correlationId } = require('elevate-logger')
const logger = elevateLog.init()
/**
* name : constants/common.js
* author : Aman Kumar Gupta
* Date : 29-Sep-2021
* Description : All commonly used constants through out the service
*/

/**
* Success response
* @method
* @name successResponse
* @param {String} statusCode status code of the response.
* @param {String} responseCode response code.
* @param {String} message response message.
* @param {String} result - result
* @returns {JSON} Returns response format
*/
const successResponse = ({ statusCode = 200, responseCode = 'OK', message, result = [], meta = {} }) => {
let response = {
statusCode,
responseCode,
message,
result,
meta: { ...meta, correlation: correlationId.getId() },
}

logger.info('Request Response', { response: response })

return response
}

/**
* failure response
* @method
* @name failureResponse
* @param {String} statusCode status code of the failure response.
* @param {String} responseCode response code.
* @param {String} message response message.
* @param {String} result - result
* @returns {JSON} Returns response error
*/
const failureResponse = ({ message = 'Oops! Something Went Wrong.', statusCode = 500, responseCode }) => {
const error = new Error(message)
error.statusCode = statusCode
error.responseCode = responseCode
return error
}

module.exports = {
pagination: {
DEFAULT_PAGE_NO: 1,
DEFAULT_PAGE_SIZE: 100,
},
accessTokenSecret: 'hsghasghjab1273JHajnbabsjdj1273981273jhajksdh8y3123yhjkah812398yhjqwe7617237yuhdhhdqwu271',
refreshTokenSecret: '371hkjkjady2y3ihdkajshdkiq23iuekw71yekhaskdvkvegavy23t78veqwexqvxveit6ttxyeeytt62tx236vv',
successResponse,
failureResponse,
guestUrls: [],
}
1 change: 0 additions & 1 deletion src/globalConfig.json

This file was deleted.

55 changes: 55 additions & 0 deletions src/helpers/responses.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/**
* name : helpers/responses.js
* author : Vishnu
* Date : 31-Jan-2024
* Description : API response used in the service
*/

const { elevateLog, correlationId } = require('elevate-logger')
const logger = elevateLog.init()

/**
* Success response
* @method
* @name successResponse
* @param {String} statusCode status code of the response.
* @param {String} responseCode response code.
* @param {String} message response message.
* @param {String} result - result
* @returns {JSON} Returns response format
*/
const successResponse = ({ statusCode = 200, responseCode = 'OK', message, result = [], meta = {} }) => {
let response = {
statusCode,
responseCode,
message,
result,
meta: { ...meta, correlation: correlationId.getId() },
}

logger.info('Request Response', { response: response })

return response
}

/**
* failure response
* @method
* @name failureResponse
* @param {String} statusCode status code of the failure response.
* @param {String} responseCode response code.
* @param {String} message response message.
* @param {String} result - result
* @returns {JSON} Returns response error
*/
const failureResponse = ({ message = 'Oops! Something Went Wrong.', statusCode = 500, responseCode }) => {
const error = new Error(message)
error.statusCode = statusCode
error.responseCode = responseCode
return error
}

module.exports = {
successResponse,
failureResponse,
}
21 changes: 11 additions & 10 deletions src/jsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,17 @@
"moduleResolution": "node",
"resolveJsonModule": true,
"paths": {
"@configs*": ["./configs*"],
"@constants*": ["./constants*"],
"@controllers*": ["./controllers*"],
"@generics*": ["./generics*"],
"@health-checks*": ["./health-checks*"],
"@middlewares*": ["./middlewares*"],
"@public*": ["./public*"],
"@routes*": ["./routes*"],
"@services*": ["./services*"],
"@database*": ["./database*"]
"@configs/*": ["configs/*"],
"@constants/*": ["constants/*"],
"@controllers/*": ["controllers/*"],
"@database/*": ["database/*"],
"@generics/*": ["generics/*"],
"@health-checks/*": ["health-checks/*"],
"@helpers/*": ["helpers/*"],
"@middlewares/*": ["middlewares/*"],
"@public/*": ["public/*"],
"@routes/*": ["routes/*"],
"@services/*": ["services/*"]
}
},
"exclude": ["node_modules"]
Expand Down
20 changes: 6 additions & 14 deletions src/middlewares/authenticator.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,19 @@
*/
const httpStatusCode = require('@generics/http-status')
const apiResponses = require('@constants/api-responses')
const common = require('@constants/common')
const responses = require('@helpers/responses')

module.exports = async function (req, res, next) {
try {
let internalAccess = false
if (
req.headers.internal_access_token &&
process.env.INTERNAL_ACCESS_TOKEN == req.headers.internal_access_token
) {
internalAccess = true
}
if (internalAccess == true) {
next()
return
} else {
throw common.failureResponse({
const internalAccess =
req.headers.internal_access_token && process.env.INTERNAL_ACCESS_TOKEN === req.headers.internal_access_token
if (internalAccess) return next()
else
throw responses.failureResponse({
message: apiResponses.UNAUTHORIZED_REQUEST,
statusCode: httpStatusCode.unauthorized,
responseCode: 'UNAUTHORIZED',
})
}
} catch (err) {
next(err)
}
Expand Down
1 change: 1 addition & 0 deletions src/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
"@controllers": "controllers",
"@generics": "generics",
"@health-checks": "health-checks",
"@helpers": "helpers",
"@middlewares": "middlewares",
"@public": "public",
"@routes": "routes",
Expand Down
44 changes: 27 additions & 17 deletions src/routes/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,26 +94,36 @@ module.exports = (app) => {

// Global error handling middleware, should be present in last in the stack of a middleware's
app.use((error, req, res, next) => {
const status = error.statusCode || 500
const responseCode = error.responseCode || 'SERVER_ERROR'
const message = error.message || ''
let errorData = []
if (error.statusCode || error.responseCode || error.message) {
// Detailed error response
const status = error.statusCode || 500
const responseCode = error.responseCode || 'SERVER_ERROR'
const message = error.message || 'Oops! Something Went Wrong.'
const errorData = error.data || []

if (error.data) {
errorData = error.data
}
logger.info(message, { message: error })

if (status == 500) {
logger.error('Server error!', { message: error, triggerNotification: true })
const options = {
responseCode,
error: errorData,
meta: { correlation: correlationId.getId() },
message,
}

res.status(status).json(options)
} else {
logger.info(message, { message: error })
}
// Limited info response
const errorMessage = 'Oops! Something Went Wrong.'

res.status(status).json({
responseCode,
message,
error: errorData,
meta: { correlation: correlationId.getId() },
})
logger.error('Server error!', { message: error.stack, triggerNotification: true })
console.error('Error occurred on the server:')
console.error(error)

res.status(500).json({
responseCode: 'SERVER_ERROR',
message: errorMessage,
meta: { correlation: correlationId.getId() },
})
}
})
}
6 changes: 3 additions & 3 deletions src/services/email.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const emailNotifications = require('@generics/helpers/email-notifications')
const common = require('@constants/common')
const httpStatusCode = require('@generics/http-status')
const apiResponses = require('@constants/api-responses')
const responses = require('@helpers/responses')

module.exports = class EmailHelper {
/**
Expand All @@ -20,13 +20,13 @@ module.exports = class EmailHelper {
if (bodyData.type == 'email' && bodyData.email) {
let result = await emailNotifications.sendEmail(bodyData.email)
if (result && result.status == 'success') {
return common.successResponse({
return responses.successResponse({
statusCode: httpStatusCode.ok,
message: apiResponses.EMAIL_SENT_SUCCESSFULLY,
result,
})
} else {
return common.failureResponse({
return responses.failureResponse({
message: apiResponses.MAIL_SENT_FAILED,
statusCode: httpStatusCode.bad_request,
responseCode: 'CLIENT_ERROR',
Expand Down