@@ -10,41 +10,41 @@ var batch = require('./batch'),
1010 multer = require ( 'multer' ) ,
1111 Parse = require ( 'parse/node' ) . Parse ;
1212
13+ //import passwordReset from './passwordReset';
1314import cache from './cache' ;
1415import Config from './Config' ;
15-
16+ import parseServerPackage from '../package.json' ;
1617import ParsePushAdapter from './Adapters/Push/ParsePushAdapter' ;
17- //import passwordReset from './passwordReset';
1818import PromiseRouter from './PromiseRouter' ;
19+ import requiredParameter from './requiredParameter' ;
1920import { AnalyticsRouter } from './Routers/AnalyticsRouter' ;
2021import { ClassesRouter } from './Routers/ClassesRouter' ;
2122import { FeaturesRouter } from './Routers/FeaturesRouter' ;
2223import { FileLoggerAdapter } from './Adapters/Logger/FileLoggerAdapter' ;
2324import { FilesController } from './Controllers/FilesController' ;
2425import { FilesRouter } from './Routers/FilesRouter' ;
2526import { FunctionsRouter } from './Routers/FunctionsRouter' ;
26- import { GridStoreAdapter } from './Adapters/Files/GridStoreAdapter' ;
27- import { IAPValidationRouter } from './Routers/IAPValidationRouter' ;
28- import { LogsRouter } from './Routers/LogsRouter' ;
29- import { HooksRouter } from './Routers/HooksRouter' ;
30- import { PublicAPIRouter } from './Routers/PublicAPIRouter' ;
3127import { GlobalConfigRouter } from './Routers/GlobalConfigRouter' ;
32-
28+ import { GridStoreAdapter } from './Adapters/Files/GridStoreAdapter' ;
3329import { HooksController } from './Controllers/HooksController' ;
34- import { UserController } from './Controllers/UserController' ;
30+ import { HooksRouter } from './Routers/HooksRouter' ;
31+ import { IAPValidationRouter } from './Routers/IAPValidationRouter' ;
3532import { InstallationsRouter } from './Routers/InstallationsRouter' ;
3633import { loadAdapter } from './Adapters/AdapterLoader' ;
3734import { LoggerController } from './Controllers/LoggerController' ;
35+ import { LogsRouter } from './Routers/LogsRouter' ;
36+ import { PublicAPIRouter } from './Routers/PublicAPIRouter' ;
3837import { PushController } from './Controllers/PushController' ;
3938import { PushRouter } from './Routers/PushRouter' ;
39+ import { randomString } from './cryptoUtils' ;
4040import { RolesRouter } from './Routers/RolesRouter' ;
4141import { S3Adapter } from './Adapters/Files/S3Adapter' ;
4242import { SchemasRouter } from './Routers/SchemasRouter' ;
4343import { SessionsRouter } from './Routers/SessionsRouter' ;
44+ import { setFeature } from './features' ;
45+ import { UserController } from './Controllers/UserController' ;
4446import { UsersRouter } from './Routers/UsersRouter' ;
4547
46- import requiredParameter from './requiredParameter' ;
47- import { randomString } from './cryptoUtils' ;
4848// Mutate the Parse object to add the Cloud Code handlers
4949addParseCloud ( ) ;
5050
@@ -106,11 +106,11 @@ function ParseServer({
106106 passwordResetSuccess : undefined
107107 } ,
108108} ) {
109-
109+ setFeature ( 'serverVersion' , parseServerPackage . version ) ;
110110 // Initialize the node client SDK automatically
111111 Parse . initialize ( appId , javascriptKey || 'unused' , masterKey ) ;
112112 Parse . serverURL = serverURL ;
113-
113+
114114 if ( databaseAdapter ) {
115115 DatabaseAdapter . setAdapter ( databaseAdapter ) ;
116116 }
@@ -144,7 +144,7 @@ function ParseServer({
144144 const hooksController = new HooksController ( appId , collectionPrefix ) ;
145145 const userController = new UserController ( emailControllerAdapter , appId , { verifyUserEmails } ) ;
146146
147-
147+
148148 cache . apps . set ( appId , {
149149 masterKey : masterKey ,
150150 serverURL : serverURL ,
@@ -173,7 +173,7 @@ function ParseServer({
173173 if ( process . env . FACEBOOK_APP_ID ) {
174174 cache . apps . get ( appId ) [ 'facebookAppIds' ] . push ( process . env . FACEBOOK_APP_ID ) ;
175175 }
176-
176+
177177 Config . validate ( cache . apps . get ( appId ) ) ;
178178
179179 // This app serves the Parse API directly.
@@ -186,7 +186,7 @@ function ParseServer({
186186 } ) ) ;
187187
188188 api . use ( '/' , bodyParser . urlencoded ( { extended : false } ) , new PublicAPIRouter ( ) . expressApp ( ) ) ;
189-
189+
190190 // TODO: separate this from the regular ParseServer object
191191 if ( process . env . TESTING == 1 ) {
192192 api . use ( '/' , require ( './testing-routes' ) . router ) ;
@@ -215,17 +215,17 @@ function ParseServer({
215215 if ( process . env . PARSE_EXPERIMENTAL_CONFIG_ENABLED || process . env . TESTING ) {
216216 routers . push ( new GlobalConfigRouter ( ) ) ;
217217 }
218-
218+
219219 if ( process . env . PARSE_EXPERIMENTAL_HOOKS_ENABLED || process . env . TESTING ) {
220220 routers . push ( new HooksRouter ( ) ) ;
221221 }
222-
222+
223223 let routes = routers . reduce ( ( memo , router ) => {
224224 return memo . concat ( router . routes ) ;
225225 } , [ ] ) ;
226226
227227 let appRouter = new PromiseRouter ( routes ) ;
228-
228+
229229 batch . mountOnto ( appRouter ) ;
230230
231231 api . use ( appRouter . expressApp ( ) ) ;
0 commit comments