-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEventHandler.js
44 lines (32 loc) · 1.21 KB
/
EventHandler.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
var fs = require('fs');
var admin = require("firebase-admin");
var serviceAccount = require("./Keys/auto-bot-3c17c-firebase-adminsdk-rsdhn-19b8c738ab.json");
const { handleCommand } = require('./CommandHandler/CommandHandler');
const { saveInitialAppTriggerConfig } = require('./Utils/FileHandlers');
var is_first_execution = true;
admin.initializeApp({
credential: admin.credential.cert(serviceAccount)
});
const db = admin.firestore();
const query = db.collection('autobot-device-handler').where('device_name', '==', 'personal_laptop');
const observer = query.onSnapshot(querySnapshot => {
console.log(`Received query snapshot of size ${querySnapshot.size}`);
var data = querySnapshot.docs[0].data()
console.log("Data => ", JSON.stringify(data))
saveLogToFile(JSON.stringify(data))
if(is_first_execution){
is_first_execution = false;
saveInitialAppTriggerConfig(JSON.stringify(data))
}else{
handleCommand(JSON.stringify(data))
}
// ...
}, err => {
console.log(`Encountered error: ${err}`);
});
function saveLogToFile(text) {
fs.appendFile('out.txt', text + '\n', function (err) {
if (err) throw err;
console.log('Saved!');
});
}