* Introduces flow types for storage
* Better typing of QueryOptions
* Adds flow types to SchemaCOntroller,
- runs flow on pre tests
- fixes flow
* Adds ClassLevelPermissions type
* Moves Controller types into a single file
* Changes import styles
* Changes import styles
* fixing method setIndexesWithSchemaFormat (#4454)
Fixing invalid database code in method `setIndexesWithSchemaFormat`:
* It must be a transaction, not a task, as it executes multiple database changes
* It should contain the initial queries inside the transaction, providing the context, not outside it;
* Replaced the code with the ES6 Generator notation
* Removing the use of batch, as the value of the result promise is irrelevant, only success/failure that matters
* nits
* Fixes tests, improves flow typing
* fix(package): update mongodb to version 3.0.0
* Compatibility with MongoDB client 3.0
* Updates Gridstore as well
* Set Read preference to Primary when not specified, to match original implementation
* Update MongoStorageAdapter.js
* Bumps to 3.0.1
* Add Indexes to Schema API
* error handling
* ci errors
* postgres support
* full text compound indexes
* pg clean up
* get indexes on startup
* test compound index on startup
* add default _id to index, full Text index on startup
* lint
* fix test
* Support for Aggregate Queries
* improve pg and coverage
* Mongo 3.4 aggregates and tests
* replace _id with objectId
* improve tests for objectId
* project with group query
* typo
* Makes InstallationRouter like others
* Adds testing for Range file requests
- Fixes issue with small requests (0-2)
* Revert "Makes InstallationRouter like others"
This reverts commit e2d2a16ebf2757db6138c7b5b33c97c56c69ead6.
* Better handling of errors in FilesRouter
* Fix incorrectness in range requests
* Better/simpler logic
* Only on mongo at it requires Gridstore
* Open file streaming to all adapters supporting it
* Improves coverage of parsers
* Ensures depreciation warning is effective
* Removes unused function
* de-duplicate logic
* Removes necessity of overriding req.params.className on subclasses routers
* Use babel-preset-env to ensure min-version compatible code
* removes dead code
* Leverage indexes in order to infer which field is duplicated upon signup
- A note mentioned that it would be possible to leverage using the indexes on username/email to infer which is duplicated
* Small nit
* Better template to match column name
* Restores original implementation for safety
* nits
* Added type polygon to schema
* refactoring and more tests
* fix tests
* update test and transform
* add support for polygonContains
* fix transform.mongoObjectToParseObject test
* add indexes for polygon
* index test
* postgres test fix
* remove invalid loop test
* add invalid loop test
* nit
* Full Text Support
* invalid input test
* Support for sort
* index exist test
* clean up
* better error messaging
* postgres support
* error instructions for $diacritic and $case sensitivity
* nit
* nit
* nit
* separate test for full text
* Removes un-necessary shutdown handler
- When registering a shutdown hander, the node process has to be exited manually which causes issues for many users
* Proper graceful shutdown from CLI
* Reproduction for #1567
* Recursive handling of nested pointer keys in select
* Better support for multi-level nested keys
* Adds support for selecting columns natively (mongo)
* Support for postgres column selections
* Filter-out empty keys for pg
* Start DB runner from tests
* Connect GridstoreAdapter only when needed
* removes unused package
* better test errors reporting
* Adds support for __op.Delete
* Better test error reporting
* Makes sure all tests can run without crashing
* Use xdescribe to skip test suite
* Removes unused dependencies
* Let volatiles classes be created with PG on start
* Do not fail if class dont exist
* adds index.spec.js to the pg suite
* Use a new config each test to prevent side effects
* Enable EmailVerificationToken specs with pg
* Makes sure failure output is not cut
* Reduces number of ignored tests in ParseObject.spec
* Inspect reconfiguration errors
* Mark GlobalConfig is incompatible with PG
- Problem is with nested updates (param.prop = value)
* PG: Nested JSON queries and updates
- Adds support for nested json and . operator queries
- Adds debug support for PG adapter
- Adds loglevel support in helper
* Enable working specs in ParseUser
* Sets default logLevel in tests to undefined
* Adds File type support, retores purchaseValidation specs
* Adds support for updating jsonb objects
- Restores PushController tests
* Proper implementation of deleteByQuery and ORs
- Adds ParseInstallation spec to the test suite
* xit only failing tests
* Nit on ParseAPI spec
* add sorting operator
* properly bound order keys
* reverts describe_only_db behavior
* Enables passing tests
* Adds basic support for relations, upsertOneObject aliased to createObject
* progress on queries options
* Fix ACL update related problems
* Creates relation tables on class creation
* Adds Relation tests
* remove flaky tests
* use promises instead of CB
* disable flaky test
* nits
* Fixes on schema spec
- Next thing is to implemenet geopoint and files correctly
* fix failues
* Basic GeoPoint support
* Adds support for $nearSphere/$maxDistance geopoint queries
* enable passing tests
* drop tables afterEach for PG, clean up relation tables too
* Better initialization/dropTables
* Refactor logging to provide common logger from LoggerAdapter
Move logger logic de WinstonLoggerAdapter
Further improvements in configuration
Use logger instead of getLogger
- Removes PLog module
Reverts name changes
nits
* Adds additional logging levels as requirements
* Adds tests for logging configuration
* removes flaky test
* investigate...
* further investigation
* Adds silent option to disable console output
* Restores logs with VERBOSE in tests
* Expose controller instead of adapter, reduces method requirements for adapter
* Shuffles initializations around
* Fix doc
* Load cloudCode last to make sure the logger is available
* Adds test to make sure we can load an adapter from npm module
* extract defaults
* Adds defaultMongoURI to defaults
* fix defaults values
* Proper error for PG failures
* Disable flaky test
* reload the right data
More passing postgres tests
Handle schema updates, and $in for non array columns
remove authdata from user and implement ensureUniqueness
Make some tests work, detect existing classes
Throw proper error for unique index violation
fix findOneAndUpdate
Support more types
support more type
Support boolean, fix _rperm/_wperm, add TODO
Support string types and also simplify tests
Move operator flattening into Parse Server and out of mongo adapters
Move authdata transform for create into Parse Server
Move authdata transforms completely in to Parse Server
Fix test setup
inline addSchema
Inject default schema to response from DB adapter
* Mark tests that don't work in Postgres
* Exclude one more test
* Exclude some more failing tests
* Exclude more tests
* Remove adaptiveCollection
* Remove an adaptiveCollection use
* Remove an adaptiveCollection
* make adaptiveCollection private
* Remove collection from mongoadapter
* Move schema collection usage into mongo adapter
* stop relying on mongo format for removing join tables
* reduce usage of schemaCollection
* remove uses of _collection
* Move CLP setting into mongo adapter
* remove all uses of schemaCollection
* make schemaCollection private
* remove transform from schemaCollection
* rename some stuff
* Tweak paramaters and stuff
* reorder some params
* reorder find() arguments
* finishsh touching up argument order
* Accept a database adapter as a parameter
* First passing test with postgres!
* Actually use the provided className
* index on unique-indexes: c454180 Revert "Log objects rather than JSON stringified objects (#1922)"
* Start dealing with test shittyness
* Make specific server config for tests async
* Fix email validation
* Fix broken cloud code
* Save callback to variable
* undo
* Fix tests
* Setup travis
* fix travis maybe
* try removing db user
* indentation?
* remove postgres version setting
* sudo maybe?
* use postgres username
* fix check for _PushStatus
* excludes
* remove db=mongo
* allow postgres to fail
* Fix allow failure
* postgres 9.4
* Remove mongo implementations and fix test
* Fix test leaving behind connections
* Move ACL transforming into Parse Server
For the database adapters, it will be more performant and easier to work with _rperm and _wperm than with the ACL object. This way we can type it as an array and so on, and once we have stronger validations in Parse Server, we can type it as an array containing strings of length < x, which will be much much better in sql databases.
* Use destructuring
* Add unique indexing
* Add unique indexing for username/email
* WIP
* Finish unique indexes
* Notes on how to upgrade to 2.3.0 safely
* index on unique-indexes: c454180 Revert "Log objects rather than JSON stringified objects (#1922)"
* reconfigure username/email tests
* Start dealing with test shittyness
* Remove tests for files that we are removing
* most tests passing
* fix failing test
* Make specific server config for tests async
* Fix more tests
* fix more tests
* Fix another test
* fix more tests
* Fix email validation
* move some stuff around
* Destroy server to ensure all connections are gone
* Fix broken cloud code
* Save callback to variable
* no need to delete non existant cloud
* undo
* Fix all tests where connections are left open after server closes.
* Fix issues caused by missing gridstore adapter
* Update guide for 2.3.0 and fix final tests
* use strict
* don't use features that won't work in node 4
* Fix syntax error
* Fix typos
* Add duplicate finding command
* Update 2.3.0.md
* Use adapter.count
* use adapter.upsertOneObject
* Use adapter.deleteObjectsByQuery
* Use adapter.find
* use adapter.find
* Update tests to avoid mongoFind
* Fix a test to not use mongoFind
* Fix a test to not use mongoFind
* remove some mongoFind
* Remove some mongoFind
* Remove some mongoFind
* Remove more mongoFind
* remove more mongoFind
* remove more mongoFind
* remove more mongoFind
* remove more mongoFind
* remove more mongoFind
* remove more mongoFind
* remove more mongoFind
* remove more mongoFind
* Restore update ios device token with duplicate device token to original
* remove a mongoFind
* remove a mongoFind
* formatting
* formatting
* remove a mongoFind
* remove a mongoFind
* remove a mongoFind
* kill mongoFind
* Fix tests
* Fix tests
* fix syntax
* Fix test
* Break dependency on MongoCollection for updateMany
* Move transformWhere usage into MongoTransform
* Pass parse schema into transformUpdate
* break dependency on schemaController
* remove schema parameter
* move key name validation up one level
* Move validation out of mongo adapter
* Move validation into Parse Server and transformUpdate in Mongo Adapter
* Update mongo adapter
* Use adapter API
* use and fix mongo adapter api
* Remove/rename stuff
* Kill transform in DBController
* better imports for transform
* Tidy ConfigRouter
* Remove schemaController in more places
* Remove comment
* 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