* 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
* 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
* 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
* Add handleShutdown Test of MongoStorageAdapter.
* Add `handleShutdown` function in PostgresStorageAdapter, with it's test.
* Replace the _pgp to _client
* Use `adapter._client.$pool.ending` to ckeck is ending
* Add `handleShutdown()` in ParseServer.spec.js
* Trigger
* Set Server to Default
* 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
* Fix for unhandled undefined config
When an invalid application id is passed either for reset/change password or email verification, config.get returns undefined. This causes internal server.
* Throwing a 403 exception instead of returning a 404 for an invalid app id
Also, added a missing semicolon
* Fix indent issues
* Fix invalid colon to semicolon
* Fix space and indent issues
* Tests for the fix for unhandled undefined config
* Adds 'now' as an option in relative time
* reenables no-console in previous spot
* Adds weeks,months,years and abbreviations
* modified tests to address coverage
* month be gone!
* Add relative time queries
* Encode successful result
* Add integration test
* Add more error cases
* Remove unnecessary new Date
* Error when time has both 'in' and 'ago'
* naturalTimeToDate -> relativeTimeToDate
* Add $relativeTime operator
* Throw error if $relativeTime is invalid
* Add integration test for invalid relative time
* Exclude $exists query
* Only run integration tests on MongoDB
* Add it_only_db test helper
bd2ea87c1d/CONTRIBUTING.md (L23)
* Handle where val might be null or undefined
* Add integration test for multiple results
* Lowercase text before processing
* Always past if not future
* Precompute seconds multiplication
* Add shorthand for interval
hr, hrs
min, mins
sec, secs
* Throw error if $relativeTime is used with $exists, $ne, and $eq
* Improve coverage for relativeTimeToDate
* Add test for erroring on floating point units
* Remove unnecessary dropDatabase function
* Unit test $ne, $exists, $eq
* Verify field type
* Fix unit test for $exists
Unnest query object
* Add support for expiration_interval in Push
* Support expiration_interval for immediate pushes
* Test
* Add 'expiration_interval' to _PushStatus class
* Fix coverage
* Adds flow types / Configuration interfaces
* Lets call it options
* Use a single interface to generate the configurations
* Translates options to definitions only if comments are set
* improves logic
* Moves objects around
* Fixes issue affecting logging of circular objects
* fixes undefined env
* Moves all defaults to defaults
* Adds back CLI defaults
* Restored defaults in commander.js
* Merge provided defaults and platform defaults
* Addresses visual nits
* Improves Config.js code
* Adds ability to pass the default value in trailing comments
* Load platform defaults from the definitions file
* proper default values on various options
* Adds ParseServer.start and server.start(options) as quick startup methods
* Moves creating liveQueryServer http into ParseServer.js
* removes dead code
* Adds tests to guarantee we can start a LQ Server from main module
* Fixes incorrect code regading liveQuery init port
* Start a http server for LQ if port is specified
* ensure we dont fail if config.port is not set
* Specify port
* ignore other path skipped in tests
* Adds test for custom middleware setting
* Refactors new Config into Config.get
- Hides AppCache from ParseServer.js, use Config.put which validates
* Extracts controller creation into Controllers/index.js
- This makes the ParseServer init way simpler
* Move serverURL inference into ParseServer
* review nits
* add the client ip to the request config object
* add the config ip to the trigger request object
* add the config ip to the functions request object
* add tests
* remove log
* remove log
* Added basic validation of publicServerURL
* Fixed up 'verifyServerUrl' and added tests
* Use Parse.serverURL instead, general cleanup.
* Test server port moved to 13376
* Removed reconfigureServer calls with simple changing of Parse.serverURL
* changed var to const
* Disabled automatic serverURL verification during testing, moved verification call into app.on('mount') callback, removed setTimeout from verification.
* Fixes an issue where a beforeSave hook could cause a numeric val to be dropped in response.
* Use hasOwnProperty to check instead
* Remove redundant set
* Adds failing test for #4194
* Use the rest module instad of the Parse._request
- Some users have an invalid serverUrl passed in the options
* removes console.logs, fixes tests that leveraged Parse._request
* Refactors pushStatusHandler to use HTTP interface so we can bind CloudCode hooks
* Handle correctly nested dot atomic operations
* Better handling of restricted class names, add support for afterSave _PushStatus
* Adds simple testing for afterSave(PushStatus)
* Reverts jobStatusHandler
* Addresses fixes
* adds delays to all methods
* Adds ability to track sent/failed PerUTCOffset in the PushWorker
- for scheduled push notifications at a certain time, it helps keep track of the state
* Makes sure we track it all correctly
* Adds to Postgres
* Adds collecting invalid / expired device tokens from GCM / APNS
* Cleanup invalid installations based on responses from the adapters
* Adds test for cleanup
* Adds tests for removal