* Move Parse Server logic into Parse Server and out of MongoAdapter
* Move untransforming up one level
* Make find() in MongoStorageAdapter
* Put nested object untransforming into it's own function
* Simplfy nested untransform
* Don't mess with inner object keys called _auth_data_*
* Prevent untransforming inner object keys named _p_*
* Fix inner keys named _rperm, _wperm
* Fix bugs with inner objects behaving strange when other fields have same name as key in specific circumstances
* remove params from untransform nested object
* Revert changes to find
* Cache users by objectID, and clear cache when updated via master key
* Go back to caching by session token. Clear out cache by querying _Session when user is modified with Master Key (ew, hopefully that can be improved later)
* Fix issue with user updates from different sessions causing stale reads
* Tests aren't transpiled...
* Still not transpiled
* Add MongoDB 3.2 to test matrix
- Updated mongodb-runner to support specifying storage engine
- Specifying mmapv1 explictly because of new 3.2 default
* Increase jasmine.DEFAULT_TIMEOUT_INTERVAL to 3 seconds
* Use fixed mongodb-runner
* Increase jasmine.DEFAULT_TIMEOUT_INTERVAL to 15 seconds
* Update to mongodb-runner 3.3.2 upon release
* Split transformAtom into transfromTopLevelAtom and transformInteriorAtom
* Use single param for inArray and inObject
* Tidyness in transformKeyValue
* Add transformInteriorKeyValue
* Remove update from tranformInteriorKeyValue
* Split out transform update
* Move validation out of transfromUpdate
* Remove force paramater from transformTopLevelAtom throw error after if necessary
* Turn transformKeyValue into transfromKey since it is only used for that purpose
* Remove unnecessary stuff from transformKey
* convert transformKey to use parse format schema
* interior keys fixes
* Add test for interior keys with special names
* Correct validation of inner keys
* destructuring in DB controller
* deleteObject in db adapter
* Turns out we can't have delete by object ID because of ACLs...
* Fix tests
* destructure acl
* Don't reject with object
* WIP: Initial pointer permissions
* Process Pointer perms when no matching CLP are found
* Additional tests with read lockdown
* Create operation lockdown with pointer permissions,
on parse.com, when an class is locked down with write pointer perm, users can't create objects even if they set their own as the pointer permission key
* Adds test case for multiple write PointerPerms
* Adds validation for pointer permissions when setting
* Adds tests for validating pointer permissions column types
* Adds tests for complex ACL/CLP/PP hierarchy
* Restores power of the master
* Adds validation of borked fields
* Adds complex test for find
* Adds more variations around PointerPermissions tests
* Tidy up transformKeyValue
* Specialize transformKeyValue for object creation
* remove keys that never appear in creation requests
* rename function
* remove local var
* early exit for simple keys
* Refactor create
* Force class creation when creating an object
* Pass parameters to key value transformer
* No need to check for array in this func
* start using Parse Format schema in MongoTransform
* Remove call to getExpectedType
* add tests to ensure client can't see _PushStatus
* Moves transform to MongoTransform
- Adds ACL query injection in MongoTransform
* Removes adaptiveCollection from DatabaseController
- All collections manipulations are now handled by a DBController
- Adds optional flags to configure an unsafe databaseController for direct
access
- Adds ability to configure RestWrite with multiple writes
- Moves some transfirmations to MongoTransform as they output specific code
* Renames Unsafe to WithoutValidation