r1299 - in wit/js: components services
Author: smaisonneuve Date: 2015-04-29 15:03:16 +0000 (Wed, 29 Apr 2015) New Revision: 1299 Url: http://forge.nuiton.org/projects/sandbox/repository/revisions/1299 Log: [Wit] - Database : revert converters (perf issue) Modified: wit/js/components/FilterLogs.js wit/js/services/database.js Modified: wit/js/components/FilterLogs.js =================================================================== --- wit/js/components/FilterLogs.js 2015-04-29 14:29:57 UTC (rev 1298) +++ wit/js/components/FilterLogs.js 2015-04-29 15:03:16 UTC (rev 1299) @@ -90,7 +90,7 @@ nextProps.data.forEach(function(log) { var date = moment(log.startDate).format("MM/DD/YY"); - var diff = moment(log.endDate.diff(log.startDate)).utcOffset(0); + var diff = moment(moment(log.endDate).diff(log.startDate)).utcOffset(0); var current = state[date] = state[date] || {}; log.tags.forEach(function(tag) { Modified: wit/js/services/database.js =================================================================== --- wit/js/services/database.js 2015-04-29 14:29:57 UTC (rev 1298) +++ wit/js/services/database.js 2015-04-29 15:03:16 UTC (rev 1299) @@ -43,26 +43,23 @@ */ exports.searchLogs = function(tags, startDate, endDate, truncate) { var query = {}; - var m1 = startDate && moment(startDate), - m2 = endDate && moment(endDate); + var t1 = startDate && moment(startDate).valueOf(), + t2 = endDate && moment(endDate).valueOf(); if (tags) { query.tags = { $in: tags }; } - if (m1) { query.endDate = { $gte : m1.valueOf() }; } - if (m2) { query.startDate = { $lte: m2.valueOf() }; } + if (t1) { query.endDate = { $gte : t1 }; } + if (t2) { query.startDate = { $lte: t2 }; } return new Promise(function(resolve, reject) { db.logs.find(query).sort({ startDate: -1 }).exec(function(err, docs) { if (!err) { - // Process results : - // - convert timestamp to moment (easier to use) // - tuncate periods to fit search dates params if required - - _convertLogs(docs); - if (truncate && docs.length) { - _normalize(docs[0], m1, m2); - _normalize(docs[docs.length - 1], m1, m2); + if (truncate) { + docs.forEach(function (d) { + _normalize(d, t1, t2); + }); } resolve(docs); @@ -78,7 +75,7 @@ return new Promise(function(resolve, reject) { db.logs.find({}).sort({ startDate: -1 }).skip(index).limit(1).exec(function (err, docs) { if (!err) { - resolve(_convertLogs(docs)); + resolve(docs); } else { reject(err); } @@ -158,26 +155,13 @@ /************ * Utilities ************/ -var _convertLogs = function (docs) { - return docs.forEach(function (d) { - d.startDate = moment(d.startDate); - d.endDate = moment(d.endDate); - }); -}; - -var _normalize = function (period, startDate, endDate) { - var pStartDate = period.startDate && moment(period.startDate), - pEndDate = period.endDate && moment(period.endDate); - - var m1 = startDate && moment(startDate), - m2 = endDate && moment(endDate); - - if (m1 && pStartDate && pStartDate.isBefore(m1)) { - period.startDate = m1; +var _normalize = function (period, tstmpStart, tstmpEnd) { + if (period.startDate < tstmpStart) { + period.startDate = tstmpStart; } - if (m2 && pEndDate && pEndDate.isAfter(m2)) { - period.endDate = m2; + if (period.endDate > tstmpEnd) { + period.endDate = tstmpEnd; } return period;
participants (1)
-
smaisonneuveďź users.nuiton.org