-
Notifications
You must be signed in to change notification settings - Fork 4
/
seeds.js
98 lines (97 loc) · 4.32 KB
/
seeds.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
var request = require("request"),
statewise = require("./models/statewise"),
dailydata = require("./models/dailydata"),
global = require("./models/global");
var districtdata ;
function loadData()
{
//load india data
var url ="https://api.covid19india.org/data.json";
request(url, function (error, response, body) {
if(error)
{
console.log("Unable to retrieve India state data");
}
else
{
var data = JSON.parse(body);
// https://covid2019-api.herokuapp.com/v2/total
// https://api.thevirustracker.com/free-api?global=stats
// https://api.covid19api.com/summary
request("https://api.thevirustracker.com/free-api?global=stats",(error,response,body)=>{
if(error)
{
console.log("Unable to retrieve global data.");
}
else
{
var body = JSON.parse(body);
statewise.deleteMany({},(err)=>{
console.log("State db Cleared.");
statewise.create(
{
// dailyrecovered: body["Global"]['NewRecovered'],
// dailydeaths:body["Global"]['NewDeaths'],
// dailytotal: body["Global"]['NewConfirmed'],
// name: "Global",
// active: body["Global"]['TotalConfirmed']-body["Global"]['TotalRecovered'],
// recovered: body["Global"]['TotalRecovered'],
// deaths: body["Global"]['TotalDeaths'],
// total: body["Global"]['TotalConfirmed']
dailyrecovered: body["results"][0]['total_recovered'],
dailydeaths:body["results"][0]['total_new_deaths_today'],
dailytotal: body["results"][0]['total_new_cases_today'],
name: "Global",
active: body["results"][0]['total_active_cases'],
recovered: body["results"][0]['total_recovered'],
deaths: body["results"][0]['total_deaths'],
total: body["results"][0]['total_cases']
});
data["statewise"].forEach((state)=>{
statewise.create(
{
dailyrecovered: state["deltarecovered"],
dailydeaths:state["deltadeaths"],
dailytotal: state["deltaconfirmed"],
name: state["state"],
active: state["active"],
recovered: state["recovered"],
deaths:state["deaths"],
total: state["confirmed"]
});
})
console.log("State db Updated.");
});
}
});
}
});
//Load daily data
request("https://api.covid19india.org/data.json",(error,response,body)=>{
if(error)
{
console.log("Unable to retrieve daily data.");
}
else
{
var data = JSON.parse(body);
dailydata.deleteMany({},(err)=>{
console.log("DB2 cleared!!!");
data.cases_time_series.forEach((daily)=>{
dailydata.create(
{
date: daily["date"],
dailyrecovered: daily["dailyrecovered"],
dailydeaths: daily["dailydeceased"],
dailyconfirmed: daily["dailyconfirmed"],
recovered: daily["totalrecovered"],
deaths: daily["totaldeceased"],
confirmed: daily["totalconfirmed"]
});
});
console.log("Daily data db Updated");
});
}
});
}
module.exports = loadData;