Require a server URL
This commit is contained in:
@@ -2,8 +2,9 @@ var request = require('request');
|
|||||||
|
|
||||||
describe('server', () => {
|
describe('server', () => {
|
||||||
it('requires a master key and app id', done => {
|
it('requires a master key and app id', done => {
|
||||||
expect(setServerConfiguration.bind(undefined, { masterKey: 'mykey' })).toThrow('You must provide an appId and masterKey!');
|
expect(setServerConfiguration.bind(undefined, { })).toThrow('You must provide an appId!');
|
||||||
expect(setServerConfiguration.bind(undefined, { appId: 'myId' })).toThrow('You must provide an appId and masterKey!');
|
expect(setServerConfiguration.bind(undefined, { appId: 'myId' })).toThrow('You must provide a masterKey!');
|
||||||
|
expect(setServerConfiguration.bind(undefined, { appId: 'myId', masterKey: 'mk' })).toThrow('You must provide a serverURL!');
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
25
src/index.js
25
src/index.js
@@ -11,7 +11,7 @@ var batch = require('./batch'),
|
|||||||
multer = require('multer'),
|
multer = require('multer'),
|
||||||
Parse = require('parse/node').Parse,
|
Parse = require('parse/node').Parse,
|
||||||
httpRequest = require('./httpRequest');
|
httpRequest = require('./httpRequest');
|
||||||
|
|
||||||
import PromiseRouter from './PromiseRouter';
|
import PromiseRouter from './PromiseRouter';
|
||||||
import { GridStoreAdapter } from './Adapters/Files/GridStoreAdapter';
|
import { GridStoreAdapter } from './Adapters/Files/GridStoreAdapter';
|
||||||
import { S3Adapter } from './Adapters/Files/S3Adapter';
|
import { S3Adapter } from './Adapters/Files/S3Adapter';
|
||||||
@@ -31,12 +31,13 @@ import { SchemasRouter } from './Routers/SchemasRouter';
|
|||||||
import { IAPValidationRouter } from './Routers/IAPValidationRouter';
|
import { IAPValidationRouter } from './Routers/IAPValidationRouter';
|
||||||
import { PushRouter } from './Routers/PushRouter';
|
import { PushRouter } from './Routers/PushRouter';
|
||||||
import { FilesRouter } from './Routers/FilesRouter';
|
import { FilesRouter } from './Routers/FilesRouter';
|
||||||
import { LogsRouter } from './Routers/LogsRouter';
|
import { LogsRouter } from './Routers/LogsRouter';
|
||||||
|
|
||||||
import { loadAdapter } from './Adapters/AdapterLoader';
|
import { loadAdapter } from './Adapters/AdapterLoader';
|
||||||
import { FileLoggerAdapter } from './Adapters/Logger/FileLoggerAdapter';
|
import { FileLoggerAdapter } from './Adapters/Logger/FileLoggerAdapter';
|
||||||
import { LoggerController } from './Controllers/LoggerController';
|
import { LoggerController } from './Controllers/LoggerController';
|
||||||
|
|
||||||
|
import requiredParameter from './requiredParameter';
|
||||||
// Mutate the Parse object to add the Cloud Code handlers
|
// Mutate the Parse object to add the Cloud Code handlers
|
||||||
addParseCloud();
|
addParseCloud();
|
||||||
|
|
||||||
@@ -65,8 +66,8 @@ addParseCloud();
|
|||||||
// "push": optional key from configure push
|
// "push": optional key from configure push
|
||||||
|
|
||||||
function ParseServer({
|
function ParseServer({
|
||||||
appId,
|
appId = requiredParameter('You must provide an appId!'),
|
||||||
masterKey,
|
masterKey = requiredParameter('You must provide a masterKey!'),
|
||||||
databaseAdapter,
|
databaseAdapter,
|
||||||
filesAdapter,
|
filesAdapter,
|
||||||
push,
|
push,
|
||||||
@@ -82,13 +83,9 @@ function ParseServer({
|
|||||||
facebookAppIds = [],
|
facebookAppIds = [],
|
||||||
enableAnonymousUsers = true,
|
enableAnonymousUsers = true,
|
||||||
oauth = {},
|
oauth = {},
|
||||||
serverURL = '',
|
serverURL = requiredParameter('You must provide a serverURL!'),
|
||||||
maxUploadSize = '20mb'
|
maxUploadSize = '20mb'
|
||||||
}) {
|
}) {
|
||||||
if (!appId || !masterKey) {
|
|
||||||
throw 'You must provide an appId and masterKey!';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (databaseAdapter) {
|
if (databaseAdapter) {
|
||||||
DatabaseAdapter.setAdapter(databaseAdapter);
|
DatabaseAdapter.setAdapter(databaseAdapter);
|
||||||
}
|
}
|
||||||
@@ -106,8 +103,8 @@ function ParseServer({
|
|||||||
throw "argument 'cloud' must either be a string or a function";
|
throw "argument 'cloud' must either be a string or a function";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const filesControllerAdapter = loadAdapter(filesAdapter, GridStoreAdapter);
|
const filesControllerAdapter = loadAdapter(filesAdapter, GridStoreAdapter);
|
||||||
const pushControllerAdapter = loadAdapter(push, ParsePushAdapter);
|
const pushControllerAdapter = loadAdapter(push, ParsePushAdapter);
|
||||||
const loggerControllerAdapter = loadAdapter(loggerAdapter, FileLoggerAdapter);
|
const loggerControllerAdapter = loadAdapter(loggerAdapter, FileLoggerAdapter);
|
||||||
@@ -117,7 +114,7 @@ function ParseServer({
|
|||||||
const filesController = new FilesController(filesControllerAdapter);
|
const filesController = new FilesController(filesControllerAdapter);
|
||||||
const pushController = new PushController(pushControllerAdapter);
|
const pushController = new PushController(pushControllerAdapter);
|
||||||
const loggerController = new LoggerController(loggerControllerAdapter);
|
const loggerController = new LoggerController(loggerControllerAdapter);
|
||||||
|
|
||||||
cache.apps[appId] = {
|
cache.apps[appId] = {
|
||||||
masterKey: masterKey,
|
masterKey: masterKey,
|
||||||
collectionPrefix: collectionPrefix,
|
collectionPrefix: collectionPrefix,
|
||||||
@@ -175,7 +172,7 @@ function ParseServer({
|
|||||||
new LogsRouter(),
|
new LogsRouter(),
|
||||||
new IAPValidationRouter()
|
new IAPValidationRouter()
|
||||||
];
|
];
|
||||||
|
|
||||||
if (process.env.PARSE_EXPERIMENTAL_CONFIG_ENABLED || process.env.TESTING) {
|
if (process.env.PARSE_EXPERIMENTAL_CONFIG_ENABLED || process.env.TESTING) {
|
||||||
routers.push(require('./global_config'));
|
routers.push(require('./global_config'));
|
||||||
}
|
}
|
||||||
|
|||||||
2
src/requiredParameter.js
Normal file
2
src/requiredParameter.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
/* @flow */
|
||||||
|
export default (errorMessage: string) => {throw errorMessage}
|
||||||
Reference in New Issue
Block a user