* adding database.version in the serverInfo (only MongoDB, it gives undefined when using Postgres)
* . correction of old 'features' tests
. adding engine and database in the StorageAdapter interface and implementations
* . version retrieval done in performInitialization
. PostgreSQL version
* performInitialization now returns a Promise
* allow setting readpreference when using rest api.
* take out partially complete unit test.
* oops. nit
* Include read preference option for find directly from api and adding few more tests
* Adding catch for all tests
* Keep same check for get and find
* Turn read preference case insensitive
* Includes and subqueries read preferences through API
* Fixing bugs regarding changes that were done in master branch during the last year
* Changing behavior to make includeReadPreference and subqueryReadPreference to follow readPreference by default
* it actually supports group by date fields
* Changing the field name again to see Travis logs
* Adding match stage to the test
* Adding test for group by date fields on postgres
* Add a tests that fails due to issue #5285
* Make test code much simpler
* Fix#5285 by rewriting query (replacing $nearSphere by $geoWithin)
All credit goes to @dplewis !
* move logic to transform
* Changed count to be approximate. Should help with postgres slowness
* refactored last commit to only fall back to estimate if no complex query
* handlign variables correctly
* Trying again because it was casting to lowercase table names which doesnt work for us/
* syntax error
* Adding quotations to pg query
* hopefully final pg fix
* Postgres will now use an approximate count unless there is a more complex query specified
* handling edge case
* Fix for count being very slow on large Parse Classes' collections in Postgres. Replicating fix for Mongo in issue 5264
* Fixed silly spelling error resulting from copying over notes
* Lint fixes
* limiting results to 1 on approximation
* suppress test that we can no longer run for postgres
* removed tests from Postgres that no longer apply
* made changes requested by dplewis
* fixed count errors
* updated package.json
* removed test exclude for pg
* removed object types from method
* test disabled for postgres
* returned type
* add estimate count test
* fix mongo test
* Silences warnings from mongodb client
* Update count, delete and finds to recommended implementations
* With new parser, readPref will be null by default
* Update flaky specs wih async/await style
* Adds gridstore adapter spec
* Use GridFSBucketStorage adapter
* Various improvements in test name / de-duplications
* Reverts to class by class deletion, introduced fast mode that just delete data for mongo
- Speeds up are incredible Executed 1695 of 1713 specs INCOMPLETE (18 PENDING) in 4 mins 19 secs.
* Adds documentation about the deleteEverything
* Adds supports-color so spec reporter dont output colors when not supported
* Adds babelrc so breakpoints dont jump around in specs
* Rename test to avoid duplicated name
* Removes unused methods
* Better naming for it_exclude
* #4678: Converting strings to Date when schema.type is Date within aggregate function
* Added test cases to test new date match aggregate query
* Added function to parse match aggregate arguments and convert necessary values to Date objects
* Added missing return value
* Improved code quality based on suggestions and figured out why tests were failing
* Added tests from @dplewis
* Supporting project aggregation as well as exists operator
* Excluding exists match for postgres
* Handling the $group operator similar to $match and $project
* Added more tests for better code coverage
* Excluding certain tests from being run on postgres
* Excluding one more test from postgres
* clean up
* Fixes issue related to flow types
* Improves type inference on where clause, index
* run parse-server start on liveQueryServer only on mongo, state leaks on postgres
* 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