@ -0,0 +1,188 @@ | |||
# File created using '.gitignore Generator' for Visual Studio Code: https://bit.ly/vscode-gig | |||
# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode,macos,node | |||
# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode,macos,node | |||
### macOS ### | |||
# General | |||
.DS_Store | |||
.AppleDouble | |||
.LSOverride | |||
# Icon must end with two \r | |||
Icon | |||
# Thumbnails | |||
._* | |||
# Files that might appear in the root of a volume | |||
.DocumentRevisions-V100 | |||
.fseventsd | |||
.Spotlight-V100 | |||
.TemporaryItems | |||
.Trashes | |||
.VolumeIcon.icns | |||
.com.apple.timemachine.donotpresent | |||
# Directories potentially created on remote AFP share | |||
.AppleDB | |||
.AppleDesktop | |||
Network Trash Folder | |||
Temporary Items | |||
.apdisk | |||
### Node ### | |||
# Logs | |||
logs | |||
*.log | |||
npm-debug.log* | |||
yarn-debug.log* | |||
yarn-error.log* | |||
lerna-debug.log* | |||
.pnpm-debug.log* | |||
.log | |||
# Diagnostic reports (https://nodejs.org/api/report.html) | |||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json | |||
# Runtime data | |||
pids | |||
*.pid | |||
*.seed | |||
*.pid.lock | |||
# Directory for instrumented libs generated by jscoverage/JSCover | |||
lib-cov | |||
# Coverage directory used by tools like istanbul | |||
coverage | |||
*.lcov | |||
# nyc test coverage | |||
.nyc_output | |||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) | |||
.grunt | |||
# Bower dependency directory (https://bower.io/) | |||
bower_components | |||
# node-waf configuration | |||
.lock-wscript | |||
# Compiled binary addons (https://nodejs.org/api/addons.html) | |||
build/Release | |||
# Dependency directories | |||
node_modules/ | |||
jspm_packages/ | |||
# Snowpack dependency directory (https://snowpack.dev/) | |||
web_modules/ | |||
# TypeScript cache | |||
*.tsbuildinfo | |||
# Optional npm cache directory | |||
.npm | |||
# Optional eslint cache | |||
.eslintcache | |||
# Microbundle cache | |||
.rpt2_cache/ | |||
.rts2_cache_cjs/ | |||
.rts2_cache_es/ | |||
.rts2_cache_umd/ | |||
# Optional REPL history | |||
.node_repl_history | |||
# Output of 'npm pack' | |||
*.tgz | |||
# Yarn Integrity file | |||
.yarn-integrity | |||
# dotenv environment variables file | |||
.env | |||
.env.test | |||
.env.production | |||
# parcel-bundler cache (https://parceljs.org/) | |||
.cache | |||
.parcel-cache | |||
# Next.js build output | |||
.next | |||
out | |||
# Nuxt.js build / generate output | |||
.nuxt | |||
dist | |||
# Gatsby files | |||
.cache/ | |||
# Comment in the public line in if your project uses Gatsby and not Next.js | |||
# https://nextjs.org/blog/next-9-1#public-directory-support | |||
# public | |||
# vuepress build output | |||
.vuepress/dist | |||
# Serverless directories | |||
.serverless/ | |||
# FuseBox cache | |||
.fusebox/ | |||
# DynamoDB Local files | |||
.dynamodb/ | |||
# TernJS port file | |||
.tern-port | |||
# Stores VSCode versions used for testing VSCode extensions | |||
.vscode-test | |||
# yarn v2 | |||
.yarn/cache | |||
.yarn/unplugged | |||
.yarn/build-state.yml | |||
.yarn/install-state.gz | |||
.pnp.* | |||
### Node Patch ### | |||
# Serverless Webpack directories | |||
.webpack/ | |||
# Optional stylelint cache | |||
.stylelintcache | |||
# SvelteKit build / generate output | |||
.svelte-kit | |||
### VisualStudioCode ### | |||
.vscode/* | |||
!.vscode/settings.json | |||
!.vscode/tasks.json | |||
!.vscode/launch.json | |||
!.vscode/extensions.json | |||
*.code-workspace | |||
# Local History for Visual Studio Code | |||
.history/ | |||
### VisualStudioCode Patch ### | |||
# Ignore all local history of files | |||
.history | |||
.ionide | |||
# Support for Project snippet scope | |||
!.vscode/*.code-snippets | |||
# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode,macos,node | |||
# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option) | |||
@ -0,0 +1,60 @@ | |||
var createError = require('http-errors'); | |||
var express = require('express'); | |||
var app = express(); | |||
var path = require('path'); | |||
//var cookieParser = require('cookie-parser'); | |||
var logger = require('morgan'); | |||
const connection = require('./utils/db_config'); | |||
const scriptRouter = require('./routes/script'); | |||
const scheduler = require('./utils/scheduler'); | |||
const rfs = require('rotating-file-stream'); | |||
const logDirectory = path.join(__dirname, 'log') | |||
const port = process.env.PORT || 5000; | |||
// view engine setup | |||
app.set('views', path.join(__dirname, 'views')); | |||
app.set('view engine', 'pug'); | |||
// create a write stream (in append mode) | |||
const accessLogStream = rfs.createStream('apiResponse.log', { | |||
interval: '1d', // rotate daily | |||
path: logDirectory | |||
}) | |||
// setup the logger | |||
app.use(logger('tiny', { stream: accessLogStream })); | |||
app.use(logger('dev')); | |||
app.use(express.json()); | |||
app.use(express.urlencoded({ extended: false })); | |||
//app.use(cookieParser()); | |||
app.use(express.static(path.join(__dirname, 'public'))); | |||
//app.use('/', indexRouter); | |||
app.use('/script', scriptRouter); | |||
/* SCHEDULER */ | |||
//scheduler.routineFetchInvestors(); | |||
// catch 404 and forward to error handler | |||
app.use(function (req, res, next) { | |||
next(createError(404)); | |||
}); | |||
// error handler | |||
app.use(function (err, req, res, next) { | |||
// set locals, only providing error in development | |||
res.locals.message = err.message; | |||
res.locals.error = req.app.get('env') === 'development' ? err : {}; | |||
// render the error page | |||
res.status(err.status || 500); | |||
res.render('error'); | |||
}); | |||
app.listen(port, () => { | |||
console.log(`App is running on port ${port}`) | |||
}); | |||
module.exports = app; |
@ -0,0 +1,25 @@ | |||
{ | |||
"name": "p2p_liquiloan_script", | |||
"version": "1.0.0", | |||
"description": "", | |||
"main": "app.js", | |||
"scripts": { | |||
"test": "echo \"Error: no test specified\" && exit 1" | |||
}, | |||
"repository": { | |||
"type": "git", | |||
"url": "https://git.nivesh.com:443/akhilesh.chandak/P2P_Liquiloan_Script.git" | |||
}, | |||
"author": "", | |||
"license": "ISC", | |||
"dependencies": { | |||
"cookie-parser": "^1.4.6", | |||
"dotenv": "^16.3.1", | |||
"express": "^4.18.2", | |||
"morgan": "^1.10.0", | |||
"node-cron": "^3.0.3", | |||
"rotating-file-stream": "^3.1.1", | |||
"sequelize": "^6.35.1", | |||
"tedious": "^16.6.1" | |||
} | |||
} |
@ -0,0 +1,8 @@ | |||
body { | |||
padding: 50px; | |||
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; | |||
} | |||
a { | |||
color: #00B7FF; | |||
} |
@ -0,0 +1,7 @@ | |||
const express = require('express'); | |||
const router = express.Router(); | |||
/* GET users listing. */ | |||
module.exports = router; |
@ -0,0 +1,43 @@ | |||
const ERROR_500 = "500"; | |||
const SUCCESS = "200"; | |||
const ERROR_400 = "400"; | |||
const ERROR_404 = "404"; | |||
const ERROR_409 = "409"; | |||
const ERROR_410 = "410"; | |||
const ERROR_401 = "401"; | |||
const UNAUTHORIZED_ERROR = "You are not authorized to use the app"; | |||
const ERROR_MESSAGE = "Oops,something went wrong"; | |||
const BUCKET_NAME_NIVESH = "nivesh-call-logs/recording"; | |||
const S3_BUCKET_NIVESH_CALL_URL= "https://nivesh-call-logs.s3.ap-south-1.amazonaws.com/recording/"; | |||
const BUCKET_NAME_SOA_REPORTS = "client-soa-reports/ELSS"; | |||
const S3_BUCKET_SOA_REPORTS_URL= "https://client-soa-reports.s3.ap-south-1.amazonaws.com/ELSS/"; | |||
const AWS_ACCESS_KEY_ID_TEST = "AKIA2C5JCOWXUXB4T3MV"; | |||
const AWS_SECRET_KEY_TEST = "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"; | |||
const EXOTEL_AUTHTOKEN = "Basic NWE0NjY1ZDU0MGViNzk5NjQxMGQ1NWJhYzllZmI5MTVhOTgyYWU2MmRmYWFkZmM0OmU0YTgzNjEwNjI1NWM5ZDllY2QxMDNiOWQwZGFmYWQ3ZTA1YjNjNTU1NDJhZjU3NQ==" | |||
s3://kwikfoods/2020/ | |||
module.exports = { | |||
ERROR_500, | |||
ERROR_400, | |||
ERROR_404, | |||
ERROR_401, | |||
UNAUTHORIZED_ERROR, | |||
SUCCESS, | |||
ERROR_MESSAGE, | |||
ERROR_410, | |||
ERROR_409, | |||
BUCKET_NAME_NIVESH, | |||
S3_BUCKET_NIVESH_CALL_URL, | |||
BUCKET_NAME_SOA_REPORTS, | |||
S3_BUCKET_SOA_REPORTS_URL, | |||
AWS_ACCESS_KEY_ID_TEST, | |||
AWS_SECRET_KEY_TEST, | |||
EXOTEL_AUTHTOKEN | |||
}; |
@ -0,0 +1,76 @@ | |||
const Sequelize = require('sequelize'); | |||
const tedious = require('tedious'); | |||
require('dotenv').config(); | |||
const db = {}; | |||
var sequelize = new Sequelize(process.env.DB_NAME, process.env.DB_USER_NAME, process.env.DB_PASSWORD, { | |||
host: process.env.DB_HOST, | |||
dialect: process.env.DB_TYPE, | |||
dialectModule: tedious, | |||
define: { underscored: false }, | |||
logging: false, | |||
timezone: 'ist', | |||
dialectOptions: { | |||
options: { | |||
encrypt: true, | |||
requestTimeout: 60000 // timeout = 30 seconds | |||
} | |||
} | |||
}); | |||
sequelize | |||
.authenticate() | |||
.then(() => { | |||
console.log('connected to database successfully') | |||
}).catch(err => { | |||
console.error('Unable to connect to the database:', err); | |||
}); | |||
// sequelize.sync({ | |||
// force: false | |||
// }); | |||
db.Sequelize = Sequelize; | |||
db.sequelize = sequelize; | |||
//db.exotelCalls = require('../model/exotelcalls')(sequelize, Sequelize); | |||
//db.cRMLeadRemarks = require('../model/crmLeadRemarks')(sequelize, Sequelize); | |||
//db.appRating.associations(db); | |||
module.exports = db; | |||
/* | |||
const sql = require('mssql') | |||
const sqlConfig = { | |||
user: 'BSeMF', | |||
password: 'nivesh2017', | |||
database: 'providentialadvisory', | |||
server: 'ec2-13-235-204-185.ap-south-1.compute.amazonaws.com', | |||
pool: { | |||
max: 10, | |||
min: 0, | |||
idleTimeoutMillis: 30000 | |||
}, | |||
options: { | |||
encrypt: true, // for azure | |||
trustServerCertificate: true // change to true for local dev / self-signed certs | |||
} | |||
} | |||
const connection = async () => { | |||
try { | |||
console.log('ajksfkgjsafkksafkkfskf') | |||
let con = await sql.connect(sqlConfig) | |||
console.log('connection',con); | |||
} catch (err) { | |||
console.log(err); | |||
} | |||
}; | |||
connection(); | |||
*/ |
@ -0,0 +1,77 @@ | |||
const express = require('express'); | |||
const Constants = require('./consts.js'); | |||
const sendErrorMessage = (res, errorCode) => { | |||
res.json({ | |||
status: errorCode, | |||
message: Constants.ERROR_MESSAGE | |||
}); | |||
}; | |||
const sendErrorCustomMessage = (res, text, errorCode) => { | |||
res.json({ | |||
status: errorCode, | |||
message: text | |||
}); | |||
}; | |||
const sendSuccessMessage = (res, message) => { | |||
res.json({ | |||
status: Constants.SUCCESS, | |||
message: message | |||
}).status(200); | |||
}; | |||
const sendsuccessData = (res, message, data) => { | |||
res.json({ | |||
status: Constants.SUCCESS, | |||
message: message, | |||
data: data | |||
}); | |||
}; | |||
const sendErrorCustomData = (res, message, data) => { | |||
res.json({ | |||
status: Constants.ERROR_500, | |||
message: message, | |||
data: data | |||
}); | |||
}; | |||
const sendNotFoundMessage = (res, message) => { | |||
res.json({ | |||
status: Constants.ERROR_404, | |||
message: message | |||
}); | |||
}; | |||
const sendErrorCustomDataWithCode = (res, message, data, code) => { | |||
res.json({ | |||
status: code, | |||
message: message, | |||
data: data | |||
}); | |||
}; | |||
const sendErrorCustomWithCode = (res, message, code) => { | |||
res.json({ | |||
status: code, | |||
message: message | |||
}) | |||
} | |||
module.exports = { | |||
sendErrorMessage, | |||
sendsuccessData, | |||
sendSuccessMessage, | |||
sendErrorCustomMessage, | |||
sendErrorCustomData, | |||
sendNotFoundMessage, | |||
sendErrorCustomDataWithCode, | |||
sendErrorCustomWithCode | |||
} |
@ -0,0 +1,17 @@ | |||
'use strict'; | |||
const cron = require('node-cron'); | |||
const routineFetchInvestors = () => { | |||
cron.schedule(process.env.SCHEDULER_RULE_EXOTEL_CALL, () => { | |||
console.log("running scheduler"); | |||
// recordingController.callExotelRecording(); | |||
}) | |||
}; | |||
module.exports = { | |||
routineFetchInvestors, | |||
}; | |||
Powered by TurnKey Linux.