-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdb.js
More file actions
45 lines (38 loc) · 1.63 KB
/
db.js
File metadata and controls
45 lines (38 loc) · 1.63 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
var fs = require("fs");
var file = "./active.db";
var exists = fs.existsSync(file);
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database(file);
var settings = require('./settings.json');
db.serialize(function() {
if(!exists){
console.log("Creating DB file");
} else {
console.log("DB already exists. Checking for updates...");
}
var rooms = settings.rooms;
for(var key in rooms){
var rm = rooms[key];
db.run("CREATE TABLE IF NOT EXISTS " + rm.name + "(sid INTEGER, firstName TEXT, lastName TEXT, grade INTEGER, team TEXT, timeIn TEXT, device INTEGER, fields TEXT)");
console.log(rm.name);
}
});
//db.close();
module.exports.checkActive = function checkActive(room, sid, callback){
db.get('SELECT * FROM ' + room + ' WHERE sid=?', sid, callback);
}
module.exports.signInStudent = function signInStudent(room, student){
var date = new Date().toLocaleString();
console.log(date);
db.run('INSERT INTO ' + room + ' VALUES (?,?,?,?,?,?,?,?)', student.sid, student.firstName, student.lastName, student.grade, student.team, date, student.device, student.fields);
}
module.exports.checkActiveDevice = function checkActiveDevice(room, device, callback){
db.get('SELECT * FROM ' + room + ' WHERE device=?', device, callback);
}
module.exports.signOutStudent = function signOutStudent(room, student, callback) {
db.run('DELETE FROM ' + room + ' WHERE sid=?', student.sid);
callback(); //?
}
module.exports.getAllActive = function getAllActive(room, callback){
db.all('SELECT * FROM ' + room, callback);
}