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,100 +1,126 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.AggregateRouter =
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var middleware = _interopRequireWildcard(_middlewares);
|
|
19
|
-
|
|
20
|
-
var _node = require('parse/node');
|
|
21
|
-
|
|
22
|
-
var _node2 = _interopRequireDefault(_node);
|
|
23
|
-
|
|
24
|
-
var _UsersRouter = require('./UsersRouter');
|
|
25
|
-
|
|
26
|
-
var _UsersRouter2 = _interopRequireDefault(_UsersRouter);
|
|
27
|
-
|
|
28
|
-
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; } }
|
|
29
|
-
|
|
30
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
|
-
|
|
32
|
-
const BASE_KEYS = ['where', 'distinct'];
|
|
33
|
-
|
|
34
|
-
const PIPELINE_KEYS = ['addFields', 'bucket', 'bucketAuto', 'collStats', 'count', 'currentOp', 'facet', 'geoNear', 'graphLookup', 'group', 'indexStats', 'limit', 'listLocalSessions', 'listSessions', 'lookup', 'match', 'out', 'project', 'redact', 'replaceRoot', 'sample', 'skip', 'sort', 'sortByCount', 'unwind'];
|
|
35
|
-
|
|
36
|
-
const ALLOWED_KEYS = [...BASE_KEYS, ...PIPELINE_KEYS];
|
|
37
|
-
|
|
38
|
-
class AggregateRouter extends _ClassesRouter2.default {
|
|
39
|
-
|
|
40
|
-
handleFind(req) {
|
|
41
|
-
const body = Object.assign(req.body, _ClassesRouter2.default.JSONFromQuery(req.query));
|
|
6
|
+
exports.default = exports.AggregateRouter = void 0;
|
|
7
|
+
var _node = _interopRequireDefault(require("parse/node"));
|
|
8
|
+
var middleware = _interopRequireWildcard(require("../middlewares"));
|
|
9
|
+
var _rest = _interopRequireDefault(require("../rest"));
|
|
10
|
+
var _ClassesRouter = _interopRequireDefault(require("./ClassesRouter"));
|
|
11
|
+
var _UsersRouter = _interopRequireDefault(require("./UsersRouter"));
|
|
12
|
+
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); }
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
class AggregateRouter extends _ClassesRouter.default {
|
|
15
|
+
async handleFind(req) {
|
|
16
|
+
const body = Object.assign(req.body || {}, _ClassesRouter.default.JSONFromQuery(req.query));
|
|
42
17
|
const options = {};
|
|
43
|
-
let pipeline = [];
|
|
44
|
-
|
|
45
|
-
if (Array.isArray(body)) {
|
|
46
|
-
pipeline = body.map(stage => {
|
|
47
|
-
const stageName = Object.keys(stage)[0];
|
|
48
|
-
return this.transformStage(stageName, stage);
|
|
49
|
-
});
|
|
50
|
-
} else {
|
|
51
|
-
const stages = [];
|
|
52
|
-
for (const stageName in body) {
|
|
53
|
-
stages.push(this.transformStage(stageName, body));
|
|
54
|
-
}
|
|
55
|
-
pipeline = stages;
|
|
56
|
-
}
|
|
57
18
|
if (body.distinct) {
|
|
58
19
|
options.distinct = String(body.distinct);
|
|
59
20
|
}
|
|
60
|
-
|
|
21
|
+
if (body.hint) {
|
|
22
|
+
options.hint = body.hint;
|
|
23
|
+
delete body.hint;
|
|
24
|
+
}
|
|
25
|
+
if (body.explain) {
|
|
26
|
+
options.explain = body.explain;
|
|
27
|
+
delete body.explain;
|
|
28
|
+
}
|
|
29
|
+
if (body.comment) {
|
|
30
|
+
options.comment = body.comment;
|
|
31
|
+
delete body.comment;
|
|
32
|
+
}
|
|
33
|
+
if (body.readPreference) {
|
|
34
|
+
options.readPreference = body.readPreference;
|
|
35
|
+
delete body.readPreference;
|
|
36
|
+
}
|
|
37
|
+
options.pipeline = AggregateRouter.getPipeline(body);
|
|
61
38
|
if (typeof body.where === 'string') {
|
|
62
39
|
body.where = JSON.parse(body.where);
|
|
63
40
|
}
|
|
64
|
-
|
|
41
|
+
try {
|
|
42
|
+
const response = await _rest.default.find(req.config, req.auth, this.className(req), body.where, options, req.info.clientSDK, req.info.context);
|
|
65
43
|
for (const result of response.results) {
|
|
66
44
|
if (typeof result === 'object') {
|
|
67
|
-
|
|
45
|
+
_UsersRouter.default.removeHiddenProperties(result);
|
|
68
46
|
}
|
|
69
47
|
}
|
|
70
|
-
return {
|
|
71
|
-
|
|
48
|
+
return {
|
|
49
|
+
response
|
|
50
|
+
};
|
|
51
|
+
} catch (e) {
|
|
52
|
+
throw new _node.default.Error(_node.default.Error.INVALID_QUERY, e.message);
|
|
53
|
+
}
|
|
72
54
|
}
|
|
73
55
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
56
|
+
/* Builds a pipeline from the body. Originally the body could be passed as a single object,
|
|
57
|
+
* and now we support many options.
|
|
58
|
+
*
|
|
59
|
+
* Array
|
|
60
|
+
*
|
|
61
|
+
* body: [{
|
|
62
|
+
* group: { objectId: '$name' },
|
|
63
|
+
* }]
|
|
64
|
+
*
|
|
65
|
+
* Object
|
|
66
|
+
*
|
|
67
|
+
* body: {
|
|
68
|
+
* group: { objectId: '$name' },
|
|
69
|
+
* }
|
|
70
|
+
*
|
|
71
|
+
*
|
|
72
|
+
* Pipeline Operator with an Array or an Object
|
|
73
|
+
*
|
|
74
|
+
* body: {
|
|
75
|
+
* pipeline: {
|
|
76
|
+
* $group: { objectId: '$name' },
|
|
77
|
+
* }
|
|
78
|
+
* }
|
|
79
|
+
*
|
|
80
|
+
*/
|
|
81
|
+
static getPipeline(body) {
|
|
82
|
+
let pipeline = body.pipeline || body;
|
|
83
|
+
if (!Array.isArray(pipeline)) {
|
|
84
|
+
pipeline = Object.keys(pipeline).filter(key => pipeline[key] !== undefined).map(key => {
|
|
85
|
+
return {
|
|
86
|
+
[key]: pipeline[key]
|
|
87
|
+
};
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return pipeline.map(stage => {
|
|
91
|
+
const keys = Object.keys(stage);
|
|
92
|
+
if (keys.length !== 1) {
|
|
93
|
+
throw new _node.default.Error(_node.default.Error.INVALID_QUERY, `Pipeline stages should only have one key but found ${keys.join(', ')}.`);
|
|
94
|
+
}
|
|
95
|
+
return AggregateRouter.transformStage(keys[0], stage);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
static transformStage(stageName, stage) {
|
|
99
|
+
const skipKeys = ['distinct', 'where'];
|
|
100
|
+
if (skipKeys.includes(stageName)) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (stageName[0] !== '$') {
|
|
104
|
+
throw new _node.default.Error(_node.default.Error.INVALID_QUERY, `Invalid aggregate stage '${stageName}'.`);
|
|
77
105
|
}
|
|
78
|
-
if (stageName === 'group') {
|
|
79
|
-
if (stage[stageName]
|
|
80
|
-
throw new
|
|
106
|
+
if (stageName === '$group') {
|
|
107
|
+
if (Object.prototype.hasOwnProperty.call(stage[stageName], 'objectId')) {
|
|
108
|
+
throw new _node.default.Error(_node.default.Error.INVALID_QUERY, `Cannot use 'objectId' in aggregation stage $group.`);
|
|
81
109
|
}
|
|
82
|
-
if (!stage[stageName]
|
|
83
|
-
throw new
|
|
110
|
+
if (!Object.prototype.hasOwnProperty.call(stage[stageName], '_id')) {
|
|
111
|
+
throw new _node.default.Error(_node.default.Error.INVALID_QUERY, `Invalid parameter for query: group. Missing key _id`);
|
|
84
112
|
}
|
|
85
|
-
stage[stageName]._id = stage[stageName].objectId;
|
|
86
|
-
delete stage[stageName].objectId;
|
|
87
113
|
}
|
|
88
|
-
return {
|
|
114
|
+
return {
|
|
115
|
+
[stageName]: stage[stageName]
|
|
116
|
+
};
|
|
89
117
|
}
|
|
90
|
-
|
|
91
118
|
mountRoutes() {
|
|
92
119
|
this.route('GET', '/aggregate/:className', middleware.promiseEnforceMasterKeyAccess, req => {
|
|
93
120
|
return this.handleFind(req);
|
|
94
121
|
});
|
|
95
122
|
}
|
|
96
123
|
}
|
|
97
|
-
|
|
98
124
|
exports.AggregateRouter = AggregateRouter;
|
|
99
|
-
exports.default = AggregateRouter;
|
|
100
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Sb3V0ZXJzL0FnZ3JlZ2F0ZVJvdXRlci5qcyJdLCJuYW1lcyI6WyJtaWRkbGV3YXJlIiwiQkFTRV9LRVlTIiwiUElQRUxJTkVfS0VZUyIsIkFMTE9XRURfS0VZUyIsIkFnZ3JlZ2F0ZVJvdXRlciIsIkNsYXNzZXNSb3V0ZXIiLCJoYW5kbGVGaW5kIiwicmVxIiwiYm9keSIsIk9iamVjdCIsImFzc2lnbiIsIkpTT05Gcm9tUXVlcnkiLCJxdWVyeSIsIm9wdGlvbnMiLCJwaXBlbGluZSIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsInN0YWdlIiwic3RhZ2VOYW1lIiwia2V5cyIsInRyYW5zZm9ybVN0YWdlIiwic3RhZ2VzIiwicHVzaCIsImRpc3RpbmN0IiwiU3RyaW5nIiwid2hlcmUiLCJKU09OIiwicGFyc2UiLCJyZXN0IiwiZmluZCIsImNvbmZpZyIsImF1dGgiLCJjbGFzc05hbWUiLCJpbmZvIiwiY2xpZW50U0RLIiwidGhlbiIsInJlc3BvbnNlIiwicmVzdWx0IiwicmVzdWx0cyIsIlVzZXJzUm91dGVyIiwicmVtb3ZlSGlkZGVuUHJvcGVydGllcyIsImluZGV4T2YiLCJQYXJzZSIsIkVycm9yIiwiSU5WQUxJRF9RVUVSWSIsImhhc093blByb3BlcnR5IiwiX2lkIiwib2JqZWN0SWQiLCJtb3VudFJvdXRlcyIsInJvdXRlIiwicHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7O0lBQVlBLFU7O0FBQ1o7Ozs7QUFDQTs7Ozs7Ozs7QUFFQSxNQUFNQyxZQUFZLENBQUMsT0FBRCxFQUFVLFVBQVYsQ0FBbEI7O0FBRUEsTUFBTUMsZ0JBQWdCLENBQ3BCLFdBRG9CLEVBRXBCLFFBRm9CLEVBR3BCLFlBSG9CLEVBSXBCLFdBSm9CLEVBS3BCLE9BTG9CLEVBTXBCLFdBTm9CLEVBT3BCLE9BUG9CLEVBUXBCLFNBUm9CLEVBU3BCLGFBVG9CLEVBVXBCLE9BVm9CLEVB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QUksQ0FBQzNCLE1BQU1DLFNBQU4sRUFBaUIyQixjQUFqQixDQUFnQyxVQUFoQyxDQUFMLEVBQWtEO0FBQ2hELGNBQU0sSUFBSUgsZUFBTUMsS0FBVixDQUNKRCxlQUFNQyxLQUFOLENBQVlDLGFBRFIsRUFFSCwwREFGRyxDQUFOO0FBSUQ7QUFDRDNCLFlBQU1DLFNBQU4sRUFBaUI0QixHQUFqQixHQUF1QjdCLE1BQU1DLFNBQU4sRUFBaUI2QixRQUF4QztBQUNBLGFBQU85QixNQUFNQyxTQUFOLEVBQWlCNkIsUUFBeEI7QUFDRDtBQUNELFdBQU8sRUFBRSxDQUFFLElBQUc3QixTQUFVLEVBQWYsR0FBbUJELE1BQU1DLFNBQU4sQ0FBckIsRUFBUDtBQUNEOztBQUVEOEIsZ0JBQWM7QUFDWixTQUFLQyxLQUFMLENBQVcsS0FBWCxFQUFpQix1QkFBakIsRUFBMENsRCxXQUFXbUQsNkJBQXJELEVBQW9GNUMsT0FBTztBQUFFLGFBQU8sS0FBS0QsVUFBTCxDQUFnQkMsR0FBaEIsQ0FBUDtBQUE4QixLQUEzSDtBQUNEO0FBaEVnRDs7UUFBdENILGUsR0FBQUEsZTtrQkFtRUVBLGUiLCJmaWxlIjoiQWdncmVnYXRlUm91dGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENsYXNzZXNSb3V0ZXIgZnJvbSAnLi9DbGFzc2VzUm91dGVyJztcbmltcG9ydCByZXN0IGZyb20gJy4uL3Jlc3QnO1xuaW1wb3J0ICogYXMgbWlkZGxld2FyZSBmcm9tICcuLi9taWRkbGV3YXJlcyc7XG5pbXBvcnQgUGFyc2UgICAgICAgICBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCBVc2Vyc1JvdXRlciAgIGZyb20gJy4vVXNlcnNSb3V0ZXInO1xuXG5jb25zdCBCQVNFX0tFWVMgPSBbJ3doZXJlJywgJ2Rpc3RpbmN0J107XG5cbmNvbnN0IFBJUEVMSU5FX0tFWVMgPSBbXG4gICdhZGRGaWVsZHMnLFxuICAnYnVja2V0JyxcbiAgJ2J1Y2tldEF1dG8nLFxuICAnY29sbFN0YXRzJyxcbiAgJ2NvdW50JyxcbiAgJ2N1cnJlbnRPcCcsXG4gICdmYWNldCcsXG4gICdnZW9OZWFyJyxcbiAgJ2dyYXBoTG9va3VwJyxcbiAgJ2dyb3VwJyxcbiAgJ2luZGV4U3RhdHMnLFxuICAnbGltaXQnLFxuICAnbGlzdExvY2FsU2Vzc2lvbnMnLFxuICAnbGlzdFNlc3Npb25zJyxcbiAgJ2xvb2t1cCcsXG4gICdtYXRjaCcsXG4gICdvdXQnLFxuICAncHJvamVjdCcsXG4gICdyZWRhY3QnLFxuICAncmVwbGFjZVJvb3QnLFxuICAnc2FtcGxlJyxcbiAgJ3NraXAnLFxuICAnc29ydCcsXG4gICdzb3J0QnlDb3VudCcsXG4gICd1bndpbmQnLFxuXTtcblxuY29uc3QgQUxMT1dFRF9LRVlTID0gWy4uLkJBU0VfS0VZUywgLi4uUElQRUxJTkVfS0VZU107XG5cbmV4cG9ydCBjbGFzcyBBZ2dyZWdhdGVSb3V0ZXIgZXh0ZW5kcyBDbGFzc2VzUm91dGVyIHtcblxuICBoYW5kbGVGaW5kKHJlcSkge1xuICAgIGNvbnN0IGJvZHkgPSBPYmplY3QuYXNzaWduKHJlcS5ib2R5LCBDbGFzc2VzUm91dGVyLkpTT05Gcm9tUXVlcnkocmVxLnF1ZXJ5KSk7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHt9O1xuICAgIGxldCBwaXBlbGluZSA9IFtdO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoYm9keSkpIHtcbiAgICAgIHBpcGVsaW5lID0gYm9keS5tYXAoKHN0YWdlKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YWdlTmFtZSA9IE9iamVjdC5rZXlzKHN0YWdlKVswXTtcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtU3RhZ2Uoc3RhZ2VOYW1lLCBzdGFnZSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3RhZ2VzID0gW107XG4gICAgICBmb3IgKGNvbnN0IHN0YWdlTmFtZSBpbiBib2R5KSB7XG4gICAgICAgIHN0YWdlcy5wdXNoKHRoaXMudHJhbnNmb3JtU3RhZ2Uoc3RhZ2VOYW1lLCBib2R5KSk7XG4gICAgICB9XG4gICAgICBwaXBlbGluZSA9IHN0YWdlcztcbiAgICB9XG4gICAgaWYgKGJvZHkuZGlzdGluY3QpIHtcbiAgICAgIG9wdGlvbnMuZGlzdGluY3QgPSBTdHJpbmcoYm9keS5kaXN0aW5jdCk7XG4gICAgfVxuICAgIG9wdGlvbnMucGlwZWxpbmUgPSBwaXBlbGluZTtcbiAgICBpZiAodHlwZW9mIGJvZHkud2hlcmUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBib2R5LndoZXJlID0gSlNPTi5wYXJzZShib2R5LndoZXJlKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3QuZmluZChyZXEuY29uZmlnLCByZXEuYXV0aCwgdGhpcy5jbGFzc05hbWUocmVxKSwgYm9keS53aGVyZSwgb3B0aW9ucywgcmVxLmluZm8uY2xpZW50U0RLKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgZm9yKGNvbnN0IHJlc3VsdCBvZiByZXNwb25zZS5yZXN1bHRzKSB7XG4gICAgICAgIGlmKHR5cGVvZiByZXN1bHQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgVXNlcnNSb3V0ZXIucmVtb3ZlSGlkZGVuUHJvcGVydGllcyhyZXN1bHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4geyByZXNwb25zZSB9O1xuICAgIH0pO1xuICB9XG5cbiAgdHJhbnNmb3JtU3RhZ2Uoc3RhZ2VOYW1lLCBzdGFnZSkge1xuICAgIGlmIChBTExPV0VEX0tFWVMuaW5kZXhPZihzdGFnZU5hbWUpID09PSAtMSkge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICBQYXJzZS5FcnJvci5JTlZBTElEX1FVRVJZLFxuICAgICAgICBgSW52YWxpZCBwYXJhbWV0ZXIgZm9yIHF1ZXJ5OiAke3N0YWdlTmFtZX1gXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoc3RhZ2VOYW1lID09PSAnZ3JvdXAnKSB7XG4gICAgICBpZiAoc3RhZ2Vbc3RhZ2VOYW1lXS5oYXNPd25Qcm9wZXJ0eSgnX2lkJykpIHtcbiAgICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICAgIFBhcnNlLkVycm9yLklOVkFMSURfUVVFUlksXG4gICAgICAgICAgYEludmFsaWQgcGFyYW1ldGVyIGZvciBxdWVyeTogZ3JvdXAuIFBsZWFzZSB1c2Ugb2JqZWN0SWQgaW5zdGVhZCBvZiBfaWRgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoIXN0YWdlW3N0YWdlTmFtZV0uaGFzT3duUHJvcGVydHkoJ29iamVjdElkJykpIHtcbiAgICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICAgIFBhcnNlLkVycm9yLklOVkFMSURfUVVFUlksXG4gICAgICAgICAgYEludmFsaWQgcGFyYW1ldGVyIGZvciBxdWVyeTogZ3JvdXAuIG9iamVjdElkIGlzIHJlcXVpcmVkYFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgc3RhZ2Vbc3RhZ2VOYW1lXS5faWQgPSBzdGFnZVtzdGFnZU5hbWVdLm9iamVjdElkO1xuICAgICAgZGVsZXRlIHN0YWdlW3N0YWdlTmFtZV0ub2JqZWN0SWQ7XG4gICAgfVxuICAgIHJldHVybiB7IFtgJCR7c3RhZ2VOYW1lfWBdOiBzdGFnZVtzdGFnZU5hbWVdIH07XG4gIH1cblxuICBtb3VudFJvdXRlcygpIHtcbiAgICB0aGlzLnJvdXRlKCdHRVQnLCcvYWdncmVnYXRlLzpjbGFzc05hbWUnLCBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLCByZXEgPT4geyByZXR1cm4gdGhpcy5oYW5kbGVGaW5kKHJlcSk7IH0pO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFnZ3JlZ2F0ZVJvdXRlcjtcbiJdfQ==
|
|
125
|
+
var _default = exports.default = AggregateRouter;
|
|
126
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbm9kZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwibWlkZGxld2FyZSIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3Jlc3QiLCJfQ2xhc3Nlc1JvdXRlciIsIl9Vc2Vyc1JvdXRlciIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIkFnZ3JlZ2F0ZVJvdXRlciIsIkNsYXNzZXNSb3V0ZXIiLCJoYW5kbGVGaW5kIiwicmVxIiwiYm9keSIsImFzc2lnbiIsIkpTT05Gcm9tUXVlcnkiLCJxdWVyeSIsIm9wdGlvbnMiLCJkaXN0aW5jdCIsIlN0cmluZyIsImhpbnQiLCJleHBsYWluIiwiY29tbWVudCIsInJlYWRQcmVmZXJlbmNlIiwicGlwZWxpbmUiLCJnZXRQaXBlbGluZSIsIndoZXJlIiwiSlNPTiIsInBhcnNlIiwicmVzcG9uc2UiLCJyZXN0IiwiZmluZCIsImNvbmZpZyIsImF1dGgiLCJjbGFzc05hbWUiLCJpbmZvIiwiY2xpZW50U0RLIiwiY29udGV4dCIsInJlc3VsdCIsInJlc3VsdHMiLCJVc2Vyc1JvdXRlciIsInJlbW92ZUhpZGRlblByb3BlcnRpZXMiLCJQYXJzZSIsIkVycm9yIiwiSU5WQUxJRF9RVUVSWSIsIm1lc3NhZ2UiLCJBcnJheSIsImlzQXJyYXkiLCJrZXlzIiwiZmlsdGVyIiwia2V5IiwidW5kZWZpbmVkIiwibWFwIiwic3RhZ2UiLCJsZW5ndGgiLCJqb2luIiwidHJhbnNmb3JtU3RhZ2UiLCJzdGFnZU5hbWUiLCJza2lwS2V5cyIsImluY2x1ZGVzIiwicHJvdG90eXBlIiwibW91bnRSb3V0ZXMiLCJyb3V0ZSIsInByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzIiwiZXhwb3J0cyIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1JvdXRlcnMvQWdncmVnYXRlUm91dGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZSBmcm9tICdwYXJzZS9ub2RlJztcbmltcG9ydCAqIGFzIG1pZGRsZXdhcmUgZnJvbSAnLi4vbWlkZGxld2FyZXMnO1xuaW1wb3J0IHJlc3QgZnJvbSAnLi4vcmVzdCc7XG5pbXBvcnQgQ2xhc3Nlc1JvdXRlciBmcm9tICcuL0NsYXNzZXNSb3V0ZXInO1xuaW1wb3J0IFVzZXJzUm91dGVyIGZyb20gJy4vVXNlcnNSb3V0ZXInO1xuXG5leHBvcnQgY2xhc3MgQWdncmVnYXRlUm91dGVyIGV4dGVuZHMgQ2xhc3Nlc1JvdXRlciB7XG4gIGFzeW5jIGhhbmRsZUZpbmQocmVxKSB7XG4gICAgY29uc3QgYm9keSA9IE9iamVjdC5hc3NpZ24ocmVxLmJvZHkgfHwge30sIENsYXNzZXNSb3V0ZXIuSlNPTkZyb21RdWVyeShyZXEucXVlcnkpKTtcbiAgICBjb25zdCBvcHRpb25zID0ge307XG4gICAgaWYgKGJvZHkuZGlzdGluY3QpIHtcbiAgICAgIG9wdGlvbnMuZGlzdGluY3QgPSBTdHJpbmcoYm9keS5kaXN0aW5jdCk7XG4gICAgfVxuICAgIGlmIChib2R5LmhpbnQpIHtcbiAgICAgIG9wdGlvbnMuaGludCA9IGJvZHkuaGludDtcbiAgICAgIGRlbGV0ZSBib2R5LmhpbnQ7XG4gICAgfVxuICAgIGlmIChib2R5LmV4cGxhaW4pIHtcbiAgICAgIG9wdGlvbnMuZXhwbGFpbiA9IGJvZHkuZXhwbGFpbjtcbiAgICAgIGRlbGV0ZSBib2R5LmV4cGxhaW47XG4gICAgfVxuICAgIGlmIChib2R5LmNvbW1lbnQpIHtcbiAgICAgIG9wdGlvbnMuY29tbWVudCA9IGJvZHkuY29tbWVudDtcbiAgICAgIGRlbGV0ZSBib2R5LmNvbW1lbnQ7XG4gICAgfVxuICAgIGlmIChib2R5LnJlYWRQcmVmZXJlbmNlKSB7XG4gICAgICBvcHRpb25zLnJlYWRQcmVmZXJlbmNlID0gYm9keS5yZWFkUHJlZmVyZW5jZTtcbiAgICAgIGRlbGV0ZSBib2R5LnJlYWRQcmVmZXJlbmNlO1xuICAgIH1cbiAgICBvcHRpb25zLnBpcGVsaW5lID0gQWdncmVnYXRlUm91dGVyLmdldFBpcGVsaW5lKGJvZHkpO1xuICAgIGlmICh0eXBlb2YgYm9keS53aGVyZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGJvZHkud2hlcmUgPSBKU09OLnBhcnNlKGJvZHkud2hlcmUpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXN0LmZpbmQoXG4gICAgICAgIHJlcS5jb25maWcsXG4gICAgICAgIHJlcS5hdXRoLFxuICAgICAgICB0aGlzLmNsYXNzTmFtZShyZXEpLFxuICAgICAgICBib2R5LndoZXJlLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICByZXEuaW5mby5jbGllbnRTREssXG4gICAgICAgIHJlcS5pbmZvLmNvbnRleHRcbiAgICAgICk7XG4gICAgICBmb3IgKGNvbnN0IHJlc3VsdCBvZiByZXNwb25zZS5yZXN1bHRzKSB7XG4gICAgICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIFVzZXJzUm91dGVyLnJlbW92ZUhpZGRlblByb3BlcnRpZXMocmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHsgcmVzcG9uc2UgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9RVUVSWSwgZS5tZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICAvKiBCdWlsZHMgYSBwaXBlbGluZSBmcm9tIHRoZSBib2R5LiBPcmlnaW5hbGx5IHRoZSBib2R5IGNvdWxkIGJlIHBhc3NlZCBhcyBhIHNpbmdsZSBvYmplY3QsXG4gICAqIGFuZCBub3cgd2Ugc3VwcG9ydCBtYW55IG9wdGlvbnMuXG4gICAqXG4gICAqIEFycmF5XG4gICAqXG4gICAqIGJvZHk6IFt7XG4gICAqICAgZ3JvdXA6IHsgb2JqZWN0SWQ6ICckbmFtZScgfSxcbiAgICogfV1cbiAgICpcbiAgICogT2JqZWN0XG4gICAqXG4gICAqIGJvZHk6IHtcbiAgICogICBncm91cDogeyBvYmplY3RJZDogJyRuYW1lJyB9LFxuICAgKiB9XG4gICAqXG4gICAqXG4gICAqIFBpcGVsaW5lIE9wZXJhdG9yIHdpdGggYW4gQXJyYXkgb3IgYW4gT2JqZWN0XG4gICAqXG4gICAqIGJvZHk6IHtcbiAgICogICBwaXBlbGluZToge1xuICAgKiAgICAgJGdyb3VwOiB7IG9iamVjdElkOiAnJG5hbWUnIH0sXG4gICAqICAgfVxuICAgKiB9XG4gICAqXG4gICAqL1xuICBzdGF0aWMgZ2V0UGlwZWxpbmUoYm9keSkge1xuICAgIGxldCBwaXBlbGluZSA9IGJvZHkucGlwZWxpbmUgfHwgYm9keTtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocGlwZWxpbmUpKSB7XG4gICAgICBwaXBlbGluZSA9IE9iamVjdC5rZXlzKHBpcGVsaW5lKVxuICAgICAgICAuZmlsdGVyKGtleSA9PiBwaXBlbGluZVtrZXldICE9PSB1bmRlZmluZWQpXG4gICAgICAgIC5tYXAoa2V5ID0+IHtcbiAgICAgICAgICByZXR1cm4geyBba2V5XTogcGlwZWxpbmVba2V5XSB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGlwZWxpbmUubWFwKHN0YWdlID0+IHtcbiAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzdGFnZSk7XG4gICAgICBpZiAoa2V5cy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICAgIFBhcnNlLkVycm9yLklOVkFMSURfUVVFUlksXG4gICAgICAgICAgYFBpcGVsaW5lIHN0YWdlcyBzaG91bGQgb25seSBoYXZlIG9uZSBrZXkgYnV0IGZvdW5kICR7a2V5cy5qb2luKCcsICcpfS5gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gQWdncmVnYXRlUm91dGVyLnRyYW5zZm9ybVN0YWdlKGtleXNbMF0sIHN0YWdlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyB0cmFuc2Zvcm1TdGFnZShzdGFnZU5hbWUsIHN0YWdlKSB7XG4gICAgY29uc3Qgc2tpcEtleXMgPSBbJ2Rpc3RpbmN0JywgJ3doZXJlJ107XG4gICAgaWYgKHNraXBLZXlzLmluY2x1ZGVzKHN0YWdlTmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHN0YWdlTmFtZVswXSAhPT0gJyQnKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuSU5WQUxJRF9RVUVSWSwgYEludmFsaWQgYWdncmVnYXRlIHN0YWdlICcke3N0YWdlTmFtZX0nLmApO1xuICAgIH1cbiAgICBpZiAoc3RhZ2VOYW1lID09PSAnJGdyb3VwJykge1xuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzdGFnZVtzdGFnZU5hbWVdLCAnb2JqZWN0SWQnKSkge1xuICAgICAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoXG4gICAgICAgICAgUGFyc2UuRXJyb3IuSU5WQUxJRF9RVUVSWSxcbiAgICAgICAgICBgQ2Fubm90IHVzZSAnb2JqZWN0SWQnIGluIGFnZ3JlZ2F0aW9uIHN0YWdlICRncm91cC5gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzdGFnZVtzdGFnZU5hbWVdLCAnX2lkJykpIHtcbiAgICAgICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFxuICAgICAgICAgIFBhcnNlLkVycm9yLklOVkFMSURfUVVFUlksXG4gICAgICAgICAgYEludmFsaWQgcGFyYW1ldGVyIGZvciBxdWVyeTogZ3JvdXAuIE1pc3Npbmcga2V5IF9pZGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgW3N0YWdlTmFtZV06IHN0YWdlW3N0YWdlTmFtZV0gfTtcbiAgfVxuXG4gIG1vdW50Um91dGVzKCkge1xuICAgIHRoaXMucm91dGUoJ0dFVCcsICcvYWdncmVnYXRlLzpjbGFzc05hbWUnLCBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLCByZXEgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRmluZChyZXEpO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFnZ3JlZ2F0ZVJvdXRlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQXdDLFNBQUFFLHdCQUFBSSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBTix1QkFBQSxZQUFBQSxDQUFBSSxDQUFBLEVBQUFDLENBQUEsU0FBQUEsQ0FBQSxJQUFBRCxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxTQUFBTCxDQUFBLE1BQUFNLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLEtBQUFDLFNBQUEsUUFBQUMsT0FBQSxFQUFBVixDQUFBLGlCQUFBQSxDQUFBLHVCQUFBQSxDQUFBLHlCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFP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
|
|
@@ -1,32 +1,26 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.AnalyticsRouter =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var _PromiseRouter2 = _interopRequireDefault(_PromiseRouter);
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
+
exports.AnalyticsRouter = void 0;
|
|
7
|
+
var _PromiseRouter = _interopRequireDefault(require("../PromiseRouter"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
// AnalyticsRouter.js
|
|
13
10
|
|
|
14
11
|
function appOpened(req) {
|
|
15
12
|
const analyticsController = req.config.analyticsController;
|
|
16
13
|
return analyticsController.appOpened(req);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
}
|
|
20
15
|
function trackEvent(req) {
|
|
21
16
|
const analyticsController = req.config.analyticsController;
|
|
22
17
|
return analyticsController.trackEvent(req);
|
|
23
18
|
}
|
|
24
|
-
|
|
25
|
-
class AnalyticsRouter extends _PromiseRouter2.default {
|
|
19
|
+
class AnalyticsRouter extends _PromiseRouter.default {
|
|
26
20
|
mountRoutes() {
|
|
27
21
|
this.route('POST', '/events/AppOpened', appOpened);
|
|
28
22
|
this.route('POST', '/events/:eventName', trackEvent);
|
|
29
23
|
}
|
|
30
24
|
}
|
|
31
25
|
exports.AnalyticsRouter = AnalyticsRouter;
|
|
32
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfUHJvbWlzZVJvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiYXBwT3BlbmVkIiwicmVxIiwiYW5hbHl0aWNzQ29udHJvbGxlciIsImNvbmZpZyIsInRyYWNrRXZlbnQiLCJBbmFseXRpY3NSb3V0ZXIiLCJQcm9taXNlUm91dGVyIiwibW91bnRSb3V0ZXMiLCJyb3V0ZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvUm91dGVycy9BbmFseXRpY3NSb3V0ZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5hbHl0aWNzUm91dGVyLmpzXG5pbXBvcnQgUHJvbWlzZVJvdXRlciBmcm9tICcuLi9Qcm9taXNlUm91dGVyJztcblxuZnVuY3Rpb24gYXBwT3BlbmVkKHJlcSkge1xuICBjb25zdCBhbmFseXRpY3NDb250cm9sbGVyID0gcmVxLmNvbmZpZy5hbmFseXRpY3NDb250cm9sbGVyO1xuICByZXR1cm4gYW5hbHl0aWNzQ29udHJvbGxlci5hcHBPcGVuZWQocmVxKTtcbn1cblxuZnVuY3Rpb24gdHJhY2tFdmVudChyZXEpIHtcbiAgY29uc3QgYW5hbHl0aWNzQ29udHJvbGxlciA9IHJlcS5jb25maWcuYW5hbHl0aWNzQ29udHJvbGxlcjtcbiAgcmV0dXJuIGFuYWx5dGljc0NvbnRyb2xsZXIudHJhY2tFdmVudChyZXEpO1xufVxuXG5leHBvcnQgY2xhc3MgQW5hbHl0aWNzUm91dGVyIGV4dGVuZHMgUHJvbWlzZVJvdXRlciB7XG4gIG1vdW50Um91dGVzKCkge1xuICAgIHRoaXMucm91dGUoJ1BPU1QnLCAnL2V2ZW50cy9BcHBPcGVuZWQnLCBhcHBPcGVuZWQpO1xuICAgIHRoaXMucm91dGUoJ1BPU1QnLCAnL2V2ZW50cy86ZXZlbnROYW1lJywgdHJhY2tFdmVudCk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsY0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQTZDLFNBQUFELHVCQUFBRSxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRDdDOztBQUdBLFNBQVNHLFNBQVNBLENBQUNDLEdBQUcsRUFBRTtFQUN0QixNQUFNQyxtQkFBbUIsR0FBR0QsR0FBRyxDQUFDRSxNQUFNLENBQUNELG1CQUFtQjtFQUMxRCxPQUFPQSxtQkFBbUIsQ0FBQ0YsU0FBUyxDQUFDQyxHQUFHLENBQUM7QUFDM0M7QUFFQSxTQUFTRyxVQUFVQSxDQUFDSCxHQUFHLEVBQUU7RUFDdkIsTUFBTUMsbUJBQW1CLEdBQUdELEdBQUcsQ0FBQ0UsTUFBTSxDQUFDRCxtQkFBbUI7RUFDMUQsT0FBT0EsbUJBQW1CLENBQUNFLFVBQVUsQ0FBQ0gsR0FBRyxDQUFDO0FBQzVDO0FBRU8sTUFBTUksZUFBZSxTQUFTQyxzQkFBYSxDQUFDO0VBQ2pEQyxXQUFXQSxDQUFBLEVBQUc7SUFDWixJQUFJLENBQUNDLEtBQUssQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLEVBQUVSLFNBQVMsQ0FBQztJQUNsRCxJQUFJLENBQUNRLEtBQUssQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLEVBQUVKLFVBQVUsQ0FBQztFQUN0RDtBQUNGO0FBQUNLLE9BQUEsQ0FBQUosZUFBQSxHQUFBQSxlQUFBIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,54 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.AudiencesRouter =
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var _rest2 = _interopRequireDefault(_rest);
|
|
15
|
-
|
|
16
|
-
var _middlewares = require('../middlewares');
|
|
17
|
-
|
|
18
|
-
var middleware = _interopRequireWildcard(_middlewares);
|
|
19
|
-
|
|
20
|
-
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; } }
|
|
21
|
-
|
|
22
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
|
-
class AudiencesRouter extends _ClassesRouter2.default {
|
|
25
|
-
|
|
6
|
+
exports.default = exports.AudiencesRouter = void 0;
|
|
7
|
+
var _ClassesRouter = _interopRequireDefault(require("./ClassesRouter"));
|
|
8
|
+
var _rest = _interopRequireDefault(require("../rest"));
|
|
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 AudiencesRouter extends _ClassesRouter.default {
|
|
26
13
|
className() {
|
|
27
14
|
return '_Audience';
|
|
28
15
|
}
|
|
29
|
-
|
|
30
16
|
handleFind(req) {
|
|
31
|
-
const body = Object.assign(req.body,
|
|
32
|
-
const options =
|
|
33
|
-
|
|
34
|
-
return _rest2.default.find(req.config, req.auth, '_Audience', body.where, options, req.info.clientSDK).then(response => {
|
|
35
|
-
|
|
17
|
+
const body = Object.assign(req.body || {}, _ClassesRouter.default.JSONFromQuery(req.query));
|
|
18
|
+
const options = _ClassesRouter.default.optionsFromBody(body, req.config.defaultLimit);
|
|
19
|
+
return _rest.default.find(req.config, req.auth, '_Audience', body.where, options, req.info.clientSDK, req.info.context).then(response => {
|
|
36
20
|
response.results.forEach(item => {
|
|
37
21
|
item.query = JSON.parse(item.query);
|
|
38
22
|
});
|
|
39
|
-
|
|
40
|
-
|
|
23
|
+
return {
|
|
24
|
+
response: response
|
|
25
|
+
};
|
|
41
26
|
});
|
|
42
27
|
}
|
|
43
|
-
|
|
44
28
|
handleGet(req) {
|
|
45
29
|
return super.handleGet(req).then(data => {
|
|
46
30
|
data.response.query = JSON.parse(data.response.query);
|
|
47
|
-
|
|
48
31
|
return data;
|
|
49
32
|
});
|
|
50
33
|
}
|
|
51
|
-
|
|
52
34
|
mountRoutes() {
|
|
53
35
|
this.route('GET', '/push_audiences', middleware.promiseEnforceMasterKeyAccess, req => {
|
|
54
36
|
return this.handleFind(req);
|
|
@@ -67,7 +49,6 @@ class AudiencesRouter extends _ClassesRouter2.default {
|
|
|
67
49
|
});
|
|
68
50
|
}
|
|
69
51
|
}
|
|
70
|
-
|
|
71
52
|
exports.AudiencesRouter = AudiencesRouter;
|
|
72
|
-
exports.default = AudiencesRouter;
|
|
73
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
53
|
+
var _default = exports.default = AudiencesRouter;
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQ2xhc3Nlc1JvdXRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Jlc3QiLCJtaWRkbGV3YXJlIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJkZWZhdWx0IiwiaGFzIiwiZ2V0Iiwic2V0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJBdWRpZW5jZXNSb3V0ZXIiLCJDbGFzc2VzUm91dGVyIiwiY2xhc3NOYW1lIiwiaGFuZGxlRmluZCIsInJlcSIsImJvZHkiLCJhc3NpZ24iLCJKU09ORnJvbVF1ZXJ5IiwicXVlcnkiLCJvcHRpb25zIiwib3B0aW9uc0Zyb21Cb2R5IiwiY29uZmlnIiwiZGVmYXVsdExpbWl0IiwicmVzdCIsImZpbmQiLCJhdXRoIiwid2hlcmUiLCJpbmZvIiwiY2xpZW50U0RLIiwiY29udGV4dCIsInRoZW4iLCJyZXNwb25zZSIsInJlc3VsdHMiLCJmb3JFYWNoIiwiaXRlbSIsIkpTT04iLCJwYXJzZSIsImhhbmRsZUdldCIsImRhdGEiLCJtb3VudFJvdXRlcyIsInJvdXRlIiwicHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MiLCJoYW5kbGVDcmVhdGUiLCJoYW5kbGVVcGRhdGUiLCJoYW5kbGVEZWxldGUiLCJleHBvcnRzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvUm91dGVycy9BdWRpZW5jZXNSb3V0ZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENsYXNzZXNSb3V0ZXIgZnJvbSAnLi9DbGFzc2VzUm91dGVyJztcbmltcG9ydCByZXN0IGZyb20gJy4uL3Jlc3QnO1xuaW1wb3J0ICogYXMgbWlkZGxld2FyZSBmcm9tICcuLi9taWRkbGV3YXJlcyc7XG5cbmV4cG9ydCBjbGFzcyBBdWRpZW5jZXNSb3V0ZXIgZXh0ZW5kcyBDbGFzc2VzUm91dGVyIHtcbiAgY2xhc3NOYW1lKCkge1xuICAgIHJldHVybiAnX0F1ZGllbmNlJztcbiAgfVxuXG4gIGhhbmRsZUZpbmQocmVxKSB7XG4gICAgY29uc3QgYm9keSA9IE9iamVjdC5hc3NpZ24ocmVxLmJvZHkgfHwge30sIENsYXNzZXNSb3V0ZXIuSlNPTkZyb21RdWVyeShyZXEucXVlcnkpKTtcbiAgICBjb25zdCBvcHRpb25zID0gQ2xhc3Nlc1JvdXRlci5vcHRpb25zRnJvbUJvZHkoYm9keSwgcmVxLmNvbmZpZy5kZWZhdWx0TGltaXQpO1xuXG4gICAgcmV0dXJuIHJlc3RcbiAgICAgIC5maW5kKFxuICAgICAgICByZXEuY29uZmlnLFxuICAgICAgICByZXEuYXV0aCxcbiAgICAgICAgJ19BdWRpZW5jZScsXG4gICAgICAgIGJvZHkud2hlcmUsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIHJlcS5pbmZvLmNsaWVudFNESyxcbiAgICAgICAgcmVxLmluZm8uY29udGV4dFxuICAgICAgKVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICByZXNwb25zZS5yZXN1bHRzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgaXRlbS5xdWVyeSA9IEpTT04ucGFyc2UoaXRlbS5xdWVyeSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7IHJlc3BvbnNlOiByZXNwb25zZSB9O1xuICAgICAgfSk7XG4gIH1cblxuICBoYW5kbGVHZXQocmVxKSB7XG4gICAgcmV0dXJuIHN1cGVyLmhhbmRsZUdldChyZXEpLnRoZW4oZGF0YSA9PiB7XG4gICAgICBkYXRhLnJlc3BvbnNlLnF1ZXJ5ID0gSlNPTi5wYXJzZShkYXRhLnJlc3BvbnNlLnF1ZXJ5KTtcblxuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBtb3VudFJvdXRlcygpIHtcbiAgICB0aGlzLnJvdXRlKCdHRVQnLCAnL3B1c2hfYXVkaWVuY2VzJywgbWlkZGxld2FyZS5wcm9taXNlRW5mb3JjZU1hc3RlcktleUFjY2VzcywgcmVxID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZUZpbmQocmVxKTtcbiAgICB9KTtcbiAgICB0aGlzLnJvdXRlKFxuICAgICAgJ0dFVCcsXG4gICAgICAnL3B1c2hfYXVkaWVuY2VzLzpvYmplY3RJZCcsXG4gICAgICBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgcmVxID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlR2V0KHJlcSk7XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLnJvdXRlKCdQT1NUJywgJy9wdXNoX2F1ZGllbmNlcycsIG1pZGRsZXdhcmUucHJvbWlzZUVuZm9yY2VNYXN0ZXJLZXlBY2Nlc3MsIHJlcSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVDcmVhdGUocmVxKTtcbiAgICB9KTtcbiAgICB0aGlzLnJvdXRlKFxuICAgICAgJ1BVVCcsXG4gICAgICAnL3B1c2hfYXVkaWVuY2VzLzpvYmplY3RJZCcsXG4gICAgICBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgcmVxID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlVXBkYXRlKHJlcSk7XG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLnJvdXRlKFxuICAgICAgJ0RFTEVURScsXG4gICAgICAnL3B1c2hfYXVkaWVuY2VzLzpvYmplY3RJZCcsXG4gICAgICBtaWRkbGV3YXJlLnByb21pc2VFbmZvcmNlTWFzdGVyS2V5QWNjZXNzLFxuICAgICAgcmVxID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRGVsZXRlKHJlcSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBdWRpZW5jZXNSb3V0ZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFVBQUEsR0FBQUMsdUJBQUEsQ0FBQUgsT0FBQTtBQUE2QyxTQUFBRyx3QkFBQUMsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUgsdUJBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLFFBQUFDLE9BQUEsRUFBQVYsQ0FBQSxpQkFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxTQUFBUSxDQUFBLE1BQUFGLENBQUEsR0FBQUwsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsUUFBQUcsQ0FBQSxDQUFBSyxHQUFBLENBQUFYLENBQUEsVUFBQU0sQ0FBQSxDQUFBTSxHQUFBLENBQUFaLENBQUEsR0FBQU0sQ0FBQSxDQUFBTyxHQUFBLENBQUFiLENBQUEsRUFBQVEsQ0FBQSxnQkFBQVAsQ0FBQSxJQUFBRCxDQUFBLGdCQUFBQyxDQUFBLE9BQUFhLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixDQUFBLEVBQUFDLENBQUEsT0FBQU0sQ0FBQSxJQUFBRCxDQUFBLEdBQUFVLE1BQUEsQ0FBQUMsY0FBQSxLQUFBRCxNQUFBLENBQUFFLHdCQUFBLENBQUFsQixDQUFBLEVBQUFDLENBQUEsT0FBQU0sQ0FBQSxDQUFBSyxHQUFBLElBQUFMLENBQUEsQ0FBQU0sR0FBQSxJQUFBUCxDQUFBLENBQUFFLENBQUEsRUFBQVAsQ0FBQSxFQUFBTSxDQUFBLElBQUFDLENBQUEsQ0FBQVAsQ0FBQSxJQUFBRCxDQUFBLENBQUFDLENBQUEsV0FBQU8sQ0FBQSxLQUFBUixDQUFBLEVBQUFDLENBQUE7QUFBQSxTQUFBTix1QkFBQUssQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUssVUFBQSxHQUFBTCxDQUFBLEtBQUFVLE9BQUEsRUFBQVYsQ0FBQTtBQUV0QyxNQUFNbUIsZUFBZSxTQUFTQyxzQkFBYSxDQUFDO0VBQ2pEQyxTQUFTQSxDQUFBLEVBQUc7SUFDVixPQUFPLFdBQVc7RUFDcEI7RUFFQUMsVUFBVUEsQ0FBQ0MsR0FBRyxFQUFFO0lBQ2QsTUFBTUMsSUFBSSxHQUFHUixNQUFNLENBQUNTLE1BQU0sQ0FBQ0YsR0FBRyxDQUFDQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUVKLHNCQUFhLENBQUNNLGFBQWEsQ0FBQ0gsR0FBRyxDQUFDSSxLQUFLLENBQUMsQ0FBQztJQUNsRixNQUFNQyxPQUFPLEdBQUdSLHNCQUFhLENBQUNTLGVBQWUsQ0FBQ0wsSUFBSSxFQUFFRCxHQUFHLENBQUNPLE1BQU0sQ0FBQ0MsWUFBWSxDQUFDO0lBRTVFLE9BQU9DLGFBQUksQ0FDUkMsSUFBSSxDQUNIVixHQUFHLENBQUNPLE1BQU0sRUFDVlAsR0FBRyxDQUFDVyxJQUFJLEVBQ1IsV0FBVyxFQUNYVixJQUFJLENBQUNXLEtBQUssRUFDVlAsT0FBTyxFQUNQTCxHQUFHLENBQUNhLElBQUksQ0FBQ0MsU0FBUyxFQUNsQmQsR0FBRyxDQUFDYSxJQUFJLENBQUNFLE9BQ1gsQ0FBQyxDQUNBQyxJQUFJLENBQUNDLFFBQVEsSUFBSTtNQUNoQkEsUUFBUSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQ0MsSUFBSSxJQUFJO1FBQy9CQSxJQUFJLENBQUNoQixLQUFLLEdBQUdpQixJQUFJLENBQUNDLEtBQUssQ0FBQ0YsSUFBSSxDQUFDaEIsS0FBSyxDQUFDO01BQ3JDLENBQUMsQ0FBQztNQUVGLE9BQU87UUFBRWEsUUFBUSxFQUFFQTtNQUFTLENBQUM7SUFDL0IsQ0FBQyxDQUFDO0VBQ047RUFFQU0sU0FBU0EsQ0FBQ3ZCLEdBQUcsRUFBRTtJQUNiLE9BQU8sS0FBSyxDQUFDdUIsU0FBUyxDQUFDdkIsR0FBRyxDQUFDLENBQUNnQixJQUFJLENBQUNRLElBQUksSUFBSTtNQUN2Q0EsSUFBSSxDQUFDUCxRQUFRLENBQUNiLEtBQUssR0FBR2lCLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxJQUFJLENBQUNQLFFBQVEsQ0FBQ2IsS0FBSyxDQUFDO01BRXJELE9BQU9vQixJQUFJO0lBQ2IsQ0FBQyxDQUFDO0VBQ0o7RUFFQUMsV0FBV0EsQ0FBQSxFQUFHO0lBQ1osSUFBSSxDQUFDQyxLQUFLLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFbkQsVUFBVSxDQUFDb0QsNkJBQTZCLEVBQUUzQixHQUFHLElBQUk7TUFDcEYsT0FBTyxJQUFJLENBQUNELFVBQVUsQ0FBQ0MsR0FBRyxDQUFDO0lBQzdCLENBQUMsQ0FBQztJQUNGLElBQUksQ0FBQzBCLEtBQUssQ0FDUixLQUFLLEVBQ0wsMkJBQTJCLEVBQzNCbkQsVUFBVSxDQUFDb0QsNkJBQTZCLEVBQ3hDM0IsR0FBRyxJQUFJO01BQ0wsT0FBTyxJQUFJLENBQUN1QixTQUFTLENBQUN2QixHQUFHLENBQUM7SUFDNUIsQ0FDRixDQUFDO0lBQ0QsSUFBSSxDQUFDMEIsS0FBSyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRW5ELFVBQVUsQ0FBQ29ELDZCQUE2QixFQUFFM0IsR0FBRyxJQUFJO01BQ3JGLE9BQU8sSUFBSSxDQUFDNEIsWUFBWSxDQUFDNUIsR0FBRyxDQUFDO0lBQy9CLENBQUMsQ0FBQztJQUNGLElBQUksQ0FBQzBCLEtBQUssQ0FDUixLQUFLLEVBQ0wsMkJBQTJCLEVBQzNCbkQsVUFBVSxDQUFDb0QsNkJBQTZCLEVBQ3hDM0IsR0FBRyxJQUFJO01BQ0wsT0FBTyxJQUFJLENBQUM2QixZQUFZLENBQUM3QixHQUFHLENBQUM7SUFDL0IsQ0FDRixDQUFDO0lBQ0QsSUFBSSxDQUFDMEIsS0FBSyxDQUNSLFFBQVEsRUFDUiwyQkFBMkIsRUFDM0JuRCxVQUFVLENBQUNvRCw2QkFBNkIsRUFDeEMzQixHQUFHLElBQUk7TUFDTCxPQUFPLElBQUksQ0FBQzhCLFlBQVksQ0FBQzlCLEdBQUcsQ0FBQztJQUMvQixDQUNGLENBQUM7RUFDSDtBQUNGO0FBQUMrQixPQUFBLENBQUFuQyxlQUFBLEdBQUFBLGVBQUE7QUFBQSxJQUFBb0MsUUFBQSxHQUFBRCxPQUFBLENBQUE1QyxPQUFBLEdBRWNTLGVBQWUiLCJpZ25vcmVMaXN0IjpbXX0=
|