Parse Server for Node.js / Express
175 matches across 6 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | spec/ParseGraphQLServer.spec.js | 4054 | result.data.createClass.class.schemaFields = result.data.createClass.class.schemaFields.sort( |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 4057 | result.data.updateClass.class.schemaFields = result.data.updateClass.class.schemaFields.sort( |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 4392 | result.data.createClass.class.schemaFields = result.data.createClass.class.schemaFields.sort( |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 4395 | result.data.deleteClass.class.schemaFields = result.data.deleteClass.class.schemaFields.sort( |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 5115 | if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 5118 | } else if (call.object.s.namespace.collection.indexOf('_User') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 5161 | if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 5164 | } else if (call.object.s.namespace.collection.indexOf('_User') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 5207 | if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 5210 | } else if (call.object.s.namespace.collection.indexOf('_User') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 6095 | if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 6098 | } else if (call.object.s.namespace.collection.indexOf('_User') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 6139 | if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 6142 | } else if (call.object.s.namespace.collection.indexOf('_User') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 6185 | if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 6188 | } else if (call.object.s.namespace.collection.indexOf('_User') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 6242 | if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 6245 | } else if (call.object.s.namespace.collection.indexOf('_User') >= 0) { |
| CRITICAL | spec/ParseGraphQLServer.spec.js | 6341 | result.data.parentClass.graphQLClasses.edges.map(edge => edge.node.objectId) |
| CRITICAL | spec/Auth.spec.js | 37 | const firstSet = config.cacheController.role.set.calls.first(); |
| CRITICAL | spec/Auth.spec.js | 40 | const firstGet = config.cacheController.role.get.calls.first(); |
| CRITICAL | spec/Auth.spec.js | 59 | expect(config.cacheController.role.get.calls.count()).toEqual(1); |
| CRITICAL | spec/Auth.spec.js | 62 | const firstGet = config.cacheController.role.get.calls.first(); |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 727 | if (call.object.s.namespace.collection.indexOf('MyObject0') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 730 | if (call.object.s.namespace.collection.indexOf('MyObject1') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 733 | if (call.object.s.namespace.collection.indexOf('MyObject2') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 778 | if (call.object.s.namespace.collection.indexOf('MyObject0') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 781 | if (call.object.s.namespace.collection.indexOf('MyObject1') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 784 | if (call.object.s.namespace.collection.indexOf('MyObject2') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 831 | if (call.object.s.namespace.collection.indexOf('MyObject0') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 834 | if (call.object.s.namespace.collection.indexOf('MyObject1') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 837 | if (call.object.s.namespace.collection.indexOf('MyObject2') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 885 | if (call.object.s.namespace.collection.indexOf('MyObject0') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 888 | if (call.object.s.namespace.collection.indexOf('MyObject1') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 891 | if (call.object.s.namespace.collection.indexOf('MyObject2') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 936 | if (call.object.s.namespace.collection.indexOf('MyObject0') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 939 | if (call.object.s.namespace.collection.indexOf('MyObject1') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 942 | if (call.object.s.namespace.collection.indexOf('MyObject2') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 988 | if (call.object.s.namespace.collection.indexOf('MyObject0') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 991 | if (call.object.s.namespace.collection.indexOf('MyObject1') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 994 | if (call.object.s.namespace.collection.indexOf('MyObject2') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 1040 | if (call.object.s.namespace.collection.indexOf('MyObject0') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 1043 | if (call.object.s.namespace.collection.indexOf('MyObject1') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 1046 | if (call.object.s.namespace.collection.indexOf('MyObject2') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 1093 | if (call.object.s.namespace.collection.indexOf('MyObject0') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 1096 | if (call.object.s.namespace.collection.indexOf('MyObject1') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 1099 | if (call.object.s.namespace.collection.indexOf('MyObject2') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 1161 | if (call.object.s.namespace.collection.indexOf('MyObject0') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 1164 | if (call.object.s.namespace.collection.indexOf('MyObject1') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 1167 | if (call.object.s.namespace.collection.indexOf('MyObject2') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 32 | if (call.object.s.namespace.collection.indexOf('MyObject') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 75 | if (call.object.s.namespace.collection.indexOf('MyObject') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 107 | if (call.object.s.namespace.collection.indexOf('MyObject') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 139 | if (call.object.s.namespace.collection.indexOf('MyObject') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 171 | if (call.object.s.namespace.collection.indexOf('MyObject') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 207 | if (call.object.s.namespace.collection.indexOf('MyObject') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 242 | if (call.object.s.namespace.collection.indexOf('MyObject') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 273 | if (call.object.s.namespace.collection.indexOf('MyObject') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 304 | if (call.object.s.namespace.collection.indexOf('MyObject') >= 0) { |
| CRITICAL | spec/ReadPreferenceOption.spec.js | 335 | if (call.object.s.namespace.collection.indexOf('MyObject') >= 0) { |
| 11 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | spec/EmailVerificationToken.spec.js | 242 | user.set('email', 'user@example.com'); |
| LOW | spec/EmailVerificationToken.spec.js | 322 | user.set('email', 'user@example.com'); |
| LOW | spec/EmailVerificationToken.spec.js | 387 | user.set('email', 'user@example.com'); |
| LOW | spec/EmailVerificationToken.spec.js | 567 | newUser.set('email', 'user@example.com'); |
| LOW | spec/EmailVerificationToken.spec.js | 569 | await Parse.User.requestEmailVerification('user@example.com'); |
| LOW | spec/EmailVerificationToken.spec.js | 602 | user.setEmail('user@example.com'); |
| LOW | spec/EmailVerificationToken.spec.js | 1025 | user.set('email', 'user@example.com'); |
| LOW | spec/EmailVerificationToken.spec.js | 1043 | email: 'user@example.com', |
| LOW | spec/PasswordPolicy.spec.js | 142 | user.set('email', 'user@example.com'); |
| LOW | spec/PasswordPolicy.spec.js | 144 | await Parse.User.requestPasswordReset('user@example.com'); |
| LOW | spec/PasswordPolicy.spec.js | 145 | await Parse.User.requestPasswordReset('user@example.com'); |
| LOW | spec/PasswordPolicy.spec.js | 171 | user.set('email', 'user@example.com'); |
| LOW | spec/PasswordPolicy.spec.js | 173 | await Parse.User.requestPasswordReset('user@example.com'); |
| LOW | spec/PasswordPolicy.spec.js | 174 | await Parse.User.requestPasswordReset('user@example.com'); |
| LOW | spec/UserPII.spec.js | 8 | const EMAIL = 'foo@bar.com'; |
| LOW | spec/ProtectedFields.spec.js | 1852 | user1.set('phone', '555-1234'); |
| LOW | spec/ProtectedFields.spec.js | 1868 | expect(response.data.phone).toBe('555-1234'); |
| LOW | spec/ProtectedFields.spec.js | 1897 | user.set('phone', '555-1234'); |
| LOW | spec/ProtectedFields.spec.js | 1919 | expect(masterResponse.data.phone).toBe('555-1234'); |
| LOW | spec/ProtectedFields.spec.js | 1960 | user.set('phone', '555-1234'); |
| LOW | spec/ProtectedFields.spec.js | 1987 | user.set('phone', '555-1234'); |
| LOW | spec/ProtectedFields.spec.js | 2017 | user.set('phone', '555-1234'); |
| LOW | spec/ProtectedFields.spec.js | 2045 | user.set('phone', '555-1234'); |
| LOW | spec/ProtectedFields.spec.js | 2058 | expect(response.data.phone).toBe('555-1234'); |
| LOW | spec/ProtectedFields.spec.js | 2074 | user.set('phone', '555-1234'); |
| LOW | spec/ProtectedFields.spec.js | 2087 | expect(response.data.phone).toBe('555-1234'); |
| LOW | spec/ProtectedFields.spec.js | 2101 | user.set('phone', '555-1234'); |
| LOW | spec/ProtectedFields.spec.js | 2114 | expect(response.data.phone).toBe('555-1234'); |
| LOW | spec/ProtectedFields.spec.js | 2129 | user.set('phone', '555-1234'); |
| LOW | spec/ParseQuery.spec.js | 2891 | new PostObject({ author: postAuthor, title: 'Lorem ipsum' }), |
| LOW | spec/index.spec.js | 792 | user.setEmail('user@example.com'); |
| LOW | spec/index.spec.js | 797 | await Parse.User.requestPasswordReset('user@example.com'); |
| LOW | spec/index.spec.js | 805 | await Parse.User.requestPasswordReset('user@example.com'); |
| LOW | spec/ValidationAndPasswordsReset.spec.js | 329 | user.set('email', 'user@example.com'); |
| LOW | spec/ValidationAndPasswordsReset.spec.js | 1185 | user.set('email', 'user@example.com'); |
| LOW | spec/ValidationAndPasswordsReset.spec.js | 1187 | await Parse.User.requestPasswordReset('user@example.com'); |
| LOW | spec/ParseUser.spec.js | 2378 | user.set('email', 'test@test.com'); |
| LOW | spec/ParseUser.spec.js | 2385 | user2.set('email', 'test@test.com'); |
| LOW | spec/ParseUser.spec.js | 2488 | user.set('email', 'test@test.com'); |
| LOW | spec/ParseUser.spec.js | 2498 | user2.set('email', 'test@test.com'); |
| LOW | spec/ParseUser.spec.js | 2516 | user.set('email', 'test@test.com'); |
| LOW | spec/support/lorem.txt | 1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis semper diam, ac euismod diam pharetra sed. Eti |
| LOW | spec/support/lorem.txt | 1 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus lobortis semper diam, ac euismod diam pharetra sed. Eti |
| LOW | spec/support/lorem.txt | 3 | Sed porttitor commodo orci, ut pretium eros convallis eget. Curabitur pretium velit in odio dictum luctus. Vivamus ac tr |
| LOW | spec/support/lorem.txt | 3 | Sed porttitor commodo orci, ut pretium eros convallis eget. Curabitur pretium velit in odio dictum luctus. Vivamus ac tr |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | benchmark/performance.js | 493 | async function benchmarkQueryWithIncludeParallel(name) { |
| LOW | benchmark/performance.js | 556 | async function benchmarkQueryWithIncludeNested(name) { |
| LOW | benchmark/performance.js | 642 | async function benchmarkLargeResultMemory(name) { |
| LOW | benchmark/performance.js | 678 | async function benchmarkConcurrentQueryMemory(name) { |
| LOW | benchmark/performance.js | 807 | async function benchmarkObjectCreateNestedDenylist(name) { |
| LOW | spec/PagesRouter.spec.js | 169 | async function reconfigureServerWithPagesConfig(pagesConfig) { |
| LOW | spec/ParseInstallation.spec.js | 1307 | async function reconfigureWithInstallationOptions(installationOpts) { |
| LOW | spec/ParseInstallation.spec.js | 1480 | async function reconfigureWithInstallationOptions(installationOpts) { |
| LOW | spec/ParseInstallation.spec.js | 1586 | async function reconfigureWithInstallationOptions(installationOpts) { |
| LOW | spec/OAuth1.spec.js | 80 | function validateCannotAuthenticateError(data, done) { |
| LOW | spec/SecurityCheck.spec.js | 21 | async function reconfigureServerWithSecurityConfig(security) { |
| LOW | spec/AuthenticationAdapters.spec.js | 254 | function validateAuthenticationHandler(authenticationHandler) { |
| LOW | spec/AuthenticationAdapters.spec.js | 260 | function validateAuthenticationAdapter(authAdapter) { |
| LOW | spec/Schema.spec.js | 1383 | function validateSchemaDataStructure(schemaData) { |
| LOW | spec/helper.js | 383 | function mockFacebookAuthenticator(id, token) { |
| LOW | src/rest.js | 320 | function handleSessionMissingError(error, className, auth, config) { |
| LOW | src/batch.js | 23 | function makeBatchRoutingPathFunction(originalUrl, serverURL, publicServerURL) { |
| LOW | src/TestUtils.js | 8 | export function destroyAllDataPermanently(fast) { |
| LOW | src/Auth.js | 78 | function shouldUpdateSessionExpiry(config, session) { |
| LOW | src/AuthDataLock.js | 15 | export function applyAuthDataOptimisticLock(query, originalAuthData, newAuthData) { |
| LOW | src/triggers.js | 66 | function validateClassNameForTriggers(className, type) { |
| LOW | src/triggers.js | 438 | function logTriggerSuccessBeforeHook(triggerType, className, input, result, auth, logLevel) { |
| LOW | src/triggers.js | 456 | function logTriggerErrorBeforeHook(triggerType, className, input, auth, error, logLevel) { |
| LOW | src/triggers.js | 1035 | export function runLiveQueryEventHandlers(data, applicationId = Parse.applicationId) { |
| LOW | src/triggers.js | 1113 | export async function maybeRunGlobalConfigTrigger(triggerType, auth, configObject, originalConfigObject, config, context |
| LOW | src/InstallationDedup.js | 65 | export async function removeConflictingDeviceToken({ |
| LOW | src/InstallationDedup.js | 117 | export async function applyDuplicateDeviceTokenMerge({ |
| LOW | src/middlewares.js | 522 | function normalizeRouteAllowListPath(path, mount) { |
| LOW | src/middlewares.js | 634 | export function promiseEnforceMasterKeyAccess(request) { |
| LOW | src/ParseServerRESTController.js | 32 | function ParseServerRESTController(applicationId, router) { |
| LOW | src/Routers/IAPValidationRouter.js | 46 | function getFileForProductIdentifier(productIdentifier, req) { |
| LOW | src/Routers/SchemasRouter.js | 10 | function classNameMismatchResponse(bodyClass, pathClass) { |
| LOW | src/Adapters/Storage/Postgres/PostgresConfigParser.js | 2 | function getDatabaseOptionsFromURI(uri) { |
| LOW | src/Adapters/Storage/Postgres/PostgresStorageAdapter.js | 2756 | function isAnyValueRegexStartsWith(values) { |
| LOW | src/Adapters/Storage/Mongo/MongoSchemaCollection.js | 4 | function mongoFieldToParseSchemaField(type) { |
| LOW | src/Adapters/Storage/Mongo/MongoSchemaCollection.js | 43 | function mongoSchemaFieldsToParseSchemaFields(schema) { |
| LOW | src/Adapters/Storage/Mongo/MongoSchemaCollection.js | 126 | function parseFieldTypeToMongoFieldType({ type, targetClass }) { |
| LOW | src/Push/utils.js | 43 | export function transformPushBodyForLocale(body, locale) { |
| LOW | src/GraphQL/helpers/queryComplexity.js | 74 | function createComplexityValidationPlugin(getConfig) { |
| LOW | src/Controllers/SchemaController.js | 237 | function validateProtectedFieldsKey(key, userIdRegExp) { |
| LOW | src/Controllers/SchemaController.js | 422 | function validatePointerPermission(fieldName: string, fields: Object, operation: string) { |
| LOW | src/Controllers/SchemaController.js | 1544 | function thenValidateRequiredColumns(schemaPromise, className, object, query) { |
| LOW | src/Controllers/index.js | 119 | export function getParseGraphQLController( |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | ci/CiVersionCheck.js | 121 | * @param {String} versionComponent The latest version component. |
| LOW | spec/ParseObject.spec.js | 1 | 'use strict'; |
| LOW | src/AuthDataLock.js | 1 | // Apply optimistic locking for authData provider field changes. For each lockable |
| LOW | src/RestQuery.js | 861 | const findOptions = Object.assign({}, this.findOptions); |
| LOW | src/Adapters/Auth/OAuth1Client.js | 81 | OAuth.encode = function (str) { |
| LOW | src/Adapters/Storage/Postgres/PostgresStorageAdapter.js | 1301 | debug(`deleteAllClasses done in ${new Date().getTime() - now}`); |
| LOW | src/Adapters/Storage/Mongo/MongoStorageAdapter.js | 501 | // attempts to delete non-existent fields is the responsibility of Parse Server. |
| LOW | src/Adapters/Storage/Mongo/MongoStorageAdapter.js | 1021 | // For dates, the driver expects a Date object, but we have a string coming in. So we'll convert |
| LOW | src/Adapters/Push/PushAdapter.js | 1 | /* eslint-disable unused-imports/no-unused-vars */ |
| LOW | src/Adapters/Files/FilesAdapter.js | 1 | /* eslint-disable unused-imports/no-unused-vars */ |
| LOW | src/Adapters/WebSocketServer/WSSAdapter.js | 21 | constructor(options) { |
| LOW | src/Controllers/SchemaController.js | 1 | // @flow |
| LOW | src/Controllers/DatabaseController.js | 41 | _password_changed_at: { clientRead: false, masterRead: true, masterWrite: true }, |
| LOW | src/Controllers/DatabaseController.js | 1241 | // Options: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | src/GraphQL/loaders/filesMutations.js | 9 | // `createFile` is not directly called by Parse Server to leverage standard file upload mechanism |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | src/ParseServerRESTController.js | 33 | function handleRequest(method, path, data = {}, options = {}, config) { |