* HooksRouter is enabled by default
* Adds middleswares on PromiseRouter, fixes#2410
* Move testing line to helper
* Modernize middlewares.js
* Moves DB uniqueness initialization to DBController, modernize
* Moves testing related code to spec folder
* remove unused _removeHook function
* Adds tests, docs for Analytics and improvements
* nit
* moves back TestUtils
* Add test for notEqualTo on relation with equalTo on objectId
* Properly handles queries with equalTo on objectId and relation conditions
This is done by converting shorthand $eq condition to $eq condition instead of clobbering.
- Move all of the winston logic from FileLoggerAdapter to WinstonLoggerAdapter
- Export WinstonLoggerAdapter so it can be sublcassed
- Expost the ability to add adittional transports to logger
- Import FirehoseLoggerAdapter alongside other adapters so it can be configured.
* test case to check beforeSave changes clobbers fetched pointer fields
Basically if beforeSave makes any changes to the object it is trying to save, the fetched pointer fields on the client gets clobbered to only pointer.
* propogate only changed fields to response.
Earlier we were returning all fields even if any changes happened in beforeSave. This causes the fetched pointer fields on the client to get clobbered to only pointers.
This fix returns only the changed fields thus avoiding pointer clobber.
* The goal of this comparision seems to be checking that the all returns the user correctly.
Also it is consistent with the hosted parse that user.username not returned from PUT request.
* Removing sessionToken and authData from _User objects included in a query
This bug caused sessionToken to be replaced on client side to some old
sessionToken from DB.
* Removing dangling variable that is never used
* Checking if object has defined key for Pointer constraints in liveQuery
If there is a liveQuery subscription, with Pointer type constrains (e.g
query.equalTo('user', Parse.User.current())), and new object has
undefined value for that field, we get this error:
error: Uncaught internal server error. [TypeError: Cannot read
property 'className' of undefined] TypeError: Cannot read property
'className' of undefined
at matchesKeyConstraints
(…/node_modules/parse-server/lib/LiveQuery/QueryTools.js:145:51)
* LiveQuery constrains matching fix
When constrains == null, we get “Uncaught internal server error”
* Adds schema caching capabilities (off by default)
* Use InMemoryCacheAdapter
* Uses proper adapter to generate a cache
* Fix bugs when running disabled cache
* nits
* nits
* Use options object instead of boolean
* Imrpove concurrency of loadSchema
* Adds testing with SCHEMA_CACHE_ON
* Use CacheController instead of generator
- Makes caching SchemaCache use a generated prefix
- Makes clearing the SchemaCache clear only the cached schema keys
- Enable cache by default (ttl 5s)
* chore(package): update mongodb to version 2.2.4
https://greenkeeper.io/
* fix for mongo 2.2.4
* Delete schema promise on error...
- Just because this way we can let the adapter an opportunity to yield a new error....
OR A SUCCESS
* Fixes test
* Restore fix
* Add null check for relation type map.
For relations that are not explicitly defined in the schema, we need a null check here.
* Making change to force rebuild.
* Reverting change.
* Adds test
* Adding a test demonstrating issue #1840.
* Fixes#1840
* Adds failing test with other use case
- That test fails on parse.com as well
* Bumps parse to 1.9.0
* exclude pg db
* Exclude pg on other test
* Adds clientSDK compatibility check for forward deletion
- Mark js1.9.0 as compatible
* Strips all operations from result
- fix for #1606
* flag in configurations to use only files adapter
* added lib folder
* remove lib
* alignment edit
* replace comma with semicolon
* ignore parse file storage if fileKey is not provided (undefined)
If it really needs to reject with `undefined`, then this is the right way. Usually one just returns the result, let the caller provide the `.catch` ;)
This way real errors can be swallowed, not very good ;)