Commit Graph

961 Commits

Author SHA1 Message Date
Florent Vilmart
95430bb4e8 Use LRU cache as default mechanism for caching in memory (#3979)
* Use LRU cache as default mechanism for caching in memory

* Return null as what’s expected
2017-06-30 16:54:35 -04:00
Benjamin Wilson Friedman
622f97064a Added minimum node version requirement (#3962) 2017-06-27 14:01:49 -04:00
Steven Shipton
51d2dd92cb Add config for objectId size (#3950)
* Add objectId config property, default to 10

* Update Config constructor

* Add test for backwards compatibility when changing objectId size
2017-06-27 13:22:43 +03:00
Denis Trofimov
91193c77eb fix(vkontakte auth adapter): replace deadlocked promise with a live one (#3956) 2017-06-26 08:33:08 -04:00
Tyler Brock
fedb381925 Remove warning for invalid MongoDB driver option (#3952) 2017-06-25 13:00:54 -04:00
Antonio Davi Macedo Coelho de Castro
b6298feaa7 Read preference option per query (#3865) 2017-06-21 23:18:10 +03:00
Antonio Davi Macedo Coelho de Castro
422723fa31 Fix beforeQuery trigger when getting objects through GET API (#3862) 2017-06-21 08:24:51 -04:00
Antonio Davi Macedo Coelho de Castro
a0d1a3517f fix(DatabaseController): Do not match any entry when searching for null in relation field (#3924) 2017-06-21 08:23:20 -04:00
Antonio Davi Macedo Coelho de Castro
4509d25471 Endpoints for audiences CRUD (#3861) 2017-06-21 08:54:13 +03:00
greenkeeper[bot]
e94991b368 Update dependencies to enable Greenkeeper 🌴 (#3940)
* chore(package): update dependencies

* docs(readme): add Greenkeeper badge

* Fix indent issues with eslint 4.0

see http://eslint.org/docs/user-guide/migrating-to-4.0.0\#-the-indent-rule-is-more-strict
2017-06-20 09:15:26 -07:00
Florent Vilmart
16954c2f74 fix(#3898): session token deletion (#3937)
* fix(#3898): session token deletion

* nits
2017-06-16 12:56:28 -04:00
Florent Vilmart
9d79ba1ccb Server info proper values (#3933)
* Adds failing test

* Makes sure booleans are proper booleans

* nits

* Double negate so it also takes care of null
2017-06-15 15:09:33 -04:00
IlyaDiallo
92fa6f2b8a The 'beforeSave' trigger breaks the dot notation for subdocuments (cf #567) (#3912)
* The 'beforeSave' trigger breaks requests using the dot notation for subdocuments (cf #567)

* Convert 'var' to 'let' / 'const'

* Convert 'var' to 'const'
2017-06-14 21:51:41 +03:00
Florent Vilmart
f0949a1310 feat: Job Scheduling (#3927)
* Adds back _JobSchedule as volatile class

* wip

* Restores jobs endpoints for creation, update and deletion

* Adds tests

* Fixes postgres tests

* Enforce jobName exists before creating a schedule
2017-06-14 13:07:00 -04:00
Diamond Lewis
8b21d5ab80 feat: Full Text Search Support (#3904)
* 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
2017-06-13 21:42:59 -04:00
Worathiti Manosroi
7d70af60ba fix: volatileClasses are masterKey only (#3916)
* volatileClass should respect the schema if defined

* masterKey only for the volatileClasses

* add some test …
2017-06-13 10:36:40 -04:00
Diamond Lewis
4b16a72992 feat(postgres): Add Bytes to Support (#3894)
* Add bytes to schema

* postgres support

* test cases

* bytes work parse object
2017-05-31 22:23:49 -04:00
Diamond Lewis
e8be98ded2 chore(Query): $withinPolygon: 3 point minimum and boundary testing. (#3889)
* added 3 point minimum constraint to within-polygon

* test nit

* test for open and closed paths
2017-05-31 18:08:37 -04:00
Antonio Davi Macedo Coelho de Castro
6cc99aa193 fix(Restwrite): Do not send verification email if users is authenticated using some auth provider (#2660) (#3882) 2017-05-29 20:06:40 -04:00
Diamond Lewis
b692e8578d fix(Postgres): Support for GeoPoint equality query (#3875)
* Postgres doesn't support this query type yet

* removing conflict

* near test

* remove trailing space
2017-05-28 20:42:51 -04:00
Florent Vilmart
c2abbae92d fix(Users): Makes sure verifying emails triggers hooks and liveQuery (#3851)
* Use RestWrite when verifying emails so hooks are called (as master)

* Fixes tests for postgres

* nit

* Makes rest.update support a full where instead of objectId

* Use rest.update to guaranteed proper beforeSave and liveQuery calls
2017-05-28 20:34:49 -04:00
Florent Vilmart
57efd89b3d fix(AuthAdapters): Do not revalidate auth data if hasn't changed (#3867) (#3872)
* Adds test for #3867

* Always Skip authData validation when nothing is mutated
2017-05-28 17:50:16 -04:00
Florent Vilmart
38a525ba5f chore(testing): only use TESTING=1 as the testing flag (#3877) 2017-05-29 00:04:25 +03:00
Diamond Lewis
c99fdea6fb feat(ParseQuery): Added 'withinPolygon' support for GeoPoints (#3866)
* Added 'withinPolygon' to query

* Unit test for withinPolygon

* More Unit Test

* withinPolygon fix for Postgres

* Fix nit

nit?
2017-05-28 12:42:16 -04:00
Diamond Lewis
a380fcf2c7 fix(postgres): Geopoint issue #3285 (#3874) 2017-05-28 12:41:09 -04:00
Vitaly Tomilov
d149d16fce fix(PostgresStorageAdapter): Use transactions when deleting classes (#3869)
* Update PostgresStorageAdapter.js

refactoring `deleteClass`.

* Update PostgresStorageAdapter.js
2017-05-28 10:48:32 -04:00
Vitaly Tomilov
14e2d26d12 chore(PostgresStorageAdapter): nits (#3870)
refactoring method + removing a comment that's no longer needed.
2017-05-27 15:51:09 -04:00
Florent Vilmart
b5a2042d12 Fixes issue #3835 affecting relation updates (#3836)
* Adds test for 3835

* Makes sure we run relational updates AFTER validating access to the object

* Always run relation udpates last
2017-05-22 12:34:00 -04:00
Felipe Andrade
03b6449fe1 [PushController] Fixes issue with undefined push_time (#3717) (#3824)
* Fixes #3717

This fixes PR #3717. Sending push with parse-server@2.4.0 returns error
504 GATEWAY_TIMEOUT. This happens when push_time is not set (default).

* Fix lint issues

* Fix in PushController and add tests

Add a test to check push_time format and if it should schedule push
when the parse-server is configured
2017-05-20 12:07:45 -04:00
Florent Vilmart
17a2d269ef Always clear sessions when user password is updated (#3821)
* Adds repro to  issue #3289

* Always clear sessions when password is updated
2017-05-16 11:13:09 -07:00
Florent Vilmart
9dbb89a2e4 Fixes postgres flaky test (#3822)
* Changes expected error code

* nits
2017-05-16 09:06:17 -07:00
Florent Vilmart
691cf5988a Adds count class level permission (#3814)
* Adds count class level permission

* fixup! Adds count class level permission

* Adds missing count property on beforeFind request object

* nits
2017-05-14 21:47:30 -04:00
Florent Vilmart
d71683a7e2 Code maintenance, small refactors (#3811)
* Removes promise wrapping in AccountLockoutPolicy

* Use bcrypt promises as globally available
2017-05-14 19:37:42 -04:00
Florent Vilmart
88de01f3d8 Fix issue _PushStatus stuck sending (#3808)
* Adds test for not set device tokens

* Properly filter the installations without a deviceToken

* nit for slower PG test

* nit
2017-05-12 14:24:37 -04:00
Florent Vilmart
10c7cb0bfa requiresAuthentication is self-sufficient for ACL's (#3784)
* Adds test to reproduce issue #3753

* Consider requiresAuthentication as the same level as other CLP

* Better testing
2017-05-11 11:09:06 -04:00
Anthony Mosca
877ef78b5e Improve email verification (#3681)
* Removed hidden keys from users/me.

* Ensured that general users cannot update email verified flag.

* Updated tests to reflect email verification changes.
2017-05-11 09:44:58 -04:00
youngerong
e0be653f4c Properly obfuscate query parameters in logs (#3793)
* fix-3789

* fix3789 add unit test
2017-05-11 07:17:20 -04:00
cmmills91
22ba39812b Add support for resending verification email in case of expired token (#3617)
* -Defines new public API route /apps/:appId/resend_verification_email that will generate a new email verification link and email for a user identified by username in POST body
-Add template and url support for invalidVerificationLink, linkSendSuccess, and linkSendFail pages. The invalidVerificationLink pages includes a button that allows the user to generate a new verification email if their current token has expired, using the new public API route
-All three pages have default html that will be functional out of the box, but they can be customized in the customPages object. The custom page for invalidVerificationLink needs to handle the extraction of the username and appId from the url and the POST to generate the new link (this requires javascript)
-Clicking a link for an email that has already been verified now routes to the emailVerifySuccess page instead of the invalidLink page

* Fix package.json repo url to be parse-server againwq

* Fix js lint issues

* Update unit tests

* Use arrow functions, change html page comments, use qs and a string template to construct location for invalidVerificationLink page, syntax fixes

* Remember to pass result when using arrow function
2017-05-10 09:02:16 -04:00
Jack Wearden
7b9ebc4e8e Avoid multiple $nears in one query (#3798)
Mongo has a hard limit on 1 $near operation per query. Restructuring to
avoid SERVER-13732 should not invalidate a query by creating multiple
$near operations.

Additionally, queries with multiple $ors are now recursively handled,
whereas before, ops at the top level would only have been pushed one
level deeper.

https://github.com/parse-community/parse-server/issues/3767
2017-05-10 08:32:08 -04:00
kahoona77
64e6f40779 catch unhandled rejection with installation-handling (#3795) 2017-05-09 08:10:38 -04:00
Florent Vilmart
8d67776c2e Removes un-necessary shutdown handler (#3786)
* 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
2017-05-08 10:06:01 -07:00
Florent Vilmart
45a9d50110 Skip authData validation if it hasn't changed. (#3783)
* Adds test for the new feature

* Re-validate authData only if mutated

- In case of short-lived tokens (like facebook) this will allow clients to be lax with asking users to re-login
2017-05-07 12:55:30 -04:00
Florent Vilmart
f7af48db89 Fix/3678 overloaded query constraints (#3723)
* Added failing test

* Updated test description

* Properly handle equalities with additional operator constraints

* adds continuation to silence rejected promises

* Wrap json parsing

* nits
2017-04-23 15:10:17 -07:00
Paulo Vítor S Reis
69042fbf50 [postgres] Improve performance when adding many new fields to the Schema (#3740) 2017-04-23 17:25:33 -04:00
Paulo Vítor S Reis
5e14147676 Fixes issue affecting deleting multiple fields of a Schema (#3735) 2017-04-23 17:22:55 -04:00
Florent Vilmart
5813fd0bf8 Fix flaky tests (#3724)
* adds continuation to silence rejected promises

* Wrap json parsing
2017-04-16 16:50:03 -04:00
Florent Vilmart
fd375cb927 Fixes issue affecting queries on Pointer arrays (#3721)
* Transform array atoms on equality

* nits
2017-04-16 11:44:41 -04:00
Florent Vilmart
907b160fc7 Adds support for PushScheduling (#3722)
* Add support for push scheduling

Add a configuration flag on the server to handle the availability of
push scheduling.

* Update push controller to skip sending only if scheduling is configured

Only skip push sending if scheduling is configured

* Update bad conventions

* Add CLI definitions for push scheduling

* Adds tests for pushTime

* Adds test for scheduling

* nits

* Test for not scheduled
2017-04-15 17:20:55 -04:00
Florent Vilmart
e7a45cecb7 Adds graceful shutdown handler for mongodb (#3706) 2017-04-11 09:26:25 -07:00
ren dong
f3f81b692b support pg-promise init options (#3613)
* pg-promise init options

* add database init options

* Create PostgresInitOptions.spec.js

* Update PostgresInitOptions.spec.js

* Update PostgresInitOptions.spec.js

* add PostgresInitOptions test

* Add files via upload

* linebreaks CRLF to LF

* modify postgresURI to test environment

* modify pg error code to 42P01

* fix reconfigureServer callback
2017-04-07 07:50:55 -04:00