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
This commit is contained in:
committed by
Arthur Cinader
parent
16954c2f74
commit
e94991b368
128
src/RestWrite.js
128
src/RestWrite.js
@@ -120,7 +120,7 @@ RestWrite.prototype.validateClientClassCreation = function() {
|
||||
.then(hasClass => {
|
||||
if (hasClass !== true) {
|
||||
throw new Parse.Error(Parse.Error.OPERATION_FORBIDDEN,
|
||||
'This user is not allowed to access ' +
|
||||
'This user is not allowed to access ' +
|
||||
'non-existent class: ' + this.className);
|
||||
}
|
||||
});
|
||||
@@ -205,11 +205,11 @@ RestWrite.prototype.validateAuthData = function() {
|
||||
if (!this.query && !this.data.authData) {
|
||||
if (typeof this.data.username !== 'string' || _.isEmpty(this.data.username)) {
|
||||
throw new Parse.Error(Parse.Error.USERNAME_MISSING,
|
||||
'bad or missing username');
|
||||
'bad or missing username');
|
||||
}
|
||||
if (typeof this.data.password !== 'string' || _.isEmpty(this.data.password)) {
|
||||
throw new Parse.Error(Parse.Error.PASSWORD_MISSING,
|
||||
'password is required');
|
||||
'password is required');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -230,7 +230,7 @@ RestWrite.prototype.validateAuthData = function() {
|
||||
}
|
||||
}
|
||||
throw new Parse.Error(Parse.Error.UNSUPPORTED_SERVICE,
|
||||
'This authentication method is unsupported.');
|
||||
'This authentication method is unsupported.');
|
||||
};
|
||||
|
||||
RestWrite.prototype.handleAuthDataValidation = function(authData) {
|
||||
@@ -241,7 +241,7 @@ RestWrite.prototype.handleAuthDataValidation = function(authData) {
|
||||
const validateAuthData = this.config.authDataManager.getValidatorForProvider(provider);
|
||||
if (!validateAuthData) {
|
||||
throw new Parse.Error(Parse.Error.UNSUPPORTED_SERVICE,
|
||||
'This authentication method is unsupported.');
|
||||
'This authentication method is unsupported.');
|
||||
}
|
||||
return validateAuthData(authData[provider]);
|
||||
});
|
||||
@@ -266,8 +266,8 @@ RestWrite.prototype.findUsersWithAuthData = function(authData) {
|
||||
let findPromise = Promise.resolve([]);
|
||||
if (query.length > 0) {
|
||||
findPromise = this.config.database.find(
|
||||
this.className,
|
||||
{'$or': query}, {})
|
||||
this.className,
|
||||
{'$or': query}, {})
|
||||
}
|
||||
|
||||
return findPromise;
|
||||
@@ -281,7 +281,7 @@ RestWrite.prototype.handleAuthData = function(authData) {
|
||||
if (results.length > 1) {
|
||||
// More than 1 user with the passed id's
|
||||
throw new Parse.Error(Parse.Error.ACCOUNT_ALREADY_LINKED,
|
||||
'this auth is already used');
|
||||
'this auth is already used');
|
||||
}
|
||||
|
||||
this.storage['authProvider'] = Object.keys(authData).join(',');
|
||||
@@ -333,7 +333,7 @@ RestWrite.prototype.handleAuthData = function(authData) {
|
||||
// are different
|
||||
if (userResult.objectId !== this.query.objectId) {
|
||||
throw new Parse.Error(Parse.Error.ACCOUNT_ALREADY_LINKED,
|
||||
'this auth is already used');
|
||||
'this auth is already used');
|
||||
}
|
||||
// No auth data was mutated, just keep going
|
||||
if (!hasMutatedAuthData) {
|
||||
@@ -582,13 +582,13 @@ RestWrite.prototype.handleFollowup = function() {
|
||||
};
|
||||
delete this.storage['clearSessions'];
|
||||
return this.config.database.destroy('_Session', sessionQuery)
|
||||
.then(this.handleFollowup.bind(this));
|
||||
.then(this.handleFollowup.bind(this));
|
||||
}
|
||||
|
||||
if (this.storage && this.storage['generateNewSession']) {
|
||||
delete this.storage['generateNewSession'];
|
||||
return this.createSessionToken()
|
||||
.then(this.handleFollowup.bind(this));
|
||||
.then(this.handleFollowup.bind(this));
|
||||
}
|
||||
|
||||
if (this.storage && this.storage['sendVerificationEmail']) {
|
||||
@@ -608,7 +608,7 @@ RestWrite.prototype.handleSession = function() {
|
||||
|
||||
if (!this.auth.user && !this.auth.isMaster) {
|
||||
throw new Parse.Error(Parse.Error.INVALID_SESSION_TOKEN,
|
||||
'Session token required.');
|
||||
'Session token required.');
|
||||
}
|
||||
|
||||
// TODO: Verify proper error to throw
|
||||
@@ -643,7 +643,7 @@ RestWrite.prototype.handleSession = function() {
|
||||
return create.execute().then((results) => {
|
||||
if (!results.response) {
|
||||
throw new Parse.Error(Parse.Error.INTERNAL_SERVER_ERROR,
|
||||
'Error creating session.');
|
||||
'Error creating session.');
|
||||
}
|
||||
sessionData['objectId'] = results.response['objectId'];
|
||||
this.response = {
|
||||
@@ -667,7 +667,7 @@ RestWrite.prototype.handleInstallation = function() {
|
||||
|
||||
if (!this.query && !this.data.deviceToken && !this.data.installationId && !this.auth.installationId) {
|
||||
throw new Parse.Error(135,
|
||||
'at least one ID field (deviceToken, installationId) ' +
|
||||
'at least one ID field (deviceToken, installationId) ' +
|
||||
'must be specified in this operation');
|
||||
}
|
||||
|
||||
@@ -747,25 +747,25 @@ RestWrite.prototype.handleInstallation = function() {
|
||||
if (this.query && this.query.objectId) {
|
||||
if (!objectIdMatch) {
|
||||
throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND,
|
||||
'Object not found for update.');
|
||||
'Object not found for update.');
|
||||
}
|
||||
if (this.data.installationId && objectIdMatch.installationId &&
|
||||
this.data.installationId !== objectIdMatch.installationId) {
|
||||
throw new Parse.Error(136,
|
||||
'installationId may not be changed in this ' +
|
||||
'installationId may not be changed in this ' +
|
||||
'operation');
|
||||
}
|
||||
if (this.data.deviceToken && objectIdMatch.deviceToken &&
|
||||
this.data.deviceToken !== objectIdMatch.deviceToken &&
|
||||
!this.data.installationId && !objectIdMatch.installationId) {
|
||||
throw new Parse.Error(136,
|
||||
'deviceToken may not be changed in this ' +
|
||||
'deviceToken may not be changed in this ' +
|
||||
'operation');
|
||||
}
|
||||
if (this.data.deviceType && this.data.deviceType &&
|
||||
this.data.deviceType !== objectIdMatch.deviceType) {
|
||||
throw new Parse.Error(136,
|
||||
'deviceType may not be changed in this ' +
|
||||
'deviceType may not be changed in this ' +
|
||||
'operation');
|
||||
}
|
||||
}
|
||||
@@ -780,7 +780,7 @@ RestWrite.prototype.handleInstallation = function() {
|
||||
// need to specify deviceType only if it's new
|
||||
if (!this.query && !this.data.deviceType && !idMatch) {
|
||||
throw new Parse.Error(135,
|
||||
'deviceType must be specified in this operation');
|
||||
'deviceType must be specified in this operation');
|
||||
}
|
||||
|
||||
}).then(() => {
|
||||
@@ -796,7 +796,7 @@ RestWrite.prototype.handleInstallation = function() {
|
||||
return deviceTokenMatches[0]['objectId'];
|
||||
} else if (!this.data.installationId) {
|
||||
throw new Parse.Error(132,
|
||||
'Must specify installationId when deviceToken ' +
|
||||
'Must specify installationId when deviceToken ' +
|
||||
'matches multiple Installation objects');
|
||||
} else {
|
||||
// Multiple device token matches and we specified an installation ID,
|
||||
@@ -968,11 +968,11 @@ RestWrite.prototype.runDatabaseOperation = function() {
|
||||
return defer.then(() => {
|
||||
// Run an update
|
||||
return this.config.database.update(this.className, this.query, this.data, this.runOptions)
|
||||
.then(response => {
|
||||
response.updatedAt = this.updatedAt;
|
||||
this._updateResponseWithData(response, this.data);
|
||||
this.response = { response };
|
||||
});
|
||||
.then(response => {
|
||||
response.updatedAt = this.updatedAt;
|
||||
this._updateResponseWithData(response, this.data);
|
||||
this.response = { response };
|
||||
});
|
||||
});
|
||||
} else {
|
||||
// Set the default ACL and password timestamp for the new _User
|
||||
@@ -994,50 +994,50 @@ RestWrite.prototype.runDatabaseOperation = function() {
|
||||
|
||||
// Run a create
|
||||
return this.config.database.create(this.className, this.data, this.runOptions)
|
||||
.catch(error => {
|
||||
if (this.className !== '_User' || error.code !== Parse.Error.DUPLICATE_VALUE) {
|
||||
throw error;
|
||||
}
|
||||
// If this was a failed user creation due to username or email already taken, we need to
|
||||
// check whether it was username or email and return the appropriate error.
|
||||
|
||||
// TODO: See if we can later do this without additional queries by using named indexes.
|
||||
return this.config.database.find(
|
||||
this.className,
|
||||
{ username: this.data.username, objectId: {'$ne': this.objectId()} },
|
||||
{ limit: 1 }
|
||||
)
|
||||
.then(results => {
|
||||
if (results.length > 0) {
|
||||
throw new Parse.Error(Parse.Error.USERNAME_TAKEN, 'Account already exists for this username.');
|
||||
.catch(error => {
|
||||
if (this.className !== '_User' || error.code !== Parse.Error.DUPLICATE_VALUE) {
|
||||
throw error;
|
||||
}
|
||||
// If this was a failed user creation due to username or email already taken, we need to
|
||||
// check whether it was username or email and return the appropriate error.
|
||||
|
||||
// TODO: See if we can later do this without additional queries by using named indexes.
|
||||
return this.config.database.find(
|
||||
this.className,
|
||||
{ email: this.data.email, objectId: {'$ne': this.objectId()} },
|
||||
{ username: this.data.username, objectId: {'$ne': this.objectId()} },
|
||||
{ limit: 1 }
|
||||
);
|
||||
)
|
||||
.then(results => {
|
||||
if (results.length > 0) {
|
||||
throw new Parse.Error(Parse.Error.USERNAME_TAKEN, 'Account already exists for this username.');
|
||||
}
|
||||
return this.config.database.find(
|
||||
this.className,
|
||||
{ email: this.data.email, objectId: {'$ne': this.objectId()} },
|
||||
{ limit: 1 }
|
||||
);
|
||||
})
|
||||
.then(results => {
|
||||
if (results.length > 0) {
|
||||
throw new Parse.Error(Parse.Error.EMAIL_TAKEN, 'Account already exists for this email address.');
|
||||
}
|
||||
throw new Parse.Error(Parse.Error.DUPLICATE_VALUE, 'A duplicate value for a field with unique values was provided');
|
||||
});
|
||||
})
|
||||
.then(results => {
|
||||
if (results.length > 0) {
|
||||
throw new Parse.Error(Parse.Error.EMAIL_TAKEN, 'Account already exists for this email address.');
|
||||
}
|
||||
throw new Parse.Error(Parse.Error.DUPLICATE_VALUE, 'A duplicate value for a field with unique values was provided');
|
||||
});
|
||||
})
|
||||
.then(response => {
|
||||
response.objectId = this.data.objectId;
|
||||
response.createdAt = this.data.createdAt;
|
||||
.then(response => {
|
||||
response.objectId = this.data.objectId;
|
||||
response.createdAt = this.data.createdAt;
|
||||
|
||||
if (this.responseShouldHaveUsername) {
|
||||
response.username = this.data.username;
|
||||
}
|
||||
this._updateResponseWithData(response, this.data);
|
||||
this.response = {
|
||||
status: 201,
|
||||
response,
|
||||
location: this.location()
|
||||
};
|
||||
});
|
||||
if (this.responseShouldHaveUsername) {
|
||||
response.username = this.data.username;
|
||||
}
|
||||
this._updateResponseWithData(response, this.data);
|
||||
this.response = {
|
||||
status: 201,
|
||||
response,
|
||||
location: this.location()
|
||||
};
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1080,7 +1080,7 @@ RestWrite.prototype.runAfterTrigger = function() {
|
||||
// A helper to figure out what location this operation happens at.
|
||||
RestWrite.prototype.location = function() {
|
||||
var middle = (this.className === '_User' ? '/users/' :
|
||||
'/classes/' + this.className + '/');
|
||||
'/classes/' + this.className + '/');
|
||||
return this.config.mount + middle + this.data.objectId;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user