forked from evansiroky/gtfs-sequelize
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
33 lines (31 loc) · 1.04 KB
/
index.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
var path = require('path'),
downloadGtfs = require('./lib/download.js'),
Database = require('./models'),
loadgtfs = require('./lib/gtfsLoader.js');
module.exports = function(config) {
return {
config: config,
connectToDatabase: function(rawModels) {
var db = Database(this.config.database, this.config.sequelizeOptions ? this.config.sequelizeOptions : {});
if(!rawModels && config.isPostGIS) {
db.stop = db.sequelize.import('models/postgis/stop.js');
db.shape_gis = db.sequelize.import('models/postgis/shape_gis.js');
db.trip = db.sequelize.import('models/postgis/trip.js');
}
return db;
},
downloadGtfs: function(callback) {
this._validateConfig();
downloadGtfs(this.config.gtfsUrl, this.config.downloadsDir, callback);
},
loadGtfs: function(callback) {
loadgtfs(this.config.downloadsDir,
this.config.gtfsFilename,
this.connectToDatabase(true),
config.isPostGIS,
callback);
},
_validateConfig: function() {
}
}
}