summaryrefslogtreecommitdiff
path: root/app/index.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2016-04-14 14:17:00 -0400
committerJules Laplace <jules@okfoc.us>2016-04-14 14:17:00 -0400
commit5922279561c1998a3e158c26f951348f4c031928 (patch)
tree32954fd378a6436edd7a9c5bb24a5ed82a006411 /app/index.js
parentfa343212514f1e6f975e5cf5957e440555afb815 (diff)
support adding custom services per-project
Diffstat (limited to 'app/index.js')
-rw-r--r--app/index.js42
1 files changed, 25 insertions, 17 deletions
diff --git a/app/index.js b/app/index.js
index 1a8f97e..7fd88f4 100644
--- a/app/index.js
+++ b/app/index.js
@@ -94,19 +94,30 @@ function OKCMS(options) {
errorHandler);
// Create services
- if (serviceConfig.s3) {
- var s3Service = OKS3Service({
- express: express,
- s3: serviceConfig.s3,
- });
- }
-
- if (serviceConfig.twitter) {
- var twitterService = OKTwitterService({
- express: express,
- credentials: serviceConfig.twitter,
- })
- }
+ var services = {}
+ Object.keys(serviceConfig).forEach(function(key){
+ var config = serviceConfig[key]
+ switch (key) {
+ case 's3':
+ services.s3 = OKS3Service({
+ express: express,
+ s3: config,
+ });
+ break
+ case 'twitter':
+ services.twitter = OKTwitterService({
+ express: express,
+ credentials: config,
+ });
+ break
+ default:
+ services[key] = config.lib({
+ express: express,
+ config: config,
+ });
+ break
+ }
+ });
var server = this._server = new OKServer({
express: express,
@@ -117,10 +128,7 @@ function OKCMS(options) {
root: root,
adminRoot: adminRoot,
adminPath: adminPath,
- services: {
- s3: s3Service,
- twitter: twitterService,
- },
+ services: services,
errorHandler: errorHandler
});
}