define(['jquery', 'backbone', 'underscore'],
function($, Backbone, _) {
'use strict';
return Backbone.Model.extend({
defaults: {
speed: 0,
linkstotal: 0,
linksqueue: 0,
sizetotal: 0,
sizequeue: 0,
notifications: -1,
paused: false,
download: false,
reconnect: false
},
// Model Constructor
initialize: function() {
},
fetch: function(options) {
options || (options = {});
options.url = 'api/getServerStatus';
return Backbone.Model.prototype.fetch.call(this, options);
},
toJSON: function(options) {
var obj = Backbone.Model.prototype.toJSON.call(this, options);
obj.linksdone = obj.linkstotal - obj.linksqueue;
obj.sizedone = obj.sizetotal - obj.sizequeue;
if (obj.speed && obj.speed > 0)
obj.eta = Math.round(obj.sizequeue / obj.speed);
else if (obj.sizequeue > 0)
obj.eta = Infinity;
else
obj.eta = 0;
return obj;
}
});
});