* Removing sessionToken and authData from _User objects included in a query
This bug caused sessionToken to be replaced on client side to some old
sessionToken from DB.
* Removing dangling variable that is never used
* Checking if object has defined key for Pointer constraints in liveQuery
If there is a liveQuery subscription, with Pointer type constrains (e.g
query.equalTo('user', Parse.User.current())), and new object has
undefined value for that field, we get this error:
error: Uncaught internal server error. [TypeError: Cannot read
property 'className' of undefined] TypeError: Cannot read property
'className' of undefined
at matchesKeyConstraints
(…/node_modules/parse-server/lib/LiveQuery/QueryTools.js:145:51)
* LiveQuery constrains matching fix
When constrains == null, we get “Uncaught internal server error”
* Adds schema caching capabilities (off by default)
* Use InMemoryCacheAdapter
* Uses proper adapter to generate a cache
* Fix bugs when running disabled cache
* nits
* nits
* Use options object instead of boolean
* Imrpove concurrency of loadSchema
* Adds testing with SCHEMA_CACHE_ON
* Use CacheController instead of generator
- Makes caching SchemaCache use a generated prefix
- Makes clearing the SchemaCache clear only the cached schema keys
- Enable cache by default (ttl 5s)
* chore(package): update mongodb to version 2.2.4
https://greenkeeper.io/
* fix for mongo 2.2.4
* Delete schema promise on error...
- Just because this way we can let the adapter an opportunity to yield a new error....
OR A SUCCESS
* Fixes test
* Restore fix
* Add null check for relation type map.
For relations that are not explicitly defined in the schema, we need a null check here.
* Making change to force rebuild.
* Reverting change.
* Adds test
* Adding a test demonstrating issue #1840.
* Fixes#1840
* Adds failing test with other use case
- That test fails on parse.com as well
* Bumps parse to 1.9.0
* exclude pg db
* Exclude pg on other test
* Adds clientSDK compatibility check for forward deletion
- Mark js1.9.0 as compatible
* Strips all operations from result
- fix for #1606
* flag in configurations to use only files adapter
* added lib folder
* remove lib
* alignment edit
* replace comma with semicolon
* ignore parse file storage if fileKey is not provided (undefined)
If it really needs to reject with `undefined`, then this is the right way. Usually one just returns the result, let the caller provide the `.catch` ;)
This way real errors can be swallowed, not very good ;)
this isn't just a simplification, but also fixing a bug: the result of `count(*)` is always returned as a string that needs conversion, not as a number, because it is 64-bit, and all 64-bit numbers are returned as strings. So, the previous `=== 0` would have never worked.
* remove WithoutValidation from config and push
* remove one use of WithoutValidation
* remove another WithoutValidation
* Kill WithoutValidation and skipValidation
* Results invalid session when providing an invalid session token
* Reverts unsafe loggers
* Fixes failing tests
- The tests were failin when run in sequence as we called done() before the JSSDK had a chance to register the session token, therefore having a proper logout call in afterEach
* Use the callback body instead of response.body that may not be set
* Adds test to handle undefined responses
* Adds toJSON method to properly serialize HTTPResponse
* Use ES5 defineProperty to make keys enumerable
* removes body key from serialization
* Indent nits
* reload the right data
More passing postgres tests
Handle schema updates, and $in for non array columns
remove authdata from user and implement ensureUniqueness
Make some tests work, detect existing classes
Throw proper error for unique index violation
fix findOneAndUpdate
Support more types
support more type
Support boolean, fix _rperm/_wperm, add TODO
Support string types and also simplify tests
Move operator flattening into Parse Server and out of mongo adapters
Move authdata transform for create into Parse Server
Move authdata transforms completely in to Parse Server
Fix test setup
inline addSchema
Inject default schema to response from DB adapter
* Mark tests that don't work in Postgres
* Exclude one more test
* Exclude some more failing tests
* Exclude more tests
1. Deleting tables in a transaction, as opposed to just a task.
2. Added transaction where it was supposed to be. However, it is not enough, the logic is still broken there...
First, do not use `.catch` before `.then`. It is dangerous without good understanding how it actually works.
Check this out:
```js
.catch(error => {
if (error.code === PostgresRelationDoesNotExistError) {
return this.createClass(className, {fields: {[fieldName]: type}}) // this gets into the following `.then`
} else if (error.code === PostgresDuplicateColumnError) {
// Column already exists, created by other request. Carry on to
// See if it's the right type.
// this will get the following `.then` with `undefined` as the value
} else {
throw error;
}
})
```