Skip to content

Commit 73218c7

Browse files
committed
Adding services/data folder
1 parent 5653ce8 commit 73218c7

File tree

3 files changed

+65
-1
lines changed

3 files changed

+65
-1
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
.env
33
.node-version
44
coverage/
5-
data/
5+
/data/
66
node_modules/
77
Procfile

services/data/index.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
(function () {
2+
"use strict";
3+
4+
var db,
5+
init = require('./init.js');
6+
7+
function getDb(callback) {
8+
if (undefined === db) {
9+
init(function cbInitDb(err, myDb) {
10+
if (err) {
11+
return callback(err);
12+
}
13+
db = myDb;
14+
return callback(null, db);
15+
});
16+
} else {
17+
return callback(null, db);
18+
}
19+
}
20+
21+
module.exports = {
22+
'init': init,
23+
'getDb': getDb
24+
};
25+
}());

services/data/init.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
(function () {
2+
"use strict";
3+
4+
var async = require('async'),
5+
DBMigrate = require('db-migrate'),
6+
sqlite3 = require('sqlite3');
7+
8+
function connectToDatabase(filename, callback) {
9+
var db = new sqlite3.Database(
10+
filename,
11+
sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE,
12+
function completeConnect(err) {
13+
if (err) {
14+
return callback(err);
15+
}
16+
return callback(null, db);
17+
}
18+
);
19+
}
20+
21+
function init(callback) {
22+
var dbmigrate;
23+
async.waterfall([
24+
function asyncDoMigration(callback) {
25+
dbmigrate = DBMigrate.getInstance(true);
26+
dbmigrate.up(callback);
27+
},
28+
function asyncConnectToDatabase(callback) {
29+
if ('sqlite3' === dbmigrate.config.getCurrent().settings.driver) {
30+
connectToDatabase(dbmigrate.config.getCurrent().settings.filename, callback);
31+
} else {
32+
callback('This application currently requires sqlite3 as the driver');
33+
}
34+
}
35+
], callback);
36+
}
37+
38+
module.exports = init;
39+
}());

0 commit comments

Comments
 (0)