Changeset 519 for Dev/trunk/src/server
- Timestamp:
- 03/15/14 01:00:23 (11 years ago)
- Location:
- Dev/trunk/src/server
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
Dev/trunk/src/server/app.js
r508 r519 14 14 ; 15 15 16 function assertSetting(name, settings, validate) { 17 if ( typeof settings[name] === 'undefined' ) { 18 throw new Error("Required setting '"+name+"' undefined."); 19 } 20 if ( _.isFunction(validate) && !validate(settings[name]) ) { 21 throw new Error("Setting '"+name+"' with value '"+settings[name]+"' is invalid."); 22 } 23 } 24 25 exports.App = function(settings) { 26 27 assertSetting("couchServerURL", settings, _.isString); 28 assertSetting("dbName", settings, _.isString); 29 var couch = new CouchDB(settings.couchServerURL,settings.dbName); 16 exports.App = function(env) { 17 18 assertSetting("couchServerURL", env, _.isString); 19 assertSetting("dbName", env, _.isString); 20 assertSetting("mode", env, _.isString); 21 var couch = new CouchDB(env.couchServerURL,env.dbName); 30 22 31 23 var schema = require("./config/couchdb-schema.json"); … … 35 27 throw new Error(msg); 36 28 } 37 return configureApp( settings,couch,schema);29 return configureApp(env,couch,schema); 38 30 }); 39 31 40 32 }; 41 33 42 function configureApp( settings,couch,schema) {34 function configureApp(env,couch,schema) { 43 35 44 36 function clientPath(relativePath) { … … 46 38 } 47 39 48 passport.use(new passportLocal.Strategy(function(username, password, done){ 49 if ( username === "igor" && password === "mayer" ) { 50 done(null,{ username: "igor" }); 51 } else { 52 done(null,false,{ message: 'Invalid credentials.' }); 53 } 54 })); 40 passport.use( 41 new passportLocal.Strategy( 42 function(username, password, done){ 43 if ( username === "igor" && password === "mayer" ) { 44 done(null,{ username: "igor" }); 45 } else { 46 done(null,false,{ message: 'Invalid credentials.' }); 47 } 48 })); 55 49 passport.serializeUser(function(user, done) { 56 50 done(null, user.username); … … 952 946 }); 953 947 948 app.get('/api/mode', 949 ensureMIME(JSON_MIME), 950 function(req,res){ 951 res.send({mode:env.mode}); 952 }); 953 954 954 955 return app; 955 956 } … … 991 992 return result; 992 993 } 994 995 function assertSetting(name, settings, validate) { 996 if ( typeof settings[name] === 'undefined' ) { 997 throw new Error("Required setting '"+name+"' undefined."); 998 } 999 if ( _.isFunction(validate) && !validate(settings[name]) ) { 1000 throw new Error("Setting '"+name+"' with value '"+settings[name]+"' is invalid."); 1001 } 1002 } -
Dev/trunk/src/server/bin/check-db.js
r487 r519 2 2 , checkCouch = require('../config/check-couchdb') 3 3 ; 4 console.log("Running on",env.couchServerURL+env.dbName); 4 5 checkCouch(env.couchServerURL,env.dbName) 5 6 .then(function(res){ -
Dev/trunk/src/server/bin/config-db-for-upgrade.js
r487 r519 3 3 , designDocs = require('../config/couchdb-upgrade-design-docs') 4 4 ; 5 console.log("Running on",env.couchServerURL+env.dbName); 5 6 configCouch(env.couchServerURL,env.dbName,designDocs) 6 7 .then(function(res){ -
Dev/trunk/src/server/bin/config-db.js
r487 r519 3 3 , designDocs = require('../config/couchdb-design-docs') 4 4 ; 5 console.log("Running on",env.couchServerURL+env.dbName); 5 6 configCouch(env.couchServerURL,env.dbName,designDocs) 6 7 .then(function(res){ -
Dev/trunk/src/server/bin/heroku.js
r487 r519 1 1 var env = require('../env') 2 2 , configCouch = require('../config/config-couchdb') 3 , designDocs = require('../config/co nfig-couchdb')3 , designDocs = require('../config/couchdb-design-docs') 4 4 ; 5 5 6 console.log("Running on",env.couchServerURL );6 console.log("Running on",env.couchServerURL+env.dbName); 7 7 8 require('../app').App({ 9 couchServerURL: env.couchServerURL, 10 dbName: env.dbName 11 }).then(function(app){ 8 require('../app').App(env) 9 .then(function(app){ 12 10 configCouch(env.couchServerURL,env.dbName,designDocs); 13 11 return app; -
Dev/trunk/src/server/config/config-couchdb.js
r487 r519 20 20 } 21 21 }).then(function(res){ 22 console.log("Checking database ' qed'");23 return server.get( 'qed')22 console.log("Checking database '"+dbName+"'"); 23 return server.get(dbName) 24 24 .then(function(db){ 25 console.log("Database 'qed'found.");25 console.log("Database found."); 26 26 },function(err){ 27 console.log("Creating database 'qed'");28 return server.put( 'qed');27 console.log("Creating database."); 28 return server.put(dbName); 29 29 }); 30 30 }).then(function(){ … … 34 34 var configAction = doc.__configAction || "replace"; 35 35 delete doc.__configAction; 36 docUrl = dbName+'/'+docUrl; 36 37 switch (configAction) { 37 38 case "ignore": -
Dev/trunk/src/server/config/couchdb-design-docs.js
r516 r519 1 1 module.exports = { 2 2 3 "_users/qed_admin": { 4 __configAction: "ignore", 5 _id: "org.couchdb.user:qed_admin", 6 name: "qed_admin", 7 password: "Welkom01", 8 roles: [ "qed_admin" ], 9 type: "user" 10 }, 11 12 "qed/schemaInfo": { 3 "schemaInfo": { 4 _id: "schemaInfo", 13 5 version: "4" 14 6 }, 15 7 16 "qed/_security": { 17 __configAction: "ignore", 18 admins: { 19 names: [], 20 roles: ["qed_admin"] 21 }, 22 readers: { 23 names: [], 24 roles: ["qed_user"] 25 } 26 }, 27 28 "qed/_design/protectPublished": { 8 "_design/protectPublished": { 29 9 __configAction: "replace", 30 _id: "_design/protectPublished",31 10 language: "javascript", 32 11 validate_doc_update: function(newDoc, oldDoc, userCtx, secObj) { … … 37 16 }, 38 17 39 " qed/_design/default": {18 "_design/default": { 40 19 __configAction: "replace", 41 _id: "_design/default",42 20 language: "javascript", 43 21 views: { … … 57 35 }, 58 36 59 " qed/_design/questions": {37 "_design/questions": { 60 38 __configAction: "replace", 61 _id: "_design/questions",62 39 language: "javascript", 63 40 views: { … … 117 94 }, 118 95 119 " qed/_design/surveys": {96 "_design/surveys": { 120 97 __configAction: "replace", 121 _id: "_design/surveys",122 98 language: "javascript", 123 99 views: { … … 137 113 }, 138 114 139 " qed/_design/surveyRuns": {115 "_design/surveyRuns": { 140 116 __configAction: "replace", 141 _id: "_design/surveys",142 117 language: "javascript", 143 118 views: { … … 153 128 }, 154 129 155 " qed/_design/responses": {130 "_design/responses": { 156 131 __configAction: "replace", 157 _id: "_design/responses",158 132 language: "javascript", 159 133 views: { -
Dev/trunk/src/server/config/couchdb-upgrade-design-docs.js
r516 r519 1 1 module.exports = { 2 2 3 " qed/schemaInfo": {3 "schemaInfo": { 4 4 version: "-1" 5 5 }, 6 6 7 "qed/_design/protectPublished": { 8 __configAction: "replace", 9 _id: "_design/protectPublished" 7 "_design/protectPublished": { 8 __configAction: "replace" 10 9 } 11 10 -
Dev/trunk/src/server/env.js
r487 r519 1 var couchServerURL = (process.env.CLOUDANT_URL || 'http://localhost:5984')+'/'; 1 var dbNames = { 2 dev: 'qed-dev', 3 production: 'qed' 4 }; 5 var mode = process.env.QED_ENV || 'dev'; 6 if ( !( mode in dbNames ) ) { 7 throw new Error("Unknown environment "+mode); 8 } 2 9 module.exports = { 3 10 port: process.env.PORT || 5000, 4 couchServerURL: couchServerURL, 5 dbName: 'qed' 11 couchServerURL: (process.env.CLOUDANT_URL || 'http://localhost:5984')+'/', 12 dbName: dbNames[mode], 13 mode: mode 6 14 };
Note: See TracChangeset
for help on using the changeset viewer.