· 4 years ago · Jun 03, 2021, 06:06 PM
1let rp = require('request-promise')
2
3module.exports.usersData = async (req, res, next) => {
4 if (!req.body || !req.body.rollNumbers) { return res.send('Please send rollnumbers') }
5 // "req.body.rollNumbers" has the array of rollNumbers that comes from the front-end
6 const rollNumbers = req.body.rollNumbers // Eg: rollNumbers = [5,6,7,8,9,10,11,12]
7 const rollNumbers = []
8 for await (let i of rollNumbers) {
9 let responseFromProEdge = await getProEdge(i)
10 result.push(responseFromProEdge)
11 }
12 res.send(result)
13}
14
15async function getProEdge(rollNumber) {
16 return new Promise((resolve, reject) => {
17 let options = {}, response = [];
18 options = {
19 uri: `${baseApiUrl}` // External Api Base Url
20 qs: { rollnumber: rollNumber },
21 json: true
22 }
23 rp(options) // Calling the External Api through "reques-promise" package
24 .then((repos) => { // Response from External Api
25 response = { key: rollNumber, value: repos }
26 return resolve(response)
27 })
28 .catch(err => {
29 console.log('error is', err)
30 return reject(err)
31 }) // If any error from External Api, it will get printed in the logs
32
33 })
34}