* 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
* 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)
* Remove collection prefix from DB Controller
* Remove collection prefix from cache
* Revert "Remove collection prefix from cache"
This reverts commit 529d67dd617b64c69c36a8a63382456e95edcab8.
* Remove knowledge of default mongo URI from Parse Server
* Remove adaptive collection paramater from deleteFields
* Tidy up DBAdapter.js
* 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
* Move helper.clearData to DatabaseAdapter. Expose DatabaseAdapter in index
* fix indentation
* Export DatabaseAdapter in index.js
* Rename clearData to destroyAllDataPermanently. Only export destroyAllDataPermanently from DatabaseAdapter. Update helper
* Expose wrapped TestUtils from index.js. TestUtils exposed select functions from other modules, only in test environment
* Sets the defaultSchemas keys in the SchemaCollection
* Moves defaultSchema injection logic to router
* maps outside the function
* fixes test
* conciseness
Session tokens generated by Parse with with "Expire inactive session" set
to No leave the the expiresAt field undefined. This fixes the TypeError
"Cannot read property 'iso' of undefined'" exception thrown when trying
to use a session token with undefined expiresAt.