-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
105 lines (92 loc) · 2.5 KB
/
app.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
99
100
101
102
103
104
105
var prompt = require('prompt')
var API = require('./api');
/** init **/
var filename = 'db.json';
var account = '';
var api = new API(filename);
var retrievedMutations = [];
/** format prompt **/
prompt.message = '>';
prompt.delimiter = ':';
/** start **/
//process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
prompt.start();
/** get accountnr **/
if (!api.hasAccountNumber()) {
prompt.get([{
name: 'account',
message: '',
required: true
}], function(err, result) {
api.setAccountNumber(result.account);
login();
});
} else {
login();
}
function login() {
prompt.get(
[{
name: 'cookie',
message: 'Give me the cookie',
required: true
}, {
name: 'fiddler',
message: 'Are you using fiddler? y/n (default: n)'
}],
function(err, result) {
if (err) throw err;
retrieveMutations(result.cookie, result.fiddler === 'y' || result.fiddler === 'Y');
}
);
}
function retrieveMutations(cookie, usingFiddler, lastMutationKey) {
var requestPath = api.getRequestPath(lastMutationKey);
console.log('Start retrieving mutations');
api.requestData(cookie, usingFiddler, function(rawData) {
var mutations = api.transformData(rawData);
if (mutations.length > 0) {
console.log(mutations.length + ' mutations retrieved!');
if (api.doesMutationAlreadyExists(mutations[mutations.length - 1])) {
console.log('Some of the retrieved mutations already exist within the database');
}
retrievedMutations = retrievedMutations.concat(mutations);
prompt.get(
[{
name: 'getMore',
message: 'Get more mutations? y/n (default: y)'
}],
function(err, result) {
if (err) throw err;
lastMutationKey = api.getLastMutationKey(rawData);
console.log('Last mutationkey is: ' + lastMutationKey);
if (result.getMore !== 'n' && result.getMore !== 'N' && result.getMore !== 'no') {
retrieveMutations(cookie, usingFiddler, lastMutationKey);
} else {
saveMutations();
}
});
} else {
console.log('There was no more mutations to retrieve');
saveMutations();
}
}, requestPath);
}
function saveMutations() {
if (retrievedMutations.length == 0) {
console.log('There were no mutations retrieved, so we can\'t save any');
} else {
prompt.get(
[{
name: 'saveData',
message: 'Save the new collected mutations? y/n'
}],
function(err, result) {
if (err) throw err;
if (result.saveData === 'y' || result.saveData === 'Y') {
api.saveMutations(retrievedMutations);
console.log('Successfully saved to: ' + filename);
}
});
}
}