summaryrefslogtreecommitdiff
path: root/app/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/index.js')
-rw-r--r--app/index.js50
1 files changed, 33 insertions, 17 deletions
diff --git a/app/index.js b/app/index.js
index 1a8f97e..48e713a 100644
--- a/app/index.js
+++ b/app/index.js
@@ -15,6 +15,7 @@ var OKServer = require('okserver');
var OKSchema = require('okschema');
var OKS3Service = require('okservices/oks3');
var OKTwitterService = require('okservices/oktwitter')
+var OKWebhookService = require('okservices/okwebhook')
require('dotenv').load();
@@ -94,19 +95,37 @@ 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
+ case 'webhook':
+ services.webhook = OKWebhookService({
+ express: express,
+ config: config,
+ });
+ break
+ default:
+ services[key] = config.lib({
+ db: resourceCache,
+ express: express,
+ config: config,
+ });
+ break
+ }
+ });
var server = this._server = new OKServer({
express: express,
@@ -117,10 +136,7 @@ function OKCMS(options) {
root: root,
adminRoot: adminRoot,
adminPath: adminPath,
- services: {
- s3: s3Service,
- twitter: twitterService,
- },
+ services: services,
errorHandler: errorHandler
});
}