parse-server 2.8.4 → 8.6.2
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/LICENSE +167 -25
- package/NOTICE +10 -0
- package/README.md +929 -278
- package/lib/AccountLockout.js +47 -30
- package/lib/Adapters/AdapterLoader.js +21 -6
- package/lib/Adapters/Analytics/AnalyticsAdapter.js +15 -12
- package/lib/Adapters/Auth/AuthAdapter.js +116 -13
- package/lib/Adapters/Auth/BaseCodeAuthAdapter.js +99 -0
- package/lib/Adapters/Auth/OAuth1Client.js +27 -46
- package/lib/Adapters/Auth/apple.js +123 -0
- package/lib/Adapters/Auth/facebook.js +162 -35
- package/lib/Adapters/Auth/gcenter.js +217 -0
- package/lib/Adapters/Auth/github.js +118 -48
- package/lib/Adapters/Auth/google.js +160 -51
- package/lib/Adapters/Auth/gpgames.js +125 -0
- package/lib/Adapters/Auth/httpsRequest.js +6 -7
- package/lib/Adapters/Auth/index.js +170 -62
- package/lib/Adapters/Auth/instagram.js +114 -40
- package/lib/Adapters/Auth/janraincapture.js +52 -23
- package/lib/Adapters/Auth/janrainengage.js +19 -36
- package/lib/Adapters/Auth/keycloak.js +148 -0
- package/lib/Adapters/Auth/ldap.js +167 -0
- package/lib/Adapters/Auth/line.js +125 -0
- package/lib/Adapters/Auth/linkedin.js +111 -55
- package/lib/Adapters/Auth/meetup.js +24 -34
- package/lib/Adapters/Auth/mfa.js +324 -0
- package/lib/Adapters/Auth/microsoft.js +111 -0
- package/lib/Adapters/Auth/oauth2.js +97 -162
- package/lib/Adapters/Auth/phantauth.js +53 -0
- package/lib/Adapters/Auth/qq.js +108 -49
- package/lib/Adapters/Auth/spotify.js +107 -55
- package/lib/Adapters/Auth/twitter.js +188 -48
- package/lib/Adapters/Auth/utils.js +28 -0
- package/lib/Adapters/Auth/vkontakte.js +26 -39
- package/lib/Adapters/Auth/wechat.js +106 -44
- package/lib/Adapters/Auth/weibo.js +132 -58
- package/lib/Adapters/Cache/CacheAdapter.js +13 -8
- package/lib/Adapters/Cache/InMemoryCache.js +3 -13
- package/lib/Adapters/Cache/InMemoryCacheAdapter.js +5 -13
- package/lib/Adapters/Cache/LRUCache.js +13 -27
- package/lib/Adapters/Cache/NullCacheAdapter.js +3 -8
- package/lib/Adapters/Cache/RedisCacheAdapter.js +85 -76
- package/lib/Adapters/Cache/SchemaCache.js +25 -0
- package/lib/Adapters/Email/MailAdapter.js +10 -8
- package/lib/Adapters/Files/FilesAdapter.js +83 -25
- package/lib/Adapters/Files/GridFSBucketAdapter.js +231 -0
- package/lib/Adapters/Files/GridStoreAdapter.js +4 -91
- package/lib/Adapters/Logger/LoggerAdapter.js +18 -14
- package/lib/Adapters/Logger/WinstonLogger.js +69 -88
- package/lib/Adapters/Logger/WinstonLoggerAdapter.js +7 -16
- package/lib/Adapters/MessageQueue/EventEmitterMQ.js +8 -26
- package/lib/Adapters/PubSub/EventEmitterPubSub.js +12 -25
- package/lib/Adapters/PubSub/PubSubAdapter.js +34 -0
- package/lib/Adapters/PubSub/RedisPubSub.js +42 -19
- package/lib/Adapters/Push/PushAdapter.js +14 -7
- package/lib/Adapters/Storage/Mongo/MongoCollection.js +137 -45
- package/lib/Adapters/Storage/Mongo/MongoSchemaCollection.js +158 -63
- package/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js +320 -168
- package/lib/Adapters/Storage/Mongo/MongoTransform.js +279 -306
- package/lib/Adapters/Storage/Postgres/PostgresClient.js +14 -10
- package/lib/Adapters/Storage/Postgres/PostgresConfigParser.js +47 -21
- package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +854 -468
- package/lib/Adapters/Storage/Postgres/sql/index.js +4 -6
- package/lib/Adapters/Storage/StorageAdapter.js +1 -1
- package/lib/Adapters/WebSocketServer/WSAdapter.js +35 -0
- package/lib/Adapters/WebSocketServer/WSSAdapter.js +66 -0
- package/lib/Auth.js +488 -125
- package/lib/ClientSDK.js +2 -6
- package/lib/Config.js +525 -94
- package/lib/Controllers/AdaptableController.js +5 -25
- package/lib/Controllers/AnalyticsController.js +22 -23
- package/lib/Controllers/CacheController.js +10 -31
- package/lib/Controllers/DatabaseController.js +767 -313
- package/lib/Controllers/FilesController.js +49 -54
- package/lib/Controllers/HooksController.js +80 -84
- package/lib/Controllers/LiveQueryController.js +35 -22
- package/lib/Controllers/LoggerController.js +22 -58
- package/lib/Controllers/ParseGraphQLController.js +293 -0
- package/lib/Controllers/PushController.js +58 -49
- package/lib/Controllers/SchemaController.js +916 -422
- package/lib/Controllers/UserController.js +265 -180
- package/lib/Controllers/index.js +90 -125
- package/lib/Controllers/types.js +1 -1
- package/lib/Deprecator/Deprecations.js +30 -0
- package/lib/Deprecator/Deprecator.js +127 -0
- package/lib/Error.js +48 -0
- package/lib/GraphQL/ParseGraphQLSchema.js +375 -0
- package/lib/GraphQL/ParseGraphQLServer.js +214 -0
- package/lib/GraphQL/helpers/objectsMutations.js +30 -0
- package/lib/GraphQL/helpers/objectsQueries.js +246 -0
- package/lib/GraphQL/loaders/configMutations.js +87 -0
- package/lib/GraphQL/loaders/configQueries.js +79 -0
- package/lib/GraphQL/loaders/defaultGraphQLMutations.js +21 -0
- package/lib/GraphQL/loaders/defaultGraphQLQueries.js +23 -0
- package/lib/GraphQL/loaders/defaultGraphQLTypes.js +1098 -0
- package/lib/GraphQL/loaders/defaultRelaySchema.js +53 -0
- package/lib/GraphQL/loaders/filesMutations.js +107 -0
- package/lib/GraphQL/loaders/functionsMutations.js +78 -0
- package/lib/GraphQL/loaders/parseClassMutations.js +268 -0
- package/lib/GraphQL/loaders/parseClassQueries.js +127 -0
- package/lib/GraphQL/loaders/parseClassTypes.js +493 -0
- package/lib/GraphQL/loaders/schemaDirectives.js +62 -0
- package/lib/GraphQL/loaders/schemaMutations.js +162 -0
- package/lib/GraphQL/loaders/schemaQueries.js +81 -0
- package/lib/GraphQL/loaders/schemaTypes.js +341 -0
- package/lib/GraphQL/loaders/usersMutations.js +433 -0
- package/lib/GraphQL/loaders/usersQueries.js +90 -0
- package/lib/GraphQL/parseGraphQLUtils.js +63 -0
- package/lib/GraphQL/transformers/className.js +14 -0
- package/lib/GraphQL/transformers/constraintType.js +53 -0
- package/lib/GraphQL/transformers/inputType.js +51 -0
- package/lib/GraphQL/transformers/mutation.js +274 -0
- package/lib/GraphQL/transformers/outputType.js +51 -0
- package/lib/GraphQL/transformers/query.js +237 -0
- package/lib/GraphQL/transformers/schemaFields.js +99 -0
- package/lib/KeyPromiseQueue.js +48 -0
- package/lib/LiveQuery/Client.js +25 -33
- package/lib/LiveQuery/Id.js +2 -5
- package/lib/LiveQuery/ParseCloudCodePublisher.js +26 -23
- package/lib/LiveQuery/ParseLiveQueryServer.js +560 -285
- package/lib/LiveQuery/ParsePubSub.js +7 -16
- package/lib/LiveQuery/ParseWebSocketServer.js +42 -39
- package/lib/LiveQuery/QueryTools.js +76 -15
- package/lib/LiveQuery/RequestSchema.js +111 -97
- package/lib/LiveQuery/SessionTokenCache.js +23 -36
- package/lib/LiveQuery/Subscription.js +8 -17
- package/lib/LiveQuery/equalObjects.js +2 -3
- package/lib/Options/Definitions.js +1355 -382
- package/lib/Options/docs.js +301 -62
- package/lib/Options/index.js +11 -1
- package/lib/Options/parsers.js +14 -10
- package/lib/Page.js +44 -0
- package/lib/ParseMessageQueue.js +6 -13
- package/lib/ParseServer.js +474 -235
- package/lib/ParseServerRESTController.js +102 -40
- package/lib/PromiseRouter.js +39 -50
- package/lib/Push/PushQueue.js +24 -30
- package/lib/Push/PushWorker.js +32 -56
- package/lib/Push/utils.js +22 -35
- package/lib/RestQuery.js +361 -139
- package/lib/RestWrite.js +713 -344
- package/lib/Routers/AggregateRouter.js +97 -71
- package/lib/Routers/AnalyticsRouter.js +8 -14
- package/lib/Routers/AudiencesRouter.js +16 -35
- package/lib/Routers/ClassesRouter.js +86 -72
- package/lib/Routers/CloudCodeRouter.js +28 -37
- package/lib/Routers/FeaturesRouter.js +22 -25
- package/lib/Routers/FilesRouter.js +266 -171
- package/lib/Routers/FunctionsRouter.js +87 -103
- package/lib/Routers/GlobalConfigRouter.js +94 -33
- package/lib/Routers/GraphQLRouter.js +41 -0
- package/lib/Routers/HooksRouter.js +43 -47
- package/lib/Routers/IAPValidationRouter.js +57 -70
- package/lib/Routers/InstallationsRouter.js +17 -25
- package/lib/Routers/LogsRouter.js +10 -25
- package/lib/Routers/PagesRouter.js +647 -0
- package/lib/Routers/PublicAPIRouter.js +104 -112
- package/lib/Routers/PurgeRouter.js +19 -29
- package/lib/Routers/PushRouter.js +14 -28
- package/lib/Routers/RolesRouter.js +7 -14
- package/lib/Routers/SchemasRouter.js +63 -42
- package/lib/Routers/SecurityRouter.js +34 -0
- package/lib/Routers/SessionsRouter.js +25 -38
- package/lib/Routers/UsersRouter.js +463 -190
- package/lib/SchemaMigrations/DefinedSchemas.js +379 -0
- package/lib/SchemaMigrations/Migrations.js +30 -0
- package/lib/Security/Check.js +109 -0
- package/lib/Security/CheckGroup.js +44 -0
- package/lib/Security/CheckGroups/CheckGroupDatabase.js +44 -0
- package/lib/Security/CheckGroups/CheckGroupServerConfig.js +96 -0
- package/lib/Security/CheckGroups/CheckGroups.js +21 -0
- package/lib/Security/CheckRunner.js +213 -0
- package/lib/SharedRest.js +29 -0
- package/lib/StatusHandler.js +96 -93
- package/lib/TestUtils.js +70 -14
- package/lib/Utils.js +468 -0
- package/lib/batch.js +74 -40
- package/lib/cache.js +8 -8
- package/lib/cli/definitions/parse-live-query-server.js +4 -3
- package/lib/cli/definitions/parse-server.js +4 -3
- package/lib/cli/parse-live-query-server.js +9 -17
- package/lib/cli/parse-server.js +49 -47
- package/lib/cli/utils/commander.js +20 -29
- package/lib/cli/utils/runner.js +31 -32
- package/lib/cloud-code/Parse.Cloud.js +711 -36
- package/lib/cloud-code/Parse.Server.js +21 -0
- package/lib/cryptoUtils.js +6 -11
- package/lib/defaults.js +21 -15
- package/lib/deprecated.js +1 -1
- package/lib/index.js +78 -67
- package/lib/logger.js +12 -20
- package/lib/middlewares.js +484 -160
- package/lib/password.js +10 -6
- package/lib/request.js +175 -0
- package/lib/requiredParameter.js +4 -3
- package/lib/rest.js +157 -82
- package/lib/triggers.js +627 -185
- package/lib/vendor/README.md +3 -3
- package/lib/vendor/mongodbUrl.js +224 -137
- package/package.json +135 -57
- package/postinstall.js +38 -50
- package/public_html/invalid_verification_link.html +3 -3
- package/types/@types/@parse/fs-files-adapter/index.d.ts +5 -0
- package/types/@types/deepcopy/index.d.ts +5 -0
- package/types/LiveQuery/ParseLiveQueryServer.d.ts +40 -0
- package/types/Options/index.d.ts +301 -0
- package/types/ParseServer.d.ts +65 -0
- package/types/eslint.config.mjs +30 -0
- package/types/index.d.ts +21 -0
- package/types/logger.d.ts +2 -0
- package/types/tests.ts +44 -0
- package/types/tsconfig.json +24 -0
- package/CHANGELOG.md +0 -1246
- package/PATENTS +0 -37
- package/bin/dev +0 -37
- package/lib/.DS_Store +0 -0
- package/lib/Adapters/Auth/common.js +0 -2
- package/lib/Adapters/Auth/facebookaccountkit.js +0 -69
- package/lib/Controllers/SchemaCache.js +0 -97
- package/lib/LiveQuery/.DS_Store +0 -0
- package/lib/cli/utils/parsers.js +0 -77
- package/lib/cloud-code/.DS_Store +0 -0
- package/lib/cloud-code/HTTPResponse.js +0 -57
- package/lib/cloud-code/Untitled-1 +0 -123
- package/lib/cloud-code/httpRequest.js +0 -102
- package/lib/cloud-code/team.html +0 -123
- package/lib/graphql/ParseClass.js +0 -234
- package/lib/graphql/Schema.js +0 -197
- package/lib/graphql/index.js +0 -1
- package/lib/graphql/types/ACL.js +0 -35
- package/lib/graphql/types/Date.js +0 -25
- package/lib/graphql/types/File.js +0 -24
- package/lib/graphql/types/GeoPoint.js +0 -35
- package/lib/graphql/types/JSONObject.js +0 -30
- package/lib/graphql/types/NumberInput.js +0 -43
- package/lib/graphql/types/NumberQuery.js +0 -42
- package/lib/graphql/types/Pointer.js +0 -35
- package/lib/graphql/types/QueryConstraint.js +0 -61
- package/lib/graphql/types/StringQuery.js +0 -39
- package/lib/graphql/types/index.js +0 -110
|
@@ -1,37 +1,28 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.HooksRouter =
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var _middlewares = require('../middlewares');
|
|
15
|
-
|
|
16
|
-
var middleware = _interopRequireWildcard(_middlewares);
|
|
17
|
-
|
|
18
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
|
19
|
-
|
|
20
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
22
|
-
class HooksRouter extends _PromiseRouter2.default {
|
|
6
|
+
exports.default = exports.HooksRouter = void 0;
|
|
7
|
+
var _node = require("parse/node");
|
|
8
|
+
var _PromiseRouter = _interopRequireDefault(require("../PromiseRouter"));
|
|
9
|
+
var middleware = _interopRequireWildcard(require("../middlewares"));
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
class HooksRouter extends _PromiseRouter.default {
|
|
23
13
|
createHook(aHook, config) {
|
|
24
|
-
return config.hooksController.createHook(aHook).then(hook => ({
|
|
14
|
+
return config.hooksController.createHook(aHook).then(hook => ({
|
|
15
|
+
response: hook
|
|
16
|
+
}));
|
|
25
17
|
}
|
|
26
|
-
|
|
27
18
|
updateHook(aHook, config) {
|
|
28
|
-
return config.hooksController.updateHook(aHook).then(hook => ({
|
|
19
|
+
return config.hooksController.updateHook(aHook).then(hook => ({
|
|
20
|
+
response: hook
|
|
21
|
+
}));
|
|
29
22
|
}
|
|
30
|
-
|
|
31
23
|
handlePost(req) {
|
|
32
|
-
return this.createHook(req.body, req.config);
|
|
24
|
+
return this.createHook(req.body || {}, req.config);
|
|
33
25
|
}
|
|
34
|
-
|
|
35
26
|
handleGetFunctions(req) {
|
|
36
27
|
var hooksController = req.config.hooksController;
|
|
37
28
|
if (req.params.functionName) {
|
|
@@ -39,68 +30,74 @@ class HooksRouter extends _PromiseRouter2.default {
|
|
|
39
30
|
if (!foundFunction) {
|
|
40
31
|
throw new _node.Parse.Error(143, `no function named: ${req.params.functionName} is defined`);
|
|
41
32
|
}
|
|
42
|
-
return Promise.resolve({
|
|
33
|
+
return Promise.resolve({
|
|
34
|
+
response: foundFunction
|
|
35
|
+
});
|
|
43
36
|
});
|
|
44
37
|
}
|
|
45
|
-
|
|
46
38
|
return hooksController.getFunctions().then(functions => {
|
|
47
|
-
return {
|
|
39
|
+
return {
|
|
40
|
+
response: functions || []
|
|
41
|
+
};
|
|
48
42
|
}, err => {
|
|
49
43
|
throw err;
|
|
50
44
|
});
|
|
51
45
|
}
|
|
52
|
-
|
|
53
46
|
handleGetTriggers(req) {
|
|
54
47
|
var hooksController = req.config.hooksController;
|
|
55
48
|
if (req.params.className && req.params.triggerName) {
|
|
56
|
-
|
|
57
49
|
return hooksController.getTrigger(req.params.className, req.params.triggerName).then(foundTrigger => {
|
|
58
50
|
if (!foundTrigger) {
|
|
59
51
|
throw new _node.Parse.Error(143, `class ${req.params.className} does not exist`);
|
|
60
52
|
}
|
|
61
|
-
return Promise.resolve({
|
|
53
|
+
return Promise.resolve({
|
|
54
|
+
response: foundTrigger
|
|
55
|
+
});
|
|
62
56
|
});
|
|
63
57
|
}
|
|
64
|
-
|
|
65
|
-
|
|
58
|
+
return hooksController.getTriggers().then(triggers => ({
|
|
59
|
+
response: triggers || []
|
|
60
|
+
}));
|
|
66
61
|
}
|
|
67
|
-
|
|
68
62
|
handleDelete(req) {
|
|
69
63
|
var hooksController = req.config.hooksController;
|
|
70
64
|
if (req.params.functionName) {
|
|
71
|
-
return hooksController.deleteFunction(req.params.functionName).then(() => ({
|
|
65
|
+
return hooksController.deleteFunction(req.params.functionName).then(() => ({
|
|
66
|
+
response: {}
|
|
67
|
+
}));
|
|
72
68
|
} else if (req.params.className && req.params.triggerName) {
|
|
73
|
-
return hooksController.deleteTrigger(req.params.className, req.params.triggerName).then(() => ({
|
|
69
|
+
return hooksController.deleteTrigger(req.params.className, req.params.triggerName).then(() => ({
|
|
70
|
+
response: {}
|
|
71
|
+
}));
|
|
74
72
|
}
|
|
75
|
-
return Promise.resolve({
|
|
73
|
+
return Promise.resolve({
|
|
74
|
+
response: {}
|
|
75
|
+
});
|
|
76
76
|
}
|
|
77
|
-
|
|
78
77
|
handleUpdate(req) {
|
|
79
78
|
var hook;
|
|
80
|
-
if (req.params.functionName && req.body
|
|
79
|
+
if (req.params.functionName && req.body?.url) {
|
|
81
80
|
hook = {};
|
|
82
81
|
hook.functionName = req.params.functionName;
|
|
83
82
|
hook.url = req.body.url;
|
|
84
|
-
} else if (req.params.className && req.params.triggerName && req.body
|
|
83
|
+
} else if (req.params.className && req.params.triggerName && req.body?.url) {
|
|
85
84
|
hook = {};
|
|
86
85
|
hook.className = req.params.className;
|
|
87
86
|
hook.triggerName = req.params.triggerName;
|
|
88
87
|
hook.url = req.body.url;
|
|
89
88
|
} else {
|
|
90
|
-
throw new _node.Parse.Error(143,
|
|
89
|
+
throw new _node.Parse.Error(143, 'invalid hook declaration');
|
|
91
90
|
}
|
|
92
91
|
return this.updateHook(hook, req.config);
|
|
93
92
|
}
|
|
94
|
-
|
|
95
93
|
handlePut(req) {
|
|
96
|
-
var body = req.body;
|
|
97
|
-
if (body.__op ==
|
|
94
|
+
var body = req.body || {};
|
|
95
|
+
if (body.__op == 'Delete') {
|
|
98
96
|
return this.handleDelete(req);
|
|
99
97
|
} else {
|
|
100
98
|
return this.handleUpdate(req);
|
|
101
99
|
}
|
|
102
100
|
}
|
|
103
|
-
|
|
104
101
|
mountRoutes() {
|
|
105
102
|
this.route('GET', '/hooks/functions', middleware.promiseEnforceMasterKeyAccess, this.handleGetFunctions.bind(this));
|
|
106
103
|
this.route('GET', '/hooks/triggers', middleware.promiseEnforceMasterKeyAccess, this.handleGetTriggers.bind(this));
|
|
@@ -112,7 +109,6 @@ class HooksRouter extends _PromiseRouter2.default {
|
|
|
112
109
|
this.route('PUT', '/hooks/triggers/:className/:triggerName', middleware.promiseEnforceMasterKeyAccess, this.handlePut.bind(this));
|
|
113
110
|
}
|
|
114
111
|
}
|
|
115
|
-
|
|
116
112
|
exports.HooksRouter = HooksRouter;
|
|
117
|
-
exports.default = HooksRouter;
|
|
118
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Sb3V0ZXJzL0hvb2tzUm91dGVyLmpzIl0sIm5hbWVzIjpbIm1pZGRsZXdhcmUiLCJIb29rc1JvdXRlciIsIlByb21pc2VSb3V0ZXIiLCJjcmVhdGVIb29rIiwiYUhvb2siLCJjb25maWciLCJob29rc0NvbnRyb2xsZXIiLCJ0aGVuIiwiaG9vayIsInJlc3BvbnNlIiwidXBkYXRlSG9vayIsImhhbmRsZVBvc3QiLCJyZXEiLCJib2R5IiwiaGFuZGxlR2V0RnVuY3Rpb25zIiwicGFyYW1zIiwiZnVuY3Rpb25OYW1lIiwiZ2V0RnVuY3Rpb24iLCJmb3VuZEZ1bmN0aW9uIiwiUGFyc2UiLCJFcnJvciIsIlByb21pc2UiLCJyZXNvbHZlIiwiZ2V0RnVuY3Rpb25zIiwiZnVuY3Rpb25zIiwiZXJyIiwiaGFuZGxlR2V0VHJpZ2dlcnMiLCJjbGFzc05hbWUiLCJ0cmlnZ2VyTmFtZSIsImdldFRyaWdnZXIiLCJmb3VuZFRyaWdnZXIiLCJnZXRUcmlnZ2VycyIsInRyaWdnZXJzIiwiaGFuZGxlRGVsZXRlIiwiZGVsZXRlRnVuY3Rpb24iLCJkZWxldGVUcmlnZ2VyIiwiaGFuZGxlVXBkYXRlIiwidXJsIiwiaGFuZGxlUHV0IiwiX19vcCIsIm1vdW50Um91dGVzIiwicm91dGUiLCJwcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcyIsImJpbmQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUNBOztJQUFZQSxVOzs7Ozs7QUFFTCxNQUFNQyxXQUFOLFNBQTBCQyx1QkFBMUIsQ0FBd0M7QUFDN0NDLGFBQVdDLEtBQVgsRUFBa0JDLE1BQWxCLEVBQTBCO0FBQ3hCLFdBQU9BLE9BQU9DLGVBQVAsQ0FBdUJILFVBQXZCLENBQWtDQyxLQUFsQyxFQUF5Q0csSUFBekMsQ0FBK0NDLElBQUQsS0FBVyxFQUFDQyxVQUFVRCxJQUFYLEVBQVgsQ0FBOUMsQ0FBUDtBQUNEOztBQUVERSxhQUFXTixLQUFYLEVBQWtCQyxNQUFsQixFQUEwQjtBQUN4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VyxHQUFBQSxXO2tCQStGRUEsVyIsImZpbGUiOiJIb29rc1JvdXRlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnNlIH0gICAgICAgZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgUHJvbWlzZVJvdXRlciAgIGZyb20gJy4uL1Byb21pc2VSb3V0ZXInO1xuaW1wb3J0ICogYXMgbWlkZGxld2FyZSBmcm9tIFwiLi4vbWlkZGxld2FyZXNcIjtcblxuZXhwb3J0IGNsYXNzIEhvb2tzUm91dGVyIGV4dGVuZHMgUHJvbWlzZVJvdXRlciB7XG4gIGNyZWF0ZUhvb2soYUhvb2ssIGNvbmZpZykge1xuICAgIHJldHVybiBjb25maWcuaG9va3NDb250cm9sbGVyLmNyZWF0ZUhvb2soYUhvb2spLnRoZW4oKGhvb2spID0+ICh7cmVzcG9uc2U6IGhvb2t9KSk7XG4gIH1cblxuICB1cGRhdGVIb29rKGFIb29rLCBjb25maWcpIHtcbiAgICByZXR1cm4gIGNvbmZpZy5ob29rc0NvbnRyb2xsZXIudXBkYXRlSG9vayhhSG9vaykudGhlbigoaG9vaykgPT4gKHtyZXNwb25zZTogaG9va30pKTtcbiAgfVxuXG4gIGhhbmRsZVBvc3QocmVxKSB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlSG9vayhyZXEuYm9keSwgcmVxLmNvbmZpZyk7XG4gIH1cblxuICBoYW5kbGVHZXRGdW5jdGlvbnMocmVxKSB7XG4gICAgdmFyIGhvb2tzQ29udHJvbGxlciA9IHJlcS5jb25maWcuaG9va3NDb250cm9sbGVyO1xuICAgIGlmIChyZXEucGFyYW1zLmZ1bmN0aW9uTmFtZSkge1xuICAgICAgcmV0dXJuIGhvb2tzQ29udHJvbGxlci5nZXRGdW5jdGlvbihyZXEucGFyYW1zLmZ1bmN0aW9uTmFtZSkudGhlbigoZm91bmRGdW5jdGlvbikgPT4ge1xuICAgICAgICBpZiAoIWZvdW5kRnVuY3Rpb24pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoMTQzLCBgbm8gZnVuY3Rpb24gbmFtZWQ6ICR7cmVxLnBhcmFtcy5mdW5jdGlvbk5hbWV9IGlzIGRlZmluZWRgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtyZXNwb25zZTogZm91bmRGdW5jdGlvbn0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhvb2tzQ29udHJvbGxlci5nZXRGdW5jdGlvbnMoKS50aGVuKChmdW5jdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiB7IHJlc3BvbnNlOiBmdW5jdGlvbnMgfHwgW10gfTtcbiAgICB9LCAoZXJyKSA9PiB7XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfSk7XG4gIH1cblxuICBoYW5kbGVHZXRUcmlnZ2VycyhyZXEpIHtcbiAgICB2YXIgaG9va3NDb250cm9sbGVyID0gcmVxLmNvbmZpZy5ob29rc0NvbnRyb2xsZXI7XG4gICAgaWYgKHJlcS5wYXJhbXMuY2xhc3NOYW1lICYmIHJlcS5wYXJhbXMudHJpZ2dlck5hbWUpIHtcblxuICAgICAgcmV0dXJuIGhvb2tzQ29udHJvbGxlci5nZXRUcmlnZ2VyKHJlcS5wYXJhbXMuY2xhc3NOYW1lLCByZXEucGFyYW1zLnRyaWdnZXJOYW1lKS50aGVuKChmb3VuZFRyaWdnZXIpID0+IHtcbiAgICAgICAgaWYgKCFmb3VuZFRyaWdnZXIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoMTQzLGBjbGFzcyAke3JlcS5wYXJhbXMuY2xhc3NOYW1lfSBkb2VzIG5vdCBleGlzdGApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe3Jlc3BvbnNlOiBmb3VuZFRyaWdnZXJ9KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBob29rc0NvbnRyb2xsZXIuZ2V0VHJpZ2dlcnMoKS50aGVuKCh0cmlnZ2VycykgPT4gKHsgcmVzcG9uc2U6IHRyaWdnZXJzIHx8IFtdIH0pKTtcbiAgfVxuXG4gIGhhbmRsZURlbGV0ZShyZXEpIHtcbiAgICB2YXIgaG9va3NDb250cm9sbGVyID0gcmVxLmNvbmZpZy5ob29rc0NvbnRyb2xsZXI7XG4gICAgaWYgKHJlcS5wYXJhbXMuZnVuY3Rpb25OYW1lKSB7XG4gICAgICByZXR1cm4gaG9va3NDb250cm9sbGVyLmRlbGV0ZUZ1bmN0aW9uKHJlcS5wYXJhbXMuZnVuY3Rpb25OYW1lKS50aGVuKCgpID0+ICh7cmVzcG9uc2U6IHt9fSkpXG5cbiAgICB9IGVsc2UgaWYgKHJlcS5wYXJhbXMuY2xhc3NOYW1lICYmIHJlcS5wYXJhbXMudHJpZ2dlck5hbWUpIHtcbiAgICAgIHJldHVybiBob29rc0NvbnRyb2xsZXIuZGVsZXRlVHJpZ2dlcihyZXEucGFyYW1zLmNsYXNzTmFtZSwgcmVxLnBhcmFtcy50cmlnZ2VyTmFtZSkudGhlbigoKSA9PiAoe3Jlc3BvbnNlOiB7fX0pKVxuICAgIH1cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHtyZXNwb25zZToge319KTtcbiAgfVxuXG4gIGhhbmRsZVVwZGF0ZShyZXEpIHtcbiAgICB2YXIgaG9vaztcbiAgICBpZiAocmVxLnBhcmFtcy5mdW5jdGlvbk5hbWUgJiYgcmVxLmJvZHkudXJsKSB7XG4gICAgICBob29rID0ge31cbiAgICAgIGhvb2suZnVuY3Rpb25OYW1lID0gcmVxLnBhcmFtcy5mdW5jdGlvbk5hbWU7XG4gICAgICBob29rLnVybCA9IHJlcS5ib2R5LnVybDtcbiAgICB9IGVsc2UgaWYgKHJlcS5wYXJhbXMuY2xhc3NOYW1lICYmIHJlcS5wYXJhbXMudHJpZ2dlck5hbWUgJiYgcmVxLmJvZHkudXJsKSB7XG4gICAgICBob29rID0ge31cbiAgICAgIGhvb2suY2xhc3NOYW1lID0gcmVxLnBhcmFtcy5jbGFzc05hbWU7XG4gICAgICBob29rLnRyaWdnZXJOYW1lID0gcmVxLnBhcmFtcy50cmlnZ2VyTmFtZTtcbiAgICAgIGhvb2sudXJsID0gcmVxLmJvZHkudXJsXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcigxNDMsIFwiaW52YWxpZCBob29rIGRlY2xhcmF0aW9uXCIpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy51cGRhdGVIb29rKGhvb2ssIHJlcS5jb25maWcpO1xuICB9XG5cbiAgaGFuZGxlUHV0KHJlcSkge1xuICAgIHZhciBib2R5ID0gcmVxLmJvZHk7XG4gICAgaWYgKGJvZHkuX19vcCA9PSBcIkRlbGV0ZVwiKSB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVEZWxldGUocmVxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlVXBkYXRlKHJlcSk7XG4gICAgfVxuICB9XG5cbiAgbW91bnRSb3V0ZXMoKSB7XG4gICAgdGhpcy5yb3V0ZSgnR0VUJywgICcvaG9va3MvZnVuY3Rpb25zJywgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcywgdGhpcy5oYW5kbGVHZXRGdW5jdGlvbnMuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5yb3V0ZSgnR0VUJywgICcvaG9va3MvdHJpZ2dlcnMnLCBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLCB0aGlzLmhhbmRsZUdldFRyaWdnZXJzLmJpbmQodGhpcykpO1xuICAgIHRoaXMucm91dGUoJ0dFVCcsICAnL2hvb2tzL2Z1bmN0aW9ucy86ZnVuY3Rpb25OYW1lJywgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcywgdGhpcy5oYW5kbGVHZXRGdW5jdGlvbnMuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5yb3V0ZSgnR0VUJywgICcvaG9va3MvdHJpZ2dlcnMvOmNsYXNzTmFtZS86dHJpZ2dlck5hbWUnLCBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLCB0aGlzLmhhbmRsZUdldFRyaWdnZXJzLmJpbmQodGhpcykpO1xuICAgIHRoaXMucm91dGUoJ1BPU1QnLCAnL2hvb2tzL2Z1bmN0aW9ucycsIG1pZGRsZXdhcmUucHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MsIHRoaXMuaGFuZGxlUG9zdC5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLnJvdXRlKCdQT1NUJywgJy9ob29rcy90cmlnZ2VycycsIG1pZGRsZXdhcmUucHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MsIHRoaXMuaGFuZGxlUG9zdC5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLnJvdXRlKCdQVVQnLCAgJy9ob29rcy9mdW5jdGlvbnMvOmZ1bmN0aW9uTmFtZScsIG1pZGRsZXdhcmUucHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MsIHRoaXMuaGFuZGxlUHV0LmJpbmQodGhpcykpO1xuICAgIHRoaXMucm91dGUoJ1BVVCcsICAnL2hvb2tzL3RyaWdnZXJzLzpjbGFzc05hbWUvOnRyaWdnZXJOYW1lJywgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcywgdGhpcy5oYW5kbGVQdXQuYmluZCh0aGlzKSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgSG9va3NSb3V0ZXI7XG4iXX0=
|
|
113
|
+
var _default = exports.default = HooksRouter;
|
|
114
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsInJlcXVpcmUiLCJfUHJvbWlzZVJvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJtaWRkbGV3YXJlIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJkZWZhdWx0IiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJIb29rc1JvdXRlciIsIlByb21pc2VSb3V0ZXIiLCJjcmVhdGVIb29rIiwiYUhvb2siLCJjb25maWciLCJob29rc0NvbnRyb2xsZXIiLCJ0aGVuIiwiaG9vayIsInJlc3BvbnNlIiwidXBkYXRlSG9vayIsImhhbmRsZVBvc3QiLCJyZXEiLCJib2R5IiwiaGFuZGxlR2V0RnVuY3Rpb25zIiwicGFyYW1zIiwiZnVuY3Rpb25OYW1lIiwiZ2V0RnVuY3Rpb24iLCJmb3VuZEZ1bmN0aW9uIiwiUGFyc2UiLCJFcnJvciIsIlByb21pc2UiLCJyZXNvbHZlIiwiZ2V0RnVuY3Rpb25zIiwiZnVuY3Rpb25zIiwiZXJyIiwiaGFuZGxlR2V0VHJpZ2dlcnMiLCJjbGFzc05hbWUiLCJ0cmlnZ2VyTmFtZSIsImdldFRyaWdnZXIiLCJmb3VuZFRyaWdnZXIiLCJnZXRUcmlnZ2VycyIsInRyaWdnZXJzIiwiaGFuZGxlRGVsZXRlIiwiZGVsZXRlRnVuY3Rpb24iLCJkZWxldGVUcmlnZ2VyIiwiaGFuZGxlVXBkYXRlIiwidXJsIiwiaGFuZGxlUHV0IiwiX19vcCIsIm1vdW50Um91dGVzIiwicm91dGUiLCJwcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcyIsImJpbmQiLCJleHBvcnRzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvUm91dGVycy9Ib29rc1JvdXRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXJzZSB9IGZyb20gJ3BhcnNlL25vZGUnO1xuaW1wb3J0IFByb21pc2VSb3V0ZXIgZnJvbSAnLi4vUHJvbWlzZVJvdXRlcic7XG5pbXBvcnQgKiBhcyBtaWRkbGV3YXJlIGZyb20gJy4uL21pZGRsZXdhcmVzJztcblxuZXhwb3J0IGNsYXNzIEhvb2tzUm91dGVyIGV4dGVuZHMgUHJvbWlzZVJvdXRlciB7XG4gIGNyZWF0ZUhvb2soYUhvb2ssIGNvbmZpZykge1xuICAgIHJldHVybiBjb25maWcuaG9va3NDb250cm9sbGVyLmNyZWF0ZUhvb2soYUhvb2spLnRoZW4oaG9vayA9PiAoeyByZXNwb25zZTogaG9vayB9KSk7XG4gIH1cblxuICB1cGRhdGVIb29rKGFIb29rLCBjb25maWcpIHtcbiAgICByZXR1cm4gY29uZmlnLmhvb2tzQ29udHJvbGxlci51cGRhdGVIb29rKGFIb29rKS50aGVuKGhvb2sgPT4gKHsgcmVzcG9uc2U6IGhvb2sgfSkpO1xuICB9XG5cbiAgaGFuZGxlUG9zdChyZXEpIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVIb29rKHJlcS5ib2R5IHx8IHt9LCByZXEuY29uZmlnKTtcbiAgfVxuXG4gIGhhbmRsZUdldEZ1bmN0aW9ucyhyZXEpIHtcbiAgICB2YXIgaG9va3NDb250cm9sbGVyID0gcmVxLmNvbmZpZy5ob29rc0NvbnRyb2xsZXI7XG4gICAgaWYgKHJlcS5wYXJhbXMuZnVuY3Rpb25OYW1lKSB7XG4gICAgICByZXR1cm4gaG9va3NDb250cm9sbGVyLmdldEZ1bmN0aW9uKHJlcS5wYXJhbXMuZnVuY3Rpb25OYW1lKS50aGVuKGZvdW5kRnVuY3Rpb24gPT4ge1xuICAgICAgICBpZiAoIWZvdW5kRnVuY3Rpb24pIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoMTQzLCBgbm8gZnVuY3Rpb24gbmFtZWQ6ICR7cmVxLnBhcmFtcy5mdW5jdGlvbk5hbWV9IGlzIGRlZmluZWRgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgcmVzcG9uc2U6IGZvdW5kRnVuY3Rpb24gfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gaG9va3NDb250cm9sbGVyLmdldEZ1bmN0aW9ucygpLnRoZW4oXG4gICAgICBmdW5jdGlvbnMgPT4ge1xuICAgICAgICByZXR1cm4geyByZXNwb25zZTogZnVuY3Rpb25zIHx8IFtdIH07XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBoYW5kbGVHZXRUcmlnZ2VycyhyZXEpIHtcbiAgICB2YXIgaG9va3NDb250cm9sbGVyID0gcmVxLmNvbmZpZy5ob29rc0NvbnRyb2xsZXI7XG4gICAgaWYgKHJlcS5wYXJhbXMuY2xhc3NOYW1lICYmIHJlcS5wYXJhbXMudHJpZ2dlck5hbWUpIHtcbiAgICAgIHJldHVybiBob29rc0NvbnRyb2xsZXJcbiAgICAgICAgLmdldFRyaWdnZXIocmVxLnBhcmFtcy5jbGFzc05hbWUsIHJlcS5wYXJhbXMudHJpZ2dlck5hbWUpXG4gICAgICAgIC50aGVuKGZvdW5kVHJpZ2dlciA9PiB7XG4gICAgICAgICAgaWYgKCFmb3VuZFRyaWdnZXIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcigxNDMsIGBjbGFzcyAke3JlcS5wYXJhbXMuY2xhc3NOYW1lfSBkb2VzIG5vdCBleGlzdGApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgcmVzcG9uc2U6IGZvdW5kVHJpZ2dlciB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhvb2tzQ29udHJvbGxlci5nZXRUcmlnZ2VycygpLnRoZW4odHJpZ2dlcnMgPT4gKHsgcmVzcG9uc2U6IHRyaWdnZXJzIHx8IFtdIH0pKTtcbiAgfVxuXG4gIGhhbmRsZURlbGV0ZShyZXEpIHtcbiAgICB2YXIgaG9va3NDb250cm9sbGVyID0gcmVxLmNvbmZpZy5ob29rc0NvbnRyb2xsZXI7XG4gICAgaWYgKHJlcS5wYXJhbXMuZnVuY3Rpb25OYW1lKSB7XG4gICAgICByZXR1cm4gaG9va3NDb250cm9sbGVyLmRlbGV0ZUZ1bmN0aW9uKHJlcS5wYXJhbXMuZnVuY3Rpb25OYW1lKS50aGVuKCgpID0+ICh7IHJlc3BvbnNlOiB7fSB9KSk7XG4gICAgfSBlbHNlIGlmIChyZXEucGFyYW1zLmNsYXNzTmFtZSAmJiByZXEucGFyYW1zLnRyaWdnZXJOYW1lKSB7XG4gICAgICByZXR1cm4gaG9va3NDb250cm9sbGVyXG4gICAgICAgIC5kZWxldGVUcmlnZ2VyKHJlcS5wYXJhbXMuY2xhc3NOYW1lLCByZXEucGFyYW1zLnRyaWdnZXJOYW1lKVxuICAgICAgICAudGhlbigoKSA9PiAoeyByZXNwb25zZToge30gfSkpO1xuICAgIH1cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgcmVzcG9uc2U6IHt9IH0pO1xuICB9XG5cbiAgaGFuZGxlVXBkYXRlKHJlcSkge1xuICAgIHZhciBob29rO1xuICAgIGlmIChyZXEucGFyYW1zLmZ1bmN0aW9uTmFtZSAmJiByZXEuYm9keT8udXJsKSB7XG4gICAgICBob29rID0ge307XG4gICAgICBob29rLmZ1bmN0aW9uTmFtZSA9IHJlcS5wYXJhbXMuZnVuY3Rpb25OYW1lO1xuICAgICAgaG9vay51cmwgPSByZXEuYm9keS51cmw7XG4gICAgfSBlbHNlIGlmIChyZXEucGFyYW1zLmNsYXNzTmFtZSAmJiByZXEucGFyYW1zLnRyaWdnZXJOYW1lICYmIHJlcS5ib2R5Py51cmwpIHtcbiAgICAgIGhvb2sgPSB7fTtcbiAgICAgIGhvb2suY2xhc3NOYW1lID0gcmVxLnBhcmFtcy5jbGFzc05hbWU7XG4gICAgICBob29rLnRyaWdnZXJOYW1lID0gcmVxLnBhcmFtcy50cmlnZ2VyTmFtZTtcbiAgICAgIGhvb2sudXJsID0gcmVxLmJvZHkudXJsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoMTQzLCAnaW52YWxpZCBob29rIGRlY2xhcmF0aW9uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVwZGF0ZUhvb2soaG9vaywgcmVxLmNvbmZpZyk7XG4gIH1cblxuICBoYW5kbGVQdXQocmVxKSB7XG4gICAgdmFyIGJvZHkgPSByZXEuYm9keSB8fCB7fTtcbiAgICBpZiAoYm9keS5fX29wID09ICdEZWxldGUnKSB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVEZWxldGUocmVxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlVXBkYXRlKHJlcSk7XG4gICAgfVxuICB9XG5cbiAgbW91bnRSb3V0ZXMoKSB7XG4gICAgdGhpcy5yb3V0ZShcbiAgICAgICdHRVQnLFxuICAgICAgJy9ob29rcy9mdW5jdGlvbnMnLFxuICAgICAgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcyxcbiAgICAgIHRoaXMuaGFuZGxlR2V0RnVuY3Rpb25zLmJpbmQodGhpcylcbiAgICApO1xuICAgIHRoaXMucm91dGUoXG4gICAgICAnR0VUJyxcbiAgICAgICcvaG9va3MvdHJpZ2dlcnMnLFxuICAgICAgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcyxcbiAgICAgIHRoaXMuaGFuZGxlR2V0VHJpZ2dlcnMuYmluZCh0aGlzKVxuICAgICk7XG4gICAgdGhpcy5yb3V0ZShcbiAgICAgICdHRVQnLFxuICAgICAgJy9ob29rcy9mdW5jdGlvbnMvOmZ1bmN0aW9uTmFtZScsXG4gICAgICBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgdGhpcy5oYW5kbGVHZXRGdW5jdGlvbnMuYmluZCh0aGlzKVxuICAgICk7XG4gICAgdGhpcy5yb3V0ZShcbiAgICAgICdHRVQnLFxuICAgICAgJy9ob29rcy90cmlnZ2Vycy86Y2xhc3NOYW1lLzp0cmlnZ2VyTmFtZScsXG4gICAgICBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgdGhpcy5oYW5kbGVHZXRUcmlnZ2Vycy5iaW5kKHRoaXMpXG4gICAgKTtcbiAgICB0aGlzLnJvdXRlKFxuICAgICAgJ1BPU1QnLFxuICAgICAgJy9ob29rcy9mdW5jdGlvbnMnLFxuICAgICAgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcyxcbiAgICAgIHRoaXMuaGFuZGxlUG9zdC5iaW5kKHRoaXMpXG4gICAgKTtcbiAgICB0aGlzLnJvdXRlKFxuICAgICAgJ1BPU1QnLFxuICAgICAgJy9ob29rcy90cmlnZ2VycycsXG4gICAgICBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgdGhpcy5oYW5kbGVQb3N0LmJpbmQodGhpcylcbiAgICApO1xuICAgIHRoaXMucm91dGUoXG4gICAgICAnUFVUJyxcbiAgICAgICcvaG9va3MvZnVuY3Rpb25zLzpmdW5jdGlvbk5hbWUnLFxuICAgICAgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcyxcbiAgICAgIHRoaXMuaGFuZGxlUHV0LmJpbmQodGhpcylcbiAgICApO1xuICAgIHRoaXMucm91dGUoXG4gICAgICAnUFVUJyxcbiAgICAgICcvaG9va3MvdHJpZ2dlcnMvOmNsYXNzTmFtZS86dHJpZ2dlck5hbWUnLFxuICAgICAgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcyxcbiAgICAgIHRoaXMuaGFuZGxlUHV0LmJpbmQodGhpcylcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEhvb2tzUm91dGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxjQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFDLHVCQUFBLENBQUFKLE9BQUE7QUFBNkMsU0FBQUksd0JBQUFDLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMs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
|
|
@@ -3,107 +3,96 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.IAPValidationRouter =
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var _node = require("parse/node");
|
|
13
|
-
|
|
14
|
-
var _node2 = _interopRequireDefault(_node);
|
|
15
|
-
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
18
|
-
var request = require("request");
|
|
19
|
-
var rest = require("../rest");
|
|
20
|
-
|
|
21
|
-
|
|
6
|
+
exports.IAPValidationRouter = void 0;
|
|
7
|
+
var _PromiseRouter = _interopRequireDefault(require("../PromiseRouter"));
|
|
8
|
+
var _node = _interopRequireDefault(require("parse/node"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
const request = require('../request');
|
|
11
|
+
const rest = require('../rest');
|
|
22
12
|
// TODO move validation logic in IAPValidationController
|
|
23
|
-
const IAP_SANDBOX_URL =
|
|
24
|
-
const IAP_PRODUCTION_URL =
|
|
25
|
-
|
|
13
|
+
const IAP_SANDBOX_URL = 'https://sandbox.itunes.apple.com/verifyReceipt';
|
|
14
|
+
const IAP_PRODUCTION_URL = 'https://buy.itunes.apple.com/verifyReceipt';
|
|
26
15
|
const APP_STORE_ERRORS = {
|
|
27
|
-
21000:
|
|
28
|
-
21002:
|
|
29
|
-
21003:
|
|
30
|
-
21004:
|
|
31
|
-
21005:
|
|
32
|
-
21006:
|
|
33
|
-
21007:
|
|
34
|
-
21008:
|
|
16
|
+
21000: 'The App Store could not read the JSON object you provided.',
|
|
17
|
+
21002: 'The data in the receipt-data property was malformed or missing.',
|
|
18
|
+
21003: 'The receipt could not be authenticated.',
|
|
19
|
+
21004: 'The shared secret you provided does not match the shared secret on file for your account.',
|
|
20
|
+
21005: 'The receipt server is not currently available.',
|
|
21
|
+
21006: 'This receipt is valid but the subscription has expired.',
|
|
22
|
+
21007: 'This receipt is from the test environment, but it was sent to the production environment for verification. Send it to the test environment instead.',
|
|
23
|
+
21008: 'This receipt is from the production environment, but it was sent to the test environment for verification. Send it to the production environment instead.'
|
|
35
24
|
};
|
|
36
|
-
|
|
37
25
|
function appStoreError(status) {
|
|
38
26
|
status = parseInt(status);
|
|
39
|
-
var errorString = APP_STORE_ERRORS[status] ||
|
|
40
|
-
return {
|
|
27
|
+
var errorString = APP_STORE_ERRORS[status] || 'unknown error.';
|
|
28
|
+
return {
|
|
29
|
+
status: status,
|
|
30
|
+
error: errorString
|
|
31
|
+
};
|
|
41
32
|
}
|
|
42
|
-
|
|
43
33
|
function validateWithAppStore(url, receipt) {
|
|
44
|
-
return
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
},
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
34
|
+
return request({
|
|
35
|
+
url: url,
|
|
36
|
+
method: 'POST',
|
|
37
|
+
body: {
|
|
38
|
+
'receipt-data': receipt
|
|
39
|
+
},
|
|
40
|
+
headers: {
|
|
41
|
+
'Content-Type': 'application/json'
|
|
42
|
+
}
|
|
43
|
+
}).then(httpResponse => {
|
|
44
|
+
const body = httpResponse.data;
|
|
45
|
+
if (body && body.status === 0) {
|
|
46
|
+
// No need to pass anything, status is OK
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
// receipt is from test and should go to test
|
|
50
|
+
throw body;
|
|
58
51
|
});
|
|
59
52
|
}
|
|
60
|
-
|
|
61
53
|
function getFileForProductIdentifier(productIdentifier, req) {
|
|
62
|
-
return rest.find(req.config, req.auth, '_Product', {
|
|
54
|
+
return rest.find(req.config, req.auth, '_Product', {
|
|
55
|
+
productIdentifier: productIdentifier
|
|
56
|
+
}, undefined, req.info.clientSDK, req.info.context).then(function (result) {
|
|
63
57
|
const products = result.results;
|
|
64
58
|
if (!products || products.length != 1) {
|
|
65
59
|
// Error not found or too many
|
|
66
|
-
throw new
|
|
60
|
+
throw new _node.default.Error(_node.default.Error.OBJECT_NOT_FOUND, 'Object not found.');
|
|
67
61
|
}
|
|
68
|
-
|
|
69
62
|
var download = products[0].download;
|
|
70
|
-
return Promise.resolve({
|
|
63
|
+
return Promise.resolve({
|
|
64
|
+
response: download
|
|
65
|
+
});
|
|
71
66
|
});
|
|
72
67
|
}
|
|
73
|
-
|
|
74
|
-
class IAPValidationRouter extends _PromiseRouter2.default {
|
|
75
|
-
|
|
68
|
+
class IAPValidationRouter extends _PromiseRouter.default {
|
|
76
69
|
handleRequest(req) {
|
|
77
|
-
let receipt = req.body
|
|
78
|
-
const productIdentifier = req.body
|
|
79
|
-
|
|
70
|
+
let receipt = req.body?.receipt;
|
|
71
|
+
const productIdentifier = req.body?.productIdentifier;
|
|
80
72
|
if (!receipt || !productIdentifier) {
|
|
81
73
|
// TODO: Error, malformed request
|
|
82
|
-
throw new
|
|
74
|
+
throw new _node.default.Error(_node.default.Error.INVALID_JSON, 'missing receipt or productIdentifier');
|
|
83
75
|
}
|
|
84
76
|
|
|
85
77
|
// Transform the object if there
|
|
86
78
|
// otherwise assume it's in Base64 already
|
|
87
|
-
if (typeof receipt ==
|
|
88
|
-
if (receipt[
|
|
79
|
+
if (typeof receipt == 'object') {
|
|
80
|
+
if (receipt['__type'] == 'Bytes') {
|
|
89
81
|
receipt = receipt.base64;
|
|
90
82
|
}
|
|
91
83
|
}
|
|
92
|
-
|
|
93
|
-
if (process.env.TESTING == "1" && req.body.bypassAppStoreValidation) {
|
|
84
|
+
if (process.env.TESTING == '1' && req.body?.bypassAppStoreValidation) {
|
|
94
85
|
return getFileForProductIdentifier(productIdentifier, req);
|
|
95
86
|
}
|
|
96
|
-
|
|
97
87
|
function successCallback() {
|
|
98
88
|
return getFileForProductIdentifier(productIdentifier, req);
|
|
99
89
|
}
|
|
100
|
-
|
|
101
90
|
function errorCallback(error) {
|
|
102
|
-
return Promise.resolve({
|
|
91
|
+
return Promise.resolve({
|
|
92
|
+
response: appStoreError(error.status)
|
|
93
|
+
});
|
|
103
94
|
}
|
|
104
|
-
|
|
105
95
|
return validateWithAppStore(IAP_PRODUCTION_URL, receipt).then(() => {
|
|
106
|
-
|
|
107
96
|
return successCallback();
|
|
108
97
|
}, error => {
|
|
109
98
|
if (error.status == 21007) {
|
|
@@ -113,14 +102,12 @@ class IAPValidationRouter extends _PromiseRouter2.default {
|
|
|
113
102
|
return errorCallback(error);
|
|
114
103
|
});
|
|
115
104
|
}
|
|
116
|
-
|
|
117
105
|
return errorCallback(error);
|
|
118
106
|
});
|
|
119
107
|
}
|
|
120
|
-
|
|
121
108
|
mountRoutes() {
|
|
122
|
-
this.route(
|
|
109
|
+
this.route('POST', '/validate_purchase', this.handleRequest);
|
|
123
110
|
}
|
|
124
111
|
}
|
|
125
112
|
exports.IAPValidationRouter = IAPValidationRouter;
|
|
126
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Sb3V0ZXJzL0lBUFZhbGlkYXRpb25Sb3V0ZXIuanMiXSwibmFtZXMiOlsicmVxdWVzdCIsInJlcXVpcmUiLCJyZXN0IiwiSUFQX1NBTkRCT1hfVVJMIiwiSUFQX1BST0RVQ1RJT05fVVJMIiwiQVBQX1NUT1JFX0VSUk9SUyIsImFwcFN0b3JlRXJyb3IiLCJzdGF0dXMiLCJwYXJzZUludCIsImVycm9yU3RyaW5nIiwiZXJyb3IiLCJ2YWxpZGF0ZVdpdGhBcHBTdG9yZSIsInVybCIsInJlY2VpcHQiLCJQcm9taXNlIiwiZnVsZmlsbCIsInJlamVjdCIsInBvc3QiLCJib2R5IiwianNvbiIsImVyciIsInJlcyIsImdldEZpbGVGb3JQcm9kdWN0SWRlbnRpZmllciIsInByb2R1Y3RJZGVudGlmaWVyIiwicmVxIiwiZmluZCIsImNvbmZpZyIsImF1dGgiLCJ1bmRlZmluZWQiLCJpbmZvIiwiY2xpZW50U0RLIiwidGhlbiIsInJlc3VsdCIsInByb2R1Y3RzIiwicmVzdWx0cyIsImxlbmd0aCIsIlBhcnNlIiwiRXJyb3IiLCJPQkpFQ1RfTk9UX0ZPVU5EIiwiZG93bmxvYWQiLCJyZXNvbHZlIiwicmVzcG9uc2UiLCJJQVBWYWxpZGF0aW9uUm91dGVyIiwiUHJvbWlzZVJvdXRlciIsImhhbmRsZVJlcXVlc3QiLCJJTlZBTElEX0pTT04iLCJiYXNlNjQiLCJwcm9jZXNzIiwiZW52IiwiVEVTVElORyIsImJ5cGFzc0FwcFN0b3JlVmFsaWRhdGlvbiIsInN1Y2Nlc3NDYWxsYmFjayIsImVycm9yQ2FsbGJhY2siLCJtb3VudFJvdXRlcyIsInJvdXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFHQTs7Ozs7O0FBRkEsSUFBSUEsVUFBVUMsUUFBUSxTQUFSLENBQWQ7QUFDQSxJQUFJQyxPQUFPRCxRQUFRLFNBQVIsQ0FBWDs7O0FBR0E7QUFDQSxNQUFNRSxrQkFBa0IsZ0RBQXhCO0FBQ0EsTUFBTUMscUJBQXFCLDRDQUEzQjs7QUFFQSxNQUFN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UzJCLGVBQVQsR0FBMkI7QUFDekIsYUFBTzdCLDRCQUE0QkMsaUJBQTVCLEVBQStDQyxHQUEvQyxDQUFQO0FBQ0Q7O0FBRUQsYUFBUzRCLGFBQVQsQ0FBdUIxQyxLQUF2QixFQUE4QjtBQUM1QixhQUFPSSxRQUFRMEIsT0FBUixDQUFnQixFQUFDQyxVQUFVbkMsY0FBY0ksTUFBTUgsTUFBcEIsQ0FBWCxFQUFoQixDQUFQO0FBQ0Q7O0FBRUQsV0FBT0kscUJBQXFCUCxrQkFBckIsRUFBeUNTLE9BQXpDLEVBQWtEa0IsSUFBbEQsQ0FBdUQsTUFBTTs7QUFFbEUsYUFBT29CLGlCQUFQO0FBRUQsS0FKTSxFQUlIekMsS0FBRCxJQUFXO0FBQ1osVUFBSUEsTUFBTUgsTUFBTixJQUFnQixLQUFwQixFQUEyQjtBQUN6QixlQUFPSSxxQkFBcUJSLGVBQXJCLEVBQXNDVSxPQUF0QyxFQUErQ2tCLElBQS9DLENBQW9ELE1BQU07QUFDL0QsaUJBQU9vQixpQkFBUDtBQUNELFNBRk0sRUFFSHpDLEtBQUQsSUFBVztBQUNaLGlCQUFPMEMsY0FBYzFDLEtBQWQsQ0FBUDtBQUNELFNBSk0sQ0FBUDtBQU1EOztBQUVELGFBQU8wQyxjQUFjMUMsS0FBZCxDQUFQO0FBQ0QsS0FmTSxDQUFQO0FBZ0JEOztBQUVEMkMsZ0JBQWM7QUFDWixTQUFLQyxLQUFMLENBQVcsTUFBWCxFQUFrQixvQkFBbEIsRUFBd0MsS0FBS1YsYUFBN0M7QUFDRDtBQW5Eb0Q7UUFBMUNGLG1CLEdBQUFBLG1CIiwiZmlsZSI6IklBUFZhbGlkYXRpb25Sb3V0ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvbWlzZVJvdXRlciBmcm9tICcuLi9Qcm9taXNlUm91dGVyJztcbnZhciByZXF1ZXN0ID0gcmVxdWlyZShcInJlcXVlc3RcIik7XG52YXIgcmVzdCA9IHJlcXVpcmUoXCIuLi9yZXN0XCIpO1xuaW1wb3J0IFBhcnNlIGZyb20gJ3BhcnNlL25vZGUnO1xuXG4vLyBUT0RPIG1vdmUgdmFsaWRhdGlvbiBsb2dpYyBpbiBJQVBWYWxpZGF0aW9uQ29udHJvbGxlclxuY29uc3QgSUFQX1NBTkRCT1hfVVJMID0gXCJodHRwczovL3NhbmRib3guaXR1bmVzLmFwcGxlLmNvbS92ZXJpZnlSZWNlaXB0XCI7XG5jb25zdCBJQVBfUFJPRFVDVElPTl9VUkwgPSBcImh0dHBzOi8vYnV5Lml0dW5lcy5hcHBsZS5jb20vdmVyaWZ5UmVjZWlwdFwiO1xuXG5jb25zdCBBUFBfU1RPUkVfRVJST1JTID0ge1xuICAyMTAwMDogXCJUaGUgQXBwIFN0b3JlIGNvdWxkIG5vdCByZWFkIHRoZSBKU09OIG9iamVjdCB5b3UgcHJvdmlkZWQuXCIsXG4gIDIxMDAyOiBcIlRoZSBkYXRhIGluIHRoZSByZWNlaXB0LWRhdGEgcHJvcGVydHkgd2FzIG1hbGZvcm1lZCBvciBtaXNzaW5nLlwiLFxuICAyMTAwMzogXCJUaGUgcmVjZWlwdCBjb3VsZCBub3QgYmUgYXV0aGVudGljYXRlZC5cIixcbiAgMjEwMDQ6IFwiVGhlIHNoYXJlZCBzZWNyZXQgeW91IHByb3ZpZGVkIGRvZXMgbm90IG1hdGNoIHRoZSBzaGFyZWQgc2VjcmV0IG9uIGZpbGUgZm9yIHlvdXIgYWNjb3VudC5cIixcbiAgMjEwMDU6IFwiVGhlIHJlY2VpcHQgc2VydmVyIGlzIG5vdCBjdXJyZW50bHkgYXZhaWxhYmxlLlwiLFxuICAyMTAwNjogXCJUaGlzIHJlY2VpcHQgaXMgdmFsaWQgYnV0IHRoZSBzdWJzY3JpcHRpb24gaGFzIGV4cGlyZWQuXCIsXG4gIDIxMDA3OiBcIlRoaXMgcmVjZWlwdCBpcyBmcm9tIHRoZSB0ZXN0IGVudmlyb25tZW50LCBidXQgaXQgd2FzIHNlbnQgdG8gdGhlIHByb2R1Y3Rpb24gZW52aXJvbm1lbnQgZm9yIHZlcmlmaWNhdGlvbi4gU2VuZCBpdCB0byB0aGUgdGVzdCBlbnZpcm9ubWVudCBpbnN0ZWFkLlwiLFxuICAyMTAwODogXCJUaGlzIHJlY2VpcHQgaXMgZnJvbSB0aGUgcHJvZHVjdGlvbiBlbnZpcm9ubWVudCwgYnV0IGl0IHdhcyBzZW50IHRvIHRoZSB0ZXN0IGVudmlyb25tZW50IGZvciB2ZXJpZmljYXRpb24uIFNlbmQgaXQgdG8gdGhlIHByb2R1Y3Rpb24gZW52aXJvbm1lbnQgaW5zdGVhZC5cIlxufVxuXG5mdW5jdGlvbiBhcHBTdG9yZUVycm9yKHN0YXR1cykge1xuICBzdGF0dXMgPSBwYXJzZUludChzdGF0dXMpO1xuICB2YXIgZXJyb3JTdHJpbmcgPSBBUFBfU1RPUkVfRVJST1JTW3N0YXR1c10gfHwgXCJ1bmtub3duIGVycm9yLlwiO1xuICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cywgZXJyb3I6IGVycm9yU3RyaW5nIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVXaXRoQXBwU3RvcmUodXJsLCByZWNlaXB0KSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihmdWxmaWxsLCByZWplY3QpIHtcbiAgICByZXF1ZXN0LnBvc3Qoe1xuICAgICAgdXJsOiB1cmwsXG4gICAgICBib2R5OiB7IFwicmVjZWlwdC1kYXRhXCI6IHJlY2VpcHQgfSxcbiAgICAgIGpzb246IHRydWUsXG4gICAgfSwgZnVuY3Rpb24oZXJyLCByZXMsIGJvZHkpIHtcbiAgICAgIHZhciBzdGF0dXMgPSBib2R5LnN0YXR1cztcbiAgICAgIGlmIChzdGF0dXMgPT0gMCkge1xuICAgICAgICAvLyBObyBuZWVkIHRvIHBhc3MgYW55dGhpbmcsIHN0YXR1cyBpcyBPS1xuICAgICAgICByZXR1cm4gZnVsZmlsbCgpO1xuICAgICAgfVxuICAgICAgLy8gcmVjZWlwdCBpcyBmcm9tIHRlc3QgYW5kIHNob3VsZCBnbyB0byB0ZXN0XG4gICAgICByZXR1cm4gcmVqZWN0KGJvZHkpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0RmlsZUZvclByb2R1Y3RJZGVudGlmaWVyKHByb2R1Y3RJZGVudGlmaWVyLCByZXEpIHtcbiAgcmV0dXJuIHJlc3QuZmluZChyZXEuY29uZmlnLCByZXEuYXV0aCwgJ19Qcm9kdWN0JywgeyBwcm9kdWN0SWRlbnRpZmllcjogcHJvZHVjdElkZW50aWZpZXIgfSwgdW5kZWZpbmVkLCByZXEuaW5mby5jbGllbnRTREspLnRoZW4oZnVuY3Rpb24ocmVzdWx0KXtcbiAgICBjb25zdCBwcm9kdWN0cyA9IHJlc3VsdC5yZXN1bHRzO1xuICAgIGlmICghcHJvZHVjdHMgfHwgcHJvZHVjdHMubGVuZ3RoICE9IDEpIHtcbiAgICAgIC8vIEVycm9yIG5vdCBmb3VuZCBvciB0b28gbWFueVxuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLk9CSkVDVF9OT1RfRk9VTkQsICdPYmplY3Qgbm90IGZvdW5kLicpXG4gICAgfVxuXG4gICAgdmFyIGRvd25sb2FkID0gcHJvZHVjdHNbMF0uZG93bmxvYWQ7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7cmVzcG9uc2U6IGRvd25sb2FkfSk7XG4gIH0pO1xufVxuXG5cbmV4cG9ydCBjbGFzcyBJQVBWYWxpZGF0aW9uUm91dGVyIGV4dGVuZHMgUHJvbWlzZVJvdXRlciB7XG5cbiAgaGFuZGxlUmVxdWVzdChyZXEpIHtcbiAgICBsZXQgcmVjZWlwdCA9IHJlcS5ib2R5LnJlY2VpcHQ7XG4gICAgY29uc3QgcHJvZHVjdElkZW50aWZpZXIgPSByZXEuYm9keS5wcm9kdWN0SWRlbnRpZmllcjtcblxuICAgIGlmICghcmVjZWlwdCB8fCAhIHByb2R1Y3RJZGVudGlmaWVyKSB7XG4gICAgICAvLyBUT0RPOiBFcnJvciwgbWFsZm9ybWVkIHJlcXVlc3RcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5JTlZBTElEX0pTT04sIFwibWlzc2luZyByZWNlaXB0IG9yIHByb2R1Y3RJZGVudGlmaWVyXCIpO1xuICAgIH1cblxuICAgIC8vIFRyYW5zZm9ybSB0aGUgb2JqZWN0IGlmIHRoZXJlXG4gICAgLy8gb3RoZXJ3aXNlIGFzc3VtZSBpdCdzIGluIEJhc2U2NCBhbHJlYWR5XG4gICAgaWYgKHR5cGVvZiByZWNlaXB0ID09IFwib2JqZWN0XCIpIHtcbiAgICAgIGlmIChyZWNlaXB0W1wiX190eXBlXCJdID09IFwiQnl0ZXNcIikge1xuICAgICAgICByZWNlaXB0ID0gcmVjZWlwdC5iYXNlNjQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHByb2Nlc3MuZW52LlRFU1RJTkcgPT0gXCIxXCIgJiYgcmVxLmJvZHkuYnlwYXNzQXBwU3RvcmVWYWxpZGF0aW9uKSB7XG4gICAgICByZXR1cm4gZ2V0RmlsZUZvclByb2R1Y3RJZGVudGlmaWVyKHByb2R1Y3RJZGVudGlmaWVyLCByZXEpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHN1Y2Nlc3NDYWxsYmFjaygpIHtcbiAgICAgIHJldHVybiBnZXRGaWxlRm9yUHJvZHVjdElkZW50aWZpZXIocHJvZHVjdElkZW50aWZpZXIsIHJlcSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXJyb3JDYWxsYmFjayhlcnJvcikge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7cmVzcG9uc2U6IGFwcFN0b3JlRXJyb3IoZXJyb3Iuc3RhdHVzKSB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsaWRhdGVXaXRoQXBwU3RvcmUoSUFQX1BST0RVQ1RJT05fVVJMLCByZWNlaXB0KS50aGVuKCgpID0+IHtcblxuICAgICAgcmV0dXJuIHN1Y2Nlc3NDYWxsYmFjaygpO1xuXG4gICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDIxMDA3KSB7XG4gICAgICAgIHJldHVybiB2YWxpZGF0ZVdpdGhBcHBTdG9yZShJQVBfU0FOREJPWF9VUkwsIHJlY2VpcHQpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBzdWNjZXNzQ2FsbGJhY2soKTtcbiAgICAgICAgfSwgKGVycm9yKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGVycm9yQ2FsbGJhY2soZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBlcnJvckNhbGxiYWNrKGVycm9yKTtcbiAgICB9KTtcbiAgfVxuXG4gIG1vdW50Um91dGVzKCkge1xuICAgIHRoaXMucm91dGUoXCJQT1NUXCIsXCIvdmFsaWRhdGVfcHVyY2hhc2VcIiwgdGhpcy5oYW5kbGVSZXF1ZXN0KTtcbiAgfVxufVxuIl19
|
|
113
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUHJvbWlzZVJvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX25vZGUiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJyZXF1ZXN0IiwicmVzdCIsIklBUF9TQU5EQk9YX1VSTCIsIklBUF9QUk9EVUNUSU9OX1VSTCIsIkFQUF9TVE9SRV9FUlJPUlMiLCJhcHBTdG9yZUVycm9yIiwic3RhdHVzIiwicGFyc2VJbnQiLCJlcnJvclN0cmluZyIsImVycm9yIiwidmFsaWRhdGVXaXRoQXBwU3RvcmUiLCJ1cmwiLCJyZWNlaXB0IiwibWV0aG9kIiwiYm9keSIsImhlYWRlcnMiLCJ0aGVuIiwiaHR0cFJlc3BvbnNlIiwiZGF0YSIsImdldEZpbGVGb3JQcm9kdWN0SWRlbnRpZmllciIsInByb2R1Y3RJZGVudGlmaWVyIiwicmVxIiwiZmluZCIsImNvbmZpZyIsImF1dGgiLCJ1bmRlZmluZWQiLCJpbmZvIiwiY2xpZW50U0RLIiwiY29udGV4dCIsInJlc3VsdCIsInByb2R1Y3RzIiwicmVzdWx0cyIsImxlbmd0aCIsIlBhcnNlIiwiRXJyb3IiLCJPQkpFQ1RfTk9UX0ZPVU5EIiwiZG93bmxvYWQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlc3BvbnNlIiwiSUFQVmFsaWRhdGlvblJvdXRlciIsIlByb21pc2VSb3V0ZXIiLCJoYW5kbGVSZXF1ZXN0IiwiSU5WQUxJRF9KU09OIiwiYmFzZTY0IiwicHJvY2VzcyIsImVudiIsIlRFU1RJTkciLCJieXBhc3NBcHBTdG9yZVZhbGlkYXRpb24iLCJzdWNjZXNzQ2FsbGJhY2siLCJlcnJvckNhbGxiYWNrIiwibW91bnRSb3V0ZXMiLCJyb3V0ZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvUm91dGVycy9JQVBWYWxpZGF0aW9uUm91dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9taXNlUm91dGVyIGZyb20gJy4uL1Byb21pc2VSb3V0ZXInO1xuY29uc3QgcmVxdWVzdCA9IHJlcXVpcmUoJy4uL3JlcXVlc3QnKTtcbmNvbnN0IHJlc3QgPSByZXF1aXJlKCcuLi9yZXN0Jyk7XG5pbXBvcnQgUGFyc2UgZnJvbSAncGFyc2Uvbm9kZSc7XG5cbi8vIFRPRE8gbW92ZSB2YWxpZGF0aW9uIGxvZ2ljIGluIElBUFZhbGlkYXRpb25Db250cm9sbGVyXG5jb25zdCBJQVBfU0FOREJPWF9VUkwgPSAnaHR0cHM6Ly9zYW5kYm94Lml0dW5lcy5hcHBsZS5jb20vdmVyaWZ5UmVjZWlwdCc7XG5jb25zdCBJQVBfUFJPRFVDVElPTl9VUkwgPSAnaHR0cHM6Ly9idXkuaXR1bmVzLmFwcGxlLmNvbS92ZXJpZnlSZWNlaXB0JztcblxuY29uc3QgQVBQX1NUT1JFX0VSUk9SUyA9IHtcbiAgMjEwMDA6ICdUaGUgQXBwIFN0b3JlIGNvdWxkIG5vdCByZWFkIHRoZSBKU09OIG9iamVjdCB5b3UgcHJvdmlkZWQuJyxcbiAgMjEwMDI6ICdUaGUgZGF0YSBpbiB0aGUgcmVjZWlwdC1kYXRhIHByb3BlcnR5IHdhcyBtYWxmb3JtZWQgb3IgbWlzc2luZy4nLFxuICAyMTAwMzogJ1RoZSByZWNlaXB0IGNvdWxkIG5vdCBiZSBhdXRoZW50aWNhdGVkLicsXG4gIDIxMDA0OiAnVGhlIHNoYXJlZCBzZWNyZXQgeW91IHByb3ZpZGVkIGRvZXMgbm90IG1hdGNoIHRoZSBzaGFyZWQgc2VjcmV0IG9uIGZpbGUgZm9yIHlvdXIgYWNjb3VudC4nLFxuICAyMTAwNTogJ1RoZSByZWNlaXB0IHNlcnZlciBpcyBub3QgY3VycmVudGx5IGF2YWlsYWJsZS4nLFxuICAyMTAwNjogJ1RoaXMgcmVjZWlwdCBpcyB2YWxpZCBidXQgdGhlIHN1YnNjcmlwdGlvbiBoYXMgZXhwaXJlZC4nLFxuICAyMTAwNzogJ1RoaXMgcmVjZWlwdCBpcyBmcm9tIHRoZSB0ZXN0IGVudmlyb25tZW50LCBidXQgaXQgd2FzIHNlbnQgdG8gdGhlIHByb2R1Y3Rpb24gZW52aXJvbm1lbnQgZm9yIHZlcmlmaWNhdGlvbi4gU2VuZCBpdCB0byB0aGUgdGVzdCBlbnZpcm9ubWVudCBpbnN0ZWFkLicsXG4gIDIxMDA4OiAnVGhpcyByZWNlaXB0IGlzIGZyb20gdGhlIHByb2R1Y3Rpb24gZW52aXJvbm1lbnQsIGJ1dCBpdCB3YXMgc2VudCB0byB0aGUgdGVzdCBlbnZpcm9ubWVudCBmb3IgdmVyaWZpY2F0aW9uLiBTZW5kIGl0IHRvIHRoZSBwcm9kdWN0aW9uIGVudmlyb25tZW50IGluc3RlYWQuJyxcbn07XG5cbmZ1bmN0aW9uIGFwcFN0b3JlRXJyb3Ioc3RhdHVzKSB7XG4gIHN0YXR1cyA9IHBhcnNlSW50KHN0YXR1cyk7XG4gIHZhciBlcnJvclN0cmluZyA9IEFQUF9TVE9SRV9FUlJPUlNbc3RhdHVzXSB8fCAndW5rbm93biBlcnJvci4nO1xuICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cywgZXJyb3I6IGVycm9yU3RyaW5nIH07XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlV2l0aEFwcFN0b3JlKHVybCwgcmVjZWlwdCkge1xuICByZXR1cm4gcmVxdWVzdCh7XG4gICAgdXJsOiB1cmwsXG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgYm9keTogeyAncmVjZWlwdC1kYXRhJzogcmVjZWlwdCB9LFxuICAgIGhlYWRlcnM6IHtcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgfSxcbiAgfSkudGhlbihodHRwUmVzcG9uc2UgPT4ge1xuICAgIGNvbnN0IGJvZHkgPSBodHRwUmVzcG9uc2UuZGF0YTtcbiAgICBpZiAoYm9keSAmJiBib2R5LnN0YXR1cyA9PT0gMCkge1xuICAgICAgLy8gTm8gbmVlZCB0byBwYXNzIGFueXRoaW5nLCBzdGF0dXMgaXMgT0tcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gcmVjZWlwdCBpcyBmcm9tIHRlc3QgYW5kIHNob3VsZCBnbyB0byB0ZXN0XG4gICAgdGhyb3cgYm9keTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldEZpbGVGb3JQcm9kdWN0SWRlbnRpZmllcihwcm9kdWN0SWRlbnRpZmllciwgcmVxKSB7XG4gIHJldHVybiByZXN0XG4gICAgLmZpbmQoXG4gICAgICByZXEuY29uZmlnLFxuICAgICAgcmVxLmF1dGgsXG4gICAgICAnX1Byb2R1Y3QnLFxuICAgICAgeyBwcm9kdWN0SWRlbnRpZmllcjogcHJvZHVjdElkZW50aWZpZXIgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHJlcS5pbmZvLmNsaWVudFNESyxcbiAgICAgIHJlcS5pbmZvLmNvbnRleHRcbiAgICApXG4gICAgLnRoZW4oZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgICAgY29uc3QgcHJvZHVjdHMgPSByZXN1bHQucmVzdWx0cztcbiAgICAgIGlmICghcHJvZHVjdHMgfHwgcHJvZHVjdHMubGVuZ3RoICE9IDEpIHtcbiAgICAgICAgLy8gRXJyb3Igbm90IGZvdW5kIG9yIHRvbyBtYW55XG4gICAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5PQkpFQ1RfTk9UX0ZPVU5ELCAnT2JqZWN0IG5vdCBmb3VuZC4nKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGRvd25sb2FkID0gcHJvZHVjdHNbMF0uZG93bmxvYWQ7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgcmVzcG9uc2U6IGRvd25sb2FkIH0pO1xuICAgIH0pO1xufVxuXG5leHBvcnQgY2xhc3MgSUFQVmFsaWRhdGlvblJvdXRlciBleHRlbmRzIFByb21pc2VSb3V0ZXIge1xuICBoYW5kbGVSZXF1ZXN0KHJlcSkge1xuICAgIGxldCByZWNlaXB0ID0gcmVxLmJvZHk/LnJlY2VpcHQ7XG4gICAgY29uc3QgcHJvZHVjdElkZW50aWZpZXIgPSByZXEuYm9keT8ucHJvZHVjdElkZW50aWZpZXI7XG5cbiAgICBpZiAoIXJlY2VpcHQgfHwgIXByb2R1Y3RJZGVudGlmaWVyKSB7XG4gICAgICAvLyBUT0RPOiBFcnJvciwgbWFsZm9ybWVkIHJlcXVlc3RcbiAgICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5JTlZBTElEX0pTT04sICdtaXNzaW5nIHJlY2VpcHQgb3IgcHJvZHVjdElkZW50aWZpZXInKTtcbiAgICB9XG5cbiAgICAvLyBUcmFuc2Zvcm0gdGhlIG9iamVjdCBpZiB0aGVyZVxuICAgIC8vIG90aGVyd2lzZSBhc3N1bWUgaXQncyBpbiBCYXNlNjQgYWxyZWFkeVxuICAgIGlmICh0eXBlb2YgcmVjZWlwdCA9PSAnb2JqZWN0Jykge1xuICAgICAgaWYgKHJlY2VpcHRbJ19fdHlwZSddID09ICdCeXRlcycpIHtcbiAgICAgICAgcmVjZWlwdCA9IHJlY2VpcHQuYmFzZTY0O1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9jZXNzLmVudi5URVNUSU5HID09ICcxJyAmJiByZXEuYm9keT8uYnlwYXNzQXBwU3RvcmVWYWxpZGF0aW9uKSB7XG4gICAgICByZXR1cm4gZ2V0RmlsZUZvclByb2R1Y3RJZGVudGlmaWVyKHByb2R1Y3RJZGVudGlmaWVyLCByZXEpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHN1Y2Nlc3NDYWxsYmFjaygpIHtcbiAgICAgIHJldHVybiBnZXRGaWxlRm9yUHJvZHVjdElkZW50aWZpZXIocHJvZHVjdElkZW50aWZpZXIsIHJlcSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXJyb3JDYWxsYmFjayhlcnJvcikge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHJlc3BvbnNlOiBhcHBTdG9yZUVycm9yKGVycm9yLnN0YXR1cykgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbGlkYXRlV2l0aEFwcFN0b3JlKElBUF9QUk9EVUNUSU9OX1VSTCwgcmVjZWlwdCkudGhlbihcbiAgICAgICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHN1Y2Nlc3NDYWxsYmFjaygpO1xuICAgICAgfSxcbiAgICAgIGVycm9yID0+IHtcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSAyMTAwNykge1xuICAgICAgICAgIHJldHVybiB2YWxpZGF0ZVdpdGhBcHBTdG9yZShJQVBfU0FOREJPWF9VUkwsIHJlY2VpcHQpLnRoZW4oXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBzdWNjZXNzQ2FsbGJhY2soKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBlcnJvckNhbGxiYWNrKGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGVycm9yQ2FsbGJhY2soZXJyb3IpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBtb3VudFJvdXRlcygpIHtcbiAgICB0aGlzLnJvdXRlKCdQT1NUJywgJy92YWxpZGF0ZV9wdXJjaGFzZScsIHRoaXMuaGFuZGxlUmVxdWVzdCk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsY0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQStCLFNBQUFELHVCQUFBRyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRi9CLE1BQU1HLE9BQU8sR0FBR0wsT0FBTyxDQUFDLFlBQVksQ0FBQztBQUNyQyxNQUFNTSxJQUFJLEdBQUdOLE9BQU8sQ0FBQyxTQUFTLENBQUM7QUFHL0I7QUFDQSxNQUFNTyxlQUFlLEdBQUcsZ0RBQWdEO0FBQ3hFLE1BQU1DLGtCQUFrQixHQUFHLDRDQUE0QztBQUV2RSxNQUFNQyxnQkFBZ0IsR0FBRztFQUN2QixLQUFLLEVBQUUsNERBQTREO0VBQ25FLEtBQUssRUFBRSxpRUFBaUU7RUFDeEUsS0FBSyxFQUFFLHlDQUF5QztFQUNoRCxLQUFLLEVBQUUsMkZBQTJGO0VBQ2xHLEtBQUssRUFBRSxnREFBZ0Q7RUFDdkQsS0FBSyxFQUFFLHlEQUF5RDtFQUNoRSxLQUFLLEVBQUUscUpBQXFKO0VBQzVKLEtB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
|
|
@@ -1,35 +1,28 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.InstallationsRouter =
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var _rest = require('../rest');
|
|
13
|
-
|
|
14
|
-
var _rest2 = _interopRequireDefault(_rest);
|
|
15
|
-
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
6
|
+
exports.default = exports.InstallationsRouter = void 0;
|
|
7
|
+
var _ClassesRouter = _interopRequireDefault(require("./ClassesRouter"));
|
|
8
|
+
var _rest = _interopRequireDefault(require("../rest"));
|
|
9
|
+
var _middlewares = require("../middlewares");
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
11
|
// InstallationsRouter.js
|
|
19
12
|
|
|
20
|
-
class InstallationsRouter extends
|
|
13
|
+
class InstallationsRouter extends _ClassesRouter.default {
|
|
21
14
|
className() {
|
|
22
15
|
return '_Installation';
|
|
23
16
|
}
|
|
24
|
-
|
|
25
17
|
handleFind(req) {
|
|
26
|
-
const body = Object.assign(req.body,
|
|
27
|
-
const options =
|
|
28
|
-
return
|
|
29
|
-
return {
|
|
18
|
+
const body = Object.assign(req.body || {}, _ClassesRouter.default.JSONFromQuery(req.query));
|
|
19
|
+
const options = _ClassesRouter.default.optionsFromBody(body, req.config.defaultLimit);
|
|
20
|
+
return _rest.default.find(req.config, req.auth, '_Installation', body.where, options, req.info.clientSDK, req.info.context).then(response => {
|
|
21
|
+
return {
|
|
22
|
+
response: response
|
|
23
|
+
};
|
|
30
24
|
});
|
|
31
25
|
}
|
|
32
|
-
|
|
33
26
|
mountRoutes() {
|
|
34
27
|
this.route('GET', '/installations', req => {
|
|
35
28
|
return this.handleFind(req);
|
|
@@ -37,10 +30,10 @@ class InstallationsRouter extends _ClassesRouter2.default {
|
|
|
37
30
|
this.route('GET', '/installations/:objectId', req => {
|
|
38
31
|
return this.handleGet(req);
|
|
39
32
|
});
|
|
40
|
-
this.route('POST', '/installations', req => {
|
|
33
|
+
this.route('POST', '/installations', _middlewares.promiseEnsureIdempotency, req => {
|
|
41
34
|
return this.handleCreate(req);
|
|
42
35
|
});
|
|
43
|
-
this.route('PUT', '/installations/:objectId', req => {
|
|
36
|
+
this.route('PUT', '/installations/:objectId', _middlewares.promiseEnsureIdempotency, req => {
|
|
44
37
|
return this.handleUpdate(req);
|
|
45
38
|
});
|
|
46
39
|
this.route('DELETE', '/installations/:objectId', req => {
|
|
@@ -48,7 +41,6 @@ class InstallationsRouter extends _ClassesRouter2.default {
|
|
|
48
41
|
});
|
|
49
42
|
}
|
|
50
43
|
}
|
|
51
|
-
|
|
52
44
|
exports.InstallationsRouter = InstallationsRouter;
|
|
53
|
-
exports.default = InstallationsRouter;
|
|
54
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
45
|
+
var _default = exports.default = InstallationsRouter;
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ2xhc3Nlc1JvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Jlc3QiLCJfbWlkZGxld2FyZXMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJJbnN0YWxsYXRpb25zUm91dGVyIiwiQ2xhc3Nlc1JvdXRlciIsImNsYXNzTmFtZSIsImhhbmRsZUZpbmQiLCJyZXEiLCJib2R5IiwiT2JqZWN0IiwiYXNzaWduIiwiSlNPTkZyb21RdWVyeSIsInF1ZXJ5Iiwib3B0aW9ucyIsIm9wdGlvbnNGcm9tQm9keSIsImNvbmZpZyIsImRlZmF1bHRMaW1pdCIsInJlc3QiLCJmaW5kIiwiYXV0aCIsIndoZXJlIiwiaW5mbyIsImNsaWVudFNESyIsImNvbnRleHQiLCJ0aGVuIiwicmVzcG9uc2UiLCJtb3VudFJvdXRlcyIsInJvdXRlIiwiaGFuZGxlR2V0IiwicHJvbWlzZUVuc3VyZUlkZW1wb3RlbmN5IiwiaGFuZGxlQ3JlYXRlIiwiaGFuZGxlVXBkYXRlIiwiaGFuZGxlRGVsZXRlIiwiZXhwb3J0cyIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1JvdXRlcnMvSW5zdGFsbGF0aW9uc1JvdXRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbnN0YWxsYXRpb25zUm91dGVyLmpzXG5cbmltcG9ydCBDbGFzc2VzUm91dGVyIGZyb20gJy4vQ2xhc3Nlc1JvdXRlcic7XG5pbXBvcnQgcmVzdCBmcm9tICcuLi9yZXN0JztcbmltcG9ydCB7IHByb21pc2VFbnN1cmVJZGVtcG90ZW5jeSB9IGZyb20gJy4uL21pZGRsZXdhcmVzJztcblxuZXhwb3J0IGNsYXNzIEluc3RhbGxhdGlvbnNSb3V0ZXIgZXh0ZW5kcyBDbGFzc2VzUm91dGVyIHtcbiAgY2xhc3NOYW1lKCkge1xuICAgIHJldHVybiAnX0luc3RhbGxhdGlvbic7XG4gIH1cblxuICBoYW5kbGVGaW5kKHJlcSkge1xuICAgIGNvbnN0IGJvZHkgPSBPYmplY3QuYXNzaWduKHJlcS5ib2R5IHx8IHt9LCBDbGFzc2VzUm91dGVyLkpTT05Gcm9tUXVlcnkocmVxLnF1ZXJ5KSk7XG4gICAgY29uc3Qgb3B0aW9ucyA9IENsYXNzZXNSb3V0ZXIub3B0aW9uc0Zyb21Cb2R5KGJvZHksIHJlcS5jb25maWcuZGVmYXVsdExpbWl0KTtcbiAgICByZXR1cm4gcmVzdFxuICAgICAgLmZpbmQoXG4gICAgICAgIHJlcS5jb25maWcsXG4gICAgICAgIHJlcS5hdXRoLFxuICAgICAgICAnX0luc3RhbGxhdGlvbicsXG4gICAgICAgIGJvZHkud2hlcmUsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIHJlcS5pbmZvLmNsaWVudFNESyxcbiAgICAgICAgcmVxLmluZm8uY29udGV4dFxuICAgICAgKVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICByZXR1cm4geyByZXNwb25zZTogcmVzcG9uc2UgfTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbW91bnRSb3V0ZXMoKSB7XG4gICAgdGhpcy5yb3V0ZSgnR0VUJywgJy9pbnN0YWxsYXRpb25zJywgcmVxID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZUZpbmQocmVxKTtcbiAgICB9KTtcbiAgICB0aGlzLnJvdXRlKCdHRVQnLCAnL2luc3RhbGxhdGlvbnMvOm9iamVjdElkJywgcmVxID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZUdldChyZXEpO1xuICAgIH0pO1xuICAgIHRoaXMucm91dGUoJ1BPU1QnLCAnL2luc3RhbGxhdGlvbnMnLCBwcm9taXNlRW5zdXJlSWRlbXBvdGVuY3ksIHJlcSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVDcmVhdGUocmVxKTtcbiAgICB9KTtcbiAgICB0aGlzLnJvdXRlKCdQVVQnLCAnL2luc3RhbGxhdGlvbnMvOm9iamVjdElkJywgcHJvbWlzZUVuc3VyZUlkZW1wb3RlbmN5LCByZXEgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlVXBkYXRlKHJlcSk7XG4gICAgfSk7XG4gICAgdGhpcy5yb3V0ZSgnREVMRVRFJywgJy9pbnN0YWxsYXRpb25zLzpvYmplY3RJZCcsIHJlcSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVEZWxldGUocmVxKTtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBJbnN0YWxsYXRpb25zUm91dGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxJQUFBQSxjQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxZQUFBLEdBQUFGLE9BQUE7QUFBMEQsU0FBQUQsdUJBQUFJLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFKMUQ7O0FBTU8sTUFBTUcsbUJBQW1CLFNBQVNDLHNCQUFhLENBQUM7RUFDckRDLFNBQVNBLENBQUEsRUFBRztJQUNWLE9BQU8sZUFBZTtFQUN4QjtFQUVBQyxVQUFVQSxDQUFDQyxHQUFHLEVBQUU7SUFDZCxNQUFNQyxJQUFJLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDSCxHQUFHLENBQUNDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRUosc0JBQWEsQ0FBQ08sYUFBYSxDQUFDSixHQUFHLENBQUNLLEtBQUssQ0FBQyxDQUFDO0lBQ2xGLE1BQU1DLE9BQU8sR0FBR1Qsc0JBQWEsQ0FBQ1UsZUFBZSxDQUFDTixJQUFJLEVBQUVELEdBQUcsQ0FBQ1EsTUFBTSxDQUFDQyxZQUFZLENBQUM7SUFDNUUsT0FBT0MsYUFBSSxDQUNSQyxJQUFJLENBQ0hYLEdBQUcsQ0FBQ1EsTUFBTSxFQUNWUixHQUFHLENBQUNZLElBQUksRUFDUixlQUFlLEVBQ2ZYLElBQUksQ0FBQ1ksS0FBSyxFQUNWUCxPQUFPLEVBQ1BOLEdBQUcsQ0FBQ2MsSUFBSSxDQUFDQyxTQUFTLEVBQ2xCZixHQUFHLENBQUNjLElBQUksQ0FBQ0UsT0FDWCxDQUFDLENBQ0FDLElBQUksQ0FBQ0MsUUFBUSxJQUFJO01BQ2hCLE9BQU87UUFBRUEsUUFBUSxFQUFFQTtNQUFTLENBQUM7SUFDL0IsQ0FBQyxDQUFDO0VBQ047RUFFQUMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osSUFBSSxDQUFDQyxLQUFLLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFcEIsR0FBRyxJQUFJO01BQ3pDLE9BQU8sSUFBSSxDQUFDRCxVQUFVLENBQUNDLEdBQUcsQ0FBQztJQUM3QixDQUFDLENBQUM7SUFDRixJQUFJLENBQUNvQixLQUFLLENBQUMsS0FBSyxFQUFFLDBCQUEwQixFQUFFcEIsR0FBRyxJQUFJO01BQ25ELE9BQU8sSUFBSSxDQUFDcUIsU0FBUyxDQUFDckIsR0FBRyxDQUFDO0lBQzVCLENBQUMsQ0FBQztJQUNGLElBQUksQ0FBQ29CLEtBQUssQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUVFLHFDQUF3QixFQUFFdEIsR0FBRyxJQUFJO01BQ3BFLE9BQU8sSUFBSSxDQUFDdUIsWUFBWSxDQUFDdkIsR0FBRyxDQUFDO0lBQy9CLENBQUMsQ0FBQztJQUNGLElBQUksQ0FBQ29CLEtBQUssQ0FBQyxLQUFLLEVBQUUsMEJBQTBCLEVBQUVFLHFDQUF3QixFQUFFdEIsR0FBRyxJQUFJO01BQzdFLE9BQU8sSUFBSSxDQUFDd0IsWUFBWSxDQUFDeEIsR0FBRyxDQUFDO0lBQy9CLENBQUMsQ0FBQztJQUNGLElBQUksQ0FBQ29CLEtBQUssQ0FBQyxRQUFRLEVBQUUsMEJBQTBCLEVBQUVwQixHQUFHLElBQUk7TUFDdEQsT0FBTyxJQUFJLENBQUN5QixZQUFZLENBQUN6QixHQUFHLENBQUM7SUFDL0IsQ0FBQyxDQUFDO0VBQ0o7QUFDRjtBQUFDMEIsT0FBQSxDQUFBOUIsbUJBQUEsR0FBQUEsbUJBQUE7QUFBQSxJQUFBK0IsUUFBQSxHQUFBRCxPQUFBLENBQUEvQixPQUFBLEdBRWNDLG1CQUFtQiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,32 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.LogsRouter =
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var _middlewares = require('../middlewares');
|
|
15
|
-
|
|
16
|
-
var middleware = _interopRequireWildcard(_middlewares);
|
|
17
|
-
|
|
18
|
-
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
|
|
19
|
-
|
|
20
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
22
|
-
class LogsRouter extends _PromiseRouter2.default {
|
|
23
|
-
|
|
6
|
+
exports.default = exports.LogsRouter = void 0;
|
|
7
|
+
var _node = require("parse/node");
|
|
8
|
+
var _PromiseRouter = _interopRequireDefault(require("../PromiseRouter"));
|
|
9
|
+
var middleware = _interopRequireWildcard(require("../middlewares"));
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
class LogsRouter extends _PromiseRouter.default {
|
|
24
13
|
mountRoutes() {
|
|
25
14
|
this.route('GET', '/scriptlog', middleware.promiseEnforceMasterKeyAccess, this.validateRequest, req => {
|
|
26
15
|
return this.handleGET(req);
|
|
27
16
|
});
|
|
28
17
|
}
|
|
29
|
-
|
|
30
18
|
validateRequest(req) {
|
|
31
19
|
if (!req.config || !req.config.loggerController) {
|
|
32
20
|
throw new _node.Parse.Error(_node.Parse.Error.PUSH_MISCONFIGURED, 'Logger adapter is not available');
|
|
@@ -48,7 +36,6 @@ class LogsRouter extends _PromiseRouter2.default {
|
|
|
48
36
|
if (req.query.n) {
|
|
49
37
|
size = req.query.n;
|
|
50
38
|
}
|
|
51
|
-
|
|
52
39
|
const order = req.query.order;
|
|
53
40
|
const level = req.query.level;
|
|
54
41
|
const options = {
|
|
@@ -58,7 +45,6 @@ class LogsRouter extends _PromiseRouter2.default {
|
|
|
58
45
|
order,
|
|
59
46
|
level
|
|
60
47
|
};
|
|
61
|
-
|
|
62
48
|
return req.config.loggerController.getLogs(options).then(result => {
|
|
63
49
|
return Promise.resolve({
|
|
64
50
|
response: result
|
|
@@ -66,7 +52,6 @@ class LogsRouter extends _PromiseRouter2.default {
|
|
|
66
52
|
});
|
|
67
53
|
}
|
|
68
54
|
}
|
|
69
|
-
|
|
70
55
|
exports.LogsRouter = LogsRouter;
|
|
71
|
-
exports.default = LogsRouter;
|
|
72
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
56
|
+
var _default = exports.default = LogsRouter;
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsInJlcXVpcmUiLCJfUHJvbWlzZVJvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJtaWRkbGV3YXJlIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJkZWZhdWx0IiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJMb2dzUm91dGVyIiwiUHJvbWlzZVJvdXRlciIsIm1vdW50Um91dGVzIiwicm91dGUiLCJwcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcyIsInZhbGlkYXRlUmVxdWVzdCIsInJlcSIsImhhbmRsZUdFVCIsImNvbmZpZyIsImxvZ2dlckNvbnRyb2xsZXIiLCJQYXJzZSIsIkVycm9yIiwiUFVTSF9NSVNDT05GSUdVUkVEIiwiZnJvbSIsInF1ZXJ5IiwidW50aWwiLCJzaXplIiwib3JkZXIiLCJsZXZlbCIsIm9wdGlvbnMiLCJnZXRMb2dzIiwidGhlbiIsInJlc3VsdCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVzcG9uc2UiLCJleHBvcnRzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvUm91dGVycy9Mb2dzUm91dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcnNlIH0gZnJvbSAncGFyc2Uvbm9kZSc7XG5pbXBvcnQgUHJvbWlzZVJvdXRlciBmcm9tICcuLi9Qcm9taXNlUm91dGVyJztcbmltcG9ydCAqIGFzIG1pZGRsZXdhcmUgZnJvbSAnLi4vbWlkZGxld2FyZXMnO1xuXG5leHBvcnQgY2xhc3MgTG9nc1JvdXRlciBleHRlbmRzIFByb21pc2VSb3V0ZXIge1xuICBtb3VudFJvdXRlcygpIHtcbiAgICB0aGlzLnJvdXRlKFxuICAgICAgJ0dFVCcsXG4gICAgICAnL3NjcmlwdGxvZycsXG4gICAgICBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgdGhpcy52YWxpZGF0ZVJlcXVlc3QsXG4gICAgICByZXEgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVHRVQocmVxKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgdmFsaWRhdGVSZXF1ZXN0KHJlcSkge1xuICAgIGlmICghcmVxLmNvbmZpZyB8fCAhcmVxLmNvbmZpZy5sb2dnZXJDb250cm9sbGVyKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuUFVTSF9NSVNDT05GSUdVUkVELCAnTG9nZ2VyIGFkYXB0ZXIgaXMgbm90IGF2YWlsYWJsZScpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJldHVybnMgYSBwcm9taXNlIGZvciBhIHtyZXNwb25zZX0gb2JqZWN0LlxuICAvLyBxdWVyeSBwYXJhbXM6XG4gIC8vIGxldmVsIChvcHRpb25hbCkgTGV2ZWwgb2YgbG9nZ2luZyB5b3Ugd2FudCB0byBxdWVyeSBmb3IgKGluZm8gfHwgZXJyb3IpXG4gIC8vIGZyb20gKG9wdGlvbmFsKSBTdGFydCB0aW1lIGZvciB0aGUgc2VhcmNoLiBEZWZhdWx0cyB0byAxIHdlZWsgYWdvLlxuICAvLyB1bnRpbCAob3B0aW9uYWwpIEVuZCB0aW1lIGZvciB0aGUgc2VhcmNoLiBEZWZhdWx0cyB0byBjdXJyZW50IHRpbWUuXG4gIC8vIG9yZGVyIChvcHRpb25hbCkgRGlyZWN0aW9uIG9mIHJlc3VsdHMgcmV0dXJuZWQsIGVpdGhlciDigJxhc2PigJ0gb3Ig4oCcZGVzY+KAnS4gRGVmYXVsdHMgdG8g4oCcZGVzY+KAnS5cbiAgLy8gc2l6ZSAob3B0aW9uYWwpIE51bWJlciBvZiByb3dzIHJldHVybmVkIGJ5IHNlYXJjaC4gRGVmYXVsdHMgdG8gMTBcbiAgLy8gbiBzYW1lIGFzIHNpemUsIG92ZXJyaWRlcyBzaXplIGlmIHNldFxuICBoYW5kbGVHRVQocmVxKSB7XG4gICAgY29uc3QgZnJvbSA9IHJlcS5xdWVyeS5mcm9tO1xuICAgIGNvbnN0IHVudGlsID0gcmVxLnF1ZXJ5LnVudGlsO1xuICAgIGxldCBzaXplID0gcmVxLnF1ZXJ5LnNpemU7XG4gICAgaWYgKHJlcS5xdWVyeS5uKSB7XG4gICAgICBzaXplID0gcmVxLnF1ZXJ5Lm47XG4gICAgfVxuXG4gICAgY29uc3Qgb3JkZXIgPSByZXEucXVlcnkub3JkZXI7XG4gICAgY29uc3QgbGV2ZWwgPSByZXEucXVlcnkubGV2ZWw7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIGZyb20sXG4gICAgICB1bnRpbCxcbiAgICAgIHNpemUsXG4gICAgICBvcmRlcixcbiAgICAgIGxldmVsLFxuICAgIH07XG5cbiAgICByZXR1cm4gcmVxLmNvbmZpZy5sb2dnZXJDb250cm9sbGVyLmdldExvZ3Mob3B0aW9ucykudGhlbihyZXN1bHQgPT4ge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgIHJlc3BvbnNlOiByZXN1bHQsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBMb2dzUm91dGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxjQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFDLHVCQUFBLENBQUFKLE9BQUE7QUFBNkMsU0FBQUksd0JBQUFDLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFILHVCQUFBLFlBQUFBLENBQUFDLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxRQUFB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
|