app.js
2.76 KB
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
angular.module('focaSqlite', [])
.factory('focaSqliteService', [
function() {
var dataBase;
var baseReady;
function error(error) {
console.error(error);
}
return {
openDataBase: function() {
var db = null;
db = window.sqlitePlugin.openDatabase({
name: 'foca.distribuidor',
location: 'default',
});
dataBase = db;
var queryCreate = "CREATE TABLE IF NOT EXISTS querys " +
"(route text," +
"type text," +
"body text," +
"response text," +
"PRIMARY KEY(route, body, type))";
dataBase.transaction(function(tx) {
tx.executeSql(queryCreate);
baseReady = true;
}, error);
},
updateQuery: function(route, body, type, response, success) {
function callQuery() {
if (baseReady) {
var query = 'INSERT OR REPLACE INTO querys (route, type, body, response)' +
"VALUES('" + route + "'" +
", '" + type + "'" +
", '" + body + "'" +
", '" + response + "')";
dataBase.transaction(function(tx) {
tx.executeSql(query);
}, error, success)
} else {
setTimeout(function() {
callQuery();
}, 1000)
}
}
callQuery();
},
getQuery: function(route, body, type, success) {
function callQuery() {
if(baseReady) {
var query= "SELECT * FROM querys " +
"WHERE route = '" + route + "'" +
" and body = '" + body + "'" +
" and type = '" + type + "'";
dataBase.executeSql(query, [], function(data) {
success(data.rows.item(0).response);
}, error);
} else {
setTimeout(function() {
callQuery();
}, 1000);
}
}
callQuery();
}
}
}
]);