Commit Graph

2069 Commits

Author SHA1 Message Date
greenkeeper[bot]
c85c90a454 fix(package): update mongodb to version 3.0.2 (#4529) 2018-02-16 08:38:40 -05:00
Diamond Lewis
3cd77eeb7c duplicate value on unique index error (#4560) 2018-02-09 07:39:35 -06:00
greenkeeper[bot]
c16e6bb5e0 fix(package): update lodash to version 4.17.5 (#4543) 2018-02-07 22:29:39 -05:00
greenkeeper[bot]
90fd051ba4 chore(package): update nodemon to version 1.14.12 (#4539) 2018-02-07 22:29:23 -05:00
Tyson Andre
83a0d7b685 Fix "undefined property '__op'" in postgres update (#4541)
* Fix "undefined property '__op'" in postgres update

This causes a TypeError which becomes a regular Error,
before the update can be issued. (I think)

This happens when there is an object schema,
and there is also an unrelated field in originalUpdate
which is null or undefined.

e.g. when 'location' is a mandatory object in postgres,
and 'middleName' is an optional string,
PostgresStorageAdapter would throw when a query similar
to the below was performed:
(Object.keys(originalUpdate) would include "middleName" as a value of `k`)

    query.set('location', {'country': 'US'})
    query.set('middleName', undefined);

* Fix lint error
2018-02-07 08:16:54 -05:00
Benjamin Wilson Friedman
db8594dd33 Regenerate Email Verification Token on Email Request (#4439)
* regenerate email verification token & expiration in /verificationEmailRequest

* Remove password field when saving on postgres
2018-02-01 18:35:08 -05:00
Paulo Reis
f2e21b0538 Additional test for emailVerified set to false on email changed from existing (#4532)
* Create a test to check the issue #4501
* Check if after the user confirms the email and change the email again a new verification email is sent
* Change the spec text to requested in PR
2018-02-01 14:39:57 -08:00
Florent Vilmart
550b69e271 Release 2.7.2 (#4521)
*  Release 2.7.2

* Update CHANGELOG.md
2018-01-24 15:57:36 -05:00
Florent Vilmart
edba18fa9d fix(package): update commander to version 2.13.0 (#4522)
Closes #4394
2018-01-24 15:50:41 -05:00
Florent Vilmart
401cc357e5 Fixes issue affecting sorting in beforeFind (#4519)
* Fixes issue affecting sorting in beforeFind

* Update CloudCode.spec.js
2018-01-24 15:15:05 -05:00
greenkeeper[bot]
40407fea80 fix(package): update commander to version 2.12.2 (#4394) 2018-01-24 15:07:18 -05:00
greenkeeper[bot]
44086c96e6 chore(package): update flow-bin to version 0.64.0 (#4520) 2018-01-24 15:07:00 -05:00
greenkeeper[bot]
0807845f57 fix(package): update semver to version 5.5.0 (#4504) 2018-01-24 09:32:28 -05:00
Florent Vilmart
bcca1b6497 chore(package): update nodemon to version 1.14.11 (#4518)
Closes #4476
2018-01-24 09:24:07 -05:00
greenkeeper[bot]
4da27773fd fix(package): update ws to version 4.0.0 (#4485) 2018-01-24 09:23:44 -05:00
Florent Vilmart
db3777ec15 chore(package): update flow-bin to version 0.63.1 (#4515)
Closes #4486
2018-01-20 23:41:39 -05:00
greenkeeper[bot]
4eda0a2024 chore(package): update jasmine to version 2.9.0 (#4509) 2018-01-20 23:41:01 -05:00
greenkeeper[bot]
51e1cbad47 fix(package): update pg-promise to version 7.4.0 (#4514) 2018-01-20 23:40:41 -05:00
Diamond Lewis
64e568d000 Improved match aggregate (#4495)
* Improve aggregate queries

* using pg-promise query formatting

* match multiple comparison

* $or and complex match
2018-01-20 08:00:36 -06:00
Florent Vilmart
33890bbbfc Do not mark the empty pushs as failed (#4497) 2018-01-13 15:12:19 -05:00
greenkeeper[bot]
75fa16aa7e fix(package): update mime to version 2.2.0 (#4482) 2018-01-13 10:15:00 -05:00
greenkeeper[bot]
433e169055 fix(package): update pg-promise to version 7.3.3 (#4487) 2018-01-13 10:14:46 -05:00
Diamond Lewis
8ec07b83d0 Support pointer in aggregate query (#4493) 2018-01-08 20:42:08 -06:00
Paulo Reis
cb8f038ca8 #4338 pg schema upgrade (#4375)
* Method to upgrade schemas in Postgres;

Adds:
  - schemaUpgrade method which check the fields to add and delete from old schema;

* Remove the columns delete in schemaUpgrade method;

* ESLint fix and PostgresStorageAdapter.schemaUpgrade spec test

Adds:
  - Add PostgresStorageAdapter.schemaUpgrade spec tests: creates a table,
    simulates the addition of a new field and checks if its present in the database
Chores:
  - ESLint eol-last fix;

* Add check columns before and after schema upgrade, and remove the unnecessary piece of code

Add:
  - Check the right columns is present before schema upgrade and the new field is not,
    then check if the right columns is present and the new field;
Remove:
  - Piece of code unnecessary because it not need to remove diff columns;

* Optimize the schemaUpgrade method following @vitaly-t instructions, and more tests;

* If the class does not have any columns and needs an upgrade the code would
return without doing so. Fixed this.

Chore:
  - Allows class with no column to be upgraded;
  - Test for class with no columns being upgraded;

* Update PostgresStorageAdapter.js

rewriting method schemaUpgrade

* Update PostgresStorageAdapter.spec.js

* Update PostgresStorageAdapter.spec.js
2018-01-03 03:23:05 +00:00
Vitaly Tomilov
fc6a2fddc4 New Year cosmetics :) (#4475)
* cosmetics

* making nicer promise pattern + if->else blocks
* removing return if unwanted data from an `UPDATE`

* Update PostgresStorageAdapter.js

* Update PostgresStorageAdapter.js

* Update PostgresStorageAdapter.js

Restoring the `UPDATE` result, as apparently it is in fact used. Ouch! 😄

* Update PostgresStorageAdapter.js
2018-01-01 20:33:41 +00:00
Florent Vilmart
10631371e6 Introduces flow types for storage (#4349)
* 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
2017-12-30 20:44:18 -05:00
greenkeeper[bot]
f0f1870aa3 Update mongodb to the latest version 🚀 (#4449)
* 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
2017-12-30 00:23:43 -05:00
Diamond Lewis
6143988a82 Support pointer in distinct query (#4471)
* Support pointer in distinct query

* extract transform pointer string
2017-12-29 21:32:40 -06:00
Florent Vilmart
7d773a5d8a fix(package): update mime to version 2.1.0 (#4446)
Closes #4443
2017-12-29 15:31:14 -05:00
Florent Vilmart
e3a26540da chore(package): update nodemon to version 1.14.6 (#4472)
Closes #4417
2017-12-29 15:30:56 -05:00
greenkeeper[bot]
c549663c96 fix(package): update mime to version 2.0.5 (#4443) 2017-12-29 13:43:54 -05:00
greenkeeper[bot]
58f32c4745 fix(package): update ws to version 3.3.3 (#4429) 2017-12-29 13:27:43 -05:00
Florent Vilmart
2ee68d3a8b chore(package): update cross-env to version 5.1.3 (#4445)
Closes #4441
2017-12-29 13:27:16 -05:00
Benjamin Wilson Friedman
7a9d4044af Scrub Passwords with URL Encoded Characters (#4433)
* scrub passwords with url encoded characters from logs

* compose query string from parsed params, redacting based on key if needed
2017-12-29 13:16:32 -05:00
Diamond Lewis
04f8673edd PG: Support for multiple projection in aggregate (#4469) 2017-12-29 17:39:16 +00:00
Vitaly Tomilov
6ba939994d consistent error throwing (#4470)
should use `throw` inside `.catch`.
2017-12-29 17:06:55 +00:00
Vitaly Tomilov
bb053301e5 refactoring method createClass (#4465)
* refactoring method createClass

Removing error-analysis conditions that are irrelevant, i.e. since we are only returning the batch, the error will always have `data` set to the size of the input array, as per [the library's API](http://vitaly-t.github.io/spex/errors.BatchError.html).

* Update PostgresStorageAdapter.js

removing the use of the default separator.
2017-12-28 01:43:34 +00:00
Vitaly Tomilov
7bb9c6da59 refactoring deleteAllClasses (#4464)
* refactoring deleteAllClasses

...to re-use the connection.

* Update PostgresStorageAdapter.js

removing extra spaces.
2017-12-27 22:41:50 +00:00
Vitaly Tomilov
b4aca8afc9 Reuse connection in getAllClasses (#4463)
as per the title.
2017-12-27 20:44:11 +00:00
Vitaly Tomilov
5681b3f902 Refactoring method addFieldIfNotExists (#4461)
* Refactoring method `addFieldIfNotExists`

* Using ES6 Generators syntax
* Passing in the context into method `createClass`, to reuse the connection
* Extending method `createClass` to reuse connections

* Update PostgresStorageAdapter.js

forgot: extending method `createClass` to reuse the connection.

* Update PostgresStorageAdapter.js

fixing the re-throw logic.
2017-12-27 18:14:15 +00:00
Vitaly Tomilov
820ae2b894 Better connection use in setClassLevelPermissions (#4460)
Method `setClassLevelPermissions` should use `.task` to share the connection for the two consecutive operations. It doesn't need a transaction, because the first operation does not need to roll back when the second one fails.
2017-12-27 00:30:50 +00:00
Vitaly Tomilov
a868beda93 Refactoring method createTable (#4456)
* Refactoring method createTable

Replacing the weird task + transaction chain, by replacing it with just one transaction that encapsulates the complete logic.

* Update PostgresStorageAdapter.js

correcting the sequence to match the original exactly.

* Update PostgresStorageAdapter.js

Nesting the transaction inside a task, so it can execute successfully no matter if the containing task succeeds or fails.

* Update PostgresStorageAdapter.js

adding the missing bracket.
2017-12-26 00:14:16 +00:00
Vitaly Tomilov
34453bff46 PostgreSQL performance optimization (#4457)
Performance-optimizing transactions to execute all non-result queries as a single operation.
2017-12-25 21:08:04 +00:00
Vitaly Tomilov
415ee3a1fd 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
2017-12-24 19:03:35 +00:00
Vitaly Tomilov
a2b2f18927 db connection context fix (#4453)
fixing use of the wrong connection context inside a task
2017-12-24 17:56:23 +00:00
Vitaly Tomilov
e0a31d2aeb improving database logic. (#4451)
improving database logic.
2017-12-24 16:34:01 +00:00
Vitaly Tomilov
08ba738227 refactoring database code (#4448)
* refactoring database code

Starting to refactor the database code for better use of promises + ES6 generators, to prepare for ES7 await/async.

* Update PostgresStorageAdapter.js

* Update PostgresStorageAdapter.js

naming the transaction.
2017-12-24 15:58:20 +00:00
Premith
33de770709 Add Parse Server Generic Email Adapter to README (#4101)
Added a generic email plugin to send Parse Server password reset and verification emails with generic accounts like Gmail. This module uses the nodemailer library.
2017-12-19 11:37:31 -08:00
Florent Vilmart
bad217911c Adds ability to login with email when provided as username (#4420) 2017-12-12 08:49:45 -05:00
Florent Vilmart
8fd5f31089 Adds infos about vulnerability disclosures (#4413)
* Create SECURITY.md

* Update SECURITY.md

* Update SECURITY.md

* Update ISSUE_TEMPLATE.md

* Update ISSUE_TEMPLATE.md

* Clarify time table from contact to fix

* change times to days
2017-12-05 08:52:13 -05:00