parse-server 6.0.0-alpha.2 → 6.0.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -17
- package/lib/AccountLockout.js +11 -26
- package/lib/Adapters/AdapterLoader.js +8 -14
- package/lib/Adapters/Analytics/AnalyticsAdapter.js +2 -8
- package/lib/Adapters/Auth/AuthAdapter.js +7 -16
- package/lib/Adapters/Auth/OAuth1Client.js +32 -57
- package/lib/Adapters/Auth/apple.js +6 -22
- package/lib/Adapters/Auth/facebook.js +7 -37
- package/lib/Adapters/Auth/gcenter.js +8 -37
- package/lib/Adapters/Auth/github.js +7 -10
- package/lib/Adapters/Auth/google.js +11 -34
- package/lib/Adapters/Auth/gpgames.js +5 -8
- package/lib/Adapters/Auth/httpsRequest.js +1 -7
- package/lib/Adapters/Auth/index.js +20 -65
- package/lib/Adapters/Auth/instagram.js +5 -9
- package/lib/Adapters/Auth/janraincapture.js +8 -12
- package/lib/Adapters/Auth/janrainengage.js +7 -11
- package/lib/Adapters/Auth/keycloak.js +5 -19
- package/lib/Adapters/Auth/ldap.js +1 -15
- package/lib/Adapters/Auth/line.js +7 -10
- package/lib/Adapters/Auth/linkedin.js +7 -12
- package/lib/Adapters/Auth/meetup.js +7 -10
- package/lib/Adapters/Auth/microsoft.js +7 -10
- package/lib/Adapters/Auth/oauth2.js +6 -18
- package/lib/Adapters/Auth/phantauth.js +8 -10
- package/lib/Adapters/Auth/qq.js +7 -13
- package/lib/Adapters/Auth/spotify.js +7 -14
- package/lib/Adapters/Auth/twitter.js +5 -15
- package/lib/Adapters/Auth/vkontakte.js +9 -15
- package/lib/Adapters/Auth/wechat.js +7 -10
- package/lib/Adapters/Auth/weibo.js +7 -11
- package/lib/Adapters/Cache/CacheAdapter.js +4 -12
- package/lib/Adapters/Cache/InMemoryCache.js +5 -19
- package/lib/Adapters/Cache/InMemoryCacheAdapter.js +1 -11
- package/lib/Adapters/Cache/LRUCache.js +1 -11
- package/lib/Adapters/Cache/NullCacheAdapter.js +1 -8
- package/lib/Adapters/Cache/RedisCacheAdapter.js +46 -87
- package/lib/Adapters/Cache/SchemaCache.js +1 -6
- package/lib/Adapters/Email/MailAdapter.js +2 -7
- package/lib/Adapters/Files/FilesAdapter.js +7 -21
- package/lib/Adapters/Files/GridFSBucketAdapter.js +6 -44
- package/lib/Adapters/Files/GridStoreAdapter.js +1 -1
- package/lib/Adapters/Logger/LoggerAdapter.js +2 -11
- package/lib/Adapters/Logger/WinstonLogger.js +3 -30
- package/lib/Adapters/Logger/WinstonLoggerAdapter.js +5 -16
- package/lib/Adapters/MessageQueue/EventEmitterMQ.js +3 -20
- package/lib/Adapters/PubSub/EventEmitterPubSub.js +1 -16
- package/lib/Adapters/PubSub/PubSubAdapter.js +2 -9
- package/lib/Adapters/PubSub/RedisPubSub.js +13 -10
- package/lib/Adapters/Push/PushAdapter.js +2 -8
- package/lib/Adapters/Storage/Mongo/MongoCollection.js +12 -37
- package/lib/Adapters/Storage/Mongo/MongoSchemaCollection.js +26 -79
- package/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js +78 -209
- package/lib/Adapters/Storage/Mongo/MongoTransform.js +82 -371
- package/lib/Adapters/Storage/Postgres/PostgresClient.js +1 -13
- package/lib/Adapters/Storage/Postgres/PostgresConfigParser.js +1 -20
- package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +119 -446
- package/lib/Adapters/Storage/Postgres/sql/index.js +4 -7
- package/lib/Adapters/Storage/StorageAdapter.js +1 -1
- package/lib/Adapters/WebSocketServer/WSAdapter.js +3 -12
- package/lib/Adapters/WebSocketServer/WSSAdapter.js +7 -12
- package/lib/Auth.js +54 -121
- package/lib/ClientSDK.js +3 -11
- package/lib/Config.js +69 -113
- package/lib/Controllers/AdaptableController.js +6 -18
- package/lib/Controllers/AnalyticsController.js +1 -9
- package/lib/Controllers/CacheController.js +3 -23
- package/lib/Controllers/DatabaseController.js +147 -345
- package/lib/Controllers/FilesController.js +5 -34
- package/lib/Controllers/HooksController.js +1 -51
- package/lib/Controllers/LiveQueryController.js +4 -23
- package/lib/Controllers/LoggerController.js +15 -54
- package/lib/Controllers/ParseGraphQLController.js +49 -104
- package/lib/Controllers/PushController.js +20 -59
- package/lib/Controllers/SchemaController.js +154 -344
- package/lib/Controllers/UserController.js +11 -72
- package/lib/Controllers/index.js +19 -68
- package/lib/Controllers/types.js +1 -1
- package/lib/Deprecator/Deprecations.js +1 -8
- package/lib/Deprecator/Deprecator.js +9 -18
- package/lib/GraphQL/ParseGraphQLSchema.js +16 -100
- package/lib/GraphQL/ParseGraphQLServer.js +2 -29
- package/lib/GraphQL/helpers/objectsMutations.js +2 -12
- package/lib/GraphQL/helpers/objectsQueries.js +18 -76
- package/lib/GraphQL/loaders/defaultGraphQLMutations.js +1 -9
- package/lib/GraphQL/loaders/defaultGraphQLQueries.js +1 -8
- package/lib/GraphQL/loaders/defaultGraphQLTypes.js +9 -115
- package/lib/GraphQL/loaders/defaultRelaySchema.js +6 -18
- package/lib/GraphQL/loaders/filesMutations.js +2 -19
- package/lib/GraphQL/loaders/functionsMutations.js +6 -17
- package/lib/GraphQL/loaders/parseClassMutations.js +6 -44
- package/lib/GraphQL/loaders/parseClassQueries.js +1 -26
- package/lib/GraphQL/loaders/parseClassTypes.js +10 -64
- package/lib/GraphQL/loaders/schemaDirectives.js +1 -17
- package/lib/GraphQL/loaders/schemaMutations.js +1 -20
- package/lib/GraphQL/loaders/schemaQueries.js +1 -14
- package/lib/GraphQL/loaders/schemaTypes.js +2 -6
- package/lib/GraphQL/loaders/usersMutations.js +6 -28
- package/lib/GraphQL/loaders/usersQueries.js +4 -26
- package/lib/GraphQL/parseGraphQLUtils.js +6 -19
- package/lib/GraphQL/transformers/className.js +1 -4
- package/lib/GraphQL/transformers/constraintType.js +1 -20
- package/lib/GraphQL/transformers/inputType.js +1 -20
- package/lib/GraphQL/transformers/mutation.js +6 -51
- package/lib/GraphQL/transformers/outputType.js +1 -20
- package/lib/GraphQL/transformers/query.js +6 -42
- package/lib/GraphQL/transformers/schemaFields.js +7 -34
- package/lib/KeyPromiseQueue.js +1 -12
- package/lib/LiveQuery/Client.js +1 -25
- package/lib/LiveQuery/Id.js +1 -7
- package/lib/LiveQuery/ParseCloudCodePublisher.js +13 -19
- package/lib/LiveQuery/ParseLiveQueryServer.js +92 -306
- package/lib/LiveQuery/ParsePubSub.js +1 -12
- package/lib/LiveQuery/ParseWebSocketServer.js +4 -26
- package/lib/LiveQuery/QueryTools.js +14 -116
- package/lib/LiveQuery/RequestSchema.js +1 -1
- package/lib/LiveQuery/SessionTokenCache.js +1 -17
- package/lib/LiveQuery/Subscription.js +4 -18
- package/lib/LiveQuery/equalObjects.js +2 -14
- package/lib/Options/Definitions.js +79 -10
- package/lib/Options/docs.js +23 -3
- package/lib/Options/index.js +4 -12
- package/lib/Options/parsers.js +1 -18
- package/lib/Page.js +1 -9
- package/lib/ParseMessageQueue.js +1 -10
- package/lib/ParseServer.js +144 -182
- package/lib/ParseServerRESTController.js +6 -33
- package/lib/PromiseRouter.js +16 -50
- package/lib/Push/PushQueue.js +3 -15
- package/lib/Push/PushWorker.js +7 -32
- package/lib/Push/utils.js +9 -38
- package/lib/RestQuery.js +105 -242
- package/lib/RestWrite.js +212 -377
- package/lib/Routers/AggregateRouter.js +14 -51
- package/lib/Routers/AnalyticsRouter.js +2 -8
- package/lib/Routers/AudiencesRouter.js +1 -15
- package/lib/Routers/ClassesRouter.js +3 -53
- package/lib/Routers/CloudCodeRouter.js +1 -19
- package/lib/Routers/FeaturesRouter.js +1 -10
- package/lib/Routers/FilesRouter.js +29 -76
- package/lib/Routers/FunctionsRouter.js +5 -28
- package/lib/Routers/GlobalConfigRouter.js +4 -18
- package/lib/Routers/GraphQLRouter.js +1 -14
- package/lib/Routers/HooksRouter.js +1 -29
- package/lib/Routers/IAPValidationRouter.js +6 -29
- package/lib/Routers/InstallationsRouter.js +2 -12
- package/lib/Routers/LogsRouter.js +4 -16
- package/lib/Routers/PagesRouter.js +69 -129
- package/lib/Routers/PublicAPIRouter.js +3 -62
- package/lib/Routers/PurgeRouter.js +1 -15
- package/lib/Routers/PushRouter.js +2 -18
- package/lib/Routers/RolesRouter.js +1 -7
- package/lib/Routers/SchemasRouter.js +4 -34
- package/lib/Routers/SecurityRouter.js +1 -12
- package/lib/Routers/SessionsRouter.js +3 -19
- package/lib/Routers/UsersRouter.js +58 -155
- package/lib/SchemaMigrations/DefinedSchemas.js +56 -115
- package/lib/SchemaMigrations/Migrations.js +2 -8
- package/lib/Security/Check.js +8 -16
- package/lib/Security/CheckGroup.js +4 -11
- package/lib/Security/CheckGroups/CheckGroupDatabase.js +8 -18
- package/lib/Security/CheckGroups/CheckGroupServerConfig.js +5 -15
- package/lib/Security/CheckGroups/CheckGroups.js +1 -4
- package/lib/Security/CheckRunner.js +22 -41
- package/lib/StatusHandler.js +12 -69
- package/lib/TestUtils.js +1 -6
- package/lib/Utils.js +27 -66
- package/lib/batch.js +17 -28
- package/lib/cache.js +1 -3
- package/lib/cli/definitions/parse-live-query-server.js +1 -3
- package/lib/cli/definitions/parse-server.js +1 -3
- package/lib/cli/parse-live-query-server.js +1 -6
- package/lib/cli/parse-server.js +11 -21
- package/lib/cli/utils/commander.js +13 -51
- package/lib/cli/utils/runner.js +1 -14
- package/lib/cloud-code/Parse.Cloud.js +71 -92
- package/lib/cryptoUtils.js +11 -19
- package/lib/defaults.js +2 -14
- package/lib/deprecated.js +1 -2
- package/lib/index.js +16 -34
- package/lib/logger.js +6 -13
- package/lib/middlewares.js +147 -151
- package/lib/password.js +6 -10
- package/lib/request.js +173 -2
- package/lib/requiredParameter.js +1 -3
- package/lib/rest.js +19 -41
- package/lib/triggers.js +54 -252
- package/lib/vendor/mongodbUrl.js +125 -305
- package/package.json +22 -19
- package/lib/cloud-code/HTTPResponse.js +0 -73
- package/lib/cloud-code/httpRequest.js +0 -192
|
@@ -3,14 +3,12 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.makeSchema = makeSchema;
|
|
7
6
|
exports.CLP = void 0;
|
|
8
|
-
|
|
7
|
+
exports.makeSchema = makeSchema;
|
|
9
8
|
// @Typescript 4.1+ // type CLPPermission = 'requiresAuthentication' | '*' | `user:${string}` | `role:${string}`
|
|
10
9
|
class CLP {
|
|
11
10
|
static allow(perms) {
|
|
12
11
|
const out = {};
|
|
13
|
-
|
|
14
12
|
for (const [perm, ops] of Object.entries(perms)) {
|
|
15
13
|
// -disable-next Property `@@iterator` is missing in mixed [1] but exists in `$Iterable` [2].
|
|
16
14
|
for (const op of ops) {
|
|
@@ -18,14 +16,10 @@ class CLP {
|
|
|
18
16
|
out[op][perm] = true;
|
|
19
17
|
}
|
|
20
18
|
}
|
|
21
|
-
|
|
22
19
|
return out;
|
|
23
20
|
}
|
|
24
|
-
|
|
25
21
|
}
|
|
26
|
-
|
|
27
22
|
exports.CLP = CLP;
|
|
28
|
-
|
|
29
23
|
function makeSchema(className, schema) {
|
|
30
24
|
// This function solve two things:
|
|
31
25
|
// 1. It provides auto-completion to the users who are implementing schemas
|
|
@@ -33,4 +27,4 @@ function makeSchema(className, schema) {
|
|
|
33
27
|
schema.className = className;
|
|
34
28
|
return schema;
|
|
35
29
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDTFAiLCJhbGxvdyIsInBlcm1zIiwib3V0IiwicGVybSIsIm9wcyIsIk9iamVjdCIsImVudHJpZXMiLCJvcCIsIm1ha2VTY2hlbWEiLCJjbGFzc05hbWUiLCJzY2hlbWEiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hTWlncmF0aW9ucy9NaWdyYXRpb25zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hT3B0aW9ucyB7XG4gIGRlZmluaXRpb25zOiBKU09OU2NoZW1hW107XG4gIHN0cmljdDogP2Jvb2xlYW47XG4gIGRlbGV0ZUV4dHJhRmllbGRzOiA/Ym9vbGVhbjtcbiAgcmVjcmVhdGVNb2RpZmllZEZpZWxkczogP2Jvb2xlYW47XG4gIGxvY2tTY2hlbWFzOiA/Ym9vbGVhbjtcbiAgYmVmb3JlTWlncmF0aW9uOiA/KCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG4gIGFmdGVyTWlncmF0aW9uOiA/KCkgPT4gdm9pZCB8IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCB0eXBlIEZpZWxkVmFsdWVUeXBlID1cbiAgfCAnU3RyaW5nJ1xuICB8ICdCb29sZWFuJ1xuICB8ICdGaWxlJ1xuICB8ICdOdW1iZXInXG4gIHwgJ1JlbGF0aW9uJ1xuICB8ICdQb2ludGVyJ1xuICB8ICdEYXRlJ1xuICB8ICdHZW9Qb2ludCdcbiAgfCAnUG9seWdvbidcbiAgfCAnQXJyYXknXG4gIHwgJ09iamVjdCdcbiAgfCAnQUNMJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZFR5cGUge1xuICB0eXBlOiBGaWVsZFZhbHVlVHlwZTtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBkZWZhdWx0VmFsdWU/OiBtaXhlZDtcbiAgdGFyZ2V0Q2xhc3M/OiBzdHJpbmc7XG59XG5cbnR5cGUgQ2xhc3NOYW1lVHlwZSA9ICdfVXNlcicgfCAnX1JvbGUnIHwgc3RyaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb3RlY3RlZEZpZWxkc0ludGVyZmFjZSB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGV4SW50ZXJmYWNlIHtcbiAgW2tleTogc3RyaW5nXTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGV4ZXNJbnRlcmZhY2Uge1xuICBba2V5OiBzdHJpbmddOiBJbmRleEludGVyZmFjZTtcbn1cblxuZXhwb3J0IHR5cGUgQ0xQT3BlcmF0aW9uID0gJ2ZpbmQnIHwgJ2NvdW50JyB8ICdnZXQnIHwgJ3VwZGF0ZScgfCAnY3JlYXRlJyB8ICdkZWxldGUnO1xuLy8gQFR5cGVzY3JpcHQgNC4xKyAvLyB0eXBlIENMUFBlcm1pc3Npb24gPSAncmVxdWlyZXNBdXRoZW50aWNhdGlvbicgfCAnKicgfCAgYHVzZXI6JHtzdHJpbmd9YCB8IGByb2xlOiR7c3RyaW5nfWBcblxudHlwZSBDTFBWYWx1ZSA9IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9O1xudHlwZSBDTFBEYXRhID0geyBba2V5OiBzdHJpbmddOiBDTFBPcGVyYXRpb25bXSB9O1xudHlwZSBDTFBJbnRlcmZhY2UgPSB7IFtrZXk6IHN0cmluZ106IENMUFZhbHVlIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSlNPTlNjaGVtYSB7XG4gIGNsYXNzTmFtZTogQ2xhc3NOYW1lVHlwZTtcbiAgZmllbGRzPzogeyBba2V5OiBzdHJpbmddOiBGaWVsZFR5cGUgfTtcbiAgaW5kZXhlcz86IEluZGV4ZXNJbnRlcmZhY2U7XG4gIGNsYXNzTGV2ZWxQZXJtaXNzaW9ucz86IHtcbiAgICBmaW5kPzogQ0xQVmFsdWUsXG4gICAgY291bnQ/OiBDTFBWYWx1ZSxcbiAgICBnZXQ/OiBDTFBWYWx1ZSxcbiAgICB1cGRhdGU/OiBDTFBWYWx1ZSxcbiAgICBjcmVhdGU/OiBDTFBWYWx1ZSxcbiAgICBkZWxldGU/OiBDTFBWYWx1ZSxcbiAgICBhZGRGaWVsZD86IENMUFZhbHVlLFxuICAgIHByb3RlY3RlZEZpZWxkcz86IFByb3RlY3RlZEZpZWxkc0ludGVyZmFjZSxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIENMUCB7XG4gIHN0YXRpYyBhbGxvdyhwZXJtczogeyBba2V5OiBzdHJpbmddOiBDTFBEYXRhIH0pOiBDTFBJbnRlcmZhY2Uge1xuICAgIGNvbnN0IG91dCA9IHt9O1xuXG4gICAgZm9yIChjb25zdCBbcGVybSwgb3BzXSBvZiBPYmplY3QuZW50cmllcyhwZXJtcykpIHtcbiAgICAgIC8vIEBmbG93LWRpc2FibGUtbmV4dCBQcm9wZXJ0eSBgQEBpdGVyYXRvcmAgaXMgbWlzc2luZyBpbiBtaXhlZCBbMV0gYnV0IGV4aXN0cyBpbiBgJEl0ZXJhYmxlYCBbMl0uXG4gICAgICBmb3IgKGNvbnN0IG9wIG9mIG9wcykge1xuICAgICAgICBvdXRbb3BdID0gb3V0W29wXSB8fCB7fTtcbiAgICAgICAgb3V0W29wXVtwZXJtXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZVNjaGVtYShjbGFzc05hbWU6IENsYXNzTmFtZVR5cGUsIHNjaGVtYTogSlNPTlNjaGVtYSk6IEpTT05TY2hlbWEge1xuICAvLyBUaGlzIGZ1bmN0aW9uIHNvbHZlIHR3byB0aGluZ3M6XG4gIC8vIDEuIEl0IHByb3ZpZGVzIGF1dG8tY29tcGxldGlvbiB0byB0aGUgdXNlcnMgd2hvIGFyZSBpbXBsZW1lbnRpbmcgc2NoZW1hc1xuICAvLyAyLiBJdCBhbGxvd3MgZm9yd2FyZC1jb21wYXRpYmxlIHBvaW50IGluIG9yZGVyIHRvIGFsbG93IGZ1dHVyZSBjaGFuZ2VzIHRvIHRoZSBpbnRlcm5hbCBzdHJ1Y3R1cmUgb2YgSlNPTlNjaGVtYSB3aXRob3V0IGFmZmVjdGluZyBhbGwgdGhlIHVzZXJzXG4gIHNjaGVtYS5jbGFzc05hbWUgPSBjbGFzc05hbWU7XG5cbiAgcmV0dXJuIHNjaGVtYTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQWdEQTtBQXNCTyxNQUFNQSxHQUFHLENBQUM7RUFDZixPQUFPQyxLQUFLLENBQUNDLEtBQWlDLEVBQWdCO0lBQzVELE1BQU1DLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFZCxLQUFLLE1BQU0sQ0FBQ0MsSUFBSSxFQUFFQyxHQUFHLENBQUMsSUFBSUMsTUFBTSxDQUFDQyxPQUFPLENBQUNMLEtBQUssQ0FBQyxFQUFFO01BQy9DO01BQ0EsS0FBSyxNQUFNTSxFQUFFLElBQUlILEdBQUcsRUFBRTtRQUNwQkYsR0FBRyxDQUFDSyxFQUFFLENBQUMsR0FBR0wsR0FBRyxDQUFDSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkJMLEdBQUcsQ0FBQ0ssRUFBRSxDQUFDLENBQUNKLElBQUksQ0FBQyxHQUFHLElBQUk7TUFDdEI7SUFDRjtJQUVBLE9BQU9ELEdBQUc7RUFDWjtBQUNGO0FBQUM7QUFFTSxTQUFTTSxVQUFVLENBQUNDLFNBQXdCLEVBQUVDLE1BQWtCLEVBQWM7RUFDbkY7RUFDQTtFQUNBO0VBQ0FBLE1BQU0sQ0FBQ0QsU0FBUyxHQUFHQSxTQUFTO0VBRTVCLE9BQU9DLE1BQU07QUFDZiJ9
|
package/lib/Security/Check.js
CHANGED
|
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _Utils = _interopRequireDefault(require("../Utils"));
|
|
9
|
-
|
|
10
8
|
var _lodash = require("lodash");
|
|
11
|
-
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
10
|
/**
|
|
15
11
|
* @module SecurityCheck
|
|
16
12
|
*/
|
|
@@ -30,7 +26,6 @@ class Check {
|
|
|
30
26
|
*/
|
|
31
27
|
constructor(params) {
|
|
32
28
|
this._validateParams(params);
|
|
33
|
-
|
|
34
29
|
const {
|
|
35
30
|
title,
|
|
36
31
|
warning,
|
|
@@ -40,25 +35,25 @@ class Check {
|
|
|
40
35
|
this.title = title;
|
|
41
36
|
this.warning = warning;
|
|
42
37
|
this.solution = solution;
|
|
43
|
-
this.check = check;
|
|
38
|
+
this.check = check;
|
|
44
39
|
|
|
40
|
+
// Set default properties
|
|
45
41
|
this._checkState = CheckState.none;
|
|
46
42
|
this.error;
|
|
47
43
|
}
|
|
44
|
+
|
|
48
45
|
/**
|
|
49
46
|
* Returns the current check state.
|
|
50
47
|
* @return {CheckState} The check state.
|
|
51
48
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
49
|
checkState() {
|
|
55
50
|
return this._checkState;
|
|
56
51
|
}
|
|
57
|
-
|
|
58
52
|
async run() {
|
|
59
53
|
// Get check as synchronous or asynchronous function
|
|
60
|
-
const check = this.check instanceof Promise ? await this.check : this.check;
|
|
54
|
+
const check = this.check instanceof Promise ? await this.check : this.check;
|
|
61
55
|
|
|
56
|
+
// Run check
|
|
62
57
|
try {
|
|
63
58
|
check();
|
|
64
59
|
this._checkState = CheckState.success;
|
|
@@ -67,12 +62,11 @@ class Check {
|
|
|
67
62
|
this._checkState = CheckState.fail;
|
|
68
63
|
}
|
|
69
64
|
}
|
|
65
|
+
|
|
70
66
|
/**
|
|
71
67
|
* Validates the constructor parameters.
|
|
72
68
|
* @param {Object} params The parameters to validate.
|
|
73
69
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
76
70
|
_validateParams(params) {
|
|
77
71
|
_Utils.default.validateParams(params, {
|
|
78
72
|
group: {
|
|
@@ -97,13 +91,11 @@ class Check {
|
|
|
97
91
|
}
|
|
98
92
|
});
|
|
99
93
|
}
|
|
100
|
-
|
|
101
94
|
}
|
|
95
|
+
|
|
102
96
|
/**
|
|
103
97
|
* The check state.
|
|
104
98
|
*/
|
|
105
|
-
|
|
106
|
-
|
|
107
99
|
const CheckState = Object.freeze({
|
|
108
100
|
none: 'none',
|
|
109
101
|
fail: 'fail',
|
|
@@ -115,4 +107,4 @@ module.exports = {
|
|
|
115
107
|
Check,
|
|
116
108
|
CheckState
|
|
117
109
|
};
|
|
118
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGVjayIsImNvbnN0cnVjdG9yIiwicGFyYW1zIiwiX3ZhbGlkYXRlUGFyYW1zIiwidGl0bGUiLCJ3YXJuaW5nIiwic29sdXRpb24iLCJjaGVjayIsIl9jaGVja1N0YXRlIiwiQ2hlY2tTdGF0ZSIsIm5vbmUiLCJlcnJvciIsImNoZWNrU3RhdGUiLCJydW4iLCJQcm9taXNlIiwic3VjY2VzcyIsImUiLCJzdGF0ZUZhaWxFcnJvciIsImZhaWwiLCJVdGlscyIsInZhbGlkYXRlUGFyYW1zIiwiZ3JvdXAiLCJ0IiwidiIsImlzU3RyaW5nIiwiaXNGdW5jdGlvbiIsIk9iamVjdCIsImZyZWV6ZSIsIm1vZHVsZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvU2VjdXJpdHkvQ2hlY2suanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIFNlY3VyaXR5Q2hlY2tcbiAqL1xuXG5pbXBvcnQgVXRpbHMgZnJvbSAnLi4vVXRpbHMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiwgaXNTdHJpbmcgfSBmcm9tICdsb2Rhc2gnO1xuXG4vKipcbiAqIEEgc2VjdXJpdHkgY2hlY2suXG4gKiBAY2xhc3MgQ2hlY2tcbiAqL1xuY2xhc3MgQ2hlY2sge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBzZWN1cml0eSBjaGVjay5cbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyBUaGUgcGFyYW1ldGVycy5cbiAgICogQHBhcmFtIHtTdHJpbmd9IHBhcmFtcy50aXRsZSBUaGUgdGl0bGUuXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBwYXJhbXMud2FybmluZyBUaGUgd2FybmluZyBtZXNzYWdlIGlmIHRoZSBjaGVjayBmYWlscy5cbiAgICogQHBhcmFtIHtTdHJpbmd9IHBhcmFtcy5zb2x1dGlvbiBUaGUgc29sdXRpb24gdG8gZml4IHRoZSBjaGVjay5cbiAgICogQHBhcmFtIHtQcm9taXNlfSBwYXJhbXMuY2hlY2sgVGhlIGNoZWNrIGFzIHN5bmNocm9ub3VzIG9yIGFzeW5jaHJvbm91cyBmdW5jdGlvbi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHBhcmFtcykge1xuICAgIHRoaXMuX3ZhbGlkYXRlUGFyYW1zKHBhcmFtcyk7XG4gICAgY29uc3QgeyB0aXRsZSwgd2FybmluZywgc29sdXRpb24sIGNoZWNrIH0gPSBwYXJhbXM7XG5cbiAgICB0aGlzLnRpdGxlID0gdGl0bGU7XG4gICAgdGhpcy53YXJuaW5nID0gd2FybmluZztcbiAgICB0aGlzLnNvbHV0aW9uID0gc29sdXRpb247XG4gICAgdGhpcy5jaGVjayA9IGNoZWNrO1xuXG4gICAgLy8gU2V0IGRlZmF1bHQgcHJvcGVydGllc1xuICAgIHRoaXMuX2NoZWNrU3RhdGUgPSBDaGVja1N0YXRlLm5vbmU7XG4gICAgdGhpcy5lcnJvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGNoZWNrIHN0YXRlLlxuICAgKiBAcmV0dXJuIHtDaGVja1N0YXRlfSBUaGUgY2hlY2sgc3RhdGUuXG4gICAqL1xuICBjaGVja1N0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9jaGVja1N0YXRlO1xuICB9XG5cbiAgYXN5bmMgcnVuKCkge1xuICAgIC8vIEdldCBjaGVjayBhcyBzeW5jaHJvbm91cyBvciBhc3luY2hyb25vdXMgZnVuY3Rpb25cbiAgICBjb25zdCBjaGVjayA9IHRoaXMuY2hlY2sgaW5zdGFuY2VvZiBQcm9taXNlID8gYXdhaXQgdGhpcy5jaGVjayA6IHRoaXMuY2hlY2s7XG5cbiAgICAvLyBSdW4gY2hlY2tcbiAgICB0cnkge1xuICAgICAgY2hlY2soKTtcbiAgICAgIHRoaXMuX2NoZWNrU3RhdGUgPSBDaGVja1N0YXRlLnN1Y2Nlc3M7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5zdGF0ZUZhaWxFcnJvciA9IGU7XG4gICAgICB0aGlzLl9jaGVja1N0YXRlID0gQ2hlY2tTdGF0ZS5mYWlsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGNvbnN0cnVjdG9yIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgVGhlIHBhcmFtZXRlcnMgdG8gdmFsaWRhdGUuXG4gICAqL1xuICBfdmFsaWRhdGVQYXJhbXMocGFyYW1zKSB7XG4gICAgVXRpbHMudmFsaWRhdGVQYXJhbXMocGFyYW1zLCB7XG4gICAgICBncm91cDogeyB0OiAnc3RyaW5nJywgdjogaXNTdHJpbmcgfSxcbiAgICAgIHRpdGxlOiB7IHQ6ICdzdHJpbmcnLCB2OiBpc1N0cmluZyB9LFxuICAgICAgd2FybmluZzogeyB0OiAnc3RyaW5nJywgdjogaXNTdHJpbmcgfSxcbiAgICAgIHNvbHV0aW9uOiB7IHQ6ICdzdHJpbmcnLCB2OiBpc1N0cmluZyB9LFxuICAgICAgY2hlY2s6IHsgdDogJ2Z1bmN0aW9uJywgdjogaXNGdW5jdGlvbiB9LFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogVGhlIGNoZWNrIHN0YXRlLlxuICovXG5jb25zdCBDaGVja1N0YXRlID0gT2JqZWN0LmZyZWV6ZSh7XG4gIG5vbmU6ICdub25lJyxcbiAgZmFpbDogJ2ZhaWwnLFxuICBzdWNjZXNzOiAnc3VjY2VzcycsXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQ2hlY2s7XG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgQ2hlY2ssXG4gIENoZWNrU3RhdGUsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFJQTtBQUNBO0FBQThDO0FBTDlDO0FBQ0E7QUFDQTs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU1BLEtBQUssQ0FBQztFQUNWO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDRUMsV0FBVyxDQUFDQyxNQUFNLEVBQUU7SUFDbEIsSUFBSSxDQUFDQyxlQUFlLENBQUNELE1BQU0sQ0FBQztJQUM1QixNQUFNO01BQUVFLEtBQUs7TUFBRUMsT0FBTztNQUFFQyxRQUFRO01BQUVDO0lBQU0sQ0FBQyxHQUFHTCxNQUFNO0lBRWxELElBQUksQ0FBQ0UsS0FBSyxHQUFHQSxLQUFLO0lBQ2xCLElBQUksQ0FBQ0MsT0FBTyxHQUFHQSxPQUFPO0lBQ3RCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQSxRQUFRO0lBQ3hCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQSxLQUFLOztJQUVsQjtJQUNBLElBQUksQ0FBQ0MsV0FBVyxHQUFHQyxVQUFVLENBQUNDLElBQUk7SUFDbEMsSUFBSSxDQUFDQyxLQUFLO0VBQ1o7O0VBRUE7QUFDRjtBQUNBO0FBQ0E7RUFDRUMsVUFBVSxHQUFHO0lBQ1gsT0FBTyxJQUFJLENBQUNKLFdBQVc7RUFDekI7RUFFQSxNQUFNSyxHQUFHLEdBQUc7SUFDVjtJQUNBLE1BQU1OLEtBQUssR0FBRyxJQUFJLENBQUNBLEtBQUssWUFBWU8sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDUCxLQUFLLEdBQUcsSUFBSSxDQUFDQSxLQUFLOztJQUUzRTtJQUNBLElBQUk7TUFDRkEsS0FBSyxFQUFFO01BQ1AsSUFBSSxDQUFDQyxXQUFXLEdBQUdDLFVBQVUsQ0FBQ00sT0FBTztJQUN2QyxDQUFDLENBQUMsT0FBT0MsQ0FBQyxFQUFFO01BQ1YsSUFBSSxDQUFDQyxjQUFjLEdBQUdELENBQUM7TUFDdkIsSUFBSSxDQUFDUixXQUFXLEdBQUdDLFVBQVUsQ0FBQ1MsSUFBSTtJQUNwQztFQUNGOztFQUVBO0FBQ0Y7QUFDQTtBQUNBO0VBQ0VmLGVBQWUsQ0FBQ0QsTUFBTSxFQUFFO0lBQ3RCaUIsY0FBSyxDQUFDQyxjQUFjLENBQUNsQixNQUFNLEVBQUU7TUFDM0JtQixLQUFLLEVBQUU7UUFBRUMsQ0FBQyxFQUFFLFFBQVE7UUFBRUMsQ0FBQyxFQUFFQztNQUFTLENBQUM7TUFDbkNwQixLQUFLLEVBQUU7UUFBRWtCLENBQUMsRUFBRSxRQUFRO1FBQUVDLENBQUMsRUFBRUM7TUFBUyxDQUFDO01BQ25DbkIsT0FBTyxFQUFFO1FBQUVpQixDQUFDLEVBQUUsUUFBUTtRQUFFQyxDQUFDLEVBQUVDO01BQVMsQ0FBQztNQUNyQ2xCLFFBQVEsRUFBRTtRQUFFZ0IsQ0FBQyxFQUFFLFFBQVE7UUFBRUMsQ0FBQyxFQUFFQztNQUFTLENBQUM7TUFDdENqQixLQUFLLEVBQUU7UUFBRWUsQ0FBQyxFQUFFLFVBQVU7UUFBRUMsQ0FBQyxFQUFFRTtNQUFXO0lBQ3hDLENBQUMsQ0FBQztFQUNKO0FBQ0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTWhCLFVBQVUsR0FBR2lCLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDO0VBQy9CakIsSUFBSSxFQUFFLE1BQU07RUFDWlEsSUFBSSxFQUFFLE1BQU07RUFDWkgsT0FBTyxFQUFFO0FBQ1gsQ0FBQyxDQUFDO0FBQUMsZUFFWWYsS0FBSztBQUFBO0FBQ3BCNEIsTUFBTSxDQUFDQyxPQUFPLEdBQUc7RUFDZjdCLEtBQUs7RUFDTFM7QUFDRixDQUFDIn0=
|
|
@@ -13,42 +13,35 @@ class CheckGroup {
|
|
|
13
13
|
this._name = this.setName();
|
|
14
14
|
this._checks = this.setChecks();
|
|
15
15
|
}
|
|
16
|
+
|
|
16
17
|
/**
|
|
17
18
|
* The security check group name; to be overridden by child class.
|
|
18
19
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
20
|
setName() {
|
|
22
21
|
throw `Check group has no name.`;
|
|
23
22
|
}
|
|
24
|
-
|
|
25
23
|
name() {
|
|
26
24
|
return this._name;
|
|
27
25
|
}
|
|
26
|
+
|
|
28
27
|
/**
|
|
29
28
|
* The security checks; to be overridden by child class.
|
|
30
29
|
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
30
|
setChecks() {
|
|
34
31
|
throw `Check group has no checks.`;
|
|
35
32
|
}
|
|
36
|
-
|
|
37
33
|
checks() {
|
|
38
34
|
return this._checks;
|
|
39
35
|
}
|
|
36
|
+
|
|
40
37
|
/**
|
|
41
38
|
* Runs all checks.
|
|
42
39
|
*/
|
|
43
|
-
|
|
44
|
-
|
|
45
40
|
async run() {
|
|
46
41
|
for (const check of this._checks) {
|
|
47
42
|
check.run();
|
|
48
43
|
}
|
|
49
44
|
}
|
|
50
|
-
|
|
51
45
|
}
|
|
52
|
-
|
|
53
46
|
module.exports = CheckGroup;
|
|
54
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGVja0dyb3VwIiwiY29uc3RydWN0b3IiLCJfbmFtZSIsInNldE5hbWUiLCJfY2hlY2tzIiwic2V0Q2hlY2tzIiwibmFtZSIsImNoZWNrcyIsInJ1biIsImNoZWNrIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TZWN1cml0eS9DaGVja0dyb3VwLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBTZWN1cml0eUNoZWNrXG4gKi9cblxuLyoqXG4gKiBBIGdyb3VwIG9mIHNlY3VyaXR5IGNoZWNrcy5cbiAqIEBpbnRlcmZhY2UgQ2hlY2tHcm91cFxuICovXG5jbGFzcyBDaGVja0dyb3VwIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fbmFtZSA9IHRoaXMuc2V0TmFtZSgpO1xuICAgIHRoaXMuX2NoZWNrcyA9IHRoaXMuc2V0Q2hlY2tzKCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNlY3VyaXR5IGNoZWNrIGdyb3VwIG5hbWU7IHRvIGJlIG92ZXJyaWRkZW4gYnkgY2hpbGQgY2xhc3MuXG4gICAqL1xuICBzZXROYW1lKCkge1xuICAgIHRocm93IGBDaGVjayBncm91cCBoYXMgbm8gbmFtZS5gO1xuICB9XG4gIG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX25hbWU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNlY3VyaXR5IGNoZWNrczsgdG8gYmUgb3ZlcnJpZGRlbiBieSBjaGlsZCBjbGFzcy5cbiAgICovXG4gIHNldENoZWNrcygpIHtcbiAgICB0aHJvdyBgQ2hlY2sgZ3JvdXAgaGFzIG5vIGNoZWNrcy5gO1xuICB9XG4gIGNoZWNrcygpIHtcbiAgICByZXR1cm4gdGhpcy5fY2hlY2tzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYWxsIGNoZWNrcy5cbiAgICovXG4gIGFzeW5jIHJ1bigpIHtcbiAgICBmb3IgKGNvbnN0IGNoZWNrIG9mIHRoaXMuX2NoZWNrcykge1xuICAgICAgY2hlY2sucnVuKCk7XG4gICAgfVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQ2hlY2tHcm91cDtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNQSxVQUFVLENBQUM7RUFDZkMsV0FBVyxHQUFHO0lBQ1osSUFBSSxDQUFDQyxLQUFLLEdBQUcsSUFBSSxDQUFDQyxPQUFPLEVBQUU7SUFDM0IsSUFBSSxDQUFDQyxPQUFPLEdBQUcsSUFBSSxDQUFDQyxTQUFTLEVBQUU7RUFDakM7O0VBRUE7QUFDRjtBQUNBO0VBQ0VGLE9BQU8sR0FBRztJQUNSLE1BQU8sMEJBQXlCO0VBQ2xDO0VBQ0FHLElBQUksR0FBRztJQUNMLE9BQU8sSUFBSSxDQUFDSixLQUFLO0VBQ25COztFQUVBO0FBQ0Y7QUFDQTtFQUNFRyxTQUFTLEdBQUc7SUFDVixNQUFPLDRCQUEyQjtFQUNwQztFQUNBRSxNQUFNLEdBQUc7SUFDUCxPQUFPLElBQUksQ0FBQ0gsT0FBTztFQUNyQjs7RUFFQTtBQUNGO0FBQ0E7RUFDRSxNQUFNSSxHQUFHLEdBQUc7SUFDVixLQUFLLE1BQU1DLEtBQUssSUFBSSxJQUFJLENBQUNMLE9BQU8sRUFBRTtNQUNoQ0ssS0FBSyxDQUFDRCxHQUFHLEVBQUU7SUFDYjtFQUNGO0FBQ0Y7QUFFQUUsTUFBTSxDQUFDQyxPQUFPLEdBQUdYLFVBQVUifQ==
|
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Check = require("../Check");
|
|
4
|
-
|
|
5
4
|
var _CheckGroup = _interopRequireDefault(require("../CheckGroup"));
|
|
6
|
-
|
|
7
5
|
var _Config = _interopRequireDefault(require("../../Config"));
|
|
8
|
-
|
|
9
6
|
var _node = _interopRequireDefault(require("parse/node"));
|
|
10
|
-
|
|
11
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
|
|
13
8
|
/**
|
|
14
9
|
* @module SecurityCheck
|
|
15
10
|
*/
|
|
16
11
|
|
|
17
12
|
/**
|
|
18
|
-
* The security checks group for Parse Server configuration.
|
|
19
|
-
* Checks common Parse Server parameters such as access keys.
|
|
20
|
-
*/
|
|
13
|
+
* The security checks group for Parse Server configuration.
|
|
14
|
+
* Checks common Parse Server parameters such as access keys.
|
|
15
|
+
*/
|
|
21
16
|
class CheckGroupDatabase extends _CheckGroup.default {
|
|
22
17
|
setName() {
|
|
23
18
|
return 'Database';
|
|
24
19
|
}
|
|
25
|
-
|
|
26
20
|
setChecks() {
|
|
27
21
|
const config = _Config.default.get(_node.default.applicationId);
|
|
28
|
-
|
|
29
22
|
const databaseAdapter = config.database.adapter;
|
|
30
23
|
const databaseUrl = databaseAdapter._uri;
|
|
31
24
|
return [new _Check.Check({
|
|
@@ -37,21 +30,18 @@ class CheckGroupDatabase extends _CheckGroup.default {
|
|
|
37
30
|
const hasUpperCase = /[A-Z]/.test(password);
|
|
38
31
|
const hasLowerCase = /[a-z]/.test(password);
|
|
39
32
|
const hasNumbers = /\d/.test(password);
|
|
40
|
-
const hasNonAlphasNumerics = /\W/.test(password);
|
|
41
|
-
|
|
33
|
+
const hasNonAlphasNumerics = /\W/.test(password);
|
|
34
|
+
// Ensure length
|
|
42
35
|
if (password.length < 14) {
|
|
43
36
|
throw 1;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
}
|
|
38
|
+
// Ensure at least 3 out of 4 requirements passed
|
|
47
39
|
if (hasUpperCase + hasLowerCase + hasNumbers + hasNonAlphasNumerics < 3) {
|
|
48
40
|
throw 1;
|
|
49
41
|
}
|
|
50
42
|
}
|
|
51
43
|
})];
|
|
52
44
|
}
|
|
53
|
-
|
|
54
45
|
}
|
|
55
|
-
|
|
56
46
|
module.exports = CheckGroupDatabase;
|
|
57
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGVja0dyb3VwRGF0YWJhc2UiLCJDaGVja0dyb3VwIiwic2V0TmFtZSIsInNldENoZWNrcyIsImNvbmZpZyIsIkNvbmZpZyIsImdldCIsIlBhcnNlIiwiYXBwbGljYXRpb25JZCIsImRhdGFiYXNlQWRhcHRlciIsImRhdGFiYXNlIiwiYWRhcHRlciIsImRhdGFiYXNlVXJsIiwiX3VyaSIsIkNoZWNrIiwidGl0bGUiLCJ3YXJuaW5nIiwic29sdXRpb24iLCJjaGVjayIsInBhc3N3b3JkIiwibWF0Y2giLCJoYXNVcHBlckNhc2UiLCJ0ZXN0IiwiaGFzTG93ZXJDYXNlIiwiaGFzTnVtYmVycyIsImhhc05vbkFscGhhc051bWVyaWNzIiwibGVuZ3RoIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TZWN1cml0eS9DaGVja0dyb3Vwcy9DaGVja0dyb3VwRGF0YWJhc2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIFNlY3VyaXR5Q2hlY2tcbiAqL1xuXG5pbXBvcnQgeyBDaGVjayB9IGZyb20gJy4uL0NoZWNrJztcbmltcG9ydCBDaGVja0dyb3VwIGZyb20gJy4uL0NoZWNrR3JvdXAnO1xuaW1wb3J0IENvbmZpZyBmcm9tICcuLi8uLi9Db25maWcnO1xuaW1wb3J0IFBhcnNlIGZyb20gJ3BhcnNlL25vZGUnO1xuXG4vKipcbiAqIFRoZSBzZWN1cml0eSBjaGVja3MgZ3JvdXAgZm9yIFBhcnNlIFNlcnZlciBjb25maWd1cmF0aW9uLlxuICogQ2hlY2tzIGNvbW1vbiBQYXJzZSBTZXJ2ZXIgcGFyYW1ldGVycyBzdWNoIGFzIGFjY2VzcyBrZXlzLlxuICovXG5jbGFzcyBDaGVja0dyb3VwRGF0YWJhc2UgZXh0ZW5kcyBDaGVja0dyb3VwIHtcbiAgc2V0TmFtZSgpIHtcbiAgICByZXR1cm4gJ0RhdGFiYXNlJztcbiAgfVxuICBzZXRDaGVja3MoKSB7XG4gICAgY29uc3QgY29uZmlnID0gQ29uZmlnLmdldChQYXJzZS5hcHBsaWNhdGlvbklkKTtcbiAgICBjb25zdCBkYXRhYmFzZUFkYXB0ZXIgPSBjb25maWcuZGF0YWJhc2UuYWRhcHRlcjtcbiAgICBjb25zdCBkYXRhYmFzZVVybCA9IGRhdGFiYXNlQWRhcHRlci5fdXJpO1xuICAgIHJldHVybiBbXG4gICAgICBuZXcgQ2hlY2soe1xuICAgICAgICB0aXRsZTogJ1NlY3VyZSBkYXRhYmFzZSBwYXNzd29yZCcsXG4gICAgICAgIHdhcm5pbmc6ICdUaGUgZGF0YWJhc2UgcGFzc3dvcmQgaXMgaW5zZWN1cmUgYW5kIHZ1bG5lcmFibGUgdG8gYnJ1dGUgZm9yY2UgYXR0YWNrcy4nLFxuICAgICAgICBzb2x1dGlvbjpcbiAgICAgICAgICAnQ2hvb3NlIGEgbG9uZ2VyIGFuZC9vciBtb3JlIGNvbXBsZXggcGFzc3dvcmQgd2l0aCBhIGNvbWJpbmF0aW9uIG9mIHVwcGVyLSBhbmQgbG93ZXJjYXNlIGNoYXJhY3RlcnMsIG51bWJlcnMgYW5kIHNwZWNpYWwgY2hhcmFjdGVycy4nLFxuICAgICAgICBjaGVjazogKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBhc3N3b3JkID0gZGF0YWJhc2VVcmwubWF0Y2goL1xcL1xcL1xcUys6KFxcUyspQC8pWzFdO1xuICAgICAgICAgIGNvbnN0IGhhc1VwcGVyQ2FzZSA9IC9bQS1aXS8udGVzdChwYXNzd29yZCk7XG4gICAgICAgICAgY29uc3QgaGFzTG93ZXJDYXNlID0gL1thLXpdLy50ZXN0KHBhc3N3b3JkKTtcbiAgICAgICAgICBjb25zdCBoYXNOdW1iZXJzID0gL1xcZC8udGVzdChwYXNzd29yZCk7XG4gICAgICAgICAgY29uc3QgaGFzTm9uQWxwaGFzTnVtZXJpY3MgPSAvXFxXLy50ZXN0KHBhc3N3b3JkKTtcbiAgICAgICAgICAvLyBFbnN1cmUgbGVuZ3RoXG4gICAgICAgICAgaWYgKHBhc3N3b3JkLmxlbmd0aCA8IDE0KSB7XG4gICAgICAgICAgICB0aHJvdyAxO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBFbnN1cmUgYXQgbGVhc3QgMyBvdXQgb2YgNCByZXF1aXJlbWVudHMgcGFzc2VkXG4gICAgICAgICAgaWYgKGhhc1VwcGVyQ2FzZSArIGhhc0xvd2VyQ2FzZSArIGhhc051bWJlcnMgKyBoYXNOb25BbHBoYXNOdW1lcmljcyA8IDMpIHtcbiAgICAgICAgICAgIHRocm93IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgXTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IENoZWNrR3JvdXBEYXRhYmFzZTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUErQjtBQVAvQjtBQUNBO0FBQ0E7O0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNQSxrQkFBa0IsU0FBU0MsbUJBQVUsQ0FBQztFQUMxQ0MsT0FBTyxHQUFHO0lBQ1IsT0FBTyxVQUFVO0VBQ25CO0VBQ0FDLFNBQVMsR0FBRztJQUNWLE1BQU1DLE1BQU0sR0FBR0MsZUFBTSxDQUFDQyxHQUFHLENBQUNDLGFBQUssQ0FBQ0MsYUFBYSxDQUFDO0lBQzlDLE1BQU1DLGVBQWUsR0FBR0wsTUFBTSxDQUFDTSxRQUFRLENBQUNDLE9BQU87SUFDL0MsTUFBTUMsV0FBVyxHQUFHSCxlQUFlLENBQUNJLElBQUk7SUFDeEMsT0FBTyxDQUNMLElBQUlDLFlBQUssQ0FBQztNQUNSQyxLQUFLLEVBQUUsMEJBQTBCO01BQ2pDQyxPQUFPLEVBQUUsMEVBQTBFO01BQ25GQyxRQUFRLEVBQ04scUlBQXFJO01BQ3ZJQyxLQUFLLEVBQUUsTUFBTTtRQUNYLE1BQU1DLFFBQVEsR0FBR1AsV0FBVyxDQUFDUSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsTUFBTUMsWUFBWSxHQUFHLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDSCxRQUFRLENBQUM7UUFDM0MsTUFBTUksWUFBWSxHQUFHLE9BQU8sQ0FBQ0QsSUFBSSxDQUFDSCxRQUFRLENBQUM7UUFDM0MsTUFBTUssVUFBVSxHQUFHLElBQUksQ0FBQ0YsSUFBSSxDQUFDSCxRQUFRLENBQUM7UUFDdEMsTUFBTU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDSCxJQUFJLENBQUNILFFBQVEsQ0FBQztRQUNoRDtRQUNBLElBQUlBLFFBQVEsQ0FBQ08sTUFBTSxHQUFHLEVBQUUsRUFBRTtVQUN4QixNQUFNLENBQUM7UUFDVDtRQUNBO1FBQ0EsSUFBSUwsWUFBWSxHQUFHRSxZQUFZLEdBQUdDLFVBQVUsR0FBR0Msb0JBQW9CLEdBQUcsQ0FBQyxFQUFFO1VBQ3ZFLE1BQU0sQ0FBQztRQUNUO01BQ0Y7SUFDRixDQUFDLENBQUMsQ0FDSDtFQUNIO0FBQ0Y7QUFFQUUsTUFBTSxDQUFDQyxPQUFPLEdBQUc1QixrQkFBa0IifQ==
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _Check = require("../Check");
|
|
4
|
-
|
|
5
4
|
var _CheckGroup = _interopRequireDefault(require("../CheckGroup"));
|
|
6
|
-
|
|
7
5
|
var _Config = _interopRequireDefault(require("../../Config"));
|
|
8
|
-
|
|
9
6
|
var _node = _interopRequireDefault(require("parse/node"));
|
|
10
|
-
|
|
11
7
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
-
|
|
13
8
|
/**
|
|
14
9
|
* @module SecurityCheck
|
|
15
10
|
*/
|
|
@@ -22,10 +17,8 @@ class CheckGroupServerConfig extends _CheckGroup.default {
|
|
|
22
17
|
setName() {
|
|
23
18
|
return 'Parse Server Configuration';
|
|
24
19
|
}
|
|
25
|
-
|
|
26
20
|
setChecks() {
|
|
27
21
|
const config = _Config.default.get(_node.default.applicationId);
|
|
28
|
-
|
|
29
22
|
return [new _Check.Check({
|
|
30
23
|
title: 'Secure master key',
|
|
31
24
|
warning: 'The Parse Server master key is insecure and vulnerable to brute force attacks.',
|
|
@@ -35,13 +28,12 @@ class CheckGroupServerConfig extends _CheckGroup.default {
|
|
|
35
28
|
const hasUpperCase = /[A-Z]/.test(masterKey);
|
|
36
29
|
const hasLowerCase = /[a-z]/.test(masterKey);
|
|
37
30
|
const hasNumbers = /\d/.test(masterKey);
|
|
38
|
-
const hasNonAlphasNumerics = /\W/.test(masterKey);
|
|
39
|
-
|
|
31
|
+
const hasNonAlphasNumerics = /\W/.test(masterKey);
|
|
32
|
+
// Ensure length
|
|
40
33
|
if (masterKey.length < 14) {
|
|
41
34
|
throw 1;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
35
|
+
}
|
|
36
|
+
// Ensure at least 3 out of 4 requirements passed
|
|
45
37
|
if (hasUpperCase + hasLowerCase + hasNumbers + hasNonAlphasNumerics < 3) {
|
|
46
38
|
throw 1;
|
|
47
39
|
}
|
|
@@ -75,8 +67,6 @@ class CheckGroupServerConfig extends _CheckGroup.default {
|
|
|
75
67
|
}
|
|
76
68
|
})];
|
|
77
69
|
}
|
|
78
|
-
|
|
79
70
|
}
|
|
80
|
-
|
|
81
71
|
module.exports = CheckGroupServerConfig;
|
|
82
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGVja0dyb3VwU2VydmVyQ29uZmlnIiwiQ2hlY2tHcm91cCIsInNldE5hbWUiLCJzZXRDaGVja3MiLCJjb25maWciLCJDb25maWciLCJnZXQiLCJQYXJzZSIsImFwcGxpY2F0aW9uSWQiLCJDaGVjayIsInRpdGxlIiwid2FybmluZyIsInNvbHV0aW9uIiwiY2hlY2siLCJtYXN0ZXJLZXkiLCJoYXNVcHBlckNhc2UiLCJ0ZXN0IiwiaGFzTG93ZXJDYXNlIiwiaGFzTnVtYmVycyIsImhhc05vbkFscGhhc051bWVyaWNzIiwibGVuZ3RoIiwic2VjdXJpdHkiLCJlbmFibGVDaGVja0xvZyIsImFsbG93Q2xpZW50Q2xhc3NDcmVhdGlvbiIsImVuZm9yY2VQcml2YXRlVXNlcnMiLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1NlY3VyaXR5L0NoZWNrR3JvdXBzL0NoZWNrR3JvdXBTZXJ2ZXJDb25maWcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIFNlY3VyaXR5Q2hlY2tcbiAqL1xuXG5pbXBvcnQgeyBDaGVjayB9IGZyb20gJy4uL0NoZWNrJztcbmltcG9ydCBDaGVja0dyb3VwIGZyb20gJy4uL0NoZWNrR3JvdXAnO1xuaW1wb3J0IENvbmZpZyBmcm9tICcuLi8uLi9Db25maWcnO1xuaW1wb3J0IFBhcnNlIGZyb20gJ3BhcnNlL25vZGUnO1xuXG4vKipcbiAqIFRoZSBzZWN1cml0eSBjaGVja3MgZ3JvdXAgZm9yIFBhcnNlIFNlcnZlciBjb25maWd1cmF0aW9uLlxuICogQ2hlY2tzIGNvbW1vbiBQYXJzZSBTZXJ2ZXIgcGFyYW1ldGVycyBzdWNoIGFzIGFjY2VzcyBrZXlzLlxuICovXG5jbGFzcyBDaGVja0dyb3VwU2VydmVyQ29uZmlnIGV4dGVuZHMgQ2hlY2tHcm91cCB7XG4gIHNldE5hbWUoKSB7XG4gICAgcmV0dXJuICdQYXJzZSBTZXJ2ZXIgQ29uZmlndXJhdGlvbic7XG4gIH1cbiAgc2V0Q2hlY2tzKCkge1xuICAgIGNvbnN0IGNvbmZpZyA9IENvbmZpZy5nZXQoUGFyc2UuYXBwbGljYXRpb25JZCk7XG4gICAgcmV0dXJuIFtcbiAgICAgIG5ldyBDaGVjayh7XG4gICAgICAgIHRpdGxlOiAnU2VjdXJlIG1hc3RlciBrZXknLFxuICAgICAgICB3YXJuaW5nOiAnVGhlIFBhcnNlIFNlcnZlciBtYXN0ZXIga2V5IGlzIGluc2VjdXJlIGFuZCB2dWxuZXJhYmxlIHRvIGJydXRlIGZvcmNlIGF0dGFja3MuJyxcbiAgICAgICAgc29sdXRpb246XG4gICAgICAgICAgJ0Nob29zZSBhIGxvbmdlciBhbmQvb3IgbW9yZSBjb21wbGV4IG1hc3RlciBrZXkgd2l0aCBhIGNvbWJpbmF0aW9uIG9mIHVwcGVyLSBhbmQgbG93ZXJjYXNlIGNoYXJhY3RlcnMsIG51bWJlcnMgYW5kIHNwZWNpYWwgY2hhcmFjdGVycy4nLFxuICAgICAgICBjaGVjazogKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1hc3RlcktleSA9IGNvbmZpZy5tYXN0ZXJLZXk7XG4gICAgICAgICAgY29uc3QgaGFzVXBwZXJDYXNlID0gL1tBLVpdLy50ZXN0KG1hc3RlcktleSk7XG4gICAgICAgICAgY29uc3QgaGFzTG93ZXJDYXNlID0gL1thLXpdLy50ZXN0KG1hc3RlcktleSk7XG4gICAgICAgICAgY29uc3QgaGFzTnVtYmVycyA9IC9cXGQvLnRlc3QobWFzdGVyS2V5KTtcbiAgICAgICAgICBjb25zdCBoYXNOb25BbHBoYXNOdW1lcmljcyA9IC9cXFcvLnRlc3QobWFzdGVyS2V5KTtcbiAgICAgICAgICAvLyBFbnN1cmUgbGVuZ3RoXG4gICAgICAgICAgaWYgKG1hc3RlcktleS5sZW5ndGggPCAxNCkge1xuICAgICAgICAgICAgdGhyb3cgMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gRW5zdXJlIGF0IGxlYXN0IDMgb3V0IG9mIDQgcmVxdWlyZW1lbnRzIHBhc3NlZFxuICAgICAgICAgIGlmIChoYXNVcHBlckNhc2UgKyBoYXNMb3dlckNhc2UgKyBoYXNOdW1iZXJzICsgaGFzTm9uQWxwaGFzTnVtZXJpY3MgPCAzKSB7XG4gICAgICAgICAgICB0aHJvdyAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgbmV3IENoZWNrKHtcbiAgICAgICAgdGl0bGU6ICdTZWN1cml0eSBsb2cgZGlzYWJsZWQnLFxuICAgICAgICB3YXJuaW5nOlxuICAgICAgICAgICdTZWN1cml0eSBjaGVja3MgaW4gbG9ncyBtYXkgZXhwb3NlIHZ1bG5lcmFiaWxpdGllcyB0byBhbnlvbmUgd2l0aCBhY2Nlc3MgdG8gbG9ncy4nLFxuICAgICAgICBzb2x1dGlvbjogXCJDaGFuZ2UgUGFyc2UgU2VydmVyIGNvbmZpZ3VyYXRpb24gdG8gJ3NlY3VyaXR5LmVuYWJsZUNoZWNrTG9nOiBmYWxzZScuXCIsXG4gICAgICAgIGNoZWNrOiAoKSA9PiB7XG4gICAgICAgICAgaWYgKGNvbmZpZy5zZWN1cml0eSAmJiBjb25maWcuc2VjdXJpdHkuZW5hYmxlQ2hlY2tMb2cpIHtcbiAgICAgICAgICAgIHRocm93IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBuZXcgQ2hlY2soe1xuICAgICAgICB0aXRsZTogJ0NsaWVudCBjbGFzcyBjcmVhdGlvbiBkaXNhYmxlZCcsXG4gICAgICAgIHdhcm5pbmc6XG4gICAgICAgICAgJ0F0dGFja2VycyBhcmUgYWxsb3dlZCB0byBjcmVhdGUgbmV3IGNsYXNzZXMgd2l0aG91dCByZXN0cmljdGlvbiBhbmQgZmxvb2QgdGhlIGRhdGFiYXNlLicsXG4gICAgICAgIHNvbHV0aW9uOiBcIkNoYW5nZSBQYXJzZSBTZXJ2ZXIgY29uZmlndXJhdGlvbiB0byAnYWxsb3dDbGllbnRDbGFzc0NyZWF0aW9uOiBmYWxzZScuXCIsXG4gICAgICAgIGNoZWNrOiAoKSA9PiB7XG4gICAgICAgICAgaWYgKGNvbmZpZy5hbGxvd0NsaWVudENsYXNzQ3JlYXRpb24gfHwgY29uZmlnLmFsbG93Q2xpZW50Q2xhc3NDcmVhdGlvbiA9PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgbmV3IENoZWNrKHtcbiAgICAgICAgdGl0bGU6ICdVc2VycyBhcmUgY3JlYXRlZCB3aXRob3V0IHB1YmxpYyBhY2Nlc3MnLFxuICAgICAgICB3YXJuaW5nOlxuICAgICAgICAgICdVc2VycyB3aXRoIHB1YmxpYyByZWFkIGFjY2VzcyBhcmUgZXhwb3NlZCB0byBhbnlvbmUgd2hvIGtub3dzIHRoZWlyIG9iamVjdCBJRHMsIG9yIHRvIGFueW9uZSB3aG8gY2FuIHF1ZXJ5IHRoZSBQYXJzZS5Vc2VyIGNsYXNzLicsXG4gICAgICAgIHNvbHV0aW9uOiBcIkNoYW5nZSBQYXJzZSBTZXJ2ZXIgY29uZmlndXJhdGlvbiB0byAnZW5mb3JjZVByaXZhdGVVc2VyczogdHJ1ZScuXCIsXG4gICAgICAgIGNoZWNrOiAoKSA9PiB7XG4gICAgICAgICAgaWYgKCFjb25maWcuZW5mb3JjZVByaXZhdGVVc2Vycykge1xuICAgICAgICAgICAgdGhyb3cgMTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICBdO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gQ2hlY2tHcm91cFNlcnZlckNvbmZpZztcbiJdLCJtYXBwaW5ncyI6Ijs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUErQjtBQVAvQjtBQUNBO0FBQ0E7O0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNQSxzQkFBc0IsU0FBU0MsbUJBQVUsQ0FBQztFQUM5Q0MsT0FBTyxHQUFHO0lBQ1IsT0FBTyw0QkFBNEI7RUFDckM7RUFDQUMsU0FBUyxHQUFHO0lBQ1YsTUFBTUMsTUFBTSxHQUFHQyxlQUFNLENBQUNDLEdBQUcsQ0FBQ0MsYUFBSyxDQUFDQyxhQUFhLENBQUM7SUFDOUMsT0FBTyxDQUNMLElBQUlDLFlBQUssQ0FBQztNQUNSQyxLQUFLLEVBQUUsbUJBQW1CO01BQzFCQyxPQUFPLEVBQUUsZ0ZBQWdGO01BQ3pGQyxRQUFRLEVBQ04sdUlBQXVJO01BQ3pJQyxLQUFLLEVBQUUsTUFBTTtRQUNYLE1BQU1DLFNBQVMsR0FBR1YsTUFBTSxDQUFDVSxTQUFTO1FBQ2xDLE1BQU1DLFlBQVksR0FBRyxPQUFPLENBQUNDLElBQUksQ0FBQ0YsU0FBUyxDQUFDO1FBQzVDLE1BQU1HLFlBQVksR0FBRyxPQUFPLENBQUNELElBQUksQ0FBQ0YsU0FBUyxDQUFDO1FBQzVDLE1BQU1JLFVBQVUsR0FBRyxJQUFJLENBQUNGLElBQUksQ0FBQ0YsU0FBUyxDQUFDO1FBQ3ZDLE1BQU1LLG9CQUFvQixHQUFHLElBQUksQ0FBQ0gsSUFBSSxDQUFDRixTQUFTLENBQUM7UUFDakQ7UUFDQSxJQUFJQSxTQUFTLENBQUNNLE1BQU0sR0FBRyxFQUFFLEVBQUU7VUFDekIsTUFBTSxDQUFDO1FBQ1Q7UUFDQTtRQUNBLElBQUlMLFlBQVksR0FBR0UsWUFBWSxHQUFHQyxVQUFVLEdBQUdDLG9CQUFvQixHQUFHLENBQUMsRUFBRTtVQUN2RSxNQUFNLENBQUM7UUFDVDtNQUNGO0lBQ0YsQ0FBQyxDQUFDLEVBQ0YsSUFBSVYsWUFBSyxDQUFDO01BQ1JDLEtBQUssRUFBRSx1QkFBdUI7TUFDOUJDLE9BQU8sRUFDTCxtRkFBbUY7TUFDckZDLFFBQVEsRUFBRSx3RUFBd0U7TUFDbEZDLEtBQUssRUFBRSxNQUFNO1FBQ1gsSUFBSVQsTUFBTSxDQUFDaUIsUUFBUSxJQUFJakIsTUFBTSxDQUFDaUIsUUFBUSxDQUFDQyxjQUFjLEVBQUU7VUFDckQsTUFBTSxDQUFDO1FBQ1Q7TUFDRjtJQUNGLENBQUMsQ0FBQyxFQUNGLElBQUliLFlBQUssQ0FBQztNQUNSQyxLQUFLLEVBQUUsZ0NBQWdDO01BQ3ZDQyxPQUFPLEVBQ0wseUZBQXlGO01BQzNGQyxRQUFRLEVBQUUseUVBQXlFO01BQ25GQyxLQUFLLEVBQUUsTUFBTTtRQUNYLElBQUlULE1BQU0sQ0FBQ21CLHdCQUF3QixJQUFJbkIsTUFBTSxDQUFDbUIsd0JBQXdCLElBQUksSUFBSSxFQUFFO1VBQzlFLE1BQU0sQ0FBQztRQUNUO01BQ0Y7SUFDRixDQUFDLENBQUMsRUFDRixJQUFJZCxZQUFLLENBQUM7TUFDUkMsS0FBSyxFQUFFLHlDQUF5QztNQUNoREMsT0FBTyxFQUNMLGtJQUFrSTtNQUNwSUMsUUFBUSxFQUFFLG1FQUFtRTtNQUM3RUMsS0FBSyxFQUFFLE1BQU07UUFDWCxJQUFJLENBQUNULE1BQU0sQ0FBQ29CLG1CQUFtQixFQUFFO1VBQy9CLE1BQU0sQ0FBQztRQUNUO01BQ0Y7SUFDRixDQUFDLENBQUMsQ0FDSDtFQUNIO0FBQ0Y7QUFFQUMsTUFBTSxDQUFDQyxPQUFPLEdBQUcxQixzQkFBc0IifQ==
|
|
@@ -15,10 +15,7 @@ Object.defineProperty(exports, "CheckGroupServerConfig", {
|
|
|
15
15
|
return _CheckGroupServerConfig.default;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
|
|
19
18
|
var _CheckGroupDatabase = _interopRequireDefault(require("./CheckGroupDatabase"));
|
|
20
|
-
|
|
21
19
|
var _CheckGroupServerConfig = _interopRequireDefault(require("./CheckGroupServerConfig"));
|
|
22
|
-
|
|
23
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1NlY3VyaXR5L0NoZWNrR3JvdXBzL0NoZWNrR3JvdXBzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBTZWN1cml0eUNoZWNrXG4gKi9cblxuLyoqXG4gKiBUaGUgbGlzdCBvZiBzZWN1cml0eSBjaGVjayBncm91cHMuXG4gKi9cbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2hlY2tHcm91cERhdGFiYXNlIH0gZnJvbSAnLi9DaGVja0dyb3VwRGF0YWJhc2UnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBDaGVja0dyb3VwU2VydmVyQ29uZmlnIH0gZnJvbSAnLi9DaGVja0dyb3VwU2VydmVyQ29uZmlnJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPQTtBQUNBO0FBQTZFIn0=
|