· 7 years ago · Mar 04, 2019, 11:32 AM
1var sqlite3 = require("node-sqlite3");
2var fs = require('fs');
3
4var query_count;
5var init = function (response) {
6 var db = new sqlite3.Database("test.db", function() {
7
8 fs.readFile('./assets/sql/initDB.sql', function(err,data){
9 if(err) {
10 console.error("Could not open file: %s", err);
11 return;
12 }
13
14 var query = data.toString('utf8');
15 queries = query.split(";");
16
17 db.serialize(function() {
18 query_count = queries.length;
19 for(var i=0; i<queries.length; i++) {
20 queries[i] = queries[i].replace("rn","");
21 db.run(queries[i], function(error) {
22 if(error) {
23 console.log("Query Error: "+error);
24 }
25
26 query_count--;
27
28 if( query_count <= 0 ) {
29 db.close();
30 listAllTables(response);
31 }
32 });
33 }
34 });
35 });
36 });
37};
38
39function listAllTables(response) {
40 var db = new sqlite3.Database("./assets/sql/test.db", function () {
41 db.all("SELECT name FROM sqlite_master WHERE type = 'table'", function (error, records) {
42 for(var record in records) {
43 response.write(record+": "+records[record]+"n");
44 for(var prop in records[record]) {
45 response.write("t"+prop+": "+records[record][prop]+"n");
46 }
47 }
48
49 response.end();
50 db.close();
51 });
52 });
53}
54
55exports.load_customers = function(response) {
56 init(response);
57};
58
59CREATE TABLE IF NOT EXISTS TemporaryAuthTokens (
60 authToken TEXT PRIMARY KEY NOT NULL UNIQUE,
61 expireDate NUMERIC NOT NULL);
62
63CREATE TABLE IF NOT EXISTS User (
64 id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE ,
65 login TEXT NOT NULL ,
66 pass TEXT NOT NULL ,
67 creationDate NUMERIC NOT NULL ,
68 authToken TEXT NULL REFERENCES TemporaryAuthTokens(authToken)
69 );