diff --git a/lib/db/mysql.js b/lib/db/mysql.js index c95a5d29..3005b2f2 100644 --- a/lib/db/mysql.js +++ b/lib/db/mysql.js @@ -57,7 +57,7 @@ module.exports = utils.inherit(Object, { }, setBinUser: function (params, fn) { var sql = templates.setBinForUser, - values = [params.name, params.url, params.revision, new Date()]; + values = [params.name, params.url, params.revision, new Date(), params.summary]; // TODO: Re-factor common callbacks into helpers. this.connection.query(sql, values, function (err, result) { @@ -232,7 +232,7 @@ module.exports = utils.inherit(Object, { }); }, touchOwnership: function (params, fn) { - var values = [new Date(), params.name, params.url, params.revision]; + var values = [new Date(), params.summary, params.name, params.url, params.revision]; this.connection.query(templates.touchOwnership, values, function (err, result) { if (err || !result.affectedRows) { @@ -339,7 +339,7 @@ module.exports = utils.inherit(Object, { bin.active = bin.active === 'y'; - if (isNaN(bin.created.getTime())) bin.created = new Date('2012-07-23 00:00:00'); + if (!bin.created || isNaN(bin.created.getTime())) bin.created = new Date('2012-07-23 00:00:00'); try { bin.settings = JSON.parse(bin.settings || '{}'); diff --git a/lib/handlers/bin.js b/lib/handlers/bin.js index ee558694..51c65011 100644 --- a/lib/handlers/bin.js +++ b/lib/handlers/bin.js @@ -236,6 +236,7 @@ module.exports = Observable.extend({ params = utils.extract(req.body, 'html', 'css', 'javascript', 'settings'); params.url = req.bin.url; params.revision = req.bin.revision + 1; + params.summary = utils.titleForBin(params); this.validateBin(params, function (err) { if (err) { @@ -256,6 +257,7 @@ module.exports = Observable.extend({ params.revision = req.param('revision'); params.url = req.param('code'); params.settings = req.param('settings'); + params.summary = utils.titleForBin(params); this.validateBin(params, function (err) { if (err) { @@ -310,6 +312,8 @@ module.exports = Observable.extend({ completeCreateBin: function (bin, req, res, next) { var _this = this; + bin.summary = utils.titleForBin(bin); + function render() { _this.emit('created', req.bin); _this.renderCreated(req, res, bin); diff --git a/lib/models/user.js b/lib/models/user.js index 50412e9b..ea65a9b6 100644 --- a/lib/models/user.js +++ b/lib/models/user.js @@ -54,14 +54,14 @@ module.exports = Observable.extend({ this.store.getBinsByUser(id, fn); }, assignBin: function (id, bin, fn) { - var params = {name: id, url: bin.url, revision: bin.revision}; + var params = {name: id, url: bin.url, revision: bin.revision, summary: bin.summary}; this.store.setBinUser(params, fn); }, touchLogin: function (id, fn) { this.store.touchLogin(id, fn); }, touchOwnership: function (id, bin, fn) { - var params = {name: id, url: bin.url, revision: bin.revision}; + var params = {name: id, url: bin.url, revision: bin.revision, summary: bin.summary}; this.store.touchOwnership(params, fn); }, valid: function (key, encrypted, fn) {