Lokasi ngalangkungan proxy:   [ UP ]  
[Ngawartoskeun bug]   [Panyetelan cookie]                
Skip to content
This repository was archived by the owner on Jul 6, 2022. It is now read-only.

Commit c413f12

Browse files
committed
Added ship sde import; Added Ship model and Jump metadata.
1 parent ecbc85a commit c413f12

5 files changed

Lines changed: 70 additions & 12 deletions

File tree

gulpfile.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,13 @@ gulp.task('sde:refresh', function(done) {
150150
, System = require('./server/models/system')
151151
, Region = require('./server/models/region')
152152
, Jump = require('./server/models/jump')
153+
, Ship = require('./server/models/ship')
153154

154155
var sde = new sqlite3.Database('./sde/sqlite-latest.sqlite')
155156
, db = mongoose.connect(process.env.MONGODB_URL);
156157
mongoose.set('debug', true);
157-
158+
159+
// map data
158160
sde.each('select * from mapSolarSystemJumps', function(err, row) {
159161
jump = {toSystem: row.toSolarSystemID, fromSystem: row.fromSolarSystemID,
160162
toRegion: row.toRegionID, fromRegion: row.fromRegionID,
@@ -171,8 +173,14 @@ gulp.task('sde:refresh', function(done) {
171173
sde.each('select * from mapRegions', function(err, row) {
172174
region = {id: row.regionID, name: row.regionName};
173175
Region.updateQ({id: region.id}, region, {upsert: true});
174-
})
175-
176+
});
177+
178+
// ship data
179+
sde.each('SELECT i.typeID id, i.typeName name, g.groupName class, IFNULL(img.metaGroupName, "Tech I") as meta FROM invTypes i INNER JOIN invGroups g ON i.groupID = g.groupID LEFT JOIN invMetaTypes imt ON i.typeID = imt.typeID LEFT JOIN invMetaGroups img ON imt.metaGroupID = img.metaGroupID WHERE g.categoryID = 6 AND i.published = 1 ORDER BY i.typeID ASC', function(err, row) {
180+
ship = {id: row.id, name: row.name, class: row.class, meta: row.meta};
181+
Ship.updateQ({id: ship.id}, ship, {upsert: true});
182+
});
183+
176184
sde.close(function() {
177185
db.disconnect(done);
178186
});

server/models/advisory.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ var mongoose = require('mongoose-q')()
33
, settings = require(__dirname + '/../config/settings')
44
, moment = require('moment')
55

6-
var types = ['Wormhole Detected',
7-
'Hostile Cloaked',
8-
'Hostile Docked',
9-
'Hostile Faded',
10-
'Hostile Logged Off',
11-
'Undock Camped',
12-
'Gate Bubbled'
13-
];
6+
var types = [
7+
'Wormhole Detected',
8+
'Hostile Cloaked',
9+
'Hostile Docked',
10+
'Hostile Faded',
11+
'Hostile Logged Off',
12+
'Undock Camped',
13+
'Gate Bubbled'
14+
];
1415

1516
exports.types = types;
1617

server/models/jump.js

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,41 @@
11
var mongoose = require('mongoose-q')()
22
, Schema = mongoose.Schema
33

4+
var lifespanEstimates = [
5+
'Unknown',
6+
'Not yet begun (>24h)',
7+
'Beginning to decay (4-24h)',
8+
'End of its lifetime (<4h)',
9+
'Verge of dissipating (<15m)',
10+
'Expired'
11+
];
12+
13+
exports.lifespanEstimates = lifespanEstimates;
14+
15+
var massEstimates = [
16+
'Unknown',
17+
'Not disrupted (>50%)',
18+
'Beginning to decay (4-24h)',
19+
'Under half remaining (<50%)',
20+
'Critical (<10%)'
21+
];
22+
23+
exports.massEstimates = massEstimates;
24+
425
var JumpSchema = new Schema({
526
toSystem: Number,
627
fromSystem: Number,
728
toRegion: Number,
829
fromRegion: Number,
930
toConstellation: Number,
10-
fromConstellation: Number
31+
fromConstellation: Number,
32+
wormhole_data: {
33+
mass_estimate: {type: String, enum: massEstimates},
34+
lifespan_estimate: {type: String, enum: lifespanEstimates},
35+
discovered_on: Number,
36+
updated_at: Number,
37+
expires_on: Number
38+
}
1139
});
1240

1341
JumpSchema.index({ toSystem: 1, fromSystem: 1 });

server/models/ship.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
var mongoose = require('mongoose-q')()
2+
, Schema = mongoose.Schema
3+
4+
var ShipSchema = new Schema({
5+
id: Number,
6+
name: String,
7+
class: String,
8+
meta: String
9+
});
10+
11+
ShipSchema.index({ id: 1, name: 1 });
12+
13+
module.exports = mongoose.model('Ship', ShipSchema);

server/models/system.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,12 @@ var SystemSchema = new Schema({
1414

1515
SystemSchema.index({ id: 1, regionID: 1 });
1616

17+
SystemSchema.methods.is_wspace = function() {
18+
return this.id >= 31000000 && this.id <= 31999999;
19+
};
20+
21+
SystemSchema.statics.findWormholes = function (cb) {
22+
this.find({id: {$gte: 31000000, $lte: 31999999}}, cb);
23+
};
24+
1725
module.exports = mongoose.model('System', SystemSchema);

0 commit comments

Comments
 (0)