-
Notifications
You must be signed in to change notification settings - Fork 0
/
ebolaviz-services.js
81 lines (69 loc) · 2.82 KB
/
ebolaviz-services.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
ebolaVizApp.service("dataService", ["$http", function($http) {
var urlBase = "https://ds-ec2.scraperwiki.com/hkiw9sb/ky9zjrxscneu7mg";
var sqlEndpointUrlBase = "https://ds-ec2.scraperwiki.com/hkiw9sb/ky9zjrxscneu7mg/sql?q=";
this.getCountries = function() {
return [
{id: "All affected countries", name: "All affected countries"},
{id: "Liberia", name: "Liberia"},
{id: "Guinea", name: "Guinea"},
{id: "Sierra Leone", name: "Sierra Leone"},
{id: "Italy", name: "Italy"},
{id: "Mali", name: "Mali"},
{id: "Spain", name: "Spain"},
{id: "United Kingdom", name: "United Kingdom"},
{id: "United States of America", name: "United States of America"},
{id: "Nigeria", name: "Nigeria"},
{id: "Senegal", name: "Senegal"}
];
};
this.getCaseTypes = function() {
return [
{id: "all", name: "All definitions"},
{id: "confirmed", name: "Confirmed"},
{id: "probable", name: "Probable"},
{id: "suspected", name: "Suspected"}
];
};
this.getIndicators = function() {
return [
{id: "population", name: "Entire population"},
{id: "workers", name: "Health workers"}
];
};
this.getHeadlineFigures = function() {
var url = urlBase + "/sql?q=SELECT * from VW_HEADLINE_FIGURES";
return $http.get(url);
};
this.getCountryChartData = function(location,caseDefinition) {
var sql = "Select * From VW_RAW_DATA " + buildLocationCaseDefinitionWhereClause(location, caseDefinition) + " Order By value ASC";
return $http.get(sqlEndpointUrlBase + sql);
};
this.getLatestFiguresPromise = function(location, caseDefinition) {
var sql = "SELECT * from VW_LATEST_FIGURES" + buildLocationCaseDefinitionWhereClause(location, caseDefinition) + " Order By value ASC";
console.log(sql);
return $http.get(sqlEndpointUrlBase + sql);
};
this.getRawDataPromise = function(location, caseDefinition) {
var sql = "Select * From VW_RAW_DATA " + buildLocationCaseDefinitionWhereClause(location, caseDefinition) + " Order By value ASC";
return $http.get(sqlEndpointUrlBase + sql);
};
this.getCountriesPromise = function() {
var sql = "Select DISTINCT location from Observations Order By location";
return $http.get(sqlEndpointUrlBase + sql);
};
this.getPeriodsPromise = function() {
var sql = "Select DISTINCT perion from Observations Order By period";
return $http.get(sqlEndpointUrlBase + sql);
};
function buildLocationCaseDefinitionWhereClause(location, caseDefinition) {
var whereClause = "";
if (location && caseDefinition) {
whereClause = " WHERE location='" + location + "' AND case_definition='" + caseDefinition + "' ";
} else if (location) {
whereClause = " WHERE location='" + location + "'";
} else if (caseDefinition) {
whereClause = " WHERE case_definition='" + caseDefinition + "'";
};
return whereClause;
};
}]);