Make push follow controller and adapter style
This commit is contained in:
25
src/index.js
25
src/index.js
@@ -5,7 +5,6 @@ var batch = require('./batch'),
|
||||
cache = require('./cache'),
|
||||
DatabaseAdapter = require('./DatabaseAdapter'),
|
||||
express = require('express'),
|
||||
PushAdapter = require('./Adapters/Push/PushAdapter'),
|
||||
middlewares = require('./middlewares'),
|
||||
multer = require('multer'),
|
||||
Parse = require('parse/node').Parse,
|
||||
@@ -14,9 +13,12 @@ var batch = require('./batch'),
|
||||
|
||||
import { GridStoreAdapter } from './Adapters/Files/GridStoreAdapter';
|
||||
import { S3Adapter } from './Adapters/Files/S3Adapter';
|
||||
|
||||
import { FilesController } from './Controllers/FilesController';
|
||||
|
||||
import ParsePushAdapter from './Adapters/Push/ParsePushAdapter';
|
||||
import { PushController } from './Controllers/PushController';
|
||||
|
||||
|
||||
// Mutate the Parse object to add the Cloud Code handlers
|
||||
addParseCloud();
|
||||
|
||||
@@ -42,6 +44,8 @@ addParseCloud();
|
||||
// "dotNetKey": optional key from Parse dashboard
|
||||
// "restAPIKey": optional key from Parse dashboard
|
||||
// "javascriptKey": optional key from Parse dashboard
|
||||
// "push": optional key from configure push
|
||||
|
||||
function ParseServer(args) {
|
||||
if (!args.appId || !args.masterKey) {
|
||||
throw 'You must provide an appId and masterKey!';
|
||||
@@ -51,8 +55,18 @@ function ParseServer(args) {
|
||||
DatabaseAdapter.setAdapter(args.databaseAdapter);
|
||||
}
|
||||
|
||||
// Make files adapter
|
||||
let filesAdapter = args.filesAdapter || new GridStoreAdapter();
|
||||
|
||||
// Make push adapter
|
||||
let pushConfig = args.push;
|
||||
let pushAdapter;
|
||||
if (pushConfig && pushConfig.adapter) {
|
||||
pushAdapter = pushConfig.adapter;
|
||||
} else if (pushConfig) {
|
||||
pushAdapter = new ParsePushAdapter(pushConfig)
|
||||
}
|
||||
|
||||
if (args.databaseURI) {
|
||||
DatabaseAdapter.setAppDatabaseURI(args.appId, args.databaseURI);
|
||||
}
|
||||
@@ -87,10 +101,6 @@ function ParseServer(args) {
|
||||
cache.apps[args.appId]['facebookAppIds'].push(process.env.FACEBOOK_APP_ID);
|
||||
}
|
||||
|
||||
// Register push senders
|
||||
var pushConfig = args.push;
|
||||
PushAdapter.getAdapter().initialize(pushConfig);
|
||||
|
||||
// Initialize the node client SDK automatically
|
||||
Parse.initialize(args.appId, args.javascriptKey || '', args.masterKey);
|
||||
if(args.serverURL) {
|
||||
@@ -122,13 +132,14 @@ function ParseServer(args) {
|
||||
router.merge(require('./sessions'));
|
||||
router.merge(require('./roles'));
|
||||
router.merge(require('./analytics'));
|
||||
router.merge(require('./push').router);
|
||||
router.merge(require('./installations'));
|
||||
router.merge(require('./functions'));
|
||||
router.merge(require('./schemas'));
|
||||
if (process.env.PARSE_EXPERIMENTAL_CONFIG_ENABLED || process.env.TESTING) {
|
||||
router.merge(require('./global_config'));
|
||||
}
|
||||
let pushController = new PushController(pushAdapter);
|
||||
router.merge(pushController.getExpressRouter());
|
||||
|
||||
batch.mountOnto(router);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user