Changeset 525 for Dev/trunk/src/server/config/check-couchdb.js
- Timestamp:
- 03/19/14 21:33:13 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Dev/trunk/src/server/config/check-couchdb.js
r492 r525 1 var Q = require('q')2 , _ = require('underscore')1 var _ = require('underscore') 2 , HTTPResult = require('../util/http-result') 3 3 , validator = require('../util/validator') 4 , CouchDB = require('../util/couch').CouchDB 4 , CouchDB = require('../util/couch') 5 , objF = require('../util/object') 5 6 ; 6 7 … … 10 11 var server = new CouchDB(couchServerURL,dbName); 11 12 var designRe = /^_design\//; 12 13 var codes = {};14 function codeUnique(code) {15 if ( code in codes ) {16 return false;17 } else {18 codes[code] = true;19 return true;20 }21 }22 13 23 14 return server.get('/_all_docs') … … 32 23 .then(function(doc){ 33 24 var valid = validator(doc,schema); 34 if ( doc.type === "Question" && !codeUnique(doc.code) ) {35 valid.valid = false;36 valid.error = "Question code "+doc.code+" is not unique.";37 }38 25 result[doc._id] = valid; 39 26 return result; 40 27 }); 41 28 }); 42 }, Q.resolve({}))29 }, new HTTPResult(200,{})) 43 30 .value(); 44 }).all(); 31 }).then(function(result){ 32 return server.get('_design/questions/_view/all_variables') 33 .then(function(variables){ 34 var dups = objF.findDuplicates( 35 variables.rows, 36 function(row){ return row.key; }); 37 result._duplicateVariables = _.groupBy( 38 dups, 39 function(dup){ return dup.key; }); 40 return result; 41 }); 42 }); 45 43 };
Note: See TracChangeset
for help on using the changeset viewer.