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 767f137

Browse files
committed
Fleet Scans done.
1 parent 59bf993 commit 767f137

13 files changed

Lines changed: 288 additions & 19 deletions

File tree

app/js/Data.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ var Data = {
3232
alertCount: 0,
3333
data_client: null,
3434
dimmed: false,
35-
lastPollTs : Date.now(),
35+
lastPollTs : moment().unix(),
3636
memberSortOrder: {
3737
property: 'name',
3838
order: 'asc'

app/js/Main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ function log(message) {
269269
});
270270

271271
} else if (Data.config.log === 'console') {
272-
console.log('[' + Date.now() + '] - ' + message)
272+
console.log('[' + moment().unix() + '] - ' + message)
273273
}
274274
}
275275

app/js/Server.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ var Server = {
5151

5252
status: function (callback) {
5353
Server.ajaxGet('/status', callback);
54-
Data.state.lastPollTs = Date.now();
54+
Data.state.lastPollTs = moment().unix();
5555
},
5656

5757
joinFleet: function (fleetKey, callback) {

app/js/client/Main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,6 @@ function log(message) {
6161
});
6262

6363
} else if (Data.config.log === 'console') {
64-
console.log('[' + Date.now() + '] - ' + message)
64+
console.log('[' + moment().unix() + '] - ' + message)
6565
}
6666
};

lib/controllers/fleet.js

Lines changed: 73 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -290,15 +290,82 @@ exports.update_status = function(req, res, next){
290290
console.log(error)
291291
return response.error(res, 'report', 'Error reporting status: ' + error);
292292
})
293-
.done(function() {
294-
295-
296-
});
293+
.done();
297294
}
298295
};
299296

300-
exports.add_scan = function(req, res, next){
301-
response.success(res, []);
297+
exports.add_scan = function(req, res, next) {
298+
299+
Member.findOneQ({key: req.session.memberKey})
300+
.then(function(reporter) {
301+
var scan = Scan.prepare(reporter.fleetKey, reporter, req.body.scanData);
302+
303+
if (!scan.shipTypes.length) return response.error(res, 'report', 'Invalid scan data.');
304+
if (!scan.shipClasses.length) return response.error(res, 'report', 'Invalid scan data.');
305+
306+
var event = Event.prepare('scanPosted', reporter.fleetKey, scan);
307+
scan.saveQ();
308+
event.saveQ();
309+
310+
return response.success(res);
311+
})
312+
.catch(function(error) {
313+
console.log(error)
314+
return response.error(res, 'report', 'Error reporting scan: ' + error);
315+
})
316+
.done();
317+
318+
// var checkScanDataIntegrity = function (scan) {
319+
// var shipQty = 0;
320+
//
321+
// for (var index in scan) {
322+
// if (!typeof(scan) === 'object'
323+
// || (!scan[index].shipType && !scan[index].shipClass)
324+
// || !scan[index].count
325+
// || !scan[index].details
326+
// || !typeof scan[index].details === 'object') {
327+
//
328+
// return false;
329+
// }
330+
//
331+
// for (var detailIndex in scan[index].details) {
332+
// if (!scan[index].details[detailIndex].distance
333+
// || !scan[index].details[detailIndex].shipName) {
334+
//
335+
// return false;
336+
// }
337+
// shipQty++;
338+
// }
339+
// }
340+
//
341+
// return !(shipQty > settings.scanMaxShips || shipQty < settings.scanMinShips);
342+
// };
343+
//
344+
// pub.run = function (req, res) {
345+
// logger.processing(req);
346+
//
347+
// var scanData = req.body.scanData;
348+
// if ( !scanData
349+
// || !checkScanDataIntegrity(scanData.types)
350+
// || !checkScanDataIntegrity(scanData.classes) ) {
351+
// return errorResponse.respond(req, res, 'scan', 'Invalid scan data.');
352+
// }
353+
//
354+
// scanService.addAndGet(headerParser.parse(req), scanData, req.session.fleetKey, function (error, scan) {
355+
// if (error) return errorResponse.respond(req, res, 'scan', 'Unable to add scan');
356+
//
357+
// memberService.getByKey(req.session.memberKey, function (error, member) {
358+
// if (error) return errorResponse.respond(req, res, 'member', 'Error fetching member');
359+
//
360+
// eventService.addAndGet('scanPosted', scan, req.session.fleetKey, function (error, event) {
361+
// successResponse.respond(res);
362+
// });
363+
// });
364+
// });
365+
// };
366+
//
367+
// return pub;
368+
302369
};
303370

304371
exports.add_report = function(req, res, next){

lib/middleware/checks.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ exports.request_size = function (req, res, next) {
2626
};
2727

2828
exports.for_existing_fleet = function(req) {
29-
return !!(req.fleet || req.session.fleet || req.session.fleetKey || req.session.memberKey);
29+
return !!(req.session.fleetKey || req.session.memberKey);
3030
};
3131

3232
exports.static_rewrite = function (req, res, next) {

lib/models/scan.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,20 @@ var ScanSchema = new Schema({
1313
systemId: Number,
1414
systemName: String,
1515

16-
shipTypes: Schema.Types.Mixed,
17-
shipClasses: Schema.Types.Mixed
16+
shipTypes: [ Schema.Types.Mixed ],
17+
shipClasses: [ Schema.Types.Mixed ]
1818
});
1919

20+
ScanSchema.statics.prepare = function prepare(fleetKey, reporter, scan) {
21+
return new this({
22+
fleetKey: fleetKey,
23+
reporterId: reporter.characterId,
24+
reporterName: reporter.characterName,
25+
systemId: reporter.systemId,
26+
systemName: reporter.systemName,
27+
shipTypes: scan.types || [],
28+
shipClasses: scan.classes || []
29+
});
30+
};
31+
2032
module.exports = mongoose.model('Scan', ScanSchema);

test/fixtures/scan-data.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"scanData": {
3+
"classes": [
4+
{ "shipClass": "frigate",
5+
"count": "1",
6+
"details": [
7+
{ "distance": "7 729 m",
8+
"shipClass": "Magnate",
9+
"shipName": "Gerius Semah Magnate"
10+
}
11+
]
12+
},
13+
{ "shipClass": "freighter",
14+
"count": "1",
15+
"details": [
16+
{ "distance": "11 km",
17+
"shipClass": "Fenrir",
18+
"shipName": "KOPbITO"
19+
}
20+
]
21+
}
22+
],
23+
"types": [
24+
{ "shipType": "Magnate",
25+
"count": "1",
26+
"details": [
27+
{ "distance": "7 729 m",
28+
"shipClass": "Magnate",
29+
"shipName": "Gerius Semah Magnate"
30+
}
31+
]
32+
},
33+
{ "shipType": "Fenrir",
34+
"count": "1",
35+
"details": [
36+
{ "distance": "11 km",
37+
"shipClass": "Fenrir",
38+
"shipName": "KOPbITO"
39+
}
40+
]
41+
}
42+
]
43+
}
44+
}

0 commit comments

Comments
 (0)