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.
Files changed (240) hide show
  1. package/LICENSE +167 -25
  2. package/NOTICE +10 -0
  3. package/README.md +929 -278
  4. package/lib/AccountLockout.js +47 -30
  5. package/lib/Adapters/AdapterLoader.js +21 -6
  6. package/lib/Adapters/Analytics/AnalyticsAdapter.js +15 -12
  7. package/lib/Adapters/Auth/AuthAdapter.js +116 -13
  8. package/lib/Adapters/Auth/BaseCodeAuthAdapter.js +99 -0
  9. package/lib/Adapters/Auth/OAuth1Client.js +27 -46
  10. package/lib/Adapters/Auth/apple.js +123 -0
  11. package/lib/Adapters/Auth/facebook.js +162 -35
  12. package/lib/Adapters/Auth/gcenter.js +217 -0
  13. package/lib/Adapters/Auth/github.js +118 -48
  14. package/lib/Adapters/Auth/google.js +160 -51
  15. package/lib/Adapters/Auth/gpgames.js +125 -0
  16. package/lib/Adapters/Auth/httpsRequest.js +6 -7
  17. package/lib/Adapters/Auth/index.js +170 -62
  18. package/lib/Adapters/Auth/instagram.js +114 -40
  19. package/lib/Adapters/Auth/janraincapture.js +52 -23
  20. package/lib/Adapters/Auth/janrainengage.js +19 -36
  21. package/lib/Adapters/Auth/keycloak.js +148 -0
  22. package/lib/Adapters/Auth/ldap.js +167 -0
  23. package/lib/Adapters/Auth/line.js +125 -0
  24. package/lib/Adapters/Auth/linkedin.js +111 -55
  25. package/lib/Adapters/Auth/meetup.js +24 -34
  26. package/lib/Adapters/Auth/mfa.js +324 -0
  27. package/lib/Adapters/Auth/microsoft.js +111 -0
  28. package/lib/Adapters/Auth/oauth2.js +97 -162
  29. package/lib/Adapters/Auth/phantauth.js +53 -0
  30. package/lib/Adapters/Auth/qq.js +108 -49
  31. package/lib/Adapters/Auth/spotify.js +107 -55
  32. package/lib/Adapters/Auth/twitter.js +188 -48
  33. package/lib/Adapters/Auth/utils.js +28 -0
  34. package/lib/Adapters/Auth/vkontakte.js +26 -39
  35. package/lib/Adapters/Auth/wechat.js +106 -44
  36. package/lib/Adapters/Auth/weibo.js +132 -58
  37. package/lib/Adapters/Cache/CacheAdapter.js +13 -8
  38. package/lib/Adapters/Cache/InMemoryCache.js +3 -13
  39. package/lib/Adapters/Cache/InMemoryCacheAdapter.js +5 -13
  40. package/lib/Adapters/Cache/LRUCache.js +13 -27
  41. package/lib/Adapters/Cache/NullCacheAdapter.js +3 -8
  42. package/lib/Adapters/Cache/RedisCacheAdapter.js +85 -76
  43. package/lib/Adapters/Cache/SchemaCache.js +25 -0
  44. package/lib/Adapters/Email/MailAdapter.js +10 -8
  45. package/lib/Adapters/Files/FilesAdapter.js +83 -25
  46. package/lib/Adapters/Files/GridFSBucketAdapter.js +231 -0
  47. package/lib/Adapters/Files/GridStoreAdapter.js +4 -91
  48. package/lib/Adapters/Logger/LoggerAdapter.js +18 -14
  49. package/lib/Adapters/Logger/WinstonLogger.js +69 -88
  50. package/lib/Adapters/Logger/WinstonLoggerAdapter.js +7 -16
  51. package/lib/Adapters/MessageQueue/EventEmitterMQ.js +8 -26
  52. package/lib/Adapters/PubSub/EventEmitterPubSub.js +12 -25
  53. package/lib/Adapters/PubSub/PubSubAdapter.js +34 -0
  54. package/lib/Adapters/PubSub/RedisPubSub.js +42 -19
  55. package/lib/Adapters/Push/PushAdapter.js +14 -7
  56. package/lib/Adapters/Storage/Mongo/MongoCollection.js +137 -45
  57. package/lib/Adapters/Storage/Mongo/MongoSchemaCollection.js +158 -63
  58. package/lib/Adapters/Storage/Mongo/MongoStorageAdapter.js +320 -168
  59. package/lib/Adapters/Storage/Mongo/MongoTransform.js +279 -306
  60. package/lib/Adapters/Storage/Postgres/PostgresClient.js +14 -10
  61. package/lib/Adapters/Storage/Postgres/PostgresConfigParser.js +47 -21
  62. package/lib/Adapters/Storage/Postgres/PostgresStorageAdapter.js +854 -468
  63. package/lib/Adapters/Storage/Postgres/sql/index.js +4 -6
  64. package/lib/Adapters/Storage/StorageAdapter.js +1 -1
  65. package/lib/Adapters/WebSocketServer/WSAdapter.js +35 -0
  66. package/lib/Adapters/WebSocketServer/WSSAdapter.js +66 -0
  67. package/lib/Auth.js +488 -125
  68. package/lib/ClientSDK.js +2 -6
  69. package/lib/Config.js +525 -94
  70. package/lib/Controllers/AdaptableController.js +5 -25
  71. package/lib/Controllers/AnalyticsController.js +22 -23
  72. package/lib/Controllers/CacheController.js +10 -31
  73. package/lib/Controllers/DatabaseController.js +767 -313
  74. package/lib/Controllers/FilesController.js +49 -54
  75. package/lib/Controllers/HooksController.js +80 -84
  76. package/lib/Controllers/LiveQueryController.js +35 -22
  77. package/lib/Controllers/LoggerController.js +22 -58
  78. package/lib/Controllers/ParseGraphQLController.js +293 -0
  79. package/lib/Controllers/PushController.js +58 -49
  80. package/lib/Controllers/SchemaController.js +916 -422
  81. package/lib/Controllers/UserController.js +265 -180
  82. package/lib/Controllers/index.js +90 -125
  83. package/lib/Controllers/types.js +1 -1
  84. package/lib/Deprecator/Deprecations.js +30 -0
  85. package/lib/Deprecator/Deprecator.js +127 -0
  86. package/lib/Error.js +48 -0
  87. package/lib/GraphQL/ParseGraphQLSchema.js +375 -0
  88. package/lib/GraphQL/ParseGraphQLServer.js +214 -0
  89. package/lib/GraphQL/helpers/objectsMutations.js +30 -0
  90. package/lib/GraphQL/helpers/objectsQueries.js +246 -0
  91. package/lib/GraphQL/loaders/configMutations.js +87 -0
  92. package/lib/GraphQL/loaders/configQueries.js +79 -0
  93. package/lib/GraphQL/loaders/defaultGraphQLMutations.js +21 -0
  94. package/lib/GraphQL/loaders/defaultGraphQLQueries.js +23 -0
  95. package/lib/GraphQL/loaders/defaultGraphQLTypes.js +1098 -0
  96. package/lib/GraphQL/loaders/defaultRelaySchema.js +53 -0
  97. package/lib/GraphQL/loaders/filesMutations.js +107 -0
  98. package/lib/GraphQL/loaders/functionsMutations.js +78 -0
  99. package/lib/GraphQL/loaders/parseClassMutations.js +268 -0
  100. package/lib/GraphQL/loaders/parseClassQueries.js +127 -0
  101. package/lib/GraphQL/loaders/parseClassTypes.js +493 -0
  102. package/lib/GraphQL/loaders/schemaDirectives.js +62 -0
  103. package/lib/GraphQL/loaders/schemaMutations.js +162 -0
  104. package/lib/GraphQL/loaders/schemaQueries.js +81 -0
  105. package/lib/GraphQL/loaders/schemaTypes.js +341 -0
  106. package/lib/GraphQL/loaders/usersMutations.js +433 -0
  107. package/lib/GraphQL/loaders/usersQueries.js +90 -0
  108. package/lib/GraphQL/parseGraphQLUtils.js +63 -0
  109. package/lib/GraphQL/transformers/className.js +14 -0
  110. package/lib/GraphQL/transformers/constraintType.js +53 -0
  111. package/lib/GraphQL/transformers/inputType.js +51 -0
  112. package/lib/GraphQL/transformers/mutation.js +274 -0
  113. package/lib/GraphQL/transformers/outputType.js +51 -0
  114. package/lib/GraphQL/transformers/query.js +237 -0
  115. package/lib/GraphQL/transformers/schemaFields.js +99 -0
  116. package/lib/KeyPromiseQueue.js +48 -0
  117. package/lib/LiveQuery/Client.js +25 -33
  118. package/lib/LiveQuery/Id.js +2 -5
  119. package/lib/LiveQuery/ParseCloudCodePublisher.js +26 -23
  120. package/lib/LiveQuery/ParseLiveQueryServer.js +560 -285
  121. package/lib/LiveQuery/ParsePubSub.js +7 -16
  122. package/lib/LiveQuery/ParseWebSocketServer.js +42 -39
  123. package/lib/LiveQuery/QueryTools.js +76 -15
  124. package/lib/LiveQuery/RequestSchema.js +111 -97
  125. package/lib/LiveQuery/SessionTokenCache.js +23 -36
  126. package/lib/LiveQuery/Subscription.js +8 -17
  127. package/lib/LiveQuery/equalObjects.js +2 -3
  128. package/lib/Options/Definitions.js +1355 -382
  129. package/lib/Options/docs.js +301 -62
  130. package/lib/Options/index.js +11 -1
  131. package/lib/Options/parsers.js +14 -10
  132. package/lib/Page.js +44 -0
  133. package/lib/ParseMessageQueue.js +6 -13
  134. package/lib/ParseServer.js +474 -235
  135. package/lib/ParseServerRESTController.js +102 -40
  136. package/lib/PromiseRouter.js +39 -50
  137. package/lib/Push/PushQueue.js +24 -30
  138. package/lib/Push/PushWorker.js +32 -56
  139. package/lib/Push/utils.js +22 -35
  140. package/lib/RestQuery.js +361 -139
  141. package/lib/RestWrite.js +713 -344
  142. package/lib/Routers/AggregateRouter.js +97 -71
  143. package/lib/Routers/AnalyticsRouter.js +8 -14
  144. package/lib/Routers/AudiencesRouter.js +16 -35
  145. package/lib/Routers/ClassesRouter.js +86 -72
  146. package/lib/Routers/CloudCodeRouter.js +28 -37
  147. package/lib/Routers/FeaturesRouter.js +22 -25
  148. package/lib/Routers/FilesRouter.js +266 -171
  149. package/lib/Routers/FunctionsRouter.js +87 -103
  150. package/lib/Routers/GlobalConfigRouter.js +94 -33
  151. package/lib/Routers/GraphQLRouter.js +41 -0
  152. package/lib/Routers/HooksRouter.js +43 -47
  153. package/lib/Routers/IAPValidationRouter.js +57 -70
  154. package/lib/Routers/InstallationsRouter.js +17 -25
  155. package/lib/Routers/LogsRouter.js +10 -25
  156. package/lib/Routers/PagesRouter.js +647 -0
  157. package/lib/Routers/PublicAPIRouter.js +104 -112
  158. package/lib/Routers/PurgeRouter.js +19 -29
  159. package/lib/Routers/PushRouter.js +14 -28
  160. package/lib/Routers/RolesRouter.js +7 -14
  161. package/lib/Routers/SchemasRouter.js +63 -42
  162. package/lib/Routers/SecurityRouter.js +34 -0
  163. package/lib/Routers/SessionsRouter.js +25 -38
  164. package/lib/Routers/UsersRouter.js +463 -190
  165. package/lib/SchemaMigrations/DefinedSchemas.js +379 -0
  166. package/lib/SchemaMigrations/Migrations.js +30 -0
  167. package/lib/Security/Check.js +109 -0
  168. package/lib/Security/CheckGroup.js +44 -0
  169. package/lib/Security/CheckGroups/CheckGroupDatabase.js +44 -0
  170. package/lib/Security/CheckGroups/CheckGroupServerConfig.js +96 -0
  171. package/lib/Security/CheckGroups/CheckGroups.js +21 -0
  172. package/lib/Security/CheckRunner.js +213 -0
  173. package/lib/SharedRest.js +29 -0
  174. package/lib/StatusHandler.js +96 -93
  175. package/lib/TestUtils.js +70 -14
  176. package/lib/Utils.js +468 -0
  177. package/lib/batch.js +74 -40
  178. package/lib/cache.js +8 -8
  179. package/lib/cli/definitions/parse-live-query-server.js +4 -3
  180. package/lib/cli/definitions/parse-server.js +4 -3
  181. package/lib/cli/parse-live-query-server.js +9 -17
  182. package/lib/cli/parse-server.js +49 -47
  183. package/lib/cli/utils/commander.js +20 -29
  184. package/lib/cli/utils/runner.js +31 -32
  185. package/lib/cloud-code/Parse.Cloud.js +711 -36
  186. package/lib/cloud-code/Parse.Server.js +21 -0
  187. package/lib/cryptoUtils.js +6 -11
  188. package/lib/defaults.js +21 -15
  189. package/lib/deprecated.js +1 -1
  190. package/lib/index.js +78 -67
  191. package/lib/logger.js +12 -20
  192. package/lib/middlewares.js +484 -160
  193. package/lib/password.js +10 -6
  194. package/lib/request.js +175 -0
  195. package/lib/requiredParameter.js +4 -3
  196. package/lib/rest.js +157 -82
  197. package/lib/triggers.js +627 -185
  198. package/lib/vendor/README.md +3 -3
  199. package/lib/vendor/mongodbUrl.js +224 -137
  200. package/package.json +135 -57
  201. package/postinstall.js +38 -50
  202. package/public_html/invalid_verification_link.html +3 -3
  203. package/types/@types/@parse/fs-files-adapter/index.d.ts +5 -0
  204. package/types/@types/deepcopy/index.d.ts +5 -0
  205. package/types/LiveQuery/ParseLiveQueryServer.d.ts +40 -0
  206. package/types/Options/index.d.ts +301 -0
  207. package/types/ParseServer.d.ts +65 -0
  208. package/types/eslint.config.mjs +30 -0
  209. package/types/index.d.ts +21 -0
  210. package/types/logger.d.ts +2 -0
  211. package/types/tests.ts +44 -0
  212. package/types/tsconfig.json +24 -0
  213. package/CHANGELOG.md +0 -1246
  214. package/PATENTS +0 -37
  215. package/bin/dev +0 -37
  216. package/lib/.DS_Store +0 -0
  217. package/lib/Adapters/Auth/common.js +0 -2
  218. package/lib/Adapters/Auth/facebookaccountkit.js +0 -69
  219. package/lib/Controllers/SchemaCache.js +0 -97
  220. package/lib/LiveQuery/.DS_Store +0 -0
  221. package/lib/cli/utils/parsers.js +0 -77
  222. package/lib/cloud-code/.DS_Store +0 -0
  223. package/lib/cloud-code/HTTPResponse.js +0 -57
  224. package/lib/cloud-code/Untitled-1 +0 -123
  225. package/lib/cloud-code/httpRequest.js +0 -102
  226. package/lib/cloud-code/team.html +0 -123
  227. package/lib/graphql/ParseClass.js +0 -234
  228. package/lib/graphql/Schema.js +0 -197
  229. package/lib/graphql/index.js +0 -1
  230. package/lib/graphql/types/ACL.js +0 -35
  231. package/lib/graphql/types/Date.js +0 -25
  232. package/lib/graphql/types/File.js +0 -24
  233. package/lib/graphql/types/GeoPoint.js +0 -35
  234. package/lib/graphql/types/JSONObject.js +0 -30
  235. package/lib/graphql/types/NumberInput.js +0 -43
  236. package/lib/graphql/types/NumberQuery.js +0 -42
  237. package/lib/graphql/types/Pointer.js +0 -35
  238. package/lib/graphql/types/QueryConstraint.js +0 -61
  239. package/lib/graphql/types/StringQuery.js +0 -39
  240. package/lib/graphql/types/index.js +0 -110
@@ -3,14 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.AdaptableController = undefined;
7
-
8
- var _Config = require("../Config");
9
-
10
- var _Config2 = _interopRequireDefault(_Config);
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
6
+ exports.default = exports.AdaptableController = void 0;
14
7
  /*
15
8
  AdaptableController.js
16
9
 
@@ -24,39 +17,28 @@ based on the parameters passed
24
17
  // _adapter is private, use Symbol
25
18
  var _adapter = Symbol();
26
19
  class AdaptableController {
27
-
28
20
  constructor(adapter, appId, options) {
29
21
  this.options = options;
30
22
  this.appId = appId;
31
23
  this.adapter = adapter;
32
24
  }
33
-
34
25
  set adapter(adapter) {
35
26
  this.validateAdapter(adapter);
36
27
  this[_adapter] = adapter;
37
28
  }
38
-
39
29
  get adapter() {
40
30
  return this[_adapter];
41
31
  }
42
-
43
- get config() {
44
- return _Config2.default.get(this.appId);
45
- }
46
-
47
32
  expectedAdapterType() {
48
- throw new Error("Subclasses should implement expectedAdapterType()");
33
+ throw new Error('Subclasses should implement expectedAdapterType()');
49
34
  }
50
-
51
35
  validateAdapter(adapter) {
52
36
  AdaptableController.validateAdapter(adapter, this);
53
37
  }
54
-
55
38
  static validateAdapter(adapter, self, ExpectedType) {
56
39
  if (!adapter) {
57
- throw new Error(this.constructor.name + " requires an adapter");
40
+ throw new Error(this.constructor.name + ' requires an adapter');
58
41
  }
59
-
60
42
  const Type = ExpectedType || self.expectedAdapterType();
61
43
  // Allow skipping for testing
62
44
  if (!Type) {
@@ -75,13 +57,11 @@ class AdaptableController {
75
57
  }
76
58
  return obj;
77
59
  }, {});
78
-
79
60
  if (Object.keys(mismatches).length > 0) {
80
61
  throw new Error("Adapter prototype don't match expected prototype", adapter, mismatches);
81
62
  }
82
63
  }
83
64
  }
84
-
85
65
  exports.AdaptableController = AdaptableController;
86
- exports.default = AdaptableController;
87
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9BZGFwdGFibGVDb250cm9sbGVyLmpzIl0sIm5hbWVzIjpbIl9hZGFwdGVyIiwiU3ltYm9sIiwiQWRhcHRhYmxlQ29udHJvbGxlciIsImNvbnN0cnVjdG9yIiwiYWRhcHRlciIsImFwcElkIiwib3B0aW9ucyIsInZhbGlkYXRlQWRhcHRlciIsImNvbmZpZyIsIkNvbmZpZyIsImdldCIsImV4cGVjdGVkQWRhcHRlclR5cGUiLCJFcnJvciIsInNlbGYiLCJFeHBlY3RlZFR5cGUiLCJuYW1lIiwiVHlwZSIsIm1pc21hdGNoZXMiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvdG90eXBlIiwicmVkdWNlIiwib2JqIiwia2V5IiwiYWRhcHRlclR5cGUiLCJleHBlY3RlZFR5cGUiLCJleHBlY3RlZCIsImFjdHVhbCIsImtleXMiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFZQTs7Ozs7O0FBWkE7Ozs7Ozs7Ozs7QUFVQTtBQUNBLElBQUlBLFdBQVdDLFFBQWY7QUFHTyxNQUFNQyxtQkFBTixDQUEwQjs7QUFFL0JDLGNBQVlDLE9BQVosRUFBcUJDLEtBQXJCLEVBQTRCQyxPQUE1QixFQUFxQztBQUNuQyxTQUFLQSxPQUFMLEdBQWVBLE9BQWY7QUFDQSxTQUFLRCxLQUFMLEdBQWFBLEtBQWI7QUFDQSxTQUFLRCxPQUFMLEdBQWVBLE9BQWY7QUFDRDs7QUFFRCxNQUFJQSxPQUFKLENBQVlBLE9BQVosRUFBcUI7QUFDbkIsU0FBS0csZUFBTCxDQUFxQkgsT0FBckI7QUFDQSxTQUFLSixRQUFMLElBQWlCSSxPQUFqQjtBQUNEOztBQUVELE1BQUlBLE9BQUosR0FBYztBQUNaLFdBQU8sS0FBS0osUUFBTCxDQUFQO0FBQ0Q7O0FBRUQsTUFBSVEsTUFBSixHQUFhO0FBQ1gsV0FBT0MsaUJBQU9DLEdBQVAsQ0FBVyxLQUFLTCxLQUFoQixDQUFQO0FBQ0Q7O0FBRURNLHdCQUFzQjtBQUNwQixVQUFNLElBQUlDLEtBQUosQ0FBVSxtREFBVixDQUFOO0FBQ0Q7O0FBRURMLGtCQUFnQkgsT0FBaEIsRUFBeUI7QUFDdkJGLHdCQUFvQkssZUFBcEIsQ0FBb0NILE9BQXBDLEVBQTZDLElBQTdDO0FBQ0Q7O0FBRUQsU0FBT0csZUFBUCxDQUF1QkgsT0FBdkIsRUFBZ0NTLElBQWhDLEVBQXNDQyxZQUF0QyxFQUFvRDtBQUNsRCxRQUFJLENBQUNWLE9BQUwsRUFBYztBQUNaLFlBQU0sSUFBSVEsS0FBSixDQUFVLEtBQUtULFdBQUwsQ0FBaUJZLElBQWpCLEdBQXdCLHNCQUFsQyxDQUFOO0FBQ0Q7O0FBRUQsVUFBTUMsT0FBT0YsZ0JBQWdCRCxLQUFLRixtQkFBTCxFQUE3QjtBQUNBO0FBQ0EsUUFBSSxDQUFDSyxJQUFMLEVBQVc7QUFDVDtBQUNEOztBQUVEO0FBQ0EsVUFBTUMsYUFBYUMsT0FBT0MsbUJBQVAsQ0FBMkJILEtBQUtJLFNBQWhDLEVBQTJDQyxNQUEzQyxDQUFrRCxDQUFDQyxHQUFELEVBQU1DLEdBQU4sS0FBYztBQUNqRixZQUFNQyxjQUFjLE9BQU9wQixRQUFRbUIsR0FBUixDQUEzQjtBQUNBLFlBQU1FLGVBQWUsT0FBT1QsS0FBS0ksU0FBTCxDQUFlRyxHQUFmLENBQTVCO0FBQ0EsVUFBSUMsZ0JBQWdCQyxZQUFwQixFQUFrQztBQUNoQ0gsWUFBSUMsR0FBSixJQUFXO0FBQ1RHLG9CQUFVRCxZQUREO0FBRVRFLGtCQUFRSDtBQUZDLFNBQVg7QUFJRDtBQUNELGFBQU9GLEdBQVA7QUFDRCxLQVZrQixFQVVoQixFQVZnQixDQUFuQjs7QUFZQSxRQUFJSixPQUFPVSxJQUFQLENBQVlYLFVBQVosRUFBd0JZLE1BQXhCLEdBQWlDLENBQXJDLEVBQXdDO0FBQ3RDLFlBQU0sSUFBSWpCLEtBQUosQ0FBVSxrREFBVixFQUE4RFIsT0FBOUQsRUFBdUVhLFVBQXZFLENBQU47QUFDRDtBQUNGO0FBeEQ4Qjs7UUFBcEJmLG1CLEdBQUFBLG1CO2tCQTJERUEsbUIiLCJmaWxlIjoiQWRhcHRhYmxlQ29udHJvbGxlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5BZGFwdGFibGVDb250cm9sbGVyLmpzXG5cbkFkYXB0YWJsZUNvbnRyb2xsZXIgaXMgdGhlIGJhc2UgY2xhc3MgZm9yIGFsbCBjb250cm9sbGVyc1xudGhhdCBzdXBwb3J0IGFkYXB0ZXIsXG5UaGUgc3VwZXIgY2xhc3MgdGFrZXMgY2FyZSBvZiBjcmVhdGluZyB0aGUgcmlnaHQgaW5zdGFuY2UgZm9yIHRoZSBhZGFwdGVyXG5iYXNlZCBvbiB0aGUgcGFyYW1ldGVycyBwYXNzZWRcblxuICovXG5cbi8vIF9hZGFwdGVyIGlzIHByaXZhdGUsIHVzZSBTeW1ib2xcbnZhciBfYWRhcHRlciA9IFN5bWJvbCgpO1xuaW1wb3J0IENvbmZpZyBmcm9tICcuLi9Db25maWcnO1xuXG5leHBvcnQgY2xhc3MgQWRhcHRhYmxlQ29udHJvbGxlciB7XG5cbiAgY29uc3RydWN0b3IoYWRhcHRlciwgYXBwSWQsIG9wdGlvbnMpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuYXBwSWQgPSBhcHBJZDtcbiAgICB0aGlzLmFkYXB0ZXIgPSBhZGFwdGVyO1xuICB9XG5cbiAgc2V0IGFkYXB0ZXIoYWRhcHRlcikge1xuICAgIHRoaXMudmFsaWRhdGVBZGFwdGVyKGFkYXB0ZXIpO1xuICAgIHRoaXNbX2FkYXB0ZXJdID0gYWRhcHRlcjtcbiAgfVxuXG4gIGdldCBhZGFwdGVyKCkge1xuICAgIHJldHVybiB0aGlzW19hZGFwdGVyXTtcbiAgfVxuXG4gIGdldCBjb25maWcoKSB7XG4gICAgcmV0dXJuIENvbmZpZy5nZXQodGhpcy5hcHBJZCk7XG4gIH1cblxuICBleHBlY3RlZEFkYXB0ZXJUeXBlKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlN1YmNsYXNzZXMgc2hvdWxkIGltcGxlbWVudCBleHBlY3RlZEFkYXB0ZXJUeXBlKClcIik7XG4gIH1cblxuICB2YWxpZGF0ZUFkYXB0ZXIoYWRhcHRlcikge1xuICAgIEFkYXB0YWJsZUNvbnRyb2xsZXIudmFsaWRhdGVBZGFwdGVyKGFkYXB0ZXIsIHRoaXMpO1xuICB9XG5cbiAgc3RhdGljIHZhbGlkYXRlQWRhcHRlcihhZGFwdGVyLCBzZWxmLCBFeHBlY3RlZFR5cGUpIHtcbiAgICBpZiAoIWFkYXB0ZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcih0aGlzLmNvbnN0cnVjdG9yLm5hbWUgKyBcIiByZXF1aXJlcyBhbiBhZGFwdGVyXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IFR5cGUgPSBFeHBlY3RlZFR5cGUgfHwgc2VsZi5leHBlY3RlZEFkYXB0ZXJUeXBlKCk7XG4gICAgLy8gQWxsb3cgc2tpcHBpbmcgZm9yIHRlc3RpbmdcbiAgICBpZiAoIVR5cGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBNYWtlcyBzdXJlIHRoZSBwcm90b3R5cGUgbWF0Y2hlc1xuICAgIGNvbnN0IG1pc21hdGNoZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhUeXBlLnByb3RvdHlwZSkucmVkdWNlKChvYmosIGtleSkgPT4ge1xuICAgICAgY29uc3QgYWRhcHRlclR5cGUgPSB0eXBlb2YgYWRhcHRlcltrZXldO1xuICAgICAgY29uc3QgZXhwZWN0ZWRUeXBlID0gdHlwZW9mIFR5cGUucHJvdG90eXBlW2tleV07XG4gICAgICBpZiAoYWRhcHRlclR5cGUgIT09IGV4cGVjdGVkVHlwZSkge1xuICAgICAgICBvYmpba2V5XSA9IHtcbiAgICAgICAgICBleHBlY3RlZDogZXhwZWN0ZWRUeXBlLFxuICAgICAgICAgIGFjdHVhbDogYWRhcHRlclR5cGVcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG9iajtcbiAgICB9LCB7fSk7XG5cbiAgICBpZiAoT2JqZWN0LmtleXMobWlzbWF0Y2hlcykubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQWRhcHRlciBwcm90b3R5cGUgZG9uJ3QgbWF0Y2ggZXhwZWN0ZWQgcHJvdG90eXBlXCIsIGFkYXB0ZXIsIG1pc21hdGNoZXMpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBZGFwdGFibGVDb250cm9sbGVyO1xuIl19
66
+ var _default = exports.default = AdaptableController;
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYWRhcHRlciIsIlN5bWJvbCIsIkFkYXB0YWJsZUNvbnRyb2xsZXIiLCJjb25zdHJ1Y3RvciIsImFkYXB0ZXIiLCJhcHBJZCIsIm9wdGlvbnMiLCJ2YWxpZGF0ZUFkYXB0ZXIiLCJleHBlY3RlZEFkYXB0ZXJUeXBlIiwiRXJyb3IiLCJzZWxmIiwiRXhwZWN0ZWRUeXBlIiwibmFtZSIsIlR5cGUiLCJtaXNtYXRjaGVzIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3RvdHlwZSIsInJlZHVjZSIsIm9iaiIsImtleSIsImFkYXB0ZXJUeXBlIiwiZXhwZWN0ZWRUeXBlIiwiZXhwZWN0ZWQiLCJhY3R1YWwiLCJrZXlzIiwibGVuZ3RoIiwiZXhwb3J0cyIsIl9kZWZhdWx0IiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9BZGFwdGFibGVDb250cm9sbGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5BZGFwdGFibGVDb250cm9sbGVyLmpzXG5cbkFkYXB0YWJsZUNvbnRyb2xsZXIgaXMgdGhlIGJhc2UgY2xhc3MgZm9yIGFsbCBjb250cm9sbGVyc1xudGhhdCBzdXBwb3J0IGFkYXB0ZXIsXG5UaGUgc3VwZXIgY2xhc3MgdGFrZXMgY2FyZSBvZiBjcmVhdGluZyB0aGUgcmlnaHQgaW5zdGFuY2UgZm9yIHRoZSBhZGFwdGVyXG5iYXNlZCBvbiB0aGUgcGFyYW1ldGVycyBwYXNzZWRcblxuICovXG5cbi8vIF9hZGFwdGVyIGlzIHByaXZhdGUsIHVzZSBTeW1ib2xcbnZhciBfYWRhcHRlciA9IFN5bWJvbCgpO1xuXG5leHBvcnQgY2xhc3MgQWRhcHRhYmxlQ29udHJvbGxlciB7XG4gIGNvbnN0cnVjdG9yKGFkYXB0ZXIsIGFwcElkLCBvcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLmFwcElkID0gYXBwSWQ7XG4gICAgdGhpcy5hZGFwdGVyID0gYWRhcHRlcjtcbiAgfVxuXG4gIHNldCBhZGFwdGVyKGFkYXB0ZXIpIHtcbiAgICB0aGlzLnZhbGlkYXRlQWRhcHRlcihhZGFwdGVyKTtcbiAgICB0aGlzW19hZGFwdGVyXSA9IGFkYXB0ZXI7XG4gIH1cblxuICBnZXQgYWRhcHRlcigpIHtcbiAgICByZXR1cm4gdGhpc1tfYWRhcHRlcl07XG4gIH1cblxuICBleHBlY3RlZEFkYXB0ZXJUeXBlKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignU3ViY2xhc3NlcyBzaG91bGQgaW1wbGVtZW50IGV4cGVjdGVkQWRhcHRlclR5cGUoKScpO1xuICB9XG5cbiAgdmFsaWRhdGVBZGFwdGVyKGFkYXB0ZXIpIHtcbiAgICBBZGFwdGFibGVDb250cm9sbGVyLnZhbGlkYXRlQWRhcHRlcihhZGFwdGVyLCB0aGlzKTtcbiAgfVxuXG4gIHN0YXRpYyB2YWxpZGF0ZUFkYXB0ZXIoYWRhcHRlciwgc2VsZiwgRXhwZWN0ZWRUeXBlKSB7XG4gICAgaWYgKCFhZGFwdGVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5jb25zdHJ1Y3Rvci5uYW1lICsgJyByZXF1aXJlcyBhbiBhZGFwdGVyJyk7XG4gICAgfVxuXG4gICAgY29uc3QgVHlwZSA9IEV4cGVjdGVkVHlwZSB8fCBzZWxmLmV4cGVjdGVkQWRhcHRlclR5cGUoKTtcbiAgICAvLyBBbGxvdyBza2lwcGluZyBmb3IgdGVzdGluZ1xuICAgIGlmICghVHlwZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIE1ha2VzIHN1cmUgdGhlIHByb3RvdHlwZSBtYXRjaGVzXG4gICAgY29uc3QgbWlzbWF0Y2hlcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKFR5cGUucHJvdG90eXBlKS5yZWR1Y2UoKG9iaiwga2V5KSA9PiB7XG4gICAgICBjb25zdCBhZGFwdGVyVHlwZSA9IHR5cGVvZiBhZGFwdGVyW2tleV07XG4gICAgICBjb25zdCBleHBlY3RlZFR5cGUgPSB0eXBlb2YgVHlwZS5wcm90b3R5cGVba2V5XTtcbiAgICAgIGlmIChhZGFwdGVyVHlwZSAhPT0gZXhwZWN0ZWRUeXBlKSB7XG4gICAgICAgIG9ialtrZXldID0ge1xuICAgICAgICAgIGV4cGVjdGVkOiBleHBlY3RlZFR5cGUsXG4gICAgICAgICAgYWN0dWFsOiBhZGFwdGVyVHlwZSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvYmo7XG4gICAgfSwge30pO1xuXG4gICAgaWYgKE9iamVjdC5rZXlzKG1pc21hdGNoZXMpLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkFkYXB0ZXIgcHJvdG90eXBlIGRvbid0IG1hdGNoIGV4cGVjdGVkIHByb3RvdHlwZVwiLCBhZGFwdGVyLCBtaXNtYXRjaGVzKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQWRhcHRhYmxlQ29udHJvbGxlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSUEsUUFBUSxHQUFHQyxNQUFNLENBQUMsQ0FBQztBQUVoQixNQUFNQyxtQkFBbUIsQ0FBQztFQUMvQkMsV0FBV0EsQ0FBQ0MsT0FBTyxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRTtJQUNuQyxJQUFJLENBQUNBLE9BQU8sR0FBR0EsT0FBTztJQUN0QixJQUFJLENBQUNELEtBQUssR0FBR0EsS0FBSztJQUNsQixJQUFJLENBQUNELE9BQU8sR0FBR0EsT0FBTztFQUN4QjtFQUVBLElBQUlBLE9BQU9BLENBQUNBLE9BQU8sRUFBRTtJQUNuQixJQUFJLENBQUNHLGVBQWUsQ0FBQ0gsT0FBTyxDQUFDO0lBQzdCLElBQUksQ0FBQ0osUUFBUSxDQUFDLEdBQUdJLE9BQU87RUFDMUI7RUFFQSxJQUFJQSxPQUFPQSxDQUFBLEVBQUc7SUFDWixPQUFPLElBQUksQ0FBQ0osUUFBUSxDQUFDO0VBQ3ZCO0VBRUFRLG1CQUFtQkEsQ0FBQSxFQUFHO0lBQ3BCLE1BQU0sSUFBSUMsS0FBSyxDQUFDLG1EQUFtRCxDQUFDO0VBQ3RFO0VBRUFGLGVBQWVBLENBQUNILE9BQU8sRUFBRTtJQUN2QkYsbUJBQW1CLENBQUNLLGVBQWUsQ0FBQ0gsT0FBTyxFQUFFLElBQUksQ0FBQztFQUNwRDtFQUVBLE9BQU9HLGVBQWVBLENBQUNILE9BQU8sRUFBRU0sSUFBSSxFQUFFQyxZQUFZLEVBQUU7SUFDbEQsSUFBSSxDQUFDUCxPQUFPLEVBQUU7TUFDWixNQUFNLElBQUlLLEtBQUssQ0FBQyxJQUFJLENBQUNOLFdBQVcsQ0FBQ1MsSUFBSSxHQUFHLHNCQUFzQixDQUFDO0lBQ2pFO0lBRUEsTUFBTUMsSUFBSSxHQUFHRixZQUFZLElBQUlELElBQUksQ0FBQ0YsbUJBQW1CLENBQUMsQ0FBQztJQUN2RDtJQUNBLElBQUksQ0FBQ0ssSUFBSSxFQUFFO01BQ1Q7SUFDRjs7SUFFQTtJQUNBLE1BQU1DLFVBQVUsR0FBR0MsTUFBTSxDQUFDQyxtQkFBbUIsQ0FBQ0gsSUFBSSxDQUFDSSxTQUFTLENBQUMsQ0FBQ0MsTUFBTSxDQUFDLENBQUNDLEdBQUcsRUFBRUMsR0FBRyxLQUFLO01BQ2pGLE1BQU1DLFdBQVcsR0FBRyxPQUFPakIsT0FBTyxDQUFDZ0IsR0FBRyxDQUFDO01BQ3ZDLE1BQU1FLFlBQVksR0FBRyxPQUFPVCxJQUFJLENBQUNJLFNBQVMsQ0FBQ0csR0FBRyxDQUFDO01BQy9DLElBQUlDLFdBQVcsS0FBS0MsWUFBWSxFQUFFO1FBQ2hDSCxHQUFHLENBQUNDLEdBQUcsQ0FBQyxHQUFHO1VBQ1RHLFFBQVEsRUFBRUQsWUFBWTtVQUN0QkUsTUFBTSxFQUFFSDtRQUNWLENBQUM7TUFDSDtNQUNBLE9BQU9GLEdBQUc7SUFDWixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFTixJQUFJSixNQUFNLENBQUNVLElBQUksQ0FBQ1gsVUFBVSxDQUFDLENBQUNZLE1BQU0sR0FBRyxDQUFDLEVBQUU7TUFDdEMsTUFBTSxJQUFJakIsS0FBSyxDQUFDLGtEQUFrRCxFQUFFTCxPQUFPLEVBQUVVLFVBQVUsQ0FBQztJQUMxRjtFQUNGO0FBQ0Y7QUFBQ2EsT0FBQSxDQUFBekIsbUJBQUEsR0FBQUEsbUJBQUE7QUFBQSxJQUFBMEIsUUFBQSxHQUFBRCxPQUFBLENBQUFFLE9BQUEsR0FFYzNCLG1CQUFtQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,44 +1,43 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.AnalyticsController = undefined;
7
-
8
- var _AdaptableController = require('./AdaptableController');
9
-
10
- var _AdaptableController2 = _interopRequireDefault(_AdaptableController);
11
-
12
- var _AnalyticsAdapter = require('../Adapters/Analytics/AnalyticsAdapter');
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- class AnalyticsController extends _AdaptableController2.default {
6
+ exports.default = exports.AnalyticsController = void 0;
7
+ var _AdaptableController = _interopRequireDefault(require("./AdaptableController"));
8
+ var _AnalyticsAdapter = require("../Adapters/Analytics/AnalyticsAdapter");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ class AnalyticsController extends _AdaptableController.default {
17
11
  appOpened(req) {
18
12
  return Promise.resolve().then(() => {
19
- return this.adapter.appOpened(req.body, req);
13
+ return this.adapter.appOpened(req.body || {}, req);
20
14
  }).then(response => {
21
- return { response: response || {} };
15
+ return {
16
+ response: response || {}
17
+ };
22
18
  }).catch(() => {
23
- return { response: {} };
19
+ return {
20
+ response: {}
21
+ };
24
22
  });
25
23
  }
26
-
27
24
  trackEvent(req) {
28
25
  return Promise.resolve().then(() => {
29
- return this.adapter.trackEvent(req.params.eventName, req.body, req);
26
+ return this.adapter.trackEvent(req.params.eventName, req.body || {}, req);
30
27
  }).then(response => {
31
- return { response: response || {} };
28
+ return {
29
+ response: response || {}
30
+ };
32
31
  }).catch(() => {
33
- return { response: {} };
32
+ return {
33
+ response: {}
34
+ };
34
35
  });
35
36
  }
36
-
37
37
  expectedAdapterType() {
38
38
  return _AnalyticsAdapter.AnalyticsAdapter;
39
39
  }
40
40
  }
41
-
42
41
  exports.AnalyticsController = AnalyticsController;
43
- exports.default = AnalyticsController;
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9BbmFseXRpY3NDb250cm9sbGVyLmpzIl0sIm5hbWVzIjpbIkFuYWx5dGljc0NvbnRyb2xsZXIiLCJBZGFwdGFibGVDb250cm9sbGVyIiwiYXBwT3BlbmVkIiwicmVxIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiYWRhcHRlciIsImJvZHkiLCJyZXNwb25zZSIsImNhdGNoIiwidHJhY2tFdmVudCIsInBhcmFtcyIsImV2ZW50TmFtZSIsImV4cGVjdGVkQWRhcHRlclR5cGUiLCJBbmFseXRpY3NBZGFwdGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFDQTs7OztBQUVPLE1BQU1BLG1CQUFOLFNBQWtDQyw2QkFBbEMsQ0FBc0Q7QUFDM0RDLFlBQVVDLEdBQVYsRUFBZTtBQUNiLFdBQU9DLFFBQVFDLE9BQVIsR0FBa0JDLElBQWxCLENBQXVCLE1BQU07QUFDbEMsYUFBTyxLQUFLQyxPQUFMLENBQWFMLFNBQWIsQ0FBdUJDLElBQUlLLElBQTNCLEVBQWlDTCxHQUFqQyxDQUFQO0FBQ0QsS0FGTSxFQUVKRyxJQUZJLENBRUVHLFFBQUQsSUFBYztBQUNwQixhQUFPLEVBQUVBLFVBQVVBLFlBQVksRUFBeEIsRUFBUDtBQUNELEtBSk0sRUFJSkMsS0FKSSxDQUlFLE1BQU07QUFDYixhQUFPLEVBQUVELFVBQVUsRUFBWixFQUFQO0FBQ0QsS0FOTSxDQUFQO0FBT0Q7O0FBRURFLGFBQVdSLEdBQVgsRUFBZ0I7QUFDZCxXQUFPQyxRQUFRQyxPQUFSLEdBQWtCQyxJQUFsQixDQUF1QixNQUFNO0FBQ2xDLGFBQU8sS0FBS0MsT0FBTCxDQUFhSSxVQUFiLENBQXdCUixJQUFJUyxNQUFKLENBQVdDLFNBQW5DLEVBQThDVixJQUFJSyxJQUFsRCxFQUF3REwsR0FBeEQsQ0FBUDtBQUNELEtBRk0sRUFFSkcsSUFGSSxDQUVFRyxRQUFELElBQWM7QUFDcEIsYUFBTyxFQUFFQSxVQUFVQSxZQUFZLEVBQXhCLEVBQVA7QUFDRCxLQUpNLEVBSUpDLEtBSkksQ0FJRSxNQUFNO0FBQ2IsYUFBTyxFQUFFRCxVQUFVLEVBQVosRUFBUDtBQUNELEtBTk0sQ0FBUDtBQU9EOztBQUVESyx3QkFBc0I7QUFDcEIsV0FBT0Msa0NBQVA7QUFDRDtBQXZCMEQ7O1FBQWhEZixtQixHQUFBQSxtQjtrQkEwQkVBLG1CIiwiZmlsZSI6IkFuYWx5dGljc0NvbnRyb2xsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQWRhcHRhYmxlQ29udHJvbGxlciBmcm9tICcuL0FkYXB0YWJsZUNvbnRyb2xsZXInO1xuaW1wb3J0IHsgQW5hbHl0aWNzQWRhcHRlciB9IGZyb20gJy4uL0FkYXB0ZXJzL0FuYWx5dGljcy9BbmFseXRpY3NBZGFwdGVyJztcblxuZXhwb3J0IGNsYXNzIEFuYWx5dGljc0NvbnRyb2xsZXIgZXh0ZW5kcyBBZGFwdGFibGVDb250cm9sbGVyIHtcbiAgYXBwT3BlbmVkKHJlcSkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuYXBwT3BlbmVkKHJlcS5ib2R5LCByZXEpO1xuICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICByZXR1cm4geyByZXNwb25zZTogcmVzcG9uc2UgfHwge30gfTtcbiAgICB9KS5jYXRjaCgoKSA9PiB7XG4gICAgICByZXR1cm4geyByZXNwb25zZToge30gfTtcbiAgICB9KTtcbiAgfVxuXG4gIHRyYWNrRXZlbnQocmVxKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuYWRhcHRlci50cmFja0V2ZW50KHJlcS5wYXJhbXMuZXZlbnROYW1lLCByZXEuYm9keSwgcmVxKTtcbiAgICB9KS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgcmV0dXJuIHsgcmVzcG9uc2U6IHJlc3BvbnNlIHx8IHt9IH07XG4gICAgfSkuY2F0Y2goKCkgPT4ge1xuICAgICAgcmV0dXJuIHsgcmVzcG9uc2U6IHt9IH07XG4gICAgfSk7XG4gIH1cblxuICBleHBlY3RlZEFkYXB0ZXJUeXBlKCkge1xuICAgIHJldHVybiBBbmFseXRpY3NBZGFwdGVyO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFuYWx5dGljc0NvbnRyb2xsZXI7XG4iXX0=
42
+ var _default = exports.default = AnalyticsController;
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQWRhcHRhYmxlQ29udHJvbGxlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX0FuYWx5dGljc0FkYXB0ZXIiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJBbmFseXRpY3NDb250cm9sbGVyIiwiQWRhcHRhYmxlQ29udHJvbGxlciIsImFwcE9wZW5lZCIsInJlcSIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsImFkYXB0ZXIiLCJib2R5IiwicmVzcG9uc2UiLCJjYXRjaCIsInRyYWNrRXZlbnQiLCJwYXJhbXMiLCJldmVudE5hbWUiLCJleHBlY3RlZEFkYXB0ZXJUeXBlIiwiQW5hbHl0aWNzQWRhcHRlciIsImV4cG9ydHMiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9BbmFseXRpY3NDb250cm9sbGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBZGFwdGFibGVDb250cm9sbGVyIGZyb20gJy4vQWRhcHRhYmxlQ29udHJvbGxlcic7XG5pbXBvcnQgeyBBbmFseXRpY3NBZGFwdGVyIH0gZnJvbSAnLi4vQWRhcHRlcnMvQW5hbHl0aWNzL0FuYWx5dGljc0FkYXB0ZXInO1xuXG5leHBvcnQgY2xhc3MgQW5hbHl0aWNzQ29udHJvbGxlciBleHRlbmRzIEFkYXB0YWJsZUNvbnRyb2xsZXIge1xuICBhcHBPcGVuZWQocmVxKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuYXBwT3BlbmVkKHJlcS5ib2R5IHx8IHt9LCByZXEpO1xuICAgICAgfSlcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgcmV0dXJuIHsgcmVzcG9uc2U6IHJlc3BvbnNlIHx8IHt9IH07XG4gICAgICB9KVxuICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgcmVzcG9uc2U6IHt9IH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHRyYWNrRXZlbnQocmVxKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFkYXB0ZXIudHJhY2tFdmVudChyZXEucGFyYW1zLmV2ZW50TmFtZSwgcmVxLmJvZHkgfHwge30sIHJlcSk7XG4gICAgICB9KVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgICByZXR1cm4geyByZXNwb25zZTogcmVzcG9uc2UgfHwge30gfTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICByZXR1cm4geyByZXNwb25zZToge30gfTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZXhwZWN0ZWRBZGFwdGVyVHlwZSgpIHtcbiAgICByZXR1cm4gQW5hbHl0aWNzQWRhcHRlcjtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBbmFseXRpY3NDb250cm9sbGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxvQkFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUQsT0FBQTtBQUEwRSxTQUFBRCx1QkFBQUcsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUVuRSxNQUFNRyxtQkFBbUIsU0FBU0MsNEJBQW1CLENBQUM7RUFDM0RDLFNBQVNBLENBQUNDLEdBQUcsRUFBRTtJQUNiLE9BQU9DLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLENBQUMsQ0FDckJDLElBQUksQ0FBQyxNQUFNO01BQ1YsT0FBTyxJQUFJLENBQUNDLE9BQU8sQ0FBQ0wsU0FBUyxDQUFDQyxHQUFHLENBQUNLLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRUwsR0FBRyxDQUFDO0lBQ3BELENBQUMsQ0FBQyxDQUNERyxJQUFJLENBQUNHLFFBQVEsSUFBSTtNQUNoQixPQUFPO1FBQUVBLFFBQVEsRUFBRUEsUUFBUSxJQUFJLENBQUM7TUFBRSxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUNEQyxLQUFLLENBQUMsTUFBTTtNQUNYLE9BQU87UUFBRUQsUUFBUSxFQUFFLENBQUM7TUFBRSxDQUFDO0lBQ3pCLENBQUMsQ0FBQztFQUNOO0VBRUFFLFVBQVVBLENBQUNSLEdBQUcsRUFBRTtJQUNkLE9BQU9DLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDLENBQUMsQ0FDckJDLElBQUksQ0FBQyxNQUFNO01BQ1YsT0FBTyxJQUFJLENBQUNDLE9BQU8sQ0FBQ0ksVUFBVSxDQUFDUixHQUFHLENBQUNTLE1BQU0sQ0FBQ0MsU0FBUyxFQUFFVixHQUFHLENBQUNLLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRUwsR0FBRyxDQUFDO0lBQzNFLENBQUMsQ0FBQyxDQUNERyxJQUFJLENBQUNHLFFBQVEsSUFBSTtNQUNoQixPQUFPO1FBQUVBLFFBQVEsRUFBRUEsUUFBUSxJQUFJLENBQUM7TUFBRSxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUNEQyxLQUFLLENBQUMsTUFBTTtNQUNYLE9BQU87UUFBRUQsUUFBUSxFQUFFLENBQUM7TUFBRSxDQUFDO0lBQ3pCLENBQUMsQ0FBQztFQUNOO0VBRUFLLG1CQUFtQkEsQ0FBQSxFQUFHO0lBQ3BCLE9BQU9DLGtDQUFnQjtFQUN6QjtBQUNGO0FBQUNDLE9BQUEsQ0FBQWhCLG1CQUFBLEdBQUFBLG1CQUFBO0FBQUEsSUFBQWlCLFFBQUEsR0FBQUQsT0FBQSxDQUFBakIsT0FBQSxHQUVjQyxtQkFBbUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,22 +1,13 @@
1
- 'use strict';
1
+ "use strict";
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.CacheController = exports.SubCache = undefined;
7
-
8
- var _AdaptableController = require('./AdaptableController');
9
-
10
- var _AdaptableController2 = _interopRequireDefault(_AdaptableController);
11
-
12
- var _CacheAdapter = require('../Adapters/Cache/CacheAdapter');
13
-
14
- var _CacheAdapter2 = _interopRequireDefault(_CacheAdapter);
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
6
+ exports.default = exports.SubCache = exports.CacheController = void 0;
7
+ var _AdaptableController = _interopRequireDefault(require("./AdaptableController"));
8
+ var _CacheAdapter = _interopRequireDefault(require("../Adapters/Cache/CacheAdapter"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
10
  const KEY_SEPARATOR_CHAR = ':';
19
-
20
11
  function joinKeys(...keys) {
21
12
  return keys.join(KEY_SEPARATOR_CHAR);
22
13
  }
@@ -32,61 +23,49 @@ class SubCache {
32
23
  this.cache = cacheController;
33
24
  this.ttl = ttl;
34
25
  }
35
-
36
26
  get(key) {
37
27
  const cacheKey = joinKeys(this.prefix, key);
38
28
  return this.cache.get(cacheKey);
39
29
  }
40
-
41
30
  put(key, value, ttl) {
42
31
  const cacheKey = joinKeys(this.prefix, key);
43
32
  return this.cache.put(cacheKey, value, ttl);
44
33
  }
45
-
46
34
  del(key) {
47
35
  const cacheKey = joinKeys(this.prefix, key);
48
36
  return this.cache.del(cacheKey);
49
37
  }
50
-
51
38
  clear() {
52
39
  return this.cache.clear();
53
40
  }
54
41
  }
55
-
56
42
  exports.SubCache = SubCache;
57
- class CacheController extends _AdaptableController2.default {
58
-
43
+ class CacheController extends _AdaptableController.default {
59
44
  constructor(adapter, appId, options = {}) {
60
45
  super(adapter, appId, options);
61
-
62
46
  this.role = new SubCache('role', this);
63
47
  this.user = new SubCache('user', this);
48
+ this.graphQL = new SubCache('graphQL', this);
64
49
  }
65
-
66
50
  get(key) {
67
51
  const cacheKey = joinKeys(this.appId, key);
68
52
  return this.adapter.get(cacheKey).then(null, () => Promise.resolve(null));
69
53
  }
70
-
71
54
  put(key, value, ttl) {
72
55
  const cacheKey = joinKeys(this.appId, key);
73
56
  return this.adapter.put(cacheKey, value, ttl);
74
57
  }
75
-
76
58
  del(key) {
77
59
  const cacheKey = joinKeys(this.appId, key);
78
60
  return this.adapter.del(cacheKey);
79
61
  }
80
-
81
62
  clear() {
82
63
  return this.adapter.clear();
83
64
  }
84
-
85
65
  expectedAdapterType() {
86
- return _CacheAdapter2.default;
66
+ return _CacheAdapter.default;
87
67
  }
88
68
  }
89
-
90
69
  exports.CacheController = CacheController;
91
- exports.default = CacheController;
92
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250cm9sbGVycy9DYWNoZUNvbnRyb2xsZXIuanMiXSwibmFtZXMiOlsiS0VZX1NFUEFSQVRPUl9DSEFSIiwiam9pbktleXMiLCJrZXlzIiwiam9pbiIsIlN1YkNhY2hlIiwiY29uc3RydWN0b3IiLCJwcmVmaXgiLCJjYWNoZUNvbnRyb2xsZXIiLCJ0dGwiLCJjYWNoZSIsImdldCIsImtleSIsImNhY2hlS2V5IiwicHV0IiwidmFsdWUiLCJkZWwiLCJjbGVhciIsIkNhY2hlQ29udHJvbGxlciIsIkFkYXB0YWJsZUNvbnRyb2xsZXIiLCJhZGFwdGVyIiwiYXBwSWQiLCJvcHRpb25zIiwicm9sZSIsInVzZXIiLCJ0aGVuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJleHBlY3RlZEFkYXB0ZXJUeXBlIiwiQ2FjaGVBZGFwdGVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFDQTs7Ozs7O0FBRUEsTUFBTUEscUJBQXFCLEdBQTNCOztBQUVBLFNBQVNDLFFBQVQsQ0FBa0IsR0FBR0MsSUFBckIsRUFBMkI7QUFDekIsU0FBT0EsS0FBS0MsSUFBTCxDQUFVSCxrQkFBVixDQUFQO0FBQ0Q7O0FBRUQ7Ozs7O0FBS08sTUFBTUksUUFBTixDQUFlO0FBQ3BCQyxjQUFZQyxNQUFaLEVBQW9CQyxlQUFwQixFQUFxQ0MsR0FBckMsRUFBMEM7QUFDeEMsU0FBS0YsTUFBTCxHQUFjQSxNQUFkO0FBQ0EsU0FBS0csS0FBTCxHQUFhRixlQUFiO0FBQ0EsU0FBS0MsR0FBTCxHQUFXQSxHQUFYO0FBQ0Q7O0FBRURFLE1BQUlDLEdBQUosRUFBUztBQUNQLFVBQU1DLFdBQVdYLFNBQVMsS0FBS0ssTUFBZCxFQUFzQkssR0FBdEIsQ0FBakI7QUFDQSxXQUFPLEtBQUtGLEtBQUwsQ0FBV0MsR0FBWCxDQUFlRSxRQUFmLENBQVA7QUFDRDs7QUFFREMsTUFBSUYsR0FBSixFQUFTRyxLQUFULEVBQWdCTixHQUFoQixFQUFxQjtBQUNuQixVQUFNSSxXQUFXWCxTQUFTLEtBQUtLLE1BQWQsRUFBc0JLLEdBQXRCLENBQWpCO0FBQ0EsV0FBTyxLQUFLRixLQUFMLENBQVdJLEdBQVgsQ0FBZUQsUUFBZixFQUF5QkUsS0FBekIsRUFBZ0NOLEdBQWhDLENBQVA7QUFDRDs7QUFFRE8sTUFBSUosR0FBSixFQUFTO0FBQ1AsVUFBTUMsV0FBV1gsU0FBUyxLQUFLSyxNQUFkLEVBQXNCSyxHQUF0QixDQUFqQjtBQUNBLFdBQU8sS0FBS0YsS0FBTCxDQUFXTSxHQUFYLENBQWVILFFBQWYsQ0FBUDtBQUNEOztBQUVESSxVQUFRO0FBQ04sV0FBTyxLQUFLUCxLQUFMLENBQVdPLEtBQVgsRUFBUDtBQUNEO0FBeEJtQjs7UUFBVFosUSxHQUFBQSxRO0FBNEJOLE1BQU1hLGVBQU4sU0FBOEJDLDZCQUE5QixDQUFrRDs7QUFFdkRiLGNBQVljLE9BQVosRUFBcUJDLEtBQXJCLEVBQTRCQyxVQUFVLEVBQXRDLEVBQTBDO0FBQ3hDLFVBQU1GLE9BQU4sRUFBZUMsS0FBZixFQUFzQkMsT0FBdEI7O0FBRUEsU0FBS0MsSUFBTCxHQUFZLElBQUlsQixRQUFKLENBQWEsTUFBYixFQUFxQixJQUFyQixDQUFaO0FBQ0EsU0FBS21CLElBQUwsR0FBWSxJQUFJbkIsUUFBSixDQUFhLE1BQWIsRUFBcUIsSUFBckIsQ0FBWjtBQUNEOztBQUVETSxNQUFJQyxHQUFKLEVBQVM7QUFDUCxVQUFNQyxXQUFXWCxTQUFTLEtBQUttQixLQUFkLEVBQXFCVCxHQUFyQixDQUFqQjtBQUNBLFdBQU8sS0FBS1EsT0FBTCxDQUFhVCxHQUFiLENBQWlCRSxRQUFqQixFQUEyQlksSUFBM0IsQ0FBZ0MsSUFBaEMsRUFBc0MsTUFBTUMsUUFBUUMsT0FBUixDQUFnQixJQUFoQixDQUE1QyxDQUFQO0FBQ0Q7O0FBRURiLE1BQUlGLEdBQUosRUFBU0csS0FBVCxFQUFnQk4sR0FBaEIsRUFBcUI7QUFDbkIsVUFBTUksV0FBV1gsU0FBUyxLQUFLbUIsS0FBZCxFQUFxQlQsR0FBckIsQ0FBakI7QUFDQSxXQUFPLEtBQUtRLE9BQUwsQ0FBYU4sR0FBYixDQUFpQkQsUUFBakIsRUFBMkJFLEtBQTNCLEVBQWtDTixHQUFsQyxDQUFQO0FBQ0Q7O0FBRURPLE1BQUlKLEdBQUosRUFBUztBQUNQLFVBQU1DLFdBQVdYLFNBQVMsS0FBS21CLEtBQWQsRUFBcUJULEdBQXJCLENBQWpCO0FBQ0EsV0FBTyxLQUFLUSxPQUFMLENBQWFKLEdBQWIsQ0FBaUJILFFBQWpCLENBQVA7QUFDRDs7QUFFREksVUFBUTtBQUNOLFdBQU8sS0FBS0csT0FBTCxDQUFhSCxLQUFiLEVBQVA7QUFDRDs7QUFFRFcsd0JBQXNCO0FBQ3BCLFdBQU9DLHNCQUFQO0FBQ0Q7QUE5QnNEOztRQUE1Q1gsZSxHQUFBQSxlO2tCQWlDRUEsZSIsImZpbGUiOiJDYWNoZUNvbnRyb2xsZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQWRhcHRhYmxlQ29udHJvbGxlciBmcm9tICcuL0FkYXB0YWJsZUNvbnRyb2xsZXInO1xuaW1wb3J0IENhY2hlQWRhcHRlciAgICAgICAgZnJvbSAnLi4vQWRhcHRlcnMvQ2FjaGUvQ2FjaGVBZGFwdGVyJztcblxuY29uc3QgS0VZX1NFUEFSQVRPUl9DSEFSID0gJzonO1xuXG5mdW5jdGlvbiBqb2luS2V5cyguLi5rZXlzKSB7XG4gIHJldHVybiBrZXlzLmpvaW4oS0VZX1NFUEFSQVRPUl9DSEFSKTtcbn1cblxuLyoqXG4gKiBQcmVmaXggYWxsIGNhbGxzIHRvIHRoZSBjYWNoZSB2aWEgYSBwcmVmaXggc3RyaW5nLCB1c2VmdWwgd2hlbiBncm91cGluZyBDYWNoZSBieSBvYmplY3QgdHlwZS5cbiAqXG4gKiBlZyBcIlJvbGVcIiBvciBcIlNlc3Npb25cIlxuICovXG5leHBvcnQgY2xhc3MgU3ViQ2FjaGUge1xuICBjb25zdHJ1Y3RvcihwcmVmaXgsIGNhY2hlQ29udHJvbGxlciwgdHRsKSB7XG4gICAgdGhpcy5wcmVmaXggPSBwcmVmaXg7XG4gICAgdGhpcy5jYWNoZSA9IGNhY2hlQ29udHJvbGxlcjtcbiAgICB0aGlzLnR0bCA9IHR0bDtcbiAgfVxuXG4gIGdldChrZXkpIHtcbiAgICBjb25zdCBjYWNoZUtleSA9IGpvaW5LZXlzKHRoaXMucHJlZml4LCBrZXkpO1xuICAgIHJldHVybiB0aGlzLmNhY2hlLmdldChjYWNoZUtleSk7XG4gIH1cblxuICBwdXQoa2V5LCB2YWx1ZSwgdHRsKSB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBqb2luS2V5cyh0aGlzLnByZWZpeCwga2V5KTtcbiAgICByZXR1cm4gdGhpcy5jYWNoZS5wdXQoY2FjaGVLZXksIHZhbHVlLCB0dGwpO1xuICB9XG5cbiAgZGVsKGtleSkge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gam9pbktleXModGhpcy5wcmVmaXgsIGtleSk7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUuZGVsKGNhY2hlS2V5KTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHJldHVybiB0aGlzLmNhY2hlLmNsZWFyKCk7XG4gIH1cbn1cblxuXG5leHBvcnQgY2xhc3MgQ2FjaGVDb250cm9sbGVyIGV4dGVuZHMgQWRhcHRhYmxlQ29udHJvbGxlciB7XG5cbiAgY29uc3RydWN0b3IoYWRhcHRlciwgYXBwSWQsIG9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKGFkYXB0ZXIsIGFwcElkLCBvcHRpb25zKTtcblxuICAgIHRoaXMucm9sZSA9IG5ldyBTdWJDYWNoZSgncm9sZScsIHRoaXMpO1xuICAgIHRoaXMudXNlciA9IG5ldyBTdWJDYWNoZSgndXNlcicsIHRoaXMpO1xuICB9XG5cbiAgZ2V0KGtleSkge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gam9pbktleXModGhpcy5hcHBJZCwga2V5KTtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmdldChjYWNoZUtleSkudGhlbihudWxsLCAoKSA9PiBQcm9taXNlLnJlc29sdmUobnVsbCkpO1xuICB9XG5cbiAgcHV0KGtleSwgdmFsdWUsIHR0bCkge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gam9pbktleXModGhpcy5hcHBJZCwga2V5KTtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLnB1dChjYWNoZUtleSwgdmFsdWUsIHR0bCk7XG4gIH1cblxuICBkZWwoa2V5KSB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBqb2luS2V5cyh0aGlzLmFwcElkLCBrZXkpO1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuZGVsKGNhY2hlS2V5KTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuY2xlYXIoKTtcbiAgfVxuXG4gIGV4cGVjdGVkQWRhcHRlclR5cGUoKSB7XG4gICAgcmV0dXJuIENhY2hlQWRhcHRlcjtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBDYWNoZUNvbnRyb2xsZXI7XG4iXX0=
70
+ var _default = exports.default = CacheController;
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQWRhcHRhYmxlQ29udHJvbGxlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX0NhY2hlQWRhcHRlciIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIktFWV9TRVBBUkFUT1JfQ0hBUiIsImpvaW5LZXlzIiwia2V5cyIsImpvaW4iLCJTdWJDYWNoZSIsImNvbnN0cnVjdG9yIiwicHJlZml4IiwiY2FjaGVDb250cm9sbGVyIiwidHRsIiwiY2FjaGUiLCJnZXQiLCJrZXkiLCJjYWNoZUtleSIsInB1dCIsInZhbHVlIiwiZGVsIiwiY2xlYXIiLCJleHBvcnRzIiwiQ2FjaGVDb250cm9sbGVyIiwiQWRhcHRhYmxlQ29udHJvbGxlciIsImFkYXB0ZXIiLCJhcHBJZCIsIm9wdGlvbnMiLCJyb2xlIiwidXNlciIsImdyYXBoUUwiLCJ0aGVuIiwiUHJvbWlzZSIsInJlc29sdmUiLCJleHBlY3RlZEFkYXB0ZXJUeXBlIiwiQ2FjaGVBZGFwdGVyIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29udHJvbGxlcnMvQ2FjaGVDb250cm9sbGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBZGFwdGFibGVDb250cm9sbGVyIGZyb20gJy4vQWRhcHRhYmxlQ29udHJvbGxlcic7XG5pbXBvcnQgQ2FjaGVBZGFwdGVyIGZyb20gJy4uL0FkYXB0ZXJzL0NhY2hlL0NhY2hlQWRhcHRlcic7XG5cbmNvbnN0IEtFWV9TRVBBUkFUT1JfQ0hBUiA9ICc6JztcblxuZnVuY3Rpb24gam9pbktleXMoLi4ua2V5cykge1xuICByZXR1cm4ga2V5cy5qb2luKEtFWV9TRVBBUkFUT1JfQ0hBUik7XG59XG5cbi8qKlxuICogUHJlZml4IGFsbCBjYWxscyB0byB0aGUgY2FjaGUgdmlhIGEgcHJlZml4IHN0cmluZywgdXNlZnVsIHdoZW4gZ3JvdXBpbmcgQ2FjaGUgYnkgb2JqZWN0IHR5cGUuXG4gKlxuICogZWcgXCJSb2xlXCIgb3IgXCJTZXNzaW9uXCJcbiAqL1xuZXhwb3J0IGNsYXNzIFN1YkNhY2hlIHtcbiAgY29uc3RydWN0b3IocHJlZml4LCBjYWNoZUNvbnRyb2xsZXIsIHR0bCkge1xuICAgIHRoaXMucHJlZml4ID0gcHJlZml4O1xuICAgIHRoaXMuY2FjaGUgPSBjYWNoZUNvbnRyb2xsZXI7XG4gICAgdGhpcy50dGwgPSB0dGw7XG4gIH1cblxuICBnZXQoa2V5KSB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBqb2luS2V5cyh0aGlzLnByZWZpeCwga2V5KTtcbiAgICByZXR1cm4gdGhpcy5jYWNoZS5nZXQoY2FjaGVLZXkpO1xuICB9XG5cbiAgcHV0KGtleSwgdmFsdWUsIHR0bCkge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gam9pbktleXModGhpcy5wcmVmaXgsIGtleSk7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUucHV0KGNhY2hlS2V5LCB2YWx1ZSwgdHRsKTtcbiAgfVxuXG4gIGRlbChrZXkpIHtcbiAgICBjb25zdCBjYWNoZUtleSA9IGpvaW5LZXlzKHRoaXMucHJlZml4LCBrZXkpO1xuICAgIHJldHVybiB0aGlzLmNhY2hlLmRlbChjYWNoZUtleSk7XG4gIH1cblxuICBjbGVhcigpIHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZS5jbGVhcigpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYWNoZUNvbnRyb2xsZXIgZXh0ZW5kcyBBZGFwdGFibGVDb250cm9sbGVyIHtcbiAgY29uc3RydWN0b3IoYWRhcHRlciwgYXBwSWQsIG9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKGFkYXB0ZXIsIGFwcElkLCBvcHRpb25zKTtcblxuICAgIHRoaXMucm9sZSA9IG5ldyBTdWJDYWNoZSgncm9sZScsIHRoaXMpO1xuICAgIHRoaXMudXNlciA9IG5ldyBTdWJDYWNoZSgndXNlcicsIHRoaXMpO1xuICAgIHRoaXMuZ3JhcGhRTCA9IG5ldyBTdWJDYWNoZSgnZ3JhcGhRTCcsIHRoaXMpO1xuICB9XG5cbiAgZ2V0KGtleSkge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gam9pbktleXModGhpcy5hcHBJZCwga2V5KTtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLmdldChjYWNoZUtleSkudGhlbihudWxsLCAoKSA9PiBQcm9taXNlLnJlc29sdmUobnVsbCkpO1xuICB9XG5cbiAgcHV0KGtleSwgdmFsdWUsIHR0bCkge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gam9pbktleXModGhpcy5hcHBJZCwga2V5KTtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVyLnB1dChjYWNoZUtleSwgdmFsdWUsIHR0bCk7XG4gIH1cblxuICBkZWwoa2V5KSB7XG4gICAgY29uc3QgY2FjaGVLZXkgPSBqb2luS2V5cyh0aGlzLmFwcElkLCBrZXkpO1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuZGVsKGNhY2hlS2V5KTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuY2xlYXIoKTtcbiAgfVxuXG4gIGV4cGVjdGVkQWRhcHRlclR5cGUoKSB7XG4gICAgcmV0dXJuIENhY2hlQWRhcHRlcjtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBDYWNoZUNvbnRyb2xsZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLG9CQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFBMEQsU0FBQUQsdUJBQUFHLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFMUQsTUFBTUcsa0JBQWtCLEdBQUcsR0FBRztBQUU5QixTQUFTQyxRQUFRQSxDQUFDLEdBQUdDLElBQUksRUFBRTtFQUN6QixPQUFPQSxJQUFJLENBQUNDLElBQUksQ0FBQ0gsa0JBQWtCLENBQUM7QUFDdEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU1JLFFBQVEsQ0FBQztFQUNwQkMsV0FBV0EsQ0FBQ0MsTUFBTSxF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