app.get(
"/details"
,
function
(req, res) {
const name = req.query.name;
console.log(name);
Scopus.find({ name: name },
{
'_id'
: 0,
'authorId'
: 1 },
function
(err, result) {
if
(err) { }
else
{
let searchResult = result[0][
"authorId"
];
console.log(searchResult);
let options = {
+ searchResult +
"?apiKey"
,
headers: {
'Accept'
:
'application/json'
}
};
request(options,
function
(error, response, body) {
if
(error) {
console.error(
'error in Authors :'
, error);
console.log(
'statusCode:'
, response && response.statusCode);
res.send(
"error"
)
}
else
if
(!error) {
let jsonObj = JSON.parse(body);
if
(jsonObj[
'author-retrieval-response'
] == undefined) {
res.send(
"No details"
);
}
else
{
let reqData = jsonObj[
'author-retrieval-response'
][0];
let authprofile = reqData[
"author-profile"
]
let names = authprofile[
"preferred-name"
][
"indexed-name"
]
console.log(names);
let citation = reqData[
"coredata"
][
"citation-count"
];
let query = { authorId: searchResult };
Scopus.findOneAndUpdate(query, {
name: names,
citationCount: citation
},
function
(err, doc, res) {
if
(err) {
console.log(
"error"
);
}
else
{
console.log(
"success"
);
}
})
res.render(
"details"
, { data: reqData });
}
}
});
}
})
});