var env = require('../env') , upgradeCouch = require('../config/upgrade-couchdb') , cryptoken = require('../util/crypto-token') , HTTPResult = require('../util/http-result') , _ = require('underscore') ; var rewrites = { SurveyRun: function(doc) { rewriteDate(doc,'publicationDate'); rewriteDate(doc,'startDate'); rewriteDate(doc,'endDate'); rewriteDoc(doc.survey); return doc; }, Survey: function(doc) { rewriteDate(doc,'publicationDate'); _.each(doc.questions,rewriteDoc); return doc; }, Question: function(doc) { rewriteDate(doc,'publicationDate'); return doc; }, Response: function(doc) { rewriteDate(doc,'publicationDate'); return doc; } }; function rewriteDate(doc,field) { if ( field in doc ) { doc[field] = new Date(doc[field]).toISOString(); return true; } else { return false; } } function rewriteDoc(doc) { if ( doc.type in rewrites ) { return rewrites[doc.type](doc); } else { return HTTPResult.fail(); } } upgradeCouch(env.couchServerURL,env.dbName,rewriteDoc) .then(function(res){ console.log("done",res); }, function(err){ console.error("fail",err); });