summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Fridman <fridman@mail.sfsu.edu>2015-04-07 12:36:29 -0400
committerSean Fridman <fridman@mail.sfsu.edu>2015-04-07 12:36:29 -0400
commitfc044bfa9a98e49ab2ba6e782d4df7470d082683 (patch)
tree9e440acee9784741b11d4d6d96ce43daee030de6
parent21167ce88ea4ad594d213d3a49115f0ebbaed745 (diff)
Add admin configuration
-rw-r--r--app/index.js14
-rw-r--r--app/node_modules/okdb/index.js8
-rw-r--r--app/node_modules/okserver/index.js9
3 files changed, 27 insertions, 4 deletions
diff --git a/app/index.js b/app/index.js
index b8a3333..c8dceb5 100644
--- a/app/index.js
+++ b/app/index.js
@@ -25,6 +25,13 @@ function OKCMS(options) {
app.enable('strict routing');
var root = this._root = options.root || 'public';
+ var adminConfig = options.admin || {};
+ var adminRoot = this._adminRoot = adminConfig.root ||
+ path.join(__dirname, '../themes/okadmin/public');
+ var adminPath = this._adminPath = adminConfig.path || '/_admin'
+ var templateRoot = options.templateRoot || 'templates';
+ var adminTemplateRoot = options.templateRoot ||
+ path.join(__dirname, '../themes/okadmin/templates');
var schemaConfig = options.schemas || {};
var resourceConfig = options.resources || [];
@@ -34,11 +41,13 @@ function OKCMS(options) {
var templateProvider = this._templateProvider =
new OKTemplate({root: templateRoot});
+ var adminTemplateProvider = this._adminTemplateProvider =
+ new OKTemplate({root: adminTemplateRoot});
var db = new OKDB(options.db || 'fs');
// Special query to get project wide meta data
var meta = this._meta = {
- name: 'meta',
+ type: 'meta',
get: function() {
return db.getMeta();
}
@@ -55,7 +64,8 @@ function OKCMS(options) {
app: app,
views: views,
root: root,
- adminRoot: adminRoot
+ adminRoot: adminRoot,
+ adminPath: adminPath
});
}
diff --git a/app/node_modules/okdb/index.js b/app/node_modules/okdb/index.js
index cf670c1..6c01df0 100644
--- a/app/node_modules/okdb/index.js
+++ b/app/node_modules/okdb/index.js
@@ -37,9 +37,13 @@ function FSDB(options) {
this._db = low(filename);
}
-FSDB.prototype._resolve = function(data) {
+FSDB.prototype._resolve = function(data, success) {
+ success = typeof success === 'undefined' ? true : success;
return Q.Promise(function resolvePromise(resolve, reject) {
- resolve(data);
+ if (success)
+ resolve(data);
+ else
+ reject(data);
});
};
diff --git a/app/node_modules/okserver/index.js b/app/node_modules/okserver/index.js
index 6c19a9b..ba4dd46 100644
--- a/app/node_modules/okserver/index.js
+++ b/app/node_modules/okserver/index.js
@@ -10,6 +10,15 @@ function OKServer(options) {
throw new Error('No Express app provided to OKServer')
if (!options.views)
throw new Error('No views provided to OKServer');
+ if (!options.root)
+ throw new Error('No app root directory provided to OKServer');
+ if (!options.adminRoot)
+ throw new Error('No admin root directory provided to OKServer');
+ if (!options.adminPath)
+ throw new Error('No admin path provided to OKServer');
+ var root = options.root;
+ var adminRoot = options.adminRoot;
+ var adminPath = options.adminPath;
var views = options.views;
var express = options.express;
var app = this._app = options.app;