From 139f43e26b30b356a97af1d6563ed1ba8be4b1c1 Mon Sep 17 00:00:00 2001 From: dplewis Date: Mon, 13 Jul 2020 16:52:11 -0500 Subject: [PATCH] Run Prettier JS #2 --- .prettierrc | 1 + src/Controllers/AnalyticsController.js | 4 +- src/Controllers/DatabaseController.js | 154 +++++++++++----------- src/Controllers/FilesController.js | 2 +- src/Controllers/HooksController.js | 24 ++-- src/Controllers/LoggerController.js | 6 +- src/Controllers/ParseGraphQLController.js | 4 +- src/Controllers/PushController.js | 2 +- src/Controllers/SchemaCache.js | 4 +- src/Controllers/SchemaController.js | 58 ++++---- src/Controllers/UserController.js | 14 +- src/GraphQL/ParseGraphQLSchema.js | 30 ++--- src/GraphQL/ParseGraphQLServer.js | 4 +- src/GraphQL/parseGraphQLUtils.js | 6 +- src/LiveQuery/ParseLiveQueryServer.js | 16 +-- src/LiveQuery/ParseWebSocketServer.js | 8 +- src/LiveQuery/SessionTokenCache.js | 4 +- src/Push/PushWorker.js | 6 +- src/Push/utils.js | 10 +- src/Routers/AggregateRouter.js | 8 +- src/Routers/AudiencesRouter.js | 16 +-- src/Routers/ClassesRouter.js | 14 +- src/Routers/CloudCodeRouter.js | 10 +- src/Routers/FeaturesRouter.js | 2 +- src/Routers/FilesRouter.js | 14 +- src/Routers/FunctionsRouter.js | 12 +- src/Routers/GlobalConfigRouter.js | 6 +- src/Routers/GraphQLRouter.js | 4 +- src/Routers/HooksRouter.js | 14 +- src/Routers/IAPValidationRouter.js | 6 +- src/Routers/InstallationsRouter.js | 12 +- src/Routers/LogsRouter.js | 4 +- src/Routers/PublicAPIRouter.js | 22 ++-- src/Routers/PurgeRouter.js | 4 +- src/Routers/PushRouter.js | 6 +- src/Routers/RolesRouter.js | 10 +- src/Routers/SchemasRouter.js | 20 +-- src/Routers/SessionsRouter.js | 16 +-- src/Routers/UsersRouter.js | 88 ++++++------- src/cloud-code/httpRequest.js | 8 +- 40 files changed, 323 insertions(+), 330 deletions(-) diff --git a/.prettierrc b/.prettierrc index f0ef52a9dc..2863522785 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,3 +1,4 @@ semi: true trailingComma: "es5" singleQuote: true +arrowParens: "avoid" \ No newline at end of file diff --git a/src/Controllers/AnalyticsController.js b/src/Controllers/AnalyticsController.js index 9c316b3f97..89aa48eda8 100644 --- a/src/Controllers/AnalyticsController.js +++ b/src/Controllers/AnalyticsController.js @@ -7,7 +7,7 @@ export class AnalyticsController extends AdaptableController { .then(() => { return this.adapter.appOpened(req.body, req); }) - .then((response) => { + .then(response => { return { response: response || {} }; }) .catch(() => { @@ -20,7 +20,7 @@ export class AnalyticsController extends AdaptableController { .then(() => { return this.adapter.trackEvent(req.params.eventName, req.body, req); }) - .then((response) => { + .then(response => { return { response: response || {} }; }) .catch(() => { diff --git a/src/Controllers/DatabaseController.js b/src/Controllers/DatabaseController.js index b56a8d3efc..f71350eef3 100644 --- a/src/Controllers/DatabaseController.js +++ b/src/Controllers/DatabaseController.js @@ -65,7 +65,7 @@ const specialQuerykeys = [ '_failed_login_count', ]; -const isSpecialQueryKey = (key) => { +const isSpecialQueryKey = key => { return specialQuerykeys.indexOf(key) >= 0; }; @@ -107,7 +107,7 @@ const validateQuery = (query: any): void => { } } - Object.keys(query).forEach((key) => { + Object.keys(query).forEach(key => { if (query && query[key] && query[key].$regex) { if (typeof query[key].$options === 'string') { if (!query[key].$options.match(/^[imxs]+$/)) { @@ -149,8 +149,8 @@ const filterSensitiveData = ( if (isReadOperation && perms.protectedFields) { // extract protectedFields added with the pointer-permission prefix const protectedFieldsPointerPerm = Object.keys(perms.protectedFields) - .filter((key) => key.startsWith('userField:')) - .map((key) => { + .filter(key => key.startsWith('userField:')) + .map(key => { return { key: key.substring(10), value: perms.protectedFields[key] }; }); @@ -158,13 +158,13 @@ const filterSensitiveData = ( let overrideProtectedFields = false; // check if the object grants the current user access based on the extracted fields - protectedFieldsPointerPerm.forEach((pointerPerm) => { + protectedFieldsPointerPerm.forEach(pointerPerm => { let pointerPermIncludesUser = false; const readUserFieldValue = object[pointerPerm.key]; if (readUserFieldValue) { if (Array.isArray(readUserFieldValue)) { pointerPermIncludesUser = readUserFieldValue.some( - (user) => user.objectId && user.objectId === userId + user => user.objectId && user.objectId === userId ); } else { pointerPermIncludesUser = @@ -186,14 +186,14 @@ const filterSensitiveData = ( newProtectedFields.push(protectedFields); } // intersect all sets of protectedFields - newProtectedFields.forEach((fields) => { + newProtectedFields.forEach(fields => { if (fields) { // if there're no protctedFields by other criteria ( id / role / auth) // then we must intersect each set (per userField) if (!protectedFields) { protectedFields = fields; } else { - protectedFields = protectedFields.filter((v) => fields.includes(v)); + protectedFields = protectedFields.filter(v => fields.includes(v)); } } }); @@ -205,13 +205,13 @@ const filterSensitiveData = ( /* special treat for the user class: don't filter protectedFields if currently loggedin user is the retrieved user */ if (!(isUserClass && userId && object.objectId === userId)) { - protectedFields && protectedFields.forEach((k) => delete object[k]); + protectedFields && protectedFields.forEach(k => delete object[k]); // fields not requested by client (excluded), //but were needed to apply protecttedFields perms.protectedFields && perms.protectedFields.temporaryKeys && - perms.protectedFields.temporaryKeys.forEach((k) => delete object[k]); + perms.protectedFields.temporaryKeys.forEach(k => delete object[k]); } if (!isUserClass) { @@ -265,7 +265,7 @@ const specialKeysForUpdate = [ '_password_history', ]; -const isSpecialUpdateKey = (key) => { +const isSpecialUpdateKey = key => { return specialKeysForUpdate.indexOf(key) >= 0; }; @@ -291,7 +291,7 @@ function sanitizeDatabaseResult(originalObject, result): Promise { if (!result) { return Promise.resolve(response); } - Object.keys(originalObject).forEach((key) => { + Object.keys(originalObject).forEach(key => { const keyUpdate = originalObject[key]; // determine if that was an op if ( @@ -312,7 +312,7 @@ function joinTableName(className, key) { return `_Join:${key}:${className}`; } -const flattenUpdateOperatorsForCreate = (object) => { +const flattenUpdateOperatorsForCreate = object => { for (const key in object) { if (object[key] && object[key].__op) { switch (object[key].__op) { @@ -367,7 +367,7 @@ const flattenUpdateOperatorsForCreate = (object) => { const transformAuthData = (className, object, schema) => { if (object.authData && className === '_User') { - Object.keys(object.authData).forEach((provider) => { + Object.keys(object.authData).forEach(provider => { const providerData = object.authData[provider]; const fieldName = `_auth_data_${provider}`; if (providerData == null) { @@ -387,7 +387,7 @@ const untransformObjectACL = ({ _rperm, _wperm, ...output }) => { if (_rperm || _wperm) { output.ACL = {}; - (_rperm || []).forEach((entry) => { + (_rperm || []).forEach(entry => { if (!output.ACL[entry]) { output.ACL[entry] = { read: true }; } else { @@ -395,7 +395,7 @@ const untransformObjectACL = ({ _rperm, _wperm, ...output }) => { } }); - (_wperm || []).forEach((entry) => { + (_wperm || []).forEach(entry => { if (!output.ACL[entry]) { output.ACL[entry] = { write: true }; } else { @@ -442,10 +442,8 @@ class DatabaseController { purgeCollection(className: string): Promise { return this.loadSchema() - .then((schemaController) => schemaController.getOneSchema(className)) - .then((schema) => - this.adapter.deleteObjectsByQuery(className, schema, {}) - ); + .then(schemaController => schemaController.getOneSchema(className)) + .then(schema => this.adapter.deleteObjectsByQuery(className, schema, {})); } validateClassName(className: string): Promise { @@ -492,7 +490,7 @@ class DatabaseController { // classname through the key. // TODO: make this not in the DatabaseController interface redirectClassNameForKey(className: string, key: string): Promise { - return this.loadSchema().then((schema) => { + return this.loadSchema().then(schema => { var t = schema.getExpectedType(className, key); if (t != null && typeof t !== 'string' && t.type === 'Relation') { return t.targetClass; @@ -516,7 +514,7 @@ class DatabaseController { const isMaster = acl === undefined; var aclGroup: string[] = acl || []; return this.loadSchema() - .then((s) => { + .then(s => { schema = s; if (isMaster) { return Promise.resolve(); @@ -552,7 +550,7 @@ class DatabaseController { var aclGroup = acl || []; return this.loadSchemaIfNeeded(validSchemaController).then( - (schemaController) => { + schemaController => { return (isMaster ? Promise.resolve() : schemaController.validatePermission(className, aclGroup, 'update') @@ -596,7 +594,7 @@ class DatabaseController { validateQuery(query); return schemaController .getOneSchema(className, true) - .catch((error) => { + .catch(error => { // If the schema doesn't exist, pretend it exists with no fields. This behavior // will likely need revisiting. if (error === undefined) { @@ -604,8 +602,8 @@ class DatabaseController { } throw error; }) - .then((schema) => { - Object.keys(update).forEach((fieldName) => { + .then(schema => { + Object.keys(update).forEach(fieldName => { if (fieldName.match(/^authData\.([a-zA-Z0-9_]+)\.id$/)) { throw new Parse.Error( Parse.Error.INVALID_KEY_NAME, @@ -628,7 +626,7 @@ class DatabaseController { update[updateOperation] && typeof update[updateOperation] === 'object' && Object.keys(update[updateOperation]).some( - (innerKey) => + innerKey => innerKey.includes('$') || innerKey.includes('.') ) ) { @@ -643,7 +641,7 @@ class DatabaseController { if (validateOnly) { return this.adapter .find(className, schema, query, {}) - .then((result) => { + .then(result => { if (!result || !result.length) { throw new Parse.Error( Parse.Error.OBJECT_NOT_FOUND, @@ -699,7 +697,7 @@ class DatabaseController { return result; }); }) - .then((result) => { + .then(result => { if (skipSanitization) { return Promise.resolve(result); } @@ -822,7 +820,7 @@ class DatabaseController { doc, this._transactionalSession ) - .catch((error) => { + .catch(error => { // We don't care if they try to delete a non-existent relation. if (error.code == Parse.Error.OBJECT_NOT_FOUND) { return; @@ -848,7 +846,7 @@ class DatabaseController { const aclGroup = acl || []; return this.loadSchemaIfNeeded(validSchemaController).then( - (schemaController) => { + schemaController => { return (isMaster ? Promise.resolve() : schemaController.validatePermission(className, aclGroup, 'delete') @@ -875,7 +873,7 @@ class DatabaseController { validateQuery(query); return schemaController .getOneSchema(className) - .catch((error) => { + .catch(error => { // If the schema doesn't exist, pretend it exists with no fields. This behavior // will likely need revisiting. if (error === undefined) { @@ -883,7 +881,7 @@ class DatabaseController { } throw error; }) - .then((parseFormatSchema) => + .then(parseFormatSchema => this.adapter.deleteObjectsByQuery( className, parseFormatSchema, @@ -891,7 +889,7 @@ class DatabaseController { this._transactionalSession ) ) - .catch((error) => { + .catch(error => { // When deleting sessions while changing passwords, don't throw an error if they don't have any sessions. if ( className === '_Session' && @@ -932,14 +930,14 @@ class DatabaseController { return this.validateClassName(className) .then(() => this.loadSchemaIfNeeded(validSchemaController)) - .then((schemaController) => { + .then(schemaController => { return (isMaster ? Promise.resolve() : schemaController.validatePermission(className, aclGroup, 'create') ) .then(() => schemaController.enforceClassExists(className)) .then(() => schemaController.getOneSchema(className, true)) - .then((schema) => { + .then(schema => { transformAuthData(className, object, schema); flattenUpdateOperatorsForCreate(object); if (validateOnly) { @@ -952,7 +950,7 @@ class DatabaseController { this._transactionalSession ); }) - .then((result) => { + .then(result => { if (validateOnly) { return originalObject; } @@ -981,7 +979,7 @@ class DatabaseController { } const fields = Object.keys(object); const schemaFields = Object.keys(classSchema.fields); - const newKeys = fields.filter((field) => { + const newKeys = fields.filter(field => { // Skip fields that are unset if ( object[field] && @@ -1040,7 +1038,7 @@ class DatabaseController { { owningId }, findOptions ) - .then((results) => results.map((result) => result.relatedId)); + .then(results => results.map(result => result.relatedId)); } // Returns a promise for a list of owning ids given some related ids. @@ -1057,7 +1055,7 @@ class DatabaseController { { relatedId: { $in: relatedIds } }, { keys: ['owningId'] } ) - .then((results) => results.map((result) => result.owningId)); + .then(results => results.map(result => result.owningId)); } // Modifies query so that it no longer has $in on relation fields, or @@ -1071,7 +1069,7 @@ class DatabaseController { return Promise.all( ors.map((aQuery, index) => { return this.reduceInRelation(className, aQuery, schema).then( - (aQuery) => { + aQuery => { query['$or'][index] = aQuery; } ); @@ -1081,7 +1079,7 @@ class DatabaseController { }); } - const promises = Object.keys(query).map((key) => { + const promises = Object.keys(query).map(key => { const t = schema.getExpectedType(className, key); if (!t || t.type !== 'Relation') { return Promise.resolve(query); @@ -1095,16 +1093,16 @@ class DatabaseController { query[key].__type == 'Pointer') ) { // Build the list of queries - queries = Object.keys(query[key]).map((constraintKey) => { + queries = Object.keys(query[key]).map(constraintKey => { let relatedIds; let isNegation = false; if (constraintKey === 'objectId') { relatedIds = [query[key].objectId]; } else if (constraintKey == '$in') { - relatedIds = query[key]['$in'].map((r) => r.objectId); + relatedIds = query[key]['$in'].map(r => r.objectId); } else if (constraintKey == '$nin') { isNegation = true; - relatedIds = query[key]['$nin'].map((r) => r.objectId); + relatedIds = query[key]['$nin'].map(r => r.objectId); } else if (constraintKey == '$ne') { isNegation = true; relatedIds = [query[key]['$ne'].objectId]; @@ -1124,11 +1122,11 @@ class DatabaseController { delete query[key]; // execute each query independently to build the list of // $in / $nin - const promises = queries.map((q) => { + const promises = queries.map(q => { if (!q) { return Promise.resolve(); } - return this.owningIds(className, key, q.relatedIds).then((ids) => { + return this.owningIds(className, key, q.relatedIds).then(ids => { if (q.isNegation) { this.addNotInObjectIdsIds(ids, query); } else { @@ -1157,7 +1155,7 @@ class DatabaseController { ): ?Promise { if (query['$or']) { return Promise.all( - query['$or'].map((aQuery) => { + query['$or'].map(aQuery => { return this.reduceRelationKeys(className, aQuery, queryOptions); }) ); @@ -1171,7 +1169,7 @@ class DatabaseController { relatedTo.object.objectId, queryOptions ) - .then((ids) => { + .then(ids => { delete query['$relatedTo']; this.addInObjectIdsIds(ids, query); return this.reduceRelationKeys(className, query, queryOptions); @@ -1194,7 +1192,7 @@ class DatabaseController { idsFromEq, idsFromIn, ids, - ].filter((list) => list !== null); + ].filter(list => list !== null); const totalLength = allIds.reduce((memo, list) => memo + list.length, 0); let idsIntersection = []; @@ -1223,7 +1221,7 @@ class DatabaseController { addNotInObjectIdsIds(ids: string[] = [], query: any) { const idsFromNin = query.objectId && query.objectId['$nin'] ? query.objectId['$nin'] : []; - let allIds = [...idsFromNin, ...ids].filter((list) => list !== null); + let allIds = [...idsFromNin, ...ids].filter(list => list !== null); // make a set and spread to remove duplicates allIds = [...new Set(allIds)]; @@ -1292,13 +1290,13 @@ class DatabaseController { let classExists = true; return this.loadSchemaIfNeeded(validSchemaController).then( - (schemaController) => { + schemaController => { //Allow volatile classes if querying with Master (for _PushStatus) //TODO: Move volatile classes concept into mongo adapter, postgres adapter shouldn't care //that api.parse.com breaks when _PushStatus exists in mongo. return schemaController .getOneSchema(className, isMaster) - .catch((error) => { + .catch(error => { // Behavior for non-existent classes is kinda weird on Parse.com. Probably doesn't matter too much. // For now, pretend the class exists but has no objects, if (error === undefined) { @@ -1307,7 +1305,7 @@ class DatabaseController { } throw error; }) - .then((schema) => { + .then(schema => { // Parse.com treats queries on _created_at and _updated_at as if they were queries on createdAt and updatedAt, // so duplicate that behavior here. If both are specified, the correct behavior to match Parse.com is to // use the one that appears first in the sort list. @@ -1329,7 +1327,7 @@ class DatabaseController { caseInsensitive, explain, }; - Object.keys(sort).forEach((fieldName) => { + Object.keys(sort).forEach(fieldName => { if (fieldName.match(/^authData\.([a-zA-Z0-9_]+)\.id$/)) { throw new Parse.Error( Parse.Error.INVALID_KEY_NAME, @@ -1441,8 +1439,8 @@ class DatabaseController { } else { return this.adapter .find(className, schema, query, queryOptions) - .then((objects) => - objects.map((object) => { + .then(objects => + objects.map(object => { object = untransformObjectACL(object); return filterSensitiveData( isMaster, @@ -1456,7 +1454,7 @@ class DatabaseController { ); }) ) - .catch((error) => { + .catch(error => { throw new Parse.Error( Parse.Error.INTERNAL_SERVER_ERROR, error @@ -1471,10 +1469,8 @@ class DatabaseController { deleteSchema(className: string): Promise { return this.loadSchema({ clearCache: true }) - .then((schemaController) => - schemaController.getOneSchema(className, true) - ) - .catch((error) => { + .then(schemaController => schemaController.getOneSchema(className, true)) + .catch(error => { if (error === undefined) { return { fields: {} }; } else { @@ -1486,7 +1482,7 @@ class DatabaseController { .then(() => this.adapter.count(className, { fields: {} }, null, '', false) ) - .then((count) => { + .then(count => { if (count > 0) { throw new Parse.Error( 255, @@ -1495,13 +1491,13 @@ class DatabaseController { } return this.adapter.deleteClass(className); }) - .then((wasParseCollection) => { + .then(wasParseCollection => { if (wasParseCollection) { const relationFieldNames = Object.keys(schema.fields).filter( - (fieldName) => schema.fields[fieldName].type === 'Relation' + fieldName => schema.fields[fieldName].type === 'Relation' ); return Promise.all( - relationFieldNames.map((name) => + relationFieldNames.map(name => this.adapter.deleteClass(joinTableName(className, name)) ) ).then(() => { @@ -1533,7 +1529,7 @@ class DatabaseController { } const perms = schema.getClassLevelPermissions(className); - const userACL = aclGroup.filter((acl) => { + const userACL = aclGroup.filter(acl => { return acl.indexOf('role:') != 0 && acl != '*'; }); @@ -1570,7 +1566,7 @@ class DatabaseController { objectId: userId, }; - const ors = permFields.flatMap((key) => { + const ors = permFields.flatMap(key => { // constraint for single pointer setup const q = { [key]: userPointer, @@ -1686,9 +1682,9 @@ class DatabaseController { }, []); // intersect all sets of protectedFields - protectedKeysSets.forEach((fields) => { + protectedKeysSets.forEach(fields => { if (fields) { - protectedKeys = protectedKeys.filter((v) => fields.includes(v)); + protectedKeys = protectedKeys.filter(v => fields.includes(v)); } }); @@ -1698,7 +1694,7 @@ class DatabaseController { createTransactionalSession() { return this.adapter .createTransactionalSession() - .then((transactionalSession) => { + .then(transactionalSession => { this._transactionalSession = transactionalSession; }); } @@ -1741,10 +1737,10 @@ class DatabaseController { }, }; - const userClassPromise = this.loadSchema().then((schema) => + const userClassPromise = this.loadSchema().then(schema => schema.enforceClassExists('_User') ); - const roleClassPromise = this.loadSchema().then((schema) => + const roleClassPromise = this.loadSchema().then(schema => schema.enforceClassExists('_Role') ); @@ -1752,7 +1748,7 @@ class DatabaseController { .then(() => this.adapter.ensureUniqueness('_User', requiredUserFields, ['username']) ) - .catch((error) => { + .catch(error => { logger.warn('Unable to ensure uniqueness for usernames: ', error); throw error; }); @@ -1767,7 +1763,7 @@ class DatabaseController { true ) ) - .catch((error) => { + .catch(error => { logger.warn( 'Unable to create case insensitive username index: ', error @@ -1779,7 +1775,7 @@ class DatabaseController { .then(() => this.adapter.ensureUniqueness('_User', requiredUserFields, ['email']) ) - .catch((error) => { + .catch(error => { logger.warn( 'Unable to ensure uniqueness for user email addresses: ', error @@ -1797,7 +1793,7 @@ class DatabaseController { true ) ) - .catch((error) => { + .catch(error => { logger.warn('Unable to create case insensitive email index: ', error); throw error; }); @@ -1806,7 +1802,7 @@ class DatabaseController { .then(() => this.adapter.ensureUniqueness('_Role', requiredRoleFields, ['name']) ) - .catch((error) => { + .catch(error => { logger.warn('Unable to ensure uniqueness for role name: ', error); throw error; }); @@ -1828,7 +1824,7 @@ class DatabaseController { ]); } - static _validateQuery: (any) => void; + static _validateQuery: any => void; } module.exports = DatabaseController; diff --git a/src/Controllers/FilesController.js b/src/Controllers/FilesController.js index 1caf388e62..579570eccd 100644 --- a/src/Controllers/FilesController.js +++ b/src/Controllers/FilesController.js @@ -59,7 +59,7 @@ export class FilesController extends AdaptableController { */ expandFilesInObject(config, object) { if (object instanceof Array) { - object.map((obj) => this.expandFilesInObject(config, obj)); + object.map(obj => this.expandFilesInObject(config, obj)); return; } if (typeof object !== 'object') { diff --git a/src/Controllers/HooksController.js b/src/Controllers/HooksController.js index e2d2e65c1a..f7fa0375eb 100644 --- a/src/Controllers/HooksController.js +++ b/src/Controllers/HooksController.js @@ -27,9 +27,9 @@ export class HooksController { } load() { - return this._getHooks().then((hooks) => { + return this._getHooks().then(hooks => { hooks = hooks || []; - hooks.forEach((hook) => { + hooks.forEach(hook => { this.addHookToTriggers(hook); }); }); @@ -37,7 +37,7 @@ export class HooksController { getFunction(functionName) { return this._getHooks({ functionName: functionName }).then( - (results) => results[0] + results => results[0] ); } @@ -49,7 +49,7 @@ export class HooksController { return this._getHooks({ className: className, triggerName: triggerName, - }).then((results) => results[0]); + }).then(results => results[0]); } getTriggers() { @@ -75,8 +75,8 @@ export class HooksController { _getHooks(query = {}) { return this.database .find(DefaultHooksCollectionName, query) - .then((results) => { - return results.map((result) => { + .then(results => { + return results.map(result => { delete result.objectId; return result; }); @@ -156,7 +156,7 @@ export class HooksController { createHook(aHook) { if (aHook.functionName) { - return this.getFunction(aHook.functionName).then((result) => { + return this.getFunction(aHook.functionName).then(result => { if (result) { throw new Parse.Error( 143, @@ -168,7 +168,7 @@ export class HooksController { }); } else if (aHook.className && aHook.triggerName) { return this.getTrigger(aHook.className, aHook.triggerName).then( - (result) => { + result => { if (result) { throw new Parse.Error( 143, @@ -185,7 +185,7 @@ export class HooksController { updateHook(aHook) { if (aHook.functionName) { - return this.getFunction(aHook.functionName).then((result) => { + return this.getFunction(aHook.functionName).then(result => { if (result) { return this.createOrUpdateHook(aHook); } @@ -196,7 +196,7 @@ export class HooksController { }); } else if (aHook.className && aHook.triggerName) { return this.getTrigger(aHook.className, aHook.triggerName).then( - (result) => { + result => { if (result) { return this.createOrUpdateHook(aHook); } @@ -209,7 +209,7 @@ export class HooksController { } function wrapToHTTPRequest(hook, key) { - return (req) => { + return req => { const jsonBody = {}; for (var i in req) { jsonBody[i] = req[i]; @@ -243,7 +243,7 @@ function wrapToHTTPRequest(hook, key) { 'Making outgoing webhook request without webhookKey being set!' ); } - return request(jsonRequest).then((response) => { + return request(jsonRequest).then(response => { let err; let result; let body = response.data; diff --git a/src/Controllers/LoggerController.js b/src/Controllers/LoggerController.js index 9caac1ad90..54effc3ddf 100644 --- a/src/Controllers/LoggerController.js +++ b/src/Controllers/LoggerController.js @@ -61,7 +61,7 @@ export class LoggerController extends AdaptableController { } maskSensitive(argArray) { - return argArray.map((e) => { + return argArray.map(e => { if (!e) { return e; } @@ -78,7 +78,7 @@ export class LoggerController extends AdaptableController { e.url = this.maskSensitiveUrl(e.url); } else if (Array.isArray(e.url)) { // for strings in array - e.url = e.url.map((item) => { + e.url = e.url.map(item => { if (typeof item === 'string') { return this.maskSensitiveUrl(item); } @@ -115,7 +115,7 @@ export class LoggerController extends AdaptableController { args = this.maskSensitive([...args]); args = [].concat( level, - args.map((arg) => { + args.map(arg => { if (typeof arg === 'function') { return arg(); } diff --git a/src/Controllers/ParseGraphQLController.js b/src/Controllers/ParseGraphQLController.js index 0f41e3eee9..ec23b7fdcc 100644 --- a/src/Controllers/ParseGraphQLController.js +++ b/src/Controllers/ParseGraphQLController.js @@ -137,7 +137,7 @@ class ParseGraphQLController { } if (classConfigs !== null) { if (Array.isArray(classConfigs)) { - classConfigs.forEach((classConfig) => { + classConfigs.forEach(classConfig => { const errorMessage = this._validateClassConfig(classConfig); if (errorMessage) { errorMessages.push( @@ -334,7 +334,7 @@ class ParseGraphQLController { const isValidStringArray = function (array): boolean { return Array.isArray(array) - ? !array.some((s) => typeof s !== 'string' || s.trim().length < 1) + ? !array.some(s => typeof s !== 'string' || s.trim().length < 1) : false; }; /** diff --git a/src/Controllers/PushController.js b/src/Controllers/PushController.js index 60c2ffb79f..4739235810 100644 --- a/src/Controllers/PushController.js +++ b/src/Controllers/PushController.js @@ -137,7 +137,7 @@ export class PushController { pushStatus ); }) - .catch((err) => { + .catch(err => { return pushStatus.fail(err).then(() => { throw err; }); diff --git a/src/Controllers/SchemaCache.js b/src/Controllers/SchemaCache.js index 4583c9c0b4..55d70eabaa 100644 --- a/src/Controllers/SchemaCache.js +++ b/src/Controllers/SchemaCache.js @@ -41,9 +41,9 @@ export default class SchemaCache { if (!this.ttl) { return Promise.resolve(null); } - return this.cache.get(this.prefix + MAIN_SCHEMA).then((cachedSchemas) => { + return this.cache.get(this.prefix + MAIN_SCHEMA).then(cachedSchemas => { cachedSchemas = cachedSchemas || []; - const schema = cachedSchemas.find((cachedSchema) => { + const schema = cachedSchemas.find(cachedSchema => { return cachedSchema.className === className; }); if (schema) { diff --git a/src/Controllers/SchemaController.js b/src/Controllers/SchemaController.js index fa2c05b375..c5b04dcfc6 100644 --- a/src/Controllers/SchemaController.js +++ b/src/Controllers/SchemaController.js @@ -545,7 +545,7 @@ class SchemaData { constructor(allSchemas = [], protectedFields = {}) { this.__data = {}; this.__protectedFields = protectedFields; - allSchemas.forEach((schema) => { + allSchemas.forEach(schema => { if (volatileClasses.includes(schema.className)) { return; } @@ -580,7 +580,7 @@ class SchemaData { }); // Inject the in-memory classes - volatileClasses.forEach((className) => { + volatileClasses.forEach(className => { Object.defineProperty(this, className, { get: () => { if (!this.__data[className]) { @@ -721,11 +721,11 @@ export default class SchemaController { } this.reloadDataPromise = this.getAllClasses(options) .then( - (allSchemas) => { + allSchemas => { this.schemaData = new SchemaData(allSchemas, this.protectedFields); delete this.reloadDataPromise; }, - (err) => { + err => { this.schemaData = new SchemaData(); delete this.reloadDataPromise; throw err; @@ -741,7 +741,7 @@ export default class SchemaController { if (options.clearCache) { return this.setAllClasses(); } - return this._cache.getAllClasses().then((allClasses) => { + return this._cache.getAllClasses().then(allClasses => { if (allClasses && allClasses.length) { return Promise.resolve(allClasses); } @@ -752,12 +752,12 @@ export default class SchemaController { setAllClasses(): Promise> { return this._dbAdapter .getAllClasses() - .then((allSchemas) => allSchemas.map(injectDefaultSchema)) - .then((allSchemas) => { + .then(allSchemas => allSchemas.map(injectDefaultSchema)) + .then(allSchemas => { /* eslint-disable no-console */ this._cache .setAllClasses(allSchemas) - .catch((error) => + .catch(error => console.error('Error saving schema to cache:', error) ); /* eslint-enable no-console */ @@ -784,13 +784,13 @@ export default class SchemaController { indexes: data.indexes, }); } - return this._cache.getOneSchema(className).then((cached) => { + return this._cache.getOneSchema(className).then(cached => { if (cached && !options.clearCache) { return Promise.resolve(cached); } - return this.setAllClasses().then((allSchemas) => { + return this.setAllClasses().then(allSchemas => { const oneSchema = allSchemas.find( - (schema) => schema.className === className + schema => schema.className === className ); if (!oneSchema) { return Promise.reject(undefined); @@ -841,7 +841,7 @@ export default class SchemaController { }) ) .then(convertAdapterSchemaToParseSchema) - .catch((error) => { + .catch(error => { if (error && error.code === Parse.Error.DUPLICATE_VALUE) { throw new Parse.Error( Parse.Error.INVALID_CLASS_NAME, @@ -861,9 +861,9 @@ export default class SchemaController { database: DatabaseController ) { return this.getOneSchema(className) - .then((schema) => { + .then(schema => { const existingFields = schema.fields; - Object.keys(submittedFields).forEach((name) => { + Object.keys(submittedFields).forEach(name => { const field = submittedFields[name]; if (existingFields[name] && field.__op !== 'Delete') { throw new Parse.Error(255, `Field ${name} exists, cannot update.`); @@ -899,7 +899,7 @@ export default class SchemaController { // Do all deletions first, then a single save to _SCHEMA collection to handle all additions. const deletedFields: string[] = []; const insertedFields = []; - Object.keys(submittedFields).forEach((fieldName) => { + Object.keys(submittedFields).forEach(fieldName => { if (submittedFields[fieldName].__op === 'Delete') { deletedFields.push(fieldName); } else { @@ -916,14 +916,14 @@ export default class SchemaController { deletePromise // Delete Everything .then(() => this.reloadData({ clearCache: true })) // Reload our Schema, so we have all the new values .then(() => { - const promises = insertedFields.map((fieldName) => { + const promises = insertedFields.map(fieldName => { const type = submittedFields[fieldName]; return this.enforceFieldExists(className, fieldName, type); }); return Promise.all(promises); }) - .then((results) => { - enforceFields = results.filter((result) => !!result); + .then(results => { + enforceFields = results.filter(result => !!result); return this.setPermissions( className, classLevelPermissions, @@ -955,7 +955,7 @@ export default class SchemaController { }) ); }) - .catch((error) => { + .catch(error => { if (error === undefined) { throw new Parse.Error( Parse.Error.INVALID_CLASS_NAME, @@ -1095,7 +1095,7 @@ export default class SchemaController { } const geoPoints = Object.keys(fields).filter( - (key) => fields[key] && fields[key].type === 'GeoPoint' + key => fields[key] && fields[key].type === 'GeoPoint' ); if (geoPoints.length > 1) { return { @@ -1180,7 +1180,7 @@ export default class SchemaController { return this._dbAdapter .addFieldIfNotExists(className, fieldName, type) - .catch((error) => { + .catch(error => { if (error.code == Parse.Error.INCORRECT_TYPE) { // Make sure that we throw errors when it is appropriate to do so. throw error; @@ -1244,7 +1244,7 @@ export default class SchemaController { ); } - fieldNames.forEach((fieldName) => { + fieldNames.forEach(fieldName => { if (!fieldNameIsValid(fieldName)) { throw new Parse.Error( Parse.Error.INVALID_KEY_NAME, @@ -1258,7 +1258,7 @@ export default class SchemaController { }); return this.getOneSchema(className, false, { clearCache: true }) - .catch((error) => { + .catch(error => { if (error === undefined) { throw new Parse.Error( Parse.Error.INVALID_CLASS_NAME, @@ -1268,8 +1268,8 @@ export default class SchemaController { throw error; } }) - .then((schema) => { - fieldNames.forEach((fieldName) => { + .then(schema => { + fieldNames.forEach(fieldName => { if (!schema.fields[fieldName]) { throw new Parse.Error( 255, @@ -1283,7 +1283,7 @@ export default class SchemaController { .deleteFields(className, schema, fieldNames) .then(() => { return Promise.all( - fieldNames.map((fieldName) => { + fieldNames.map(fieldName => { const field = schemaFields[fieldName]; if (field && field.type === 'Relation') { //For relations, drop the _Join table @@ -1335,7 +1335,7 @@ export default class SchemaController { promises.push(schema.enforceFieldExists(className, fieldName, expected)); } const results = await Promise.all(promises); - const enforceFields = results.filter((result) => !!result); + const enforceFields = results.filter(result => !!result); if (enforceFields.length !== 0) { await this.reloadData({ clearCache: true }); @@ -1401,7 +1401,7 @@ export default class SchemaController { } // Check permissions against the aclGroup provided (array of userId/roles) if ( - aclGroup.some((acl) => { + aclGroup.some(acl => { return perms[acl] === true; }) ) { @@ -1594,7 +1594,7 @@ function buildMergedSchemaObject( // Given a schema promise, construct another schema promise that // validates this field once the schema loads. function thenValidateRequiredColumns(schemaPromise, className, object, query) { - return schemaPromise.then((schema) => { + return schemaPromise.then(schema => { return schema.validateRequiredColumns(className, object, query); }); } diff --git a/src/Controllers/UserController.js b/src/Controllers/UserController.js index 3a00731d34..959f6416d4 100644 --- a/src/Controllers/UserController.js +++ b/src/Controllers/UserController.js @@ -70,7 +70,7 @@ export class UserController extends AdaptableController { '_User', { username: username, emailVerified: true } ); - return checkIfAlreadyVerified.execute().then((result) => { + return checkIfAlreadyVerified.execute().then(result => { if (result.results.length) { return Promise.resolve(result.results.length[0]); } @@ -88,7 +88,7 @@ export class UserController extends AdaptableController { }, { limit: 1 } ) - .then((results) => { + .then(results => { if (results.length != 1) { throw 'Failed to reset password: username / email / token is invalid'; } @@ -141,7 +141,7 @@ export class UserController extends AdaptableController { } const token = encodeURIComponent(user._email_verify_token); // We may need to fetch the user in case of update email - this.getUserIfNeeded(user).then((user) => { + this.getUserIfNeeded(user).then(user => { const username = encodeURIComponent(user.username); const link = buildEmailLink( @@ -179,7 +179,7 @@ export class UserController extends AdaptableController { } resendVerificationEmail(username) { - return this.getUserIfNeeded({ username: username }).then((aUser) => { + return this.getUserIfNeeded({ username: username }).then(aUser => { if (!aUser || aUser.emailVerified) { throw undefined; } @@ -216,7 +216,7 @@ export class UserController extends AdaptableController { // TODO: No adapter? } - return this.setPasswordResetToken(email).then((user) => { + return this.setPasswordResetToken(email).then(user => { const token = encodeURIComponent(user._perishable_token); const username = encodeURIComponent(user.username); @@ -244,8 +244,8 @@ export class UserController extends AdaptableController { updatePassword(username, token, password) { return this.checkResetTokenValidity(username, token) - .then((user) => updateUserPassword(user.objectId, password, this.config)) - .catch((error) => { + .then(user => updateUserPassword(user.objectId, password, this.config)) + .catch(error => { if (error && error.message) { // in case of Parse.Error, fail with the error message only return Promise.reject(error.message); diff --git a/src/GraphQL/ParseGraphQLSchema.js b/src/GraphQL/ParseGraphQLSchema.js index 03212098b6..87287f023c 100644 --- a/src/GraphQL/ParseGraphQLSchema.js +++ b/src/GraphQL/ParseGraphQLSchema.js @@ -217,7 +217,7 @@ class ParseGraphQLSchema { } }; Object.values(customGraphQLSchemaTypeMap).forEach( - (customGraphQLSchemaType) => { + customGraphQLSchemaType => { if ( !customGraphQLSchemaType || !customGraphQLSchemaType.name || @@ -236,7 +236,7 @@ class ParseGraphQLSchema { } ); Object.values(customGraphQLSchemaTypeMap).forEach( - (customGraphQLSchemaType) => { + customGraphQLSchemaType => { if ( !customGraphQLSchemaType || !customGraphQLSchemaType.name || @@ -253,7 +253,7 @@ class ParseGraphQLSchema { typeof customGraphQLSchemaType.getFields === 'function' ) { Object.values(customGraphQLSchemaType.getFields()).forEach( - (field) => { + field => { findAndReplaceLastType(field, 'type'); } ); @@ -289,24 +289,24 @@ class ParseGraphQLSchema { } const graphQLSchemaTypeMap = this.graphQLSchema.getTypeMap(); - Object.keys(graphQLSchemaTypeMap).forEach((graphQLSchemaTypeName) => { + Object.keys(graphQLSchemaTypeMap).forEach(graphQLSchemaTypeName => { const graphQLSchemaType = graphQLSchemaTypeMap[graphQLSchemaTypeName]; if ( typeof graphQLSchemaType.getFields === 'function' && this.graphQLCustomTypeDefs.definitions ) { const graphQLCustomTypeDef = this.graphQLCustomTypeDefs.definitions.find( - (definition) => definition.name.value === graphQLSchemaTypeName + definition => definition.name.value === graphQLSchemaTypeName ); if (graphQLCustomTypeDef) { const graphQLSchemaTypeFieldMap = graphQLSchemaType.getFields(); Object.keys(graphQLSchemaTypeFieldMap).forEach( - (graphQLSchemaTypeFieldName) => { + graphQLSchemaTypeFieldName => { const graphQLSchemaTypeField = graphQLSchemaTypeFieldMap[graphQLSchemaTypeFieldName]; if (!graphQLSchemaTypeField.astNode) { const astNode = graphQLCustomTypeDef.fields.find( - (field) => field.name.value === graphQLSchemaTypeFieldName + field => field.name.value === graphQLSchemaTypeFieldName ); if (astNode) { graphQLSchemaTypeField.astNode = astNode; @@ -337,9 +337,7 @@ class ParseGraphQLSchema { ) { if ( (!ignoreReserved && RESERVED_GRAPHQL_TYPE_NAMES.includes(type.name)) || - this.graphQLTypes.find( - (existingType) => existingType.name === type.name - ) || + this.graphQLTypes.find(existingType => existingType.name === type.name) || (!ignoreConnection && type.name.endsWith('Connection')) ) { const message = `Type ${type.name} could not be added to the auto schema because it collided with an existing type.`; @@ -429,7 +427,7 @@ class ParseGraphQLSchema { if (Array.isArray(enabledForClasses) || Array.isArray(disabledForClasses)) { let includedClasses = allClasses; if (enabledForClasses) { - includedClasses = allClasses.filter((clazz) => { + includedClasses = allClasses.filter(clazz => { return enabledForClasses.includes(clazz.className); }); } @@ -437,12 +435,12 @@ class ParseGraphQLSchema { // Classes included in `enabledForClasses` that // are also present in `disabledForClasses` will // still be filtered out - includedClasses = includedClasses.filter((clazz) => { + includedClasses = includedClasses.filter(clazz => { return !disabledForClasses.includes(clazz.className); }); } - this.isUsersClassDisabled = !includedClasses.some((clazz) => { + this.isUsersClassDisabled = !includedClasses.some(clazz => { return clazz.className === '_User'; }); @@ -487,11 +485,11 @@ class ParseGraphQLSchema { } }; - return parseClasses.sort(sortClasses).map((parseClass) => { + return parseClasses.sort(sortClasses).map(parseClass => { let parseClassConfig; if (classConfigs) { parseClassConfig = classConfigs.find( - (c) => c.className === parseClass.className + c => c.className === parseClass.className ); } return [parseClass, parseClassConfig]; @@ -499,7 +497,7 @@ class ParseGraphQLSchema { } async _getFunctionNames() { - return await getFunctionNames(this.appId).filter((functionName) => { + return await getFunctionNames(this.appId).filter(functionName => { if (/^[_a-zA-Z][_a-zA-Z0-9]*$/.test(functionName)) { return true; } else { diff --git a/src/GraphQL/ParseGraphQLServer.js b/src/GraphQL/ParseGraphQLServer.js index 10f124b2c0..a041721887 100644 --- a/src/GraphQL/ParseGraphQLServer.js +++ b/src/GraphQL/ParseGraphQLServer.js @@ -46,7 +46,7 @@ class ParseGraphQLServer { config: req.config, auth: req.auth, }, - formatError: (error) => { + formatError: error => { // Allow to console.log here to debug return error; }, @@ -91,7 +91,7 @@ class ParseGraphQLServer { app.use(this.config.graphQLPath, handleParseErrors); app.use( this.config.graphQLPath, - graphqlExpress(async (req) => await this._getGraphQLOptions(req)) + graphqlExpress(async req => await this._getGraphQLOptions(req)) ); } diff --git a/src/GraphQL/parseGraphQLUtils.js b/src/GraphQL/parseGraphQLUtils.js index 2d7b123838..e1b5811df8 100644 --- a/src/GraphQL/parseGraphQLUtils.js +++ b/src/GraphQL/parseGraphQLUtils.js @@ -22,13 +22,13 @@ export function toGraphQLError(error) { return new ApolloError(message, code); } -export const extractKeysAndInclude = (selectedFields) => { +export const extractKeysAndInclude = selectedFields => { selectedFields = selectedFields.filter( - (field) => !field.includes('__typename') + field => !field.includes('__typename') ); // Handles "id" field for both current and included objects - selectedFields = selectedFields.map((field) => { + selectedFields = selectedFields.map(field => { if (field === 'id') return 'objectId'; return field.endsWith('.id') ? `${field.substring(0, field.lastIndexOf('.id'))}.objectId` diff --git a/src/LiveQuery/ParseLiveQueryServer.js b/src/LiveQuery/ParseLiveQueryServer.js index 0411745e9e..a19ff3962c 100644 --- a/src/LiveQuery/ParseLiveQueryServer.js +++ b/src/LiveQuery/ParseLiveQueryServer.js @@ -60,7 +60,7 @@ class ParseLiveQueryServer { // Initialize websocket server this.parseWebSocketServer = new ParseWebSocketServer( server, - (parseWebsocket) => this._onConnect(parseWebsocket), + parseWebsocket => this._onConnect(parseWebsocket), config ); @@ -165,13 +165,13 @@ class ParseLiveQueryServer { // Check ACL return this._matchesACL(acl, client, requestId); }) - .then((isMatched) => { + .then(isMatched => { if (!isMatched) { return null; } client.pushDelete(requestId, deletedParseObject); }) - .catch((error) => { + .catch(error => { logger.error('Matching ACL error : ', error); }); } @@ -298,7 +298,7 @@ class ParseLiveQueryServer { originalParseObject ); }, - (error) => { + error => { logger.error('Matching ACL error : ', error); } ); @@ -308,7 +308,7 @@ class ParseLiveQueryServer { } _onConnect(parseWebsocket: any): void { - parseWebsocket.on('message', (request) => { + parseWebsocket.on('message', request => { if (typeof request === 'string') { try { request = JSON.parse(request); @@ -426,10 +426,10 @@ class ParseLiveQueryServer { cacheController: this.cacheController, sessionToken: sessionToken, }) - .then((auth) => { + .then(auth => { return { auth, userId: auth && auth.user && auth.user.id }; }) - .catch((error) => { + .catch(error => { // There was an error with the session token const result = {}; if (error && error.code === Parse.Error.INVALID_SESSION_TOKEN) { @@ -523,7 +523,7 @@ class ParseLiveQueryServer { return Promise.resolve() .then(async () => { // Resolve false right away if the acl doesn't have any roles - const acl_has_roles = Object.keys(acl.permissionsById).some((key) => + const acl_has_roles = Object.keys(acl.permissionsById).some(key => key.startsWith('role:') ); if (!acl_has_roles) { diff --git a/src/LiveQuery/ParseWebSocketServer.js b/src/LiveQuery/ParseWebSocketServer.js index 418dcbcaaf..606056fc2e 100644 --- a/src/LiveQuery/ParseWebSocketServer.js +++ b/src/LiveQuery/ParseWebSocketServer.js @@ -12,8 +12,8 @@ export class ParseWebSocketServer { wss.onListen = () => { logger.info('Parse LiveQuery Server starts running'); }; - wss.onConnection = (ws) => { - ws.on('error', (error) => { + wss.onConnection = ws => { + ws.on('error', error => { logger.error(error.message); logger.error(JSON.stringify(ws)); }); @@ -27,7 +27,7 @@ export class ParseWebSocketServer { } }, config.websocketTimeout || 10 * 1000); }; - wss.onError = (error) => { + wss.onError = error => { logger.error(error); }; wss.start(); @@ -46,7 +46,7 @@ export class ParseWebSocket extends events.EventEmitter { constructor(ws: any) { super(); - ws.onmessage = (request) => + ws.onmessage = request => this.emit('message', request && request.data ? request.data : request); ws.onclose = () => this.emit('disconnect'); this.ws = ws; diff --git a/src/LiveQuery/SessionTokenCache.js b/src/LiveQuery/SessionTokenCache.js index e02359ae4d..e2cb164c91 100644 --- a/src/LiveQuery/SessionTokenCache.js +++ b/src/LiveQuery/SessionTokenCache.js @@ -40,7 +40,7 @@ class SessionTokenCache { return Promise.resolve(userId); } return userForSessionToken(sessionToken).then( - (user) => { + user => { logger.verbose( 'Fetch userId %s of sessionToken %s from Parse', user.id, @@ -50,7 +50,7 @@ class SessionTokenCache { this.cache.set(sessionToken, userId); return Promise.resolve(userId); }, - (error) => { + error => { logger.error( 'Can not fetch userId for sessionToken %j, error %j', sessionToken, diff --git a/src/Push/PushWorker.js b/src/Push/PushWorker.js index 6eac468b07..d16542aeac 100644 --- a/src/Push/PushWorker.js +++ b/src/Push/PushWorker.js @@ -76,7 +76,7 @@ export class PushWorker { installations, locales ); - const promises = Object.keys(grouppedInstallations).map((locale) => { + const promises = Object.keys(grouppedInstallations).map(locale => { const installations = grouppedInstallations[locale]; const body = bodiesPerLocales[locale]; return this.sendToAdapter( @@ -94,7 +94,7 @@ export class PushWorker { logger.verbose(`Sending push to ${installations.length}`); return this.adapter .send(body, installations, pushStatus.objectId) - .then((results) => { + .then(results => { return pushStatus.trackSent(results, UTCOffset).then(() => results); }); } @@ -103,7 +103,7 @@ export class PushWorker { const badgeInstallationsMap = groupByBadge(installations); // Map the on the badges count and return the send result - const promises = Object.keys(badgeInstallationsMap).map((badge) => { + const promises = Object.keys(badgeInstallationsMap).map(badge => { const payload = deepcopy(body); payload.data.badge = parseInt(badge); const installations = badgeInstallationsMap[badge]; diff --git a/src/Push/utils.js b/src/Push/utils.js index ad1550973a..ce7023917e 100644 --- a/src/Push/utils.js +++ b/src/Push/utils.js @@ -29,7 +29,7 @@ export function getLocalesFromPush(body) { return [ ...new Set( Object.keys(data).reduce((memo, key) => { - localizableKeys.forEach((localizableKey) => { + localizableKeys.forEach(localizableKey => { if (key.indexOf(`${localizableKey}-`) == 0) { memo.push(key.slice(localizableKey.length + 1)); } @@ -46,7 +46,7 @@ export function transformPushBodyForLocale(body, locale) { return body; } body = deepcopy(body); - localizableKeys.forEach((key) => { + localizableKeys.forEach(key => { const localeValue = body.data[`${key}-${locale}`]; if (localeValue) { body.data[key] = localeValue; @@ -59,8 +59,8 @@ export function stripLocalesFromBody(body) { if (!body.data) { return body; } - Object.keys(body.data).forEach((key) => { - localizableKeys.forEach((localizableKey) => { + Object.keys(body.data).forEach(key => { + localizableKeys.forEach(localizableKey => { if (key.indexOf(`${localizableKey}-`) == 0) { delete body.data[key]; } @@ -84,7 +84,7 @@ export function groupByLocaleIdentifier(installations, locales = []) { return installations.reduce( (map, installation) => { let added = false; - locales.forEach((locale) => { + locales.forEach(locale => { if (added) { return; } diff --git a/src/Routers/AggregateRouter.js b/src/Routers/AggregateRouter.js index fd6a70a66d..cd849b5621 100644 --- a/src/Routers/AggregateRouter.js +++ b/src/Routers/AggregateRouter.js @@ -72,7 +72,7 @@ export class AggregateRouter extends ClassesRouter { req.info.clientSDK, req.info.context ) - .then((response) => { + .then(response => { for (const result of response.results) { if (typeof result === 'object') { UsersRouter.removeHiddenProperties(result); @@ -110,12 +110,12 @@ export class AggregateRouter extends ClassesRouter { static getPipeline(body) { let pipeline = body.pipeline || body; if (!Array.isArray(pipeline)) { - pipeline = Object.keys(pipeline).map((key) => { + pipeline = Object.keys(pipeline).map(key => { return { [key]: pipeline[key] }; }); } - return pipeline.map((stage) => { + return pipeline.map(stage => { const keys = Object.keys(stage); if (keys.length != 1) { throw new Error( @@ -157,7 +157,7 @@ export class AggregateRouter extends ClassesRouter { 'GET', '/aggregate/:className', middleware.promiseEnforceMasterKeyAccess, - (req) => { + req => { return this.handleFind(req); } ); diff --git a/src/Routers/AudiencesRouter.js b/src/Routers/AudiencesRouter.js index 1d91550528..e9ece1d419 100644 --- a/src/Routers/AudiencesRouter.js +++ b/src/Routers/AudiencesRouter.js @@ -24,8 +24,8 @@ export class AudiencesRouter extends ClassesRouter { req.info.clientSDK, req.info.context ) - .then((response) => { - response.results.forEach((item) => { + .then(response => { + response.results.forEach(item => { item.query = JSON.parse(item.query); }); @@ -34,7 +34,7 @@ export class AudiencesRouter extends ClassesRouter { } handleGet(req) { - return super.handleGet(req).then((data) => { + return super.handleGet(req).then(data => { data.response.query = JSON.parse(data.response.query); return data; @@ -46,7 +46,7 @@ export class AudiencesRouter extends ClassesRouter { 'GET', '/push_audiences', middleware.promiseEnforceMasterKeyAccess, - (req) => { + req => { return this.handleFind(req); } ); @@ -54,7 +54,7 @@ export class AudiencesRouter extends ClassesRouter { 'GET', '/push_audiences/:objectId', middleware.promiseEnforceMasterKeyAccess, - (req) => { + req => { return this.handleGet(req); } ); @@ -62,7 +62,7 @@ export class AudiencesRouter extends ClassesRouter { 'POST', '/push_audiences', middleware.promiseEnforceMasterKeyAccess, - (req) => { + req => { return this.handleCreate(req); } ); @@ -70,7 +70,7 @@ export class AudiencesRouter extends ClassesRouter { 'PUT', '/push_audiences/:objectId', middleware.promiseEnforceMasterKeyAccess, - (req) => { + req => { return this.handleUpdate(req); } ); @@ -78,7 +78,7 @@ export class AudiencesRouter extends ClassesRouter { 'DELETE', '/push_audiences/:objectId', middleware.promiseEnforceMasterKeyAccess, - (req) => { + req => { return this.handleDelete(req); } ); diff --git a/src/Routers/ClassesRouter.js b/src/Routers/ClassesRouter.js index d86ee76d2b..b5bba161fa 100644 --- a/src/Routers/ClassesRouter.js +++ b/src/Routers/ClassesRouter.js @@ -43,7 +43,7 @@ export class ClassesRouter extends PromiseRouter { req.info.clientSDK, req.info.context ) - .then((response) => { + .then(response => { return { response: response }; }); } @@ -93,7 +93,7 @@ export class ClassesRouter extends PromiseRouter { options, req.info.clientSDK ) - .then((response) => { + .then(response => { if (!response.results || response.results.length == 0) { throw new Parse.Error( Parse.Error.OBJECT_NOT_FOUND, @@ -241,19 +241,19 @@ export class ClassesRouter extends PromiseRouter { } mountRoutes() { - this.route('GET', '/classes/:className', (req) => { + this.route('GET', '/classes/:className', req => { return this.handleFind(req); }); - this.route('GET', '/classes/:className/:objectId', (req) => { + this.route('GET', '/classes/:className/:objectId', req => { return this.handleGet(req); }); - this.route('POST', '/classes/:className', (req) => { + this.route('POST', '/classes/:className', req => { return this.handleCreate(req); }); - this.route('PUT', '/classes/:className/:objectId', (req) => { + this.route('PUT', '/classes/:className/:objectId', req => { return this.handleUpdate(req); }); - this.route('DELETE', '/classes/:className/:objectId', (req) => { + this.route('DELETE', '/classes/:className/:objectId', req => { return this.handleDelete(req); }); } diff --git a/src/Routers/CloudCodeRouter.js b/src/Routers/CloudCodeRouter.js index 3c3ef4f102..9f4a82a218 100644 --- a/src/Routers/CloudCodeRouter.js +++ b/src/Routers/CloudCodeRouter.js @@ -58,7 +58,7 @@ export class CloudCodeRouter extends PromiseRouter { static getJobs(req) { return rest .find(req.config, req.auth, '_JobSchedule', {}, {}) - .then((scheduledJobs) => { + .then(scheduledJobs => { return { response: scheduledJobs.results, }; @@ -70,10 +70,10 @@ export class CloudCodeRouter extends PromiseRouter { const jobs = triggers.getJobs(config.applicationId) || {}; return rest .find(req.config, req.auth, '_JobSchedule', {}, {}) - .then((scheduledJobs) => { + .then(scheduledJobs => { return { response: { - in_use: scheduledJobs.results.map((job) => job.jobName), + in_use: scheduledJobs.results.map(job => job.jobName), jobs: Object.keys(jobs), }, }; @@ -107,7 +107,7 @@ export class CloudCodeRouter extends PromiseRouter { undefined, req.info.context ) - .then((response) => { + .then(response => { return { response, }; @@ -118,7 +118,7 @@ export class CloudCodeRouter extends PromiseRouter { const { objectId } = req.params; return rest .del(req.config, req.auth, '_JobSchedule', objectId, req.info.context) - .then((response) => { + .then(response => { return { response, }; diff --git a/src/Routers/FeaturesRouter.js b/src/Routers/FeaturesRouter.js index 4822d135ec..c0cc56d716 100644 --- a/src/Routers/FeaturesRouter.js +++ b/src/Routers/FeaturesRouter.js @@ -8,7 +8,7 @@ export class FeaturesRouter extends PromiseRouter { 'GET', '/serverInfo', middleware.promiseEnforceMasterKeyAccess, - (req) => { + req => { const { config } = req; const features = { globalConfig: { diff --git a/src/Routers/FilesRouter.js b/src/Routers/FilesRouter.js index 234dbf57e4..705d7d0c84 100644 --- a/src/Routers/FilesRouter.js +++ b/src/Routers/FilesRouter.js @@ -8,22 +8,22 @@ import logger from '../logger'; const triggers = require('../triggers'); const http = require('http'); -const downloadFileFromURI = (uri) => { +const downloadFileFromURI = uri => { return new Promise((res, rej) => { http - .get(uri, (response) => { + .get(uri, response => { response.setDefaultEncoding('base64'); let body = `data:${response.headers['content-type']};base64,`; - response.on('data', (data) => (body += data)); + response.on('data', data => (body += data)); response.on('end', () => res(body)); }) - .on('error', (e) => { + .on('error', e => { rej(`Error downloading file from ${uri}: ${e.message}`); }); }); }; -const addFileDataIfNeeded = async (file) => { +const addFileDataIfNeeded = async file => { if (file._source.format === 'uri') { const base64 = await downloadFileFromURI(file._source.uri); file._previousSave = file; @@ -33,7 +33,7 @@ const addFileDataIfNeeded = async (file) => { return file; }; -const errorMessageFromError = (e) => { +const errorMessageFromError = e => { if (typeof e === 'string') { return e; } else if (e && e.message) { @@ -91,7 +91,7 @@ export class FilesRouter { } else { filesController .getFileData(config, filename) - .then((data) => { + .then(data => { res.status(200); res.set('Content-Type', contentType); res.set('Content-Length', data.length); diff --git a/src/Routers/FunctionsRouter.js b/src/Routers/FunctionsRouter.js index 56a18de2dc..c31eeb031f 100644 --- a/src/Routers/FunctionsRouter.js +++ b/src/Routers/FunctionsRouter.js @@ -11,7 +11,7 @@ import { logger } from '../logger'; function parseObject(obj) { if (Array.isArray(obj)) { - return obj.map((item) => { + return obj.map(item => { return parseObject(item); }); } else if (obj && obj.__type == 'Date') { @@ -68,7 +68,7 @@ export class FunctionsRouter extends PromiseRouter { message: jobHandler.setMessage.bind(jobHandler), }; - return jobHandler.setRunning(jobName, params).then((jobStatus) => { + return jobHandler.setRunning(jobName, params).then(jobStatus => { request.jobId = jobStatus.objectId; // run the function async process.nextTick(() => { @@ -77,10 +77,10 @@ export class FunctionsRouter extends PromiseRouter { return jobFunction(request); }) .then( - (result) => { + result => { jobHandler.setSucceeded(result); }, - (error) => { + error => { jobHandler.setFailed(error); } ); @@ -166,7 +166,7 @@ export class FunctionsRouter extends PromiseRouter { req.auth && req.auth.user ? req.auth.user.id : undefined; const cleanInput = logger.truncateLogMessage(JSON.stringify(params)); const { success, error, message } = FunctionsRouter.createResponseObject( - (result) => { + result => { try { const cleanResult = logger.truncateLogMessage( JSON.stringify(result.response.result) @@ -184,7 +184,7 @@ export class FunctionsRouter extends PromiseRouter { reject(e); } }, - (error) => { + error => { try { logger.error( `Failed running cloud function ${functionName} for user ${userString} with:\n Input: ${cleanInput}\n Error: ` + diff --git a/src/Routers/GlobalConfigRouter.js b/src/Routers/GlobalConfigRouter.js index 3173e380e5..ca189ead68 100644 --- a/src/Routers/GlobalConfigRouter.js +++ b/src/Routers/GlobalConfigRouter.js @@ -7,7 +7,7 @@ export class GlobalConfigRouter extends PromiseRouter { getGlobalConfig(req) { return req.config.database .find('_GlobalConfig', { objectId: '1' }, { limit: 1 }) - .then((results) => { + .then(results => { if (results.length != 1) { // If there is no config in the database - return empty config. return { response: { params: {} } }; @@ -51,14 +51,14 @@ export class GlobalConfigRouter extends PromiseRouter { } mountRoutes() { - this.route('GET', '/config', (req) => { + this.route('GET', '/config', req => { return this.getGlobalConfig(req); }); this.route( 'PUT', '/config', middleware.promiseEnforceMasterKeyAccess, - (req) => { + req => { return this.updateGlobalConfig(req); } ); diff --git a/src/Routers/GraphQLRouter.js b/src/Routers/GraphQLRouter.js index 9dc006b571..cdf2565926 100644 --- a/src/Routers/GraphQLRouter.js +++ b/src/Routers/GraphQLRouter.js @@ -32,7 +32,7 @@ export class GraphQLRouter extends PromiseRouter { 'GET', GraphQLConfigPath, middleware.promiseEnforceMasterKeyAccess, - (req) => { + req => { return this.getGraphQLConfig(req); } ); @@ -40,7 +40,7 @@ export class GraphQLRouter extends PromiseRouter { 'PUT', GraphQLConfigPath, middleware.promiseEnforceMasterKeyAccess, - (req) => { + req => { return this.updateGraphQLConfig(req); } ); diff --git a/src/Routers/HooksRouter.js b/src/Routers/HooksRouter.js index 16d37de0a6..404094cbb9 100644 --- a/src/Routers/HooksRouter.js +++ b/src/Routers/HooksRouter.js @@ -6,13 +6,13 @@ export class HooksRouter extends PromiseRouter { createHook(aHook, config) { return config.hooksController .createHook(aHook) - .then((hook) => ({ response: hook })); + .then(hook => ({ response: hook })); } updateHook(aHook, config) { return config.hooksController .updateHook(aHook) - .then((hook) => ({ response: hook })); + .then(hook => ({ response: hook })); } handlePost(req) { @@ -24,7 +24,7 @@ export class HooksRouter extends PromiseRouter { if (req.params.functionName) { return hooksController .getFunction(req.params.functionName) - .then((foundFunction) => { + .then(foundFunction => { if (!foundFunction) { throw new Parse.Error( 143, @@ -36,10 +36,10 @@ export class HooksRouter extends PromiseRouter { } return hooksController.getFunctions().then( - (functions) => { + functions => { return { response: functions || [] }; }, - (err) => { + err => { throw err; } ); @@ -50,7 +50,7 @@ export class HooksRouter extends PromiseRouter { if (req.params.className && req.params.triggerName) { return hooksController .getTrigger(req.params.className, req.params.triggerName) - .then((foundTrigger) => { + .then(foundTrigger => { if (!foundTrigger) { throw new Parse.Error( 143, @@ -63,7 +63,7 @@ export class HooksRouter extends PromiseRouter { return hooksController .getTriggers() - .then((triggers) => ({ response: triggers || [] })); + .then(triggers => ({ response: triggers || [] })); } handleDelete(req) { diff --git a/src/Routers/IAPValidationRouter.js b/src/Routers/IAPValidationRouter.js index 58fb68157c..ad5de163b2 100644 --- a/src/Routers/IAPValidationRouter.js +++ b/src/Routers/IAPValidationRouter.js @@ -32,7 +32,7 @@ function validateWithAppStore(url, receipt) { headers: { 'Content-Type': 'application/json', }, - }).then((httpResponse) => { + }).then(httpResponse => { const body = httpResponse.data; if (body && body.status === 0) { // No need to pass anything, status is OK @@ -106,13 +106,13 @@ export class IAPValidationRouter extends PromiseRouter { () => { return successCallback(); }, - (error) => { + error => { if (error.status == 21007) { return validateWithAppStore(IAP_SANDBOX_URL, receipt).then( () => { return successCallback(); }, - (error) => { + error => { return errorCallback(error); } ); diff --git a/src/Routers/InstallationsRouter.js b/src/Routers/InstallationsRouter.js index c40f13456a..28876b7f31 100644 --- a/src/Routers/InstallationsRouter.js +++ b/src/Routers/InstallationsRouter.js @@ -24,25 +24,25 @@ export class InstallationsRouter extends ClassesRouter { req.info.clientSDK, req.info.context ) - .then((response) => { + .then(response => { return { response: response }; }); } mountRoutes() { - this.route('GET', '/installations', (req) => { + this.route('GET', '/installations', req => { return this.handleFind(req); }); - this.route('GET', '/installations/:objectId', (req) => { + this.route('GET', '/installations/:objectId', req => { return this.handleGet(req); }); - this.route('POST', '/installations', (req) => { + this.route('POST', '/installations', req => { return this.handleCreate(req); }); - this.route('PUT', '/installations/:objectId', (req) => { + this.route('PUT', '/installations/:objectId', req => { return this.handleUpdate(req); }); - this.route('DELETE', '/installations/:objectId', (req) => { + this.route('DELETE', '/installations/:objectId', req => { return this.handleDelete(req); }); } diff --git a/src/Routers/LogsRouter.js b/src/Routers/LogsRouter.js index 93dbed2101..0bc2e23455 100644 --- a/src/Routers/LogsRouter.js +++ b/src/Routers/LogsRouter.js @@ -9,7 +9,7 @@ export class LogsRouter extends PromiseRouter { '/scriptlog', middleware.promiseEnforceMasterKeyAccess, this.validateRequest, - (req) => { + req => { return this.handleGET(req); } ); @@ -50,7 +50,7 @@ export class LogsRouter extends PromiseRouter { level, }; - return req.config.loggerController.getLogs(options).then((result) => { + return req.config.loggerController.getLogs(options).then(result => { return Promise.resolve({ response: result, }); diff --git a/src/Routers/PublicAPIRouter.js b/src/Routers/PublicAPIRouter.js index 41b94389a0..7453835473 100644 --- a/src/Routers/PublicAPIRouter.js +++ b/src/Routers/PublicAPIRouter.js @@ -191,14 +191,14 @@ export class PublicAPIRouter extends PromiseRouter { success: true, }); }, - (err) => { + err => { return Promise.resolve({ success: false, err, }); } ) - .then((result) => { + .then(result => { const params = qs.stringify({ username: username, token: token, @@ -277,10 +277,10 @@ export class PublicAPIRouter extends PromiseRouter { this.route( 'GET', '/apps/:appId/verify_email', - (req) => { + req => { this.setConfig(req); }, - (req) => { + req => { return this.verifyEmail(req); } ); @@ -288,25 +288,25 @@ export class PublicAPIRouter extends PromiseRouter { this.route( 'POST', '/apps/:appId/resend_verification_email', - (req) => { + req => { this.setConfig(req); }, - (req) => { + req => { return this.resendVerificationEmail(req); } ); - this.route('GET', '/apps/choose_password', (req) => { + this.route('GET', '/apps/choose_password', req => { return this.changePassword(req); }); this.route( 'POST', '/apps/:appId/request_password_reset', - (req) => { + req => { this.setConfig(req); }, - (req) => { + req => { return this.resetPassword(req); } ); @@ -314,10 +314,10 @@ export class PublicAPIRouter extends PromiseRouter { this.route( 'GET', '/apps/:appId/request_password_reset', - (req) => { + req => { this.setConfig(req); }, - (req) => { + req => { return this.requestResetPassword(req); } ); diff --git a/src/Routers/PurgeRouter.js b/src/Routers/PurgeRouter.js index 86abe90225..6d0aca0c3e 100644 --- a/src/Routers/PurgeRouter.js +++ b/src/Routers/PurgeRouter.js @@ -21,7 +21,7 @@ export class PurgeRouter extends PromiseRouter { } return { response: {} }; }) - .catch((error) => { + .catch(error => { if (!error || (error && error.code === Parse.Error.OBJECT_NOT_FOUND)) { return { response: {} }; } @@ -34,7 +34,7 @@ export class PurgeRouter extends PromiseRouter { 'DELETE', '/purge/:className', middleware.promiseEnforceMasterKeyAccess, - (req) => { + req => { return this.handlePurge(req); } ); diff --git a/src/Routers/PushRouter.js b/src/Routers/PushRouter.js index f1c9f946b0..b6542fce57 100644 --- a/src/Routers/PushRouter.js +++ b/src/Routers/PushRouter.js @@ -29,12 +29,12 @@ export class PushRouter extends PromiseRouter { const where = PushRouter.getQueryCondition(req); let resolve; - const promise = new Promise((_resolve) => { + const promise = new Promise(_resolve => { resolve = _resolve; }); let pushStatusId; pushController - .sendPush(req.body, where, req.config, req.auth, (objectId) => { + .sendPush(req.body, where, req.config, req.auth, objectId => { pushStatusId = objectId; resolve({ headers: { @@ -45,7 +45,7 @@ export class PushRouter extends PromiseRouter { }, }); }) - .catch((err) => { + .catch(err => { req.config.loggerController.error( `_PushStatus ${pushStatusId}: error while sending push`, err diff --git a/src/Routers/RolesRouter.js b/src/Routers/RolesRouter.js index e36f02c6e4..e6a10df77b 100644 --- a/src/Routers/RolesRouter.js +++ b/src/Routers/RolesRouter.js @@ -6,19 +6,19 @@ export class RolesRouter extends ClassesRouter { } mountRoutes() { - this.route('GET', '/roles', (req) => { + this.route('GET', '/roles', req => { return this.handleFind(req); }); - this.route('GET', '/roles/:objectId', (req) => { + this.route('GET', '/roles/:objectId', req => { return this.handleGet(req); }); - this.route('POST', '/roles', (req) => { + this.route('POST', '/roles', req => { return this.handleCreate(req); }); - this.route('PUT', '/roles/:objectId', (req) => { + this.route('PUT', '/roles/:objectId', req => { return this.handleUpdate(req); }); - this.route('DELETE', '/roles/:objectId', (req) => { + this.route('DELETE', '/roles/:objectId', req => { return this.handleDelete(req); }); } diff --git a/src/Routers/SchemasRouter.js b/src/Routers/SchemasRouter.js index 3c2945693c..efc831dc04 100644 --- a/src/Routers/SchemasRouter.js +++ b/src/Routers/SchemasRouter.js @@ -16,17 +16,17 @@ function classNameMismatchResponse(bodyClass, pathClass) { function getAllSchemas(req) { return req.config.database .loadSchema({ clearCache: true }) - .then((schemaController) => schemaController.getAllClasses(true)) - .then((schemas) => ({ response: { results: schemas } })); + .then(schemaController => schemaController.getAllClasses(true)) + .then(schemas => ({ response: { results: schemas } })); } function getOneSchema(req) { const className = req.params.className; return req.config.database .loadSchema({ clearCache: true }) - .then((schemaController) => schemaController.getOneSchema(className, true)) - .then((schema) => ({ response: schema })) - .catch((error) => { + .then(schemaController => schemaController.getOneSchema(className, true)) + .then(schema => ({ response: schema })) + .catch(error => { if (error === undefined) { throw new Parse.Error( Parse.Error.INVALID_CLASS_NAME, @@ -64,7 +64,7 @@ function createSchema(req) { return req.config.database .loadSchema({ clearCache: true }) - .then((schema) => + .then(schema => schema.addClassIfNotExists( className, req.body.fields, @@ -72,7 +72,7 @@ function createSchema(req) { req.body.indexes ) ) - .then((schema) => ({ response: schema })); + .then(schema => ({ response: schema })); } function modifySchema(req) { @@ -91,7 +91,7 @@ function modifySchema(req) { return req.config.database .loadSchema({ clearCache: true }) - .then((schema) => + .then(schema => schema.updateClass( className, submittedFields, @@ -100,10 +100,10 @@ function modifySchema(req) { req.config.database ) ) - .then((result) => ({ response: result })); + .then(result => ({ response: result })); } -const deleteSchema = (req) => { +const deleteSchema = req => { if (req.auth.isReadOnly) { throw new Parse.Error( Parse.Error.OPERATION_FORBIDDEN, diff --git a/src/Routers/SessionsRouter.js b/src/Routers/SessionsRouter.js index 6d5e4b0136..dac7cff803 100644 --- a/src/Routers/SessionsRouter.js +++ b/src/Routers/SessionsRouter.js @@ -26,7 +26,7 @@ export class SessionsRouter extends ClassesRouter { req.info.clientSDK, req.info.context ) - .then((response) => { + .then(response => { if (!response.results || response.results.length == 0) { throw new Parse.Error( Parse.Error.INVALID_SESSION_TOKEN, @@ -74,25 +74,25 @@ export class SessionsRouter extends ClassesRouter { } mountRoutes() { - this.route('GET', '/sessions/me', (req) => { + this.route('GET', '/sessions/me', req => { return this.handleMe(req); }); - this.route('GET', '/sessions', (req) => { + this.route('GET', '/sessions', req => { return this.handleFind(req); }); - this.route('GET', '/sessions/:objectId', (req) => { + this.route('GET', '/sessions/:objectId', req => { return this.handleGet(req); }); - this.route('POST', '/sessions', (req) => { + this.route('POST', '/sessions', req => { return this.handleCreate(req); }); - this.route('PUT', '/sessions/:objectId', (req) => { + this.route('PUT', '/sessions/:objectId', req => { return this.handleUpdate(req); }); - this.route('DELETE', '/sessions/:objectId', (req) => { + this.route('DELETE', '/sessions/:objectId', req => { return this.handleDelete(req); }); - this.route('POST', '/upgradeToRevocableSession', (req) => { + this.route('POST', '/upgradeToRevocableSession', req => { return this.handleUpdateToRevocableSession(req); }); } diff --git a/src/Routers/UsersRouter.js b/src/Routers/UsersRouter.js index a5362ff9d4..05d0081792 100644 --- a/src/Routers/UsersRouter.js +++ b/src/Routers/UsersRouter.js @@ -83,7 +83,7 @@ export class UsersRouter extends ClassesRouter { } return req.config.database .find('_User', query) - .then((results) => { + .then(results => { if (!results.length) { throw new Parse.Error( Parse.Error.OBJECT_NOT_FOUND, @@ -96,14 +96,14 @@ export class UsersRouter extends ClassesRouter { req.config.loggerController.warn( "There is a user which email is the same as another user's username, logging in based on username" ); - user = results.filter((user) => user.username === username)[0]; + user = results.filter(user => user.username === username)[0]; } else { user = results[0]; } return passwordCrypto.compare(password, user.password); }) - .then((correct) => { + .then(correct => { isValidPassword = correct; const accountLockoutPolicy = new AccountLockout(user, req.config); return accountLockoutPolicy.handleLoginAttempt(isValidPassword); @@ -145,7 +145,7 @@ export class UsersRouter extends ClassesRouter { // Sometimes the authData still has null on that keys // https://github.com/parse-community/parse-server/issues/935 if (user.authData) { - Object.keys(user.authData).forEach((provider) => { + Object.keys(user.authData).forEach(provider => { if (user.authData[provider] === null) { delete user.authData[provider]; } @@ -157,7 +157,7 @@ export class UsersRouter extends ClassesRouter { return resolve(user); }) - .catch((error) => { + .catch(error => { return reject(error); }); }); @@ -181,7 +181,7 @@ export class UsersRouter extends ClassesRouter { req.info.clientSDK, req.info.context ) - .then((response) => { + .then(response => { if ( !response.results || response.results.length == 0 || @@ -282,13 +282,13 @@ export class UsersRouter extends ClassesRouter { handleVerifyPassword(req) { return this._authenticateUserFromRequest(req) - .then((user) => { + .then(user => { // Remove hidden properties. UsersRouter.removeHiddenProperties(user); return { response: user }; }) - .catch((error) => { + .catch(error => { throw error; }); } @@ -306,7 +306,7 @@ export class UsersRouter extends ClassesRouter { req.info.clientSDK, req.info.context ) - .then((records) => { + .then(records => { if (records.results && records.results.length) { return rest .del( @@ -383,7 +383,7 @@ export class UsersRouter extends ClassesRouter { response: {}, }); }, - (err) => { + err => { if (err.code === Parse.Error.OBJECT_NOT_FOUND) { // Return success so that this endpoint can't // be used to enumerate valid emails @@ -414,70 +414,68 @@ export class UsersRouter extends ClassesRouter { ); } - return req.config.database - .find('_User', { email: email }) - .then((results) => { - if (!results.length || results.length < 1) { - throw new Parse.Error( - Parse.Error.EMAIL_NOT_FOUND, - `No user found with email ${email}` - ); - } - const user = results[0]; + return req.config.database.find('_User', { email: email }).then(results => { + if (!results.length || results.length < 1) { + throw new Parse.Error( + Parse.Error.EMAIL_NOT_FOUND, + `No user found with email ${email}` + ); + } + const user = results[0]; - // remove password field, messes with saving on postgres - delete user.password; + // remove password field, messes with saving on postgres + delete user.password; - if (user.emailVerified) { - throw new Parse.Error( - Parse.Error.OTHER_CAUSE, - `Email ${email} is already verified.` - ); - } + if (user.emailVerified) { + throw new Parse.Error( + Parse.Error.OTHER_CAUSE, + `Email ${email} is already verified.` + ); + } - const userController = req.config.userController; - return userController.regenerateEmailVerifyToken(user).then(() => { - userController.sendVerificationEmail(user); - return { response: {} }; - }); + const userController = req.config.userController; + return userController.regenerateEmailVerifyToken(user).then(() => { + userController.sendVerificationEmail(user); + return { response: {} }; }); + }); } mountRoutes() { - this.route('GET', '/users', (req) => { + this.route('GET', '/users', req => { return this.handleFind(req); }); - this.route('POST', '/users', (req) => { + this.route('POST', '/users', req => { return this.handleCreate(req); }); - this.route('GET', '/users/me', (req) => { + this.route('GET', '/users/me', req => { return this.handleMe(req); }); - this.route('GET', '/users/:objectId', (req) => { + this.route('GET', '/users/:objectId', req => { return this.handleGet(req); }); - this.route('PUT', '/users/:objectId', (req) => { + this.route('PUT', '/users/:objectId', req => { return this.handleUpdate(req); }); - this.route('DELETE', '/users/:objectId', (req) => { + this.route('DELETE', '/users/:objectId', req => { return this.handleDelete(req); }); - this.route('GET', '/login', (req) => { + this.route('GET', '/login', req => { return this.handleLogIn(req); }); - this.route('POST', '/login', (req) => { + this.route('POST', '/login', req => { return this.handleLogIn(req); }); - this.route('POST', '/logout', (req) => { + this.route('POST', '/logout', req => { return this.handleLogOut(req); }); - this.route('POST', '/requestPasswordReset', (req) => { + this.route('POST', '/requestPasswordReset', req => { return this.handleResetRequest(req); }); - this.route('POST', '/verificationEmailRequest', (req) => { + this.route('POST', '/verificationEmailRequest', req => { return this.handleVerificationEmailRequest(req); }); - this.route('GET', '/verifyPassword', (req) => { + this.route('GET', '/verifyPassword', req => { return this.handleVerifyPassword(req); }); } diff --git a/src/cloud-code/httpRequest.js b/src/cloud-code/httpRequest.js index 81959ef7d5..699525d599 100644 --- a/src/cloud-code/httpRequest.js +++ b/src/cloud-code/httpRequest.js @@ -12,7 +12,7 @@ const clients = { function makeCallback(resolve, reject) { return function (response) { const chunks = []; - response.on('data', (chunk) => { + response.on('data', chunk => { chunks.push(chunk); }); response.on('end', () => { @@ -34,7 +34,7 @@ const encodeBody = function ({ body, headers = {} }) { if (typeof body !== 'object') { return { body, headers }; } - var contentTypeKeys = Object.keys(headers).filter((key) => { + var contentTypeKeys = Object.keys(headers).filter(key => { return key.match(/content-type/i) != null; }); @@ -118,7 +118,7 @@ module.exports = function httpRequest(options) { followRedirects: options.followRedirects === true, }; if (requestOptions.headers) { - Object.keys(requestOptions.headers).forEach((key) => { + Object.keys(requestOptions.headers).forEach(key => { if (typeof requestOptions.headers[key] === 'undefined') { delete requestOptions.headers[key]; } @@ -144,7 +144,7 @@ module.exports = function httpRequest(options) { if (options.body) { req.write(options.body); } - req.on('error', (error) => { + req.on('error', error => { reject(error); }); req.end();