-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathusersRef.js
47 lines (41 loc) · 1.15 KB
/
usersRef.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
var firebase = require('firebase');
/**
* The Botkit firebase driver
*
* @param {Object} config This must contain either a `firebase_uri` property (deprecated) or a `databaseURL` property
* @returns {{setLastActive: setLastAvtive()}}
*/
module.exports = function(config) {
if (!config) {
throw new Error('configuration is required.');
}
// Backwards compatibility shim
var configuration;
if (config.firebase_uri) {
configuration.databaseURL = config.firebase_uri;
} else if (!config.databaseURL) {
throw new Error('databaseURL is required.');
} else {
configuration = config;
}
var app;
try {
app = firebase.app();
}
catch(e) {
app = firebase.initializeApp(config);
}
var database = app.database(),
rootRef = database.ref(),
usersRef = rootRef.child('users');
return {
setLastActive: setLastActive()
};
};
function setLastActive() {
return function(data, cb) {
var firebase_update = {};
firebase_update['last_active'] = new Date();
usersRef.child(''+data.id).update(firebase_update).then(cb);
};
}