* Added a test case that triggers the query parameter crash
* rest.js: validate the explain parameter to keep the nodejs driver from throwing an uncatchable exception and crashing the server (see https://jira.mongodb.org/browse/NODE-3463)
RestQuery.js: Check whether explain mode is enabled not by "!== true", but by the "!" operator. explain can have string values.
Added tests that validate correct behaviour on different explain values
* Refactor the new tests
* Simplify the new tests
Also do a sanity check on the explain results
* Test refactor
* Exclude queryPlannerExtended as it is not supported by the testing environment
Simplifies the tests
* Restrict the changes to mongodb
Moved the verification of the explain value from rest.js to MongoStorageAdapter.js
Also restricted the relevant unit tests to mongodb
* Added changelog entry
* reformat changelog entry
* Update CHANGELOG.md
Co-authored-by: Kartal Kaan Bozdoğan <kartalkaanbozdogan@gmail.com>
Co-authored-by: Manuel <5673677+mtrezza@users.noreply.github.com>
* failing testcase
* add header
* switch to X-Parse-Cloud-Context header
* add back blank line that lint removed
* test replacing context header with body context. Add support for setting body with json string
* add back blank line
* cover error when _context body is wrong
* Update middlewares.js
* revert accidental status change
* make sure context always decodes to an object else throw error
* improve context object check
Co-authored-by: Antonio Davi Macedo Coelho de Castro <adavimacedo@gmail.com>
* 6641: Implement support for user impersonation: master key clients can log in as any user, without access to the user's credentials, and without presuming the user already has a session
* reworded changelog
* rebuilt package lock
* fit test
* using lodash flatMap
* bump to node 12 for postgres test
* revert test fit
* add node version to postgres CI
* revert package-lock
Co-authored-by: gormanfletcher <git@gormanfletcher.com>
Co-authored-by: Manuel <5673677+mtrezza@users.noreply.github.com>
* fix keys and excludeKeys to work with JSON array strings
* make excludeKeys test more robust
* add changelog
* add select([]) functionality to fix)
* update changelog
* update keys
* add exclude test
* add select REST test and exclude JS SDK test
* add more tests
* add additional exclude test
* improved select test for testing JSON string array in REST
* improved exclude test for testing JSON string array in REST
* check for parse keys
* make include look like keys and excludeKeys
* nit
* Exclude nexted child fields
* add updates and show failing testcases
* working
* add more tests
* even more test cases
* use await for added tests
* lint
* Add suggestions
* Fixed a bug affecting updates to nested pointers
Also created unit tests
* Marked the regression test for #7391 as pending for postgre
The issue is not fixed yet
Use cont instead of var
* Only check the type of a parameter in the validator when the parameter is set to required or is not null
* Added test cases. Don't check type or options if required=false and no default value is set
* Added test cases. Don't check type or options if required=false and no default value is set
* Update const optional
* Add a failing test for issue #7340
If any delay occurs after "message.event" assignation in
LiveQueryServer._onAfterSave, the next subscription or request with a different
event might overwrite it, and by that using the wrong "push" function name.
* Remove updade of message and use res.event instead
This prevent computing function name from a
incorrect event if multiple subscriptions override
one by one the message.event.
* Update CHANGELOG.md
* Replace setTimeout by async/await expressions
* enabled direct access by default
* removed obsolete direct access option test case
* quick fix test
* Set RESTController during tests
* Properly handle RESTController
* Documentation
* revert changes
* rerun tests
* remove extra parse instance
* Revert "remove extra parse instance"
This reverts commit 21422f45f1548ebddddd1c4ccbc03a94b4994429.
* Ensure restcontroller is set
* Fix test
* improved option docs
* renamed direct access env var
* added deprecations to README
* added deprecation definition
* fixed docs typo
* improve promise rejection warning test
* added renaming of env var to deprecation warning
Co-authored-by: Diamond Lewis <findlewis@gmail.com>
* fix: empty file tags cause upload error for some providers
DigitalOcean and Linode object storage solutions do not accept `tags` option while uploading a file. Previously, tags option was set to default empty object. Now, we do not include it if it is empty.
* chore: add tests for saving a file with/without tags
* chore: update file tags handling to make tests pass
* chore: refactor file tag tests
* chore: update file tag tests
* chore: update changelog
* chore: update changelog entry
* chore: remove duplicated changelog entry
* renamed "resetPassword" to "requestResetPassword" & created new "resetPassword" mutation
* added new route to handle resetPassword in UsersRouter.js
* updated resetPassword test to "requestResetPassword" mutation
* updated "resetPassword" mutation args description
* changed token arg description to rerun the tests
* directly using updatePassword for resetPassword
* removed handleResetPassword from UsersRouter.js file
* added test case for reset Password
* changed mutation names to "resetPassword" & "confirmResetPassword"
* changed mutation names in test also
* Excluding keys that have trailing "edges.node" on them as they will not be selectable anyway
* Updated CHANGELOG and added test case
* Forgot to change fit back to it
* add search for atlas search index
* added test for search in pipeline
* removed stage name check in pipeline
* removed spec for invalid query invalid key
* updated changelog
Co-authored-by: Diamond Lewis <findlewis@gmail.com>
* Fix flaky postgres test
* add pgcrypto extension to test
* fix postgres ref link CONTRIBUTING guide and add pgcrypto extension
* Update CONTRIBUTING.md
* new: allow options to be async on Cloud Validator
* Update CHANGELOG.md
* Ensure pushStatus is properly running (#7213)
* Ensure pushStatus is properly running
* remove duplicate test
* new: allow options to be async on Cloud Validator
* Update CHANGELOG.md
* Update CloudCode.Validator.spec.js
Co-authored-by: Diamond Lewis <findlewis@gmail.com>
* Increase timeout for redis tests
* Remove for
* Increase little bit more one of the tests since it requires two calls to be done in time-fahsion way
* increase default ttl a bit more
* Fix for authenticating with instagram
* Change tests for instagram authentication
* Instagram authentication for the case when data child object is presented in the response
* Fix error when a not yet inserted job is updated
* Add entry to changelog
* revert the upsert change and fix the test
* Revert the change so job execute a single time
* Fix other tests with potential similar problem
* Fix flaky test with transactions
* Add CHANGELOG entry
* Fix the other transactions related tests that became flaky because now Parse Server tries to submit the transaction multilpe times in the case of TransientError
* Remove fit from tests
* added localized pages; added refactored page templates; adapted test cases; introduced localization test cases
* added changelog entry
* fixed test description typo
* fixed bug in PromiseRouter where headers are not added for text reponse
* added page parameters in page headers for programmatic use
* refactored tests for PublicAPIRouter
* added mustache lib for template rendering
* fixed fs.promises module reference
* fixed template placeholder typo
* changed redirect response to provide headers instead of query parameters
* fix lint
* fixed syntax errors and typos in html templates
* removed obsolete URI encoding
* added locale inferring from request body and header
* added end-to-end localizaton test
* added server option validation; refactored pages server option
* fixed invalid redirect URL for no locale matching file
* added end-to-end localizaton tests
* adapted tests to new response content
* re-added PublicAPIRouter; added PagesRouter as experimental feature
* refactored PagesRouter test structure
* added configuration option for custom path to pages
* added configuration option for custom endpoint to pages
* fixed lint
* added tests
* added a distinct page for invalid password reset link
* renamed generic page invalidLink to expiredVerificationLink
* improved HTML files documentation
* improved HTML files documentation
* changed changelog entry for experimental feature
* improved file naming to make it more descriptive
* fixed file naming and env parameter naming
* added readme entry
* fixed readme TOC - hasn't been updated in a while
* added localization with JSON resource
* added JSON localization to feature pages (password reset, email verification)
* updated readme
* updated readme
* optimized JSON localization for feature pages; added e2e test case
* fixed readme typo
* minor refactoring of existing tests
* fixed bug where Object type was not recognized as config key type
* added feature config placeholders
* prettier
* added passing locale to page config placeholder callback
* refactored passing locale to placeholder to pass test
* added config placeholder feature to README
* fixed typo in README