Commit Graph

815 Commits

Author SHA1 Message Date
Anthony Mosca
4dce3bd63c Add support for more audience fields. (#4145)
* Add support for more audience fields.

* Only update audience when defined audience_id.
2017-09-11 22:06:21 -04:00
Florent Vilmart
a660a0c25f fix: Issue #4142 (#4144)
* Tweaks test in order to show the error

- Session is effectively created when it should not

* Do not create a session when users need verified accounts on signup
2017-09-11 11:07:39 -04:00
Florent Vilmart
839a117246 Fixes #2885 duplicate sessions (#4143)
* Adds test to repro the issue

* Improved test

* Destroy duplicate sessions for User/Installation-id pair

- Sessions will also be created with action login instead of signup when using 3rd party auth
2017-09-11 09:52:18 -04:00
marvelm
bc3cef2cd9 Support local time for scheduled pushes (#4137)
* Handle local push time

* PR feedback

* Improve timezone detection with regex

* Use indexOf instead of endsWith

* Add documentation

* Add end to end test for scheduled pushes in local time

* Revert changes to npm-git script

* clean up
2017-09-11 09:31:46 -04:00
Florent Vilmart
0f840b6bb8 Fix/issue pointer permissions (#4141)
* Makes sure we don't override roles

* Reduces the query size whith pointer permissions

- Does not return as $and if not needed
- Returns just the query with the additional constraint

* Do not use $in if include is just of length 1
2017-09-09 14:02:07 -04:00
Antonio Davi Macedo Coelho de Castro
019f9e55e1 Fix(MongoTransform): Ignore Audience legacy fields (#4018) 2017-09-09 13:27:54 -04:00
Jeremy May
121d151af9 Add master key override to live query ACL checks (#4133)
* Add master key override to live query ACL checks

* Fix mockClient so masterKey tests work correctly
2017-09-09 13:26:18 -04:00
Florent Vilmart
139b9e1cb3 Finding areas that are untested and need love (#4131)
* 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
2017-09-05 17:51:11 -04:00
Florent Vilmart
3079270b3e Optimizations (#4135)
* removes costly json serialization to InMemoryCacheAdapter

* Always cache a copy of the array

* Use own mapValues

* Makes sure we dont make unnecessary calls to the logger

* Do not bypass loggers with silent logging (only applies to stdout)

* warn is not warning

* use ===

* Wrap logRequest / logResponse in the loggerController for more granular control

Also give the ability to pass functions to the logger so we don't serialize too early in JSON (costly)

* reconfiguring winston would override the transports levels and make subsequent tests fail
2017-09-04 20:47:49 -04:00
Diamond Lewis
5aafc93476 Text Index Support (#4081)
* add text index support

* additional validation

* multiple text index error

* rename function

* Delete text indexes message
2017-09-02 12:31:19 -04:00
Florent Vilmart
6df944704c Adds support for localized push notification in push payload (#4129)
* Adds support for localized push data keys

- passign alert-[lang|locale] or title-[lang|locale] will inject the
  proper locale on the push body based on the installation

* Better handling of the default cases

* Updates changelog

* nits

* nits
2017-09-01 15:22:02 -04:00
Florent Vilmart
2e1ba66fd2 Fix/user update issue (#4123)
* Adds failing test,

the _User object is not updated as soon as you pass some authData part of the PUT

* Do not run the DB call when updating the user with new auth data, just part of the rest
2017-08-29 16:34:59 -04:00
Arthur Cinader
a103871cbc fix some typos. (#4112)
* fix some typos.

* more typos....
2017-08-29 14:20:51 -04:00
Florent Vilmart
ea67d23ef4 Improvements for sending push performance (#4122)
* Adds test for stalled pushStatus when audience is empty

* fixup! Adds test for stalled pushStatus when audience is empty

* Do not enqueue when count is 0, enforce deviceToken exists, stop badge ordering
2017-08-29 11:47:01 -04:00
Diamond Lewis
c6546218f4 PG: Support for nested contains and containedIn (#4109) 2017-08-23 11:33:57 -04:00
Florent Vilmart
92d51def6b Fixes issue affecting linking users to a 3rd party auth (#4047)
* Fixes issue affecting linking users to a 3rd party auth

* Fixes problematic test

* Better fix

* nits
2017-07-25 15:26:34 -04:00
Worathiti Manosroi
7e54265f6d Security: limit Masterkey remote access (#4017)
* update choose_password to have the confirmation

* add comment mark

* First version, no test

* throw error right away instead of just use masterKey false

* fix the logic

* move it up before the masterKey check

* adding some test

* typo

* remove the choose_password

* newline

* add cli options

* remove trailing space

* handle  in case the server is behind proxy

* add getting the first ip in the ip list of xff

* sanity check the ip in config if it is a valid ip address

* split ip extraction to another function

* trailing spaces
2017-07-23 12:26:30 -04:00
Diamond Lewis
811d8b0c7a pg support for null in containedAll (#4026) 2017-07-23 12:11:02 -04:00
Miguel Serrano
3c79cae1b2 feat: add request headers to trigger functions (#4012)
* add request headers to trigger functions

* reverse changes

* add headers in request config and trigger request
2017-07-14 13:19:00 -04:00
Diamond Lewis
e6cc8204b3 Add Polygon Type To Schema / PolygonContain to Query (#3944)
* 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
2017-07-11 23:33:45 -04:00
Florent Vilmart
ad52ed64af Lets increment/set badges on all _Installations (#3970)
* Lets increment/set badges on all _Installations

* Makes sure PG update where query is properly formed with empty query
2017-07-03 10:16:04 -04:00
Florent Vilmart
f42ccba5b1 fix(package): update pg-promise to version 6.3.0 (#3982)
* fix(package): update pg-promise to version 6.3.0

Closes #3954

* Restores PG adapter after tests that close the connection

* investigation

* Use isolated parse-server to not impeed on other specs

* Update PostgresInitOptions.spec.js
2017-07-02 14:29:54 -04:00
greenkeeper[bot]
d8a257d951 Update parse-server-push-adapter to the latest version 🚀 (#3983)
* fix(package): update parse-server-push-adapter to version 2.0.0

* Update helper.js

* default push config to android as ios is pickier
2017-07-01 23:34:47 -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
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
Florent Vilmart
9256b2d7e6 chore: fix flaky test (#3928)
* logOut is async so handle with a promise
2017-06-13 23:54:15 -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
Arthur Cinader
5f991e90fb chore: put loose test into a describe block where it belongs... (#3920) 2017-06-13 10:40:44 -04:00
Antonio Davi Macedo Coelho de Castro
4aa4ebe807 chore: adds test for multiple dont select query (#3799) (#3885) 2017-06-13 10:40:17 -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
73aafa2d24 fix(tests): Stabilize flaky tests (#3876)
* Longer TTL, shorter wait

* Makes sure we wait for the logout

- Parse.User.logOut is async and was making a test flaky
2017-05-28 20:01:33 -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
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
Anthony Mosca
1f11ad5d74 chore(PushController): Fix push controller tests. (#3853) 2017-05-23 20:22:35 -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