[text] kela

Viewer

  1. "use strict";
  2.  
  3. var path = require("path");
  4. var express = require("express");
  5. var bodyParser = require("body-parser");
  6. var cors = require("cors");
  7. var fs = require("fs");
  8. var CronJob = require("cron").CronJob;
  9. var xmlparser = require('express-xml-bodyparser');
  10. var cluster = require("cluster")
  11. var os = require("os")
  12.  
  13. global.appRoot = path.resolve(__dirname);
  14. global.ipAdd = [];
  15. var logger = require("./helpers/logger");
  16.  
  17. var config = require("./helpers/contours/config");
  18. var utils = require("./helpers/assists/utils");
  19. const grafana = require("./grafana");
  20.  
  21.  
  22. //swagger
  23. const swaggerUi = require('swagger-ui-express');
  24. const swaggerSpec = require('./gates/Swagger/swaggerDoc'); // Path to your swagger.js file
  25. const specs = require('./');
  26. const { worker } = require("shortid");
  27. var app = express();
  28. var corsOptions = {
  29.     credentials: true,
  30. };
  31.  
  32. // guests - client apps connected to this service bridge sockets
  33. global.guests = [];
  34.  
  35. // Initialize HTTPS server
  36. var options = {
  37.     key: fs.readFileSync("./stuffs/store/niyogin_in.key"),
  38.     cert: fs.readFileSync("./stuffs/store/niyogin_in.pem"),
  39.     ca: fs.readFileSync("./stuffs/store/ca_niyogin_in.pem"),
  40. };
  41.  
  42. var http;
  43. var isHTTPS = config.gateways.server.https;
  44.  
  45. var numOfCpus = os.cpus().length;
  46. logger.info('Number of cpu are ', numOfCpus);
  47. if (cluster.isMaster) {
  48.     logger.info(`Primary process ${process.pid} is running`);
  49.  
  50.     for (let i = 0; i < numOfCpus; i++) {
  51.         cluster.fork();
  52.     }
  53.  
  54.     cluster.on('exit', (worker, code, signal) => {
  55.         logger.info(`worker ${process.pid} died`);
  56.     })
  57. } else {
  58.     if (isHTTPS) http = require("https").createServer(options, app);
  59.     else http = require("http").Server(app);
  60.  
  61.     http.listen(config.gateways.server.port, function () {
  62.         logger.info("Opening the Gates" + (isHTTPS ? " securely" : "") + " with '" + config.env + "' settings...");
  63.         console.log("Opening the Gates" + (isHTTPS ? " securely" : "") + " with '" + config.env + "' settings...");
  64.         console.log("Initialization Done. Gates open on %s port.", config.gateways.server.port);
  65.     });
  66.     http.timeout = 0;
  67.     logger.info(`worker ${process.pid} started`)
  68. }
  69.  
  70. // Initialize socket io
  71. var io =
  72.     require("socket.io")(http);
  73. require("./gates/plugs")(io);
  74. //require('./gatekeepers/ckyc').readExcel(null);
  75. // Make socket io available to all the routers
  76. app.use(cors(corsOptions), function (req, res, next) {
  77.     req.io = io;
  78.     next();
  79. });
  80.  
  81. app.use((req, res, next) => {
  82.     let allowedMethods = ["GET", "PUT", "POST", "OPTIONS"];
  83.     if (!allowedMethods.includes(req.method)) {
  84.         res.status(405).send({ error: "Method not allowed" });
  85.         return;
  86.     }
  87.     next();
  88. });
  89.  
  90. // Grafana
  91.  
  92. // Old Code
  93. // const collectDefaultMetrics = client.collectDefaultMetrics;
  94. // collectDefaultMetrics({ register: client.register });
  95.  
  96. // const reqResTime = new client.Histogram({
  97. //     name: "http_express_req_res_time",
  98. //     help: "Gives details on request response time",
  99. //     labelNames: ["method", "route", "status_code"],
  100. //     buckets: [1, 50, 100, 200, 400, 500, 800, 1000, 2000]
  101. // });
  102.  
  103. // const totalReqCounter = new client.Counter({
  104. //     name: "total_req",
  105. //     help: "Gives total requests"
  106. // });
  107.  
  108. // const ublEvents = new client.Gauge({
  109. //     name: "ublEvents",
  110. //     help: "For ubl events from partnerships",
  111. //     labelNames: ["event", "status_code"],
  112. // });
  113.  
  114. // app.use(responseTime((req, res, time) => {
  115. //     totalReqCounter.inc();
  116. //     if (req && req.body && req.body.event) {
  117. //         let eventType = req.body.event;
  118. //         let statusType = res.statusCode || 500;
  119. //         ublEvents.set({ event: eventType, status_code: statusType }, time);
  120. //     }
  121. //     else {
  122. //         reqResTime.labels({
  123. //             method: req.method,
  124. //             route: req.url,
  125. //             status_code: res.statusCode
  126. //         }).observe(time);
  127. //     }
  128. // }));
  129.  
  130. // app.get('/metrics', async (req, res) => {
  131. //     res.setHeader('Content-Type', client.register.contentType);
  132. //     const metrics = await client.register.metrics();
  133. //     res.send(metrics);
  134. // });
  135.  
  136. //app.use(bodyParser.json());
  137. //app.use(bodyParser.urlencoded({ extended: true }));
  138.  
  139. app.use(bodyParser.json({ limit: "50mb" }));
  140. app.use(bodyParser.urlencoded({ extended: true, limit: "50mb" }));
  141. app.use(express.json());
  142. app.use(xmlparser());
  143.  
  144. grafana(app);
  145.  
  146. // 3 gates - sweeps, sails and sways
  147. app.use(config.gateways.gates.root + config.gateways.gates.version + config.gateways.gates.sweeps.root, require("./gates/sweeps"));
  148. app.use(config.gateways.gates.root + config.gateways.gates.version2 + config.gateways.gates.sweeps.root, require("./gates/sweeps2"));
  149. app.use(config.gateways.gates.root + config.gateways.gates.version + config.gateways.gates.sails.root, require("./gates/sails"));
  150. app.use(config.gateways.gates.root + config.gateways.gates.version2 + config.gateways.gates.sails.root, require("./gates/sails2"));
  151. app.use(config.gateways.gates.root + config.gateways.gates.version + config.gateways.gates.sways.root, require("./gates/sways"));
  152.  
  153. // Expose store static location over HTTPS, if required.
  154. app.use(config.gateways.gates.root + config.gateways.gates.store, express.static(path.join(__dirname, config.constants.storeLocation)));
  155.  
  156. // Serve Swagger UI with custom CSS
  157. app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec, {
  158.     customCssUrl: '/swagger-ui.css', // URL path to your custom CSS file
  159. }));
  160.  
  161. // Serve the logo image
  162. app.get('/logo.png', (req, res) => {
  163.     res.sendFile(path.join(__dirname, 'gates', 'Swagger', 'Niyogin_Logo_Blue.png'));
  164. });
  165.  
  166. app.get('/swagger-ui.css', (req, res) => {
  167.     res.sendFile(path.join(__dirname, 'gates', 'Swagger', 'swagger-ui.css')); // Adjust the path to your CSS file accordingly
  168. });
  169.  
  170. //app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec, { customCss: '.swagger-ui .topbar { background-color: #1e90ff; }' }));
  171.  
  172. // app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec, { security: [{ basicAuth: [] }] }));//FOR UI BLOCK
  173.  
  174.  
  175. new CronJob('0 6 * * * ', function () {
  176.  
  177.     require('./cron').AubankTokens()
  178. }, null, true, 'Asia/Kolkata');
  179.  
  180. // new CronJob('*/5 * * * * *', function() {
  181. //    require('./cron').odsDataToIDD()
  182. // }, null, true, 'America/Los_Angeles');
  183.  
  184. new CronJob('25 13 * * *', function () {
  185.     require('./cron').pendingNotifications()
  186. }, null, true, 'Asia/Kolkata')
  187.  
  188. // new CronJob('0 * * * * *', function() {
  189. //     require('./cron').customerDataToCRM()
  190. // }, null, true, 'America/Los_Angeles');
  191.  
  192. // new CronJob('1 1 1 * * *', function() {
  193. //    require('./cron').customerAccCreationInCRM()
  194. // }, null, true, 'America/Los_Angeles');
  195.  
  196. // new CronJob('1 6 2 * * *', function() {
  197. //    require('./cron').partnerAccCreationInCRM()
  198. // }, null, true, 'America/Los_Angeles');
  199.  
  200. // new CronJob('1 10 2 * * *', function() {
  201. //    require('./cron').loanAccCreationInCRM()
  202. // }, null, true, 'America/Los_Angeles');
  203.  
  204. // require('./cron').udaanCustomerOnboarding()
  205. // new CronJob('0 59 * * * *', function () {
  206. //     require('./cron').udaanCustomerOnboarding()
  207. // }, null, true, 'America/Los_Angeles');
  208.  
  209. //require('./gatekeepers/iserveu').bulkPartnerOnboard({ phone: ["8718812502", "9830354542"] })
  210. // require("./cron").reportLOA();
  211.  
  212. //new CronJob(
  213. //    "0 05 6 * * *",
  214. //    function () {
  215. //        require("./cron").customerCoAppAccCreationInCRM();
  216. //    },
  217. //    null,
  218. //    true,
  219. //    "Asia/Kolkata"
  220. //);
  221.  
  222. //new CronJob(
  223. //    "0 0 6 * * *",
  224. //    function () {
  225. //        require("./cron").uploadSettlementData();
  226. //    },
  227. //    null,
  228. //    true,
  229. //    "Asia/Kolkata"
  230. //);
  231.  
  232. //new CronJob(
  233. //   "0 10 6 * * *",
  234. //   function () {
  235. //       require("./cron").uploadSettlementDataPayU();
  236. //   },
  237. //   null,
  238. //   true,
  239. //   "Asia/Kolkata"
  240. //);
  241.  
  242. //new CronJob(
  243. //    "0 15 6 * * *",
  244. //    function () {
  245. //        require("./cron").setSSLCertificate();
  246. //    },
  247. //    null,
  248. //    true,
  249. //    "Asia/Kolkata"
  250. //);
  251.  
  252. //new CronJob(
  253. //    "0 20 6 * * *",
  254. //    function () {
  255. //        require("./cron").uploadSettlementDataOfICICI();
  256. //    },
  257. //    null,
  258. //    true,
  259. //    "Asia/Kolkata"
  260. //);
  261.  
  262. //new CronJob(
  263. //    "0 25 6 * * *",
  264. //    function () {
  265. //        require("./cron").uploadDomainResellerTransactions();
  266. //    },
  267. //    null,
  268. //    true,
  269. //    "Asia/Kolkata"
  270. //);
  271.  
  272. //new CronJob(
  273. //    "0 0 7 * * *",
  274. //    function () {
  275. //        require("./cron").sendDomainResellerMails();
  276. //        require("./cron").sendShiprocketBalanceMails();
  277. //    },
  278. //    null,
  279. //    true,
  280. //    "Asia/Kolkata"
  281. //);
  282.  
  283. //new CronJob(
  284. //    "0 0 14 * * *",
  285. //    function () {
  286. //        require("./cron").sendDomainResellerMails();
  287. //        require("./cron").sendShiprocketBalanceMails();
  288. //    },
  289. //    null,
  290. //    true,
  291. //    "Asia/Kolkata"
  292. //);
  293.  
  294. //new CronJob(
  295. //    "0 0 20 * * *",
  296. //    function () {
  297. //        require("./cron").sendDomainResellerMails();
  298. //        require("./cron").sendShiprocketBalanceMails();
  299. //    },
  300. //    null,
  301. //    true,
  302. //    "Asia/Kolkata"
  303. //);
  304.  
  305. // require("./gatekeepers/udaan").index();
  306. // require("./gatekeepers/udaan").loanRepaymentMain();
  307. // require(`./gatekeepers/cibilService`).storeCibilReport();
  308. //require(`./gatekeepers/ckyc`).getLegalCustData("2");
  309. // require(`./gatekeepers/ckyc`).getLegalCustData("4");
  310. // require(`./gatekeepers/ckyc`).getLegalCustData("5");
  311. // require(`./gatekeepers/ckyc`).getLegalCustData("7");
  312. // require(`./gatekeepers/ckyc`).getLegalCustData("3");
  313. //require(`./gatekeepers/ckyc`).getCustomerData();
  314.  
  315. // new CronJob(
  316. //     "0 */4 * * *",
  317. //     function () {
  318. //         logger.info("Running CRON for CKYC");
  319. //         require(`./gatekeepers/ckyc`).getLegalCustData();
  320. //     },
  321. //     null,
  322. //     true,
  323. //     "Asia/Kolkata"
  324. // );
  325. new CronJob(
  326.     "00 01 * * *",
  327.     function () {
  328.         logger.info("Starting loadAllLeadsNew")
  329.         console.log("Starting loadAllLeadsNew")
  330.         logger.info("Triggered daily LSQ DATA loader");
  331.         // require("./cron").loadAllLeads();
  332.         require("./cron").loadAllLeadsNew()
  333.         console.log("Completed daily LSQ DATA loader")
  334.         logger.info("Daily LSQ loader succeeded.");
  335.     },
  336.     null,
  337.     true,
  338.     "Asia/Kolkata"
  339. );
  340. // require("./cron").loadAllLeadsNew()
  341.  
  342. // new CronJob(
  343. //     "0 6 * * *",
  344. //     function () {
  345. //         logger.info("Running CRON for Capital Trust");
  346. // require("./cron").getCapitalTrustReport();
  347. //     },
  348. //     null, 
  349. //     true,
  350. //     "Asia/Kolkata"
  351. // );
  352.  
  353. // new CronJob(
  354. //     "30 6 * * *",
  355. //     function () {
  356. //         logger.info("Running CRON for Capital Trust");
  357. //    require("./cron").getLOSReport();
  358. //     },
  359. //     null, 
  360. //     true,
  361. //     "Asia/Kolkata"
  362. // );
  363.  
  364. // new CronJob(
  365. //     "0 20 * * *",
  366. //     function () {
  367. //         logger.info("Running CRON for Citi Bank Disbursements");
  368. //            require("./gatekeepers/citiBank").citiManualDisbursement();
  369. //     },
  370. //     null, 
  371. //     true,
  372. //     "Asia/Kolkata"
  373. // );
  374.  
  375.  
  376. module.exports = app;
  377.  
  378.  

Editor

You can edit this paste and save as new:


File Description
  • kela
  • Paste Code
  • 19 Apr-2024
  • 11 Kb
You can Share it: