@nlabs/reaktor 0.1.6 → 0.1.7

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 (52) hide show
  1. package/lib/config.js +20 -11
  2. package/lib/data/conversations.js +69 -39
  3. package/lib/data/dynamodb.js +60 -27
  4. package/lib/data/email.js +50 -19
  5. package/lib/data/files.js +103 -46
  6. package/lib/data/groups.js +114 -67
  7. package/lib/data/images.js +168 -100
  8. package/lib/data/index.js +234 -24
  9. package/lib/data/ios.js +48 -23
  10. package/lib/data/locations.js +45 -29
  11. package/lib/data/messages.d.ts +2 -2
  12. package/lib/data/messages.js +105 -72
  13. package/lib/data/notifications.js +31 -14
  14. package/lib/data/payments.js +164 -114
  15. package/lib/data/posts.js +144 -87
  16. package/lib/data/reactions.js +58 -33
  17. package/lib/data/s3.js +54 -24
  18. package/lib/data/search.js +32 -19
  19. package/lib/data/sms.js +35 -15
  20. package/lib/data/subscription.js +78 -51
  21. package/lib/data/tags.js +90 -51
  22. package/lib/data/users.js +118 -70
  23. package/lib/index.js +42 -8
  24. package/lib/types/apps.js +1 -1
  25. package/lib/types/arangodb.js +1 -1
  26. package/lib/types/auth.js +1 -1
  27. package/lib/types/conversations.js +1 -1
  28. package/lib/types/email.js +1 -1
  29. package/lib/types/files.js +1 -1
  30. package/lib/types/google.js +1 -1
  31. package/lib/types/groups.js +1 -1
  32. package/lib/types/images.js +1 -1
  33. package/lib/types/index.js +210 -22
  34. package/lib/types/locations.js +1 -1
  35. package/lib/types/messages.d.ts +12 -7
  36. package/lib/types/messages.js +1 -1
  37. package/lib/types/notifications.js +1 -1
  38. package/lib/types/payments.js +1 -1
  39. package/lib/types/posts.js +1 -1
  40. package/lib/types/reactions.js +1 -1
  41. package/lib/types/tags.js +1 -1
  42. package/lib/types/users.d.ts +0 -1
  43. package/lib/types/users.js +1 -1
  44. package/lib/utils/analytics.js +23 -11
  45. package/lib/utils/arangodb.js +48 -19
  46. package/lib/utils/auth.js +31 -15
  47. package/lib/utils/graphql.js +16 -4
  48. package/lib/utils/index.js +78 -11
  49. package/lib/utils/objects.js +30 -10
  50. package/lib/utils/redis.js +21 -8
  51. package/package.json +5 -5
  52. package/index.d.ts +0 -1
package/lib/config.js CHANGED
@@ -1,3 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Config = void 0;
7
+
8
+ var _get2 = _interopRequireDefault(require("lodash/get"));
9
+
10
+ var _merge = _interopRequireDefault(require("lodash/merge"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
1
14
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2
15
 
3
16
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -6,13 +19,6 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
6
19
 
7
20
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
21
 
9
- /**
10
- * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
11
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
12
- */
13
- import _get from 'lodash/get';
14
- import merge from 'lodash/merge';
15
-
16
22
  var appPackage = require('../package.json');
17
23
 
18
24
  var _process$env = process.env,
@@ -25,7 +31,8 @@ var _process$env = process.env,
25
31
  arangodbUrl = _process$env$arangodb3 === void 0 ? 'db.reaktor.io' : _process$env$arangodb3,
26
32
  _process$env$arangodb4 = _process$env.arangodbUsername,
27
33
  arangodbUsername = _process$env$arangodb4 === void 0 ? 'reaktor' : _process$env$arangodb4;
28
- export var Config =
34
+
35
+ var Config =
29
36
  /*#__PURE__*/
30
37
  function () {
31
38
  function Config() {
@@ -36,16 +43,18 @@ function () {
36
43
  key: "get",
37
44
  value: function get(path) {
38
45
  var environment = process.env.stage || 'development';
39
- var configValues = merge(this.values.default, this.values[environment], {
46
+ var configValues = (0, _merge.default)(this.values.default, this.values[environment], {
40
47
  environment: environment
41
48
  });
42
- return _get(configValues, path);
49
+ return (0, _get2.default)(configValues, path);
43
50
  }
44
51
  }]);
45
52
 
46
53
  return Config;
47
54
  }();
48
55
 
56
+ exports.Config = Config;
57
+
49
58
  _defineProperty(Config, "values", {
50
59
  default: {
51
60
  app: {
@@ -127,4 +136,4 @@ _defineProperty(Config, "values", {
127
136
  },
128
137
  test: {}
129
138
  });
130
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWcudHMiXSwibmFtZXMiOlsiZ2V0IiwibWVyZ2UiLCJhcHBQYWNrYWdlIiwicmVxdWlyZSIsInByb2Nlc3MiLCJlbnYiLCJhcmFuZ29kYkRhdGFiYXNlIiwiYXJhbmdvZGJQYXNzd29yZCIsImFyYW5nb2RiUG9ydCIsImFyYW5nb2RiVXJsIiwiYXJhbmdvZGJVc2VybmFtZSIsIkNvbmZpZyIsInBhdGgiLCJlbnZpcm9ubWVudCIsInN0YWdlIiwiY29uZmlnVmFsdWVzIiwidmFsdWVzIiwiZGVmYXVsdCIsImFwcCIsIm5hbWUiLCJ1cmwiLCJ2ZXJzaW9uIiwiYXJhbmdvZGIiLCJhcGlVcmwiLCJkYXRhYmFzZSIsImR1bXAiLCJwYXNzd29yZCIsInBvcnQiLCJyZXN0b3JlIiwidXNlcm5hbWUiLCJhd3MiLCJCdWNrZXQiLCJhY2Nlc3NLZXlJZCIsIm1heFJldHJpZXMiLCJyZWdpb24iLCJzZWNyZXRBY2Nlc3NLZXkiLCJzaWduYXR1cmVWZXJzaW9uIiwiZ2lwaHkiLCJrZXkiLCJnb29nbGUiLCJhbmFseXRpY3MiLCJhY2NvdW50SWQiLCJ0cmFja2luZ0lkIiwiZ2VvY29kZSIsImltYWdlIiwiaW1nUXVhbGl0eSIsImltZ1NpemUiLCJ0aG1RdWFsaXR5IiwidGhtU2l6ZSIsInJlZGlzIiwiaG9zdCIsInN0cmlwZSIsInRva2VuIiwidHdpbGlvIiwibnVtYmVyIiwic2lkIiwiZGV2ZWxvcG1lbnQiLCJwcm9kdWN0aW9uIiwidGVzdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7OztBQUlBLE9BQU9BLElBQVAsTUFBZ0IsWUFBaEI7QUFDQSxPQUFPQyxLQUFQLE1BQWtCLGNBQWxCOztBQXFCQSxJQUFNQyxVQUFlLEdBQUdDLE9BQU8sQ0FBQyxpQkFBRCxDQUEvQjs7bUJBUUlDLE9BQU8sQ0FBQ0MsRzt5Q0FMVkMsZ0I7SUFBQUEsZ0Isc0NBQW1CLFM7SUFDbkJDLGdCLGdCQUFBQSxnQjswQ0FDQUMsWTtJQUFBQSxZLHVDQUFlLE07MENB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QUUscUJBREU7QUFFUkcsTUFBQUEsT0FBTyxFQUFFO0FBRkQsS0FEQTtBQUtWRSxJQUFBQSxHQUFHLEVBQUU7QUFDSEMsTUFBQUEsTUFBTSxFQUFFO0FBREwsS0FMSztBQVFWa0IsSUFBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLElBQUksRUFBRTtBQURELEtBUkc7QUFXVkMsSUFBQUEsTUFBTSxFQUFFO0FBQ05DLE1BQUFBLEtBQUssRUFBRTtBQURELEtBWEU7QUFjVkMsSUFBQUEsTUFBTSxFQUFFO0FBQ05DLE1BQUFBLE1BQU0sRUFBRSxjQURGO0FBRU5DLE1BQUFBLEdBQUcsRUFBRSxvQ0FGQztBQUdOSCxNQUFBQSxLQUFLLEVBQUU7QUFIRDtBQWRFLEdBNURhO0FBZ0Z6Qk0sRUFBQUEsSUFBSSxFQUFFO0FBaEZtQixDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCBnZXQgZnJvbSAnbG9kYXNoL2dldCc7XG5pbXBvcnQgbWVyZ2UgZnJvbSAnbG9kYXNoL21lcmdlJztcblxuZXhwb3J0IGludGVyZmFjZSBBcHBDb25maWcge1xuICByZWFkb25seSBhcHA/OiBvYmplY3Q7XG4gIHJlYWRvbmx5IGFyYW5nb2RiPzogb2JqZWN0O1xuICByZWFkb25seSBhd3M/OiBvYmplY3Q7XG4gIHJlYWRvbmx5IGdpcGh5Pzogb2JqZWN0O1xuICByZWFkb25seSBnb29nbGU/OiBvYmplY3Q7XG4gIHJlYWRvbmx5IGltYWdlPzogb2JqZWN0O1xuICByZWFkb25seSByZWRpcz86IG9iamVjdDtcbiAgcmVhZG9ubHkgc3RyaXBlPzogb2JqZWN0O1xuICByZWFkb25seSB0d2lsaW8/OiBvYmplY3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52Q29uZmlnIHtcbiAgcmVhZG9ubHkgZGVmYXVsdDogQXBwQ29uZmlnO1xuICByZWFkb25seSBkZXZlbG9wbWVudDogQXBwQ29uZmlnO1xuICByZWFkb25seSBwcm9kdWN0aW9uOiBBcHBDb25maWc7XG4gIHJlYWRvbmx5IHRlc3Q6IEFwcENvbmZpZztcbn1cblxuY29uc3QgYXBwUGFja2FnZTogYW55ID0gcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJyk7XG5cbmNvbnN0IHtcbiAgYXJhbmdvZGJEYXRhYmFzZSA9ICdyZWFrdG9yJyxcbiAgYXJhbmdvZGJQYXNzd29yZCxcbiAgYXJhbmdvZGJQb3J0ID0gJzg1MjknLFxuICBhcmFuZ29kYlVybCA9ICdkYi5yZWFrdG9yLmlvJyxcbiAgYXJhbmdvZGJVc2VybmFtZSA9ICdyZWFrdG9yJ1xufSA9IHByb2Nlc3MuZW52O1xuXG5leHBvcnQgY2xhc3MgQ29uZmlnIHtcbiAgc3RhdGljIHZhbHVlczogRW52Q29uZmlnID0ge1xuICAgIGRlZmF1bHQ6IHtcbiAgICAgIGFwcDoge1xuICAgICAgICBuYW1lOiAncmVha3RvcicsXG4gICAgICAgIHVybDogJ3JlYWt0b3IuaW8nLFxuICAgICAgICB2ZXJzaW9uOiBhcHBQYWNrYWdlLnZlcnNpb25cbiAgICAgIH0sXG4gICAgICBhcmFuZ29kYjoge1xuICAgICAgICBhcGlVcmw6IGBodHRwOi8vJHthcmFuZ29kYlVybH06JHthcmFuZ29kYlBvcnR9YCxcbiAgICAgICAgZGF0YWJhc2U6IGFyYW5nb2RiRGF0YWJhc2UsXG4gICAgICAgIGR1bXA6ICcvQXBwbGljYXRpb25zL0FyYW5nb0RCLUNMSS5hcHAvQ29udGVudHMvTWFjT1MvYXJhbmdvZHVtcCcsXG4gICAgICAgIHBhc3N3b3JkOiBhcmFuZ29kYlBhc3N3b3JkLFxuICAgICAgICBwb3J0OiBhcmFuZ29kYlBvcnQsXG4gICAgICAgIHJlc3RvcmU6ICcvQXBwbGljYXRpb25zL0FyYW5nb0RCLUNMSS5hcHAvQ29udGVudHMvTWFjT1MvYXJhbmdvcmVzdG9yZScsXG4gICAgICAgIHVybDogYXJhbmdvZGJVcmwsXG4gICAgICAgIHVzZXJuYW1lOiBhcmFuZ29kYlVzZXJuYW1lXG4gICAgICB9LFxuICAgICAgYXdzOiB7XG4gICAgICAgIEJ1Y2tldDogJ2Rldi5yZWFrdG9yLmlvJyxcbiAgICAgICAgYWNjZXNzS2V5SWQ6ICdBS0lBSklZRFQzRUEyWkZNVEpOQScsXG4gICAgICAgIG1heFJldHJpZXM6IDMsXG4gICAgICAgIHJlZ2lvbjogJ3VzLWVhc3QtMScsXG4gICAgICAgIHNlY3JldEFjY2Vzc0tleTogJ2JVc3NRUnRKVFpDN2dlRjlSREg1S0NuOENhbFZuZjJWVDM0eXFTKzknLFxuICAgICAgICBzaWduYXR1cmVWZXJzaW9uOiAndjQnXG4gICAgICB9LFxuICAgICAgZ2lwaHk6IHtcbiAgICAgICAga2V5OiAnZGM2emFUT3hGSm16QydcbiAgICAgIH0sXG4gICAgICBnb29nbGU6IHtcbiAgICAgICAgYW5hbHl0aWNzOiB7XG4gICAgICAgICAgYWNjb3VudElkOiAnNzgxNTg3MTcnLFxuICAgICAgICAgIHRyYWNraW5nSWQ6ICdVQS03ODE1ODcxNy0xJ1xuICAgICAgICB9LFxuICAgICAgICBnZW9jb2RlOiB7XG4gICAgICAgICAga2V5OiAnQUl6YVN5QndqbXBCaldoaUpvQkNaaVl6UnVyTTltNFduQ3hzbHYwJyxcbiAgICAgICAgICB1cmw6ICdodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvZ2VvY29kZS9qc29uJ1xuICAgICAgICB9LFxuICAgICAgICBrZXk6ICdBSXphU3lDM19mMlVzM3kwcWpieU1KLTR0NU9idEN6ZnFfRkhJZ1EnXG4gICAgICB9LFxuICAgICAgaW1hZ2U6IHtcbiAgICAgICAgaW1nUXVhbGl0eTogOTAsXG4gICAgICAgIGltZ1NpemU6IDE1MDAsXG4gICAgICAgIHRobVF1YWxpdHk6IDgwLFxuICAgICAgICB0aG1TaXplOiAxNTBcbiAgICAgIH0sXG4gICAgICByZWRpczoge1xuICAgICAgICBob3N0OiAnMTI3LjAuMC4xJyxcbiAgICAgICAgcG9ydDogNjM3OVxuICAgICAgfSxcbiAgICAgIHN0cmlwZToge1xuICAgICAgICB0b2tlbjogJ3NrX3Rlc3RfTFM5NTZiZTU3WVVYVEI1YTRzTEdiNUJRJ1xuICAgICAgfSxcbiAgICAgIHR3aWxpbzoge1xuICAgICAgICBudW1iZXI6ICcrMTUwMDU1NTAwMDYnLFxuICAgICAgICBzaWQ6ICdBQzZiZDdmNTEzY2JlZDJlNTEzNGM2NTBiZTA2Y2M3MzJlJyxcbiAgICAgICAgdG9rZW46ICc1MjBhZTczOWU3NjFiYWI3NTliMTQ3ZjFhZDI4Mjc4ZidcbiAgICAgIH1cbiAgICB9LFxuICAgIGRldmVsb3BtZW50OiB7XG4gICAgfSxcbiAgICBwcm9kdWN0aW9uOiB7XG4gICAgICBhcmFuZ29kYjoge1xuICAgICAgICBkdW1wOiAnL3Vzci9iaW4vYXJhbmdvZHVtcCcsXG4gICAgICAgIHJlc3RvcmU6ICcvdXNyL2Jpbi9hcmFuZ29yZXN0b3JlJyxcbiAgICAgIH0sXG4gICAgICBhd3M6IHtcbiAgICAgICAgQnVja2V0OiAnYm94LnJlYWt0b3IuaW8nXG4gICAgICB9LFxuICAgICAgcmVkaXM6IHtcbiAgICAgICAgaG9zdDogJ3JlYWt0b3ItcmVkaXMuZWhjdm50LjAwMDEudXNlMS5jYWNoZS5hbWF6b25hd3MuY29tJ1xuICAgICAgfSxcbiAgICAgIHN0cmlwZToge1xuICAgICAgICB0b2tlbjogJ3NrX2xpdmVfYkVsWmw4UkxoTUNKeTMzS0c0bHlMRDRvJ1xuICAgICAgfSxcbiAgICAgIHR3aWxpbzoge1xuICAgICAgICBudW1iZXI6ICcrMTg1NTQxNjUyMjcnLFxuICAgICAgICBzaWQ6ICdBQzkwYjA1MjhhOTExZTY1MmQ2NDMzMjlhNGQ3YjRkMmM3JyxcbiAgICAgICAgdG9rZW46ICdhNzk0MWQxNzNiZDQ4NDZkMDk2NmExODZlOTg2NWI3MidcbiAgICAgIH1cbiAgICB9LFxuICAgIHRlc3Q6IHtcbiAgICB9XG4gIH07XG5cbiAgc3RhdGljIGdldChwYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSk6IGFueSB7XG4gICAgY29uc3QgZW52aXJvbm1lbnQ6IHN0cmluZyA9IHByb2Nlc3MuZW52LnN0YWdlIHx8ICdkZXZlbG9wbWVudCc7XG4gICAgY29uc3QgY29uZmlnVmFsdWVzOiBvYmplY3QgPSBtZXJnZSh0aGlzLnZhbHVlcy5kZWZhdWx0LCB0aGlzLnZhbHVlc1tlbnZpcm9ubWVudF0sIHtlbnZpcm9ubWVudH0pO1xuICAgIHJldHVybiBnZXQoY29uZmlnVmFsdWVzLCBwYXRoKTtcbiAgfVxufVxuIl19
139
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWcudHMiXSwibmFtZXMiOlsiYXBwUGFja2FnZSIsInJlcXVpcmUiLCJwcm9jZXNzIiwiZW52IiwiYXJhbmdvZGJEYXRhYmFzZSIsImFyYW5nb2RiUGFzc3dvcmQiLCJhcmFuZ29kYlBvcnQiLCJhcmFuZ29kYlVybCIsImFyYW5nb2RiVXNlcm5hbWUiLCJDb25maWciLCJwYXRoIiwiZW52aXJvbm1lbnQiLCJzdGFnZSIsImNvbmZpZ1ZhbHVlcyIsInZhbHVlcyIsImRlZmF1bHQiLCJhcHAiLCJuYW1lIiwidXJsIiwidmVyc2lvbiIsImFyYW5nb2RiIiwiYXBpVXJsIiwiZGF0YWJhc2UiLCJkdW1wIiwicGFzc3dvcmQiLCJwb3J0IiwicmVzdG9yZSIsInVzZXJuYW1lIiwiYXdzIiwiQnVja2V0IiwiYWNjZXNzS2V5SWQiLCJtYXhSZXRyaWVzIiwicmVnaW9uIiwic2VjcmV0QWNjZXNzS2V5Iiwic2lnbmF0dXJlVmVyc2lvbiIsImdpcGh5Iiwia2V5IiwiZ29vZ2xlIiwiYW5hbHl0aWNzIiwiYWNjb3VudElkIiwidHJhY2tpbmdJZCIsImdlb2NvZGUiLCJpbWFnZSIsImltZ1F1YWxpdHkiLCJpbWdTaXplIiwidGhtUXVhbGl0eSIsInRobVNpemUiLCJyZWRpcyIsImhvc3QiLCJzdHJpcGUiLCJ0b2tlbiIsInR3aWxpbyIsIm51bWJlciIsInNpZCIsImRldmVsb3BtZW50IiwicHJvZHVjdGlvbiIsInRlc3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQTs7QUFDQTs7Ozs7Ozs7Ozs7O0FBcUJBLElBQU1BLFVBQWUsR0FBR0MsT0FBTyxDQUFDLGlCQUFELENBQS9COzttQkFRSUMsT0FBTyxDQUFDQyxHO3lDQUxWQyxnQjtJQUFBQSxnQixzQ0FBbUIsUztJQUNuQkMsZ0IsZ0JBQUFBLGdCOzBDQUNBQyxZO0lBQUFBLFksdUNBQWUsTTswQ0FDZkMsVztJQUFBQSxXLHVDQUFjLGU7MENBQ2RDLGdCO0lBQUFBLGdCLHVDQUFtQixTOztJQUdSQyxNOzs7Ozs7Ozs7d0JBcUZBQyxJLEVBQThCO0FBQ3ZDLFVBQU1DLFdBQW1CLEdBQUdULE9BQU8sQ0FBQ0MsR0FBUixDQUFZUyxLQUFaLElBQXFCLGFBQWpEO0FBQ0EsVUFBTUMsWUFBb0IsR0FBRyxvQkFBTSxLQUFLQyxNQUFMLENBQVlDLE9BQWxCLEVBQTJCLEtBQUtELE1BQUwsQ0FBWUgsV0FBWixDQUEzQixFQUFxRDtBQUFDQSxRQUFBQSxXQUFXLEVBQVhBO0FBQUQsT0FBckQsQ0FBN0I7QUFDQSxhQUFPLG1CQUFJRSxZQUFKLEVBQWtCSCxJQUFsQixDQUFQO0FBQ0Q7Ozs7Ozs7O2dCQXpGVUQsTSxZQUNnQjtBQUN6Qk0sRUFBQUEsT0FBTyxFQUFFO0FBQ1BDLElBQUFBLEdBQUcsRUFBRTtBQUNIQyxNQUFBQSxJQUFJLEVBQUUsU0FESDtBQUVIQyxNQUFBQSxHQUFHLEVBQUUsWUFGRjtBQUdIQyxNQUFBQSxPQUFPLEVBQUVuQixVQUFVLENBQUNtQjtBQUhqQixLQURFO0FBTVBDLElBQUFBLFFBQVEsRUFBRTtBQUNSQyxNQUFBQSxNQUFNLG1CQUFZZCxXQUFaLGNBQTJCRCxZQUEzQixDQURFO0FBRVJnQixNQUFBQSxRQUFRLEVBQUVsQixnQkFGRjtBQUdSbUIsTUFBQUEsSUFBSSxFQUFFLDBEQUhFO0FBSVJDLE1BQUFBLFFBQVEsRUFBRW5CLGdCQUpGO0FBS1JvQixNQUFBQSxJQUFJLEVBQUVuQixZQUxFO0FBTVJvQixNQUFBQSxPQUFPLEVBQUUsNkRBTkQ7QUFPUlIsTUFBQUEsR0FBRyxFQUFFWCxXQVBHO0FBUVJvQixNQUFBQSxRQUFRLEVBQUVuQjtBQVJGLEtBTkg7QUFnQlBvQixJQUFBQSxHQUFHLEVBQUU7QUFDSEMsTUFBQUEsTUFBTSxFQUFFLGdCQURMO0FBRUhDLE1BQUFBLFdBQVcsRUFBRSxzQkFGVjtBQUdIQyxNQUFBQSxVQUFVLEVBQUUsQ0FIVDtBQUlIQyxNQUFBQSxNQUFNLEVBQUUsV0FKTDtBQUtIQyxNQUFBQSxlQUFlLEVBQUUsMENBTGQ7QUFNSEMsTUFBQUEsZ0JBQWdCLEVBQUU7QUFOZixLQWhCRTtBQXdCUEMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLEdBQUcsRUFBRTtBQURBLEtBeEJBO0FBMkJQQyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsU0FBUyxFQUFFO0FBQ1RDLFFBQUFBLFNBQVMsRUFBRSxVQURGO0FBRVRDLFFBQUFBLFVBQVUsRUFBRTtBQUZILE9BREw7QUFLTkMsTUFBQUEsT0FBTyxFQUFFO0FBQ1BMLFFBQUFBLEdBQUcsRUFBRSx5Q0FERTtBQUVQbEIsUUFBQUEsR0FBRyxFQUFFO0FBRkUsT0FMSDtBQVNOa0IsTUFBQUEsR0FBRyxFQUFFO0FBVEMsS0EzQkQ7QUFzQ1BNLElBQUFBLEtBQUssRUFBRTtBQUNMQyxNQUFBQSxVQUFVLEVBQUUsRUFEUDtBQUVMQyxNQUFBQSxPQUFPLEVBQUUsSUFGSjtBQUdMQyxNQUFBQSxVQUFVLEVBQUUsRUFIUDtBQUlMQyxNQUFBQSxPQUFPLEVBQUU7QUFKSixLQXRDQTtBQTRDUEMsSUFBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLElBQUksRUFBRSxXQUREO0FBRUx2QixNQUFBQSxJQUFJLEVBQUU7QUFGRCxLQTVDQTtBQWdEUHdCLElBQUFBLE1BQU0sRUFBRTtBQUNOQyxNQUFBQSxLQUFLLEVBQUU7QUFERCxLQWhERDtBQW1EUEMsSUFBQUEsTUFBTSxFQUFFO0FBQ05DLE1BQUFBLE1BQU0sRUFBRSxjQURGO0FBRU5DLE1BQUFBLEdBQUcsRUFBRSxvQ0FGQztBQUdOSCxNQUFBQSxLQUFLLEVBQUU7QUFIRDtBQW5ERCxHQURnQjtBQTBEekJJLEVBQUFBLFdBQVcsRUFBRSxFQTFEWTtBQTREekJDLEVBQUFBLFVBQVUsRUFBRTtBQUNWbkMsSUFBQUEsUUFBUSxFQUFFO0FBQ1JHLE1BQUFBLElBQUksRUFBRSxxQkFERTtBQUVSRyxNQUFBQSxPQUFPLEVBQUU7QUFGRCxLQURBO0FBS1ZFLElBQUFBLEdBQUcsRUFBRTtBQUNIQyxNQUFBQSxNQUFNLEVBQUU7QUFETCxLQUxLO0FBUVZrQixJQUFBQSxLQUFLLEVBQUU7QUFDTEMsTUFBQUEsSUFBSSxFQUFFO0FBREQsS0FSRztBQVdWQyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsS0FBSyxFQUFFO0FBREQsS0FYRTtBQWNWQyxJQUFBQSxNQUFNLEVBQUU7QUFDTkMsTUFBQUEsTUFBTSxFQUFFLGNBREY7QUFFTkMsTUFBQUEsR0FBRyxFQUFFLG9DQUZDO0FBR05ILE1BQUFBLEtBQUssRUFBRTtBQUhEO0FBZEUsR0E1RGE7QUFnRnpCTSxFQUFBQSxJQUFJLEVBQUU7QUFoRm1CLEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcbmltcG9ydCBtZXJnZSBmcm9tICdsb2Rhc2gvbWVyZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcENvbmZpZyB7XG4gIHJlYWRvbmx5IGFwcD86IG9iamVjdDtcbiAgcmVhZG9ubHkgYXJhbmdvZGI/OiBvYmplY3Q7XG4gIHJlYWRvbmx5IGF3cz86IG9iamVjdDtcbiAgcmVhZG9ubHkgZ2lwaHk/OiBvYmplY3Q7XG4gIHJlYWRvbmx5IGdvb2dsZT86IG9iamVjdDtcbiAgcmVhZG9ubHkgaW1hZ2U/OiBvYmplY3Q7XG4gIHJlYWRvbmx5IHJlZGlzPzogb2JqZWN0O1xuICByZWFkb25seSBzdHJpcGU/OiBvYmplY3Q7XG4gIHJlYWRvbmx5IHR3aWxpbz86IG9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnZDb25maWcge1xuICByZWFkb25seSBkZWZhdWx0OiBBcHBDb25maWc7XG4gIHJlYWRvbmx5IGRldmVsb3BtZW50OiBBcHBDb25maWc7XG4gIHJlYWRvbmx5IHByb2R1Y3Rpb246IEFwcENvbmZpZztcbiAgcmVhZG9ubHkgdGVzdDogQXBwQ29uZmlnO1xufVxuXG5jb25zdCBhcHBQYWNrYWdlOiBhbnkgPSByZXF1aXJlKCcuLi9wYWNrYWdlLmpzb24nKTtcblxuY29uc3Qge1xuICBhcmFuZ29kYkRhdGFiYXNlID0gJ3JlYWt0b3InLFxuICBhcmFuZ29kYlBhc3N3b3JkLFxuICBhcmFuZ29kYlBvcnQgPSAnODUyOScsXG4gIGFyYW5nb2RiVXJsID0gJ2RiLnJlYWt0b3IuaW8nLFxuICBhcmFuZ29kYlVzZXJuYW1lID0gJ3JlYWt0b3InXG59ID0gcHJvY2Vzcy5lbnY7XG5cbmV4cG9ydCBjbGFzcyBDb25maWcge1xuICBzdGF0aWMgdmFsdWVzOiBFbnZDb25maWcgPSB7XG4gICAgZGVmYXVsdDoge1xuICAgICAgYXBwOiB7XG4gICAgICAgIG5hbWU6ICdyZWFrdG9yJyxcbiAgICAgICAgdXJsOiAncmVha3Rvci5pbycsXG4gICAgICAgIHZlcnNpb246IGFwcFBhY2thZ2UudmVyc2lvblxuICAgICAgfSxcbiAgICAgIGFyYW5nb2RiOiB7XG4gICAgICAgIGFwaVVybDogYGh0dHA6Ly8ke2FyYW5nb2RiVXJsfToke2FyYW5nb2RiUG9ydH1gLFxuICAgICAgICBkYXRhYmFzZTogYXJhbmdvZGJEYXRhYmFzZSxcbiAgICAgICAgZHVtcDogJy9BcHBsaWNhdGlvbnMvQXJhbmdvREItQ0xJLmFwcC9Db250ZW50cy9NYWNPUy9hcmFuZ29kdW1wJyxcbiAgICAgICAgcGFzc3dvcmQ6IGFyYW5nb2RiUGFzc3dvcmQsXG4gICAgICAgIHBvcnQ6IGFyYW5nb2RiUG9ydCxcbiAgICAgICAgcmVzdG9yZTogJy9BcHBsaWNhdGlvbnMvQXJhbmdvREItQ0xJLmFwcC9Db250ZW50cy9NYWNPUy9hcmFuZ29yZXN0b3JlJyxcbiAgICAgICAgdXJsOiBhcmFuZ29kYlVybCxcbiAgICAgICAgdXNlcm5hbWU6IGFyYW5nb2RiVXNlcm5hbWVcbiAgICAgIH0sXG4gICAgICBhd3M6IHtcbiAgICAgICAgQnVja2V0OiAnZGV2LnJlYWt0b3IuaW8nLFxuICAgICAgICBhY2Nlc3NLZXlJZDogJ0FLSUFKSVlEVDNFQTJaRk1USk5BJyxcbiAgICAgICAgbWF4UmV0cmllczogMyxcbiAgICAgICAgcmVnaW9uOiAndXMtZWFzdC0xJyxcbiAgICAgICAgc2VjcmV0QWNjZXNzS2V5OiAnYlVzc1FSdEpUWkM3Z2VGOVJESDVLQ244Q2FsVm5mMlZUMzR5cVMrOScsXG4gICAgICAgIHNpZ25hdHVyZVZlcnNpb246ICd2NCdcbiAgICAgIH0sXG4gICAgICBnaXBoeToge1xuICAgICAgICBrZXk6ICdkYzZ6YVRPeEZKbXpDJ1xuICAgICAgfSxcbiAgICAgIGdvb2dsZToge1xuICAgICAgICBhbmFseXRpY3M6IHtcbiAgICAgICAgICBhY2NvdW50SWQ6ICc3ODE1ODcxNycsXG4gICAgICAgICAgdHJhY2tpbmdJZDogJ1VBLTc4MTU4NzE3LTEnXG4gICAgICAgIH0sXG4gICAgICAgIGdlb2NvZGU6IHtcbiAgICAgICAgICBrZXk6ICdBSXphU3lCd2ptcEJqV2hpSm9CQ1ppWXpSdXJNOW00V25DeHNsdjAnLFxuICAgICAgICAgIHVybDogJ2h0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS9nZW9jb2RlL2pzb24nXG4gICAgICAgIH0sXG4gICAgICAgIGtleTogJ0FJemFTeUMzX2YyVXMzeTBxamJ5TUotNHQ1T2J0Q3pmcV9GSElnUSdcbiAgICAgIH0sXG4gICAgICBpbWFnZToge1xuICAgICAgICBpbWdRdWFsaXR5OiA5MCxcbiAgICAgICAgaW1nU2l6ZTogMTUwMCxcbiAgICAgICAgdGhtUXVhbGl0eTogODAsXG4gICAgICAgIHRobVNpemU6IDE1MFxuICAgICAgfSxcbiAgICAgIHJlZGlzOiB7XG4gICAgICAgIGhvc3Q6ICcxMjcuMC4wLjEnLFxuICAgICAgICBwb3J0OiA2Mzc5XG4gICAgICB9LFxuICAgICAgc3RyaXBlOiB7XG4gICAgICAgIHRva2VuOiAnc2tfdGVzdF9MUzk1NmJlNTdZVVhUQjVhNHNMR2I1QlEnXG4gICAgICB9LFxuICAgICAgdHdpbGlvOiB7XG4gICAgICAgIG51bWJlcjogJysxNTAwNTU1MDAwNicsXG4gICAgICAgIHNpZDogJ0FDNmJkN2Y1MTNjYmVkMmU1MTM0YzY1MGJlMDZjYzczMmUnLFxuICAgICAgICB0b2tlbjogJzUyMGFlNzM5ZTc2MWJhYjc1OWIxNDdmMWFkMjgyNzhmJ1xuICAgICAgfVxuICAgIH0sXG4gICAgZGV2ZWxvcG1lbnQ6IHtcbiAgICB9LFxuICAgIHByb2R1Y3Rpb246IHtcbiAgICAgIGFyYW5nb2RiOiB7XG4gICAgICAgIGR1bXA6ICcvdXNyL2Jpbi9hcmFuZ29kdW1wJyxcbiAgICAgICAgcmVzdG9yZTogJy91c3IvYmluL2FyYW5nb3Jlc3RvcmUnLFxuICAgICAgfSxcbiAgICAgIGF3czoge1xuICAgICAgICBCdWNrZXQ6ICdib3gucmVha3Rvci5pbydcbiAgICAgIH0sXG4gICAgICByZWRpczoge1xuICAgICAgICBob3N0OiAncmVha3Rvci1yZWRpcy5laGN2bnQuMDAwMS51c2UxLmNhY2hlLmFtYXpvbmF3cy5jb20nXG4gICAgICB9LFxuICAgICAgc3RyaXBlOiB7XG4gICAgICAgIHRva2VuOiAnc2tfbGl2ZV9iRWxabDhSTGhNQ0p5MzNLRzRseUxENG8nXG4gICAgICB9LFxuICAgICAgdHdpbGlvOiB7XG4gICAgICAgIG51bWJlcjogJysxODU1NDE2NTIyNycsXG4gICAgICAgIHNpZDogJ0FDOTBiMDUyOGE5MTFlNjUyZDY0MzMyOWE0ZDdiNGQyYzcnLFxuICAgICAgICB0b2tlbjogJ2E3OTQxZDE3M2JkNDg0NmQwOTY2YTE4NmU5ODY1YjcyJ1xuICAgICAgfVxuICAgIH0sXG4gICAgdGVzdDoge1xuICAgIH1cbiAgfTtcblxuICBzdGF0aWMgZ2V0KHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdKTogYW55IHtcbiAgICBjb25zdCBlbnZpcm9ubWVudDogc3RyaW5nID0gcHJvY2Vzcy5lbnYuc3RhZ2UgfHwgJ2RldmVsb3BtZW50JztcbiAgICBjb25zdCBjb25maWdWYWx1ZXM6IG9iamVjdCA9IG1lcmdlKHRoaXMudmFsdWVzLmRlZmF1bHQsIHRoaXMudmFsdWVzW2Vudmlyb25tZW50XSwge2Vudmlyb25tZW50fSk7XG4gICAgcmV0dXJuIGdldChjb25maWdWYWx1ZXMsIHBhdGgpO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.updateConversation = exports.getConversation = exports.getDirectConversation = exports.getConversationList = void 0;
7
+
8
+ var _utils = require("@nlabs/utils");
9
+
10
+ var _arangojs = require("arangojs");
11
+
12
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
13
+
14
+ var _identity = _interopRequireDefault(require("lodash/identity"));
15
+
16
+ var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
17
+
18
+ var _pick2 = _interopRequireDefault(require("lodash/pick"));
19
+
20
+ var _utils2 = require("../utils");
21
+
22
+ var _analytics = require("../utils/analytics");
23
+
24
+ var _images = require("./images");
25
+
26
+ var _users = require("./users");
27
+
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+
1
30
  function _templateObject3() {
2
31
  var data = _taggedTemplateLiteral(["UPSERT {_key: ", "}\n INSERT ", "\n UPDATE ", "\n IN conversations RETURN NEW"]);
3
32
 
@@ -9,7 +38,7 @@ function _templateObject3() {
9
38
  }
10
39
 
11
40
  function _templateObject2() {
12
- var data = _taggedTemplateLiteral(["FOR c IN conversations\n FILTER ", " == c._key && IS_LIST(c.users) && POSITION(c.users, ", ", false)\n LET u = (\n FOR g IN c.users\n FOR u IN users\n FILTER g == u._key\n RETURN {_key:u._key, first:u.first, last:u.last, name:u.name, email:u.email, username:u.username, photo:u.photo }\n )\n FILTER LENGTH(u) > 1\n LIMIT 1\n RETURN MERGE(c, {users: u})"]);
41
+ var data = _taggedTemplateLiteral(["FOR c IN conversations\n FILTER c._key == ", " && IS_LIST(c.users) && POSITION(c.users, ", ", false)\n LET u = (\n FOR g IN c.users\n FOR u IN users\n FILTER g == u._key\n RETURN {_key:u._key, first:u.first, last:u.last, name:u.name, email:u.email, username:u.username, photo:u.photo }\n )\n FILTER LENGTH(u) > 1\n LIMIT 1\n RETURN MERGE(c, {users: u})"]);
13
42
 
14
43
  _templateObject2 = function _templateObject2() {
15
44
  return data;
@@ -34,32 +63,22 @@ function _templateObject() {
34
63
 
35
64
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
36
65
 
37
- import { createHash, parseId } from '@nlabs/utils';
38
- import { aql } from 'arangojs';
39
- import cloneDeep from 'lodash/cloneDeep';
40
- import identity from 'lodash/identity';
41
- import isEmpty from 'lodash/isEmpty';
42
- import pick from 'lodash/pick';
43
- import { getLimit, useDb } from '../utils';
44
- import { logError } from '../utils/analytics';
45
- import { getUrlImages } from './images';
46
- import { getDisplayName } from './users';
47
66
  /**
48
67
  * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
49
68
  * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
50
69
  */
51
-
52
70
  var eventCategory = 'conversations';
53
- export var getConversationList = function getConversationList(context, from, to) {
71
+
72
+ var getConversationList = function getConversationList(context, from, to) {
54
73
  var action = 'getList';
55
74
  var database = context.database,
56
75
  sessionId = context.userId;
57
- var limit = getLimit(from, to);
76
+ var limit = (0, _utils2.getLimit)(from, to);
58
77
  var aqlQry = "FOR c IN conversations\n FILTER POSITION(c.users, \"".concat(sessionId, "\", false)\n LET u = (\n FOR g IN c.users\n FOR u IN users\n FILTER g == u._key\n RETURN {_key:u._key, first:u.first, last:u.last, name:u.name, email:u.email, username:u.username, photo:u.photo }\n )\n FILTER LENGTH(u) > 1\n ").concat(limit.aql, "\n RETURN {_key:c._key, name: c.name, direct: c.direct, users: u}");
59
- return useDb(database).query(aqlQry).then(function (cursor) {
78
+ return (0, _utils2.useDb)(database).query(aqlQry).then(function (cursor) {
60
79
  return cursor.all();
61
80
  }).catch(function (error) {
62
- return logError({
81
+ return (0, _analytics.logError)({
63
82
  action: action,
64
83
  category: eventCategory,
65
84
  label: 'db_error'
@@ -68,13 +87,16 @@ export var getConversationList = function getConversationList(context, from, to)
68
87
  });
69
88
  });
70
89
  };
71
- export var getDirectConversation = function getDirectConversation(context, userId) {
90
+
91
+ exports.getConversationList = getConversationList;
92
+
93
+ var getDirectConversation = function getDirectConversation(context, userId) {
72
94
  var action = 'getDirect';
73
95
  var database = context.database,
74
96
  sessionId = context.userId;
75
- var formatUserId = parseId(userId);
76
- var aqlQry = aql(_templateObject(), sessionId, formatUserId);
77
- return useDb(database).query(aqlQry).then(function (cursor) {
97
+ var formatUserId = (0, _utils.parseId)(userId);
98
+ var aqlQry = (0, _arangojs.aql)(_templateObject(), sessionId, formatUserId);
99
+ return (0, _utils2.useDb)(database).query(aqlQry).then(function (cursor) {
78
100
  return cursor.next();
79
101
  }).then(function () {
80
102
  var conversation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -93,15 +115,15 @@ export var getDirectConversation = function getDirectConversation(context, userI
93
115
  typeId: userKey
94
116
  };
95
117
  return _objectSpread({}, user, {
96
- name: getDisplayName(user),
97
- thumb: getUrlImages(thumbUrlData)
118
+ name: (0, _users.getDisplayName)(user),
119
+ thumb: (0, _images.getUrlImages)(thumbUrlData)
98
120
  });
99
121
  });
100
122
  }
101
123
 
102
124
  return conversation;
103
125
  }).catch(function (error) {
104
- return logError({
126
+ return (0, _analytics.logError)({
105
127
  action: action,
106
128
  category: eventCategory,
107
129
  label: 'db_error'
@@ -110,18 +132,21 @@ export var getDirectConversation = function getDirectConversation(context, userI
110
132
  });
111
133
  });
112
134
  };
113
- export var getConversation = function getConversation(context, convoId) {
135
+
136
+ exports.getDirectConversation = getDirectConversation;
137
+
138
+ var getConversation = function getConversation(context, convoId) {
114
139
  var action = 'getItem';
115
140
  var database = context.database,
116
141
  sessionId = context.userId;
117
- var formatConvoId = parseId(convoId);
118
- var aqlQry = aql(_templateObject2(), formatConvoId, sessionId);
119
- return useDb(database).query(aqlQry).then(function (cursor) {
142
+ var formatConvoId = (0, _utils.parseId)(convoId);
143
+ var aqlQry = (0, _arangojs.aql)(_templateObject2(), formatConvoId, sessionId);
144
+ return (0, _utils2.useDb)(database).query(aqlQry).then(function (cursor) {
120
145
  return cursor.next();
121
146
  }).then(function () {
122
147
  var conversation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
123
148
 
124
- if (!isEmpty(conversation)) {
149
+ if (!(0, _isEmpty.default)(conversation)) {
125
150
  conversation.users = conversation.users.map(function (user) {
126
151
  var userKey = user._key,
127
152
  imgId = user.imgId;
@@ -133,8 +158,8 @@ export var getConversation = function getConversation(context, convoId) {
133
158
  typeId: userKey
134
159
  };
135
160
  return _objectSpread({}, user, {
136
- name: getDisplayName(user),
137
- thumb: getUrlImages(thumbUrlData)
161
+ name: (0, _users.getDisplayName)(user),
162
+ thumb: (0, _images.getUrlImages)(thumbUrlData)
138
163
  });
139
164
  });
140
165
  return conversation;
@@ -142,7 +167,7 @@ export var getConversation = function getConversation(context, convoId) {
142
167
 
143
168
  return {};
144
169
  }).catch(function (error) {
145
- return logError({
170
+ return (0, _analytics.logError)({
146
171
  action: action,
147
172
  category: eventCategory,
148
173
  label: 'db_error'
@@ -151,19 +176,22 @@ export var getConversation = function getConversation(context, convoId) {
151
176
  });
152
177
  });
153
178
  };
154
- export var updateConversation = function updateConversation(context, item) {
179
+
180
+ exports.getConversation = getConversation;
181
+
182
+ var updateConversation = function updateConversation(context, item) {
155
183
  var action = 'update';
156
184
  var database = context.database,
157
185
  sessionId = context.userId;
158
186
 
159
- var _pick = pick(item, identity),
187
+ var _pick = (0, _pick2.default)(item, _identity.default),
160
188
  direct = _pick.direct,
161
189
  id = _pick.id,
162
190
  name = _pick.name,
163
191
  users = _pick.users;
164
192
 
165
193
  var rcpt = users || [];
166
- var formatId = item.id || createHash("convo-".concat(sessionId, "-").concat(rcpt.join('')));
194
+ var formatId = item.id || (0, _utils.createHash)("convo-".concat(sessionId, "-").concat(rcpt.join('')));
167
195
  var now = Date.now();
168
196
  var update = {
169
197
  // Direct message
@@ -174,19 +202,19 @@ export var updateConversation = function updateConversation(context, item) {
174
202
  users: !!users ? users : undefined
175
203
  };
176
204
 
177
- var insert = _objectSpread({}, cloneDeep(update), {
205
+ var insert = _objectSpread({}, (0, _cloneDeep.default)(update), {
178
206
  _key: formatId,
179
207
  added: now
180
208
  });
181
209
 
182
- var aqlQry = aql(_templateObject3(), id, insert, update);
183
- return useDb(database).query(aqlQry).then(function (cursor) {
210
+ var aqlQry = (0, _arangojs.aql)(_templateObject3(), id, insert, update);
211
+ return (0, _utils2.useDb)(database).query(aqlQry).then(function (cursor) {
184
212
  return cursor.next();
185
213
  }).then(function () {
186
214
  var conversation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
187
215
  return conversation;
188
216
  }).catch(function (error) {
189
- return logError({
217
+ return (0, _analytics.logError)({
190
218
  action: action,
191
219
  category: eventCategory,
192
220
  label: 'db_error'
@@ -195,4 +223,6 @@ export var updateConversation = function updateConversation(context, item) {
195
223
  });
196
224
  });
197
225
  };
198
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhL2NvbnZlcnNhdGlvbnMudHMiXSwibmFtZXMiOlsiY3JlYXRlSGFzaCIsInBhcnNlSWQiLCJhcWwiLCJjbG9uZURlZXAiLCJpZGVudGl0eSIsImlzRW1wdHkiLCJwaWNrIiwiZ2V0TGltaXQiLCJ1c2VEYiIsImxvZ0Vycm9yIiwiZ2V0VXJsSW1hZ2VzIiwiZ2V0RGlzcGxheU5hbWUiLCJldmVudENhdGVnb3J5IiwiZ2V0Q29udmVyc2F0aW9uTGlzdCIsImNvbnRleHQiLCJmcm9tIiwidG8iLCJhY3Rpb24iLCJkYXRhYmFzZSIsInNlc3Npb25JZCIsInVzZXJJZCIsImxpbWl0IiwiYXFsUXJ5IiwicXVlcnkiLCJ0aGVuIiwiY3Vyc29yIiwiYWxsIiwiY2F0Y2giLCJlcnJvciIsImNhdGVnb3J5IiwibGFiZWwiLCJnZXREaXJlY3RDb252ZXJzYXRpb24iLCJmb3JtYXRVc2VySWQiLCJuZXh0IiwiY29udmVyc2F0aW9uIiwidXNlcnMiLCJsZW5ndGgiLCJtYXAiLCJ1c2VyIiwidXNlcktleSIsIl9rZXkiLCJpbWdJZCIsInRodW1iVXJsRGF0YSIsImRpcmVjdG9yeSIsImlzVGh1bWIiLCJ0eXBlIiwidHlwZUlkIiwibmFtZSIsInRodW1iIiwiZ2V0Q29udmVyc2F0aW9uIiwiY29udm9JZCIsImZvcm1hdENvbnZvSWQiLCJ1cGRhdGVDb252ZXJzYXRpb24iLCJpdGVtIiwiZGlyZWN0IiwiaWQiLCJyY3B0IiwiZm9ybWF0SWQiLCJqb2luIiwibm93IiwiRGF0ZSIsInVwZGF0ZSIsInVuZGVmaW5lZCIsIm1vZGlmaWVkIiwiaW5zZXJ0IiwiYWRkZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVFBLFVBQVIsRUFBb0JDLE9BQXBCLFFBQWtDLGNBQWxDO0FBQ0EsU0FBUUMsR0FBUixRQUFrQixVQUFsQjtBQUdBLE9BQU9DLFNBQVAsTUFBc0Isa0JBQXRCO0FBQ0EsT0FBT0MsUUFB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LElBQWpCOztBQU1BLE1BQU1yQyxNQUFnQixHQUFHcEIsR0FBSCxxQkFBdUJxRCxFQUF2QixFQUNYUyxNQURXLEVBRVhILE1BRlcsQ0FBdEI7QUFLQSxTQUFPckQsS0FBSyxDQUFDVSxRQUFELENBQUwsQ0FBZ0JLLEtBQWhCLENBQXNCRCxNQUF0QixFQUNKRSxJQURJLENBQ0MsVUFBQ0MsTUFBRDtBQUFBLFdBQXlCQSxNQUFNLENBQUNRLElBQVAsRUFBekI7QUFBQSxHQURELEVBRUpULElBRkksQ0FFQztBQUFBLFFBQUNVLFlBQUQsdUVBQWtDLEVBQWxDO0FBQUEsV0FBeUNBLFlBQXpDO0FBQUEsR0FGRCxFQUdKUCxLQUhJLENBR0UsVUFBQ0MsS0FBRDtBQUFBLFdBQWtCbkIsUUFBUSxDQUFDO0FBQ2hDUSxNQUFBQSxNQUFNLEVBQU5BLE1BRGdDO0FBRWhDWSxNQUFBQSxRQUFRLEVBQUVqQixhQUZzQjtBQUdoQ2tCLE1BQUFBLEtBQUssRUFBRTtBQUh5QixLQUFELEVBSTlCRixLQUo4QixFQUl2QmQsT0FKdUIsQ0FBUixDQUlOVSxJQUpNLENBSUQ7QUFBQSxhQUFNLElBQU47QUFBQSxLQUpDLENBQWxCO0FBQUEsR0FIRixDQUFQO0FBUUQsQ0FuQ00iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZUhhc2gsIHBhcnNlSWR9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge2FxbH0gZnJvbSAnYXJhbmdvanMnO1xuaW1wb3J0IHtBcWxRdWVyeX0gZnJvbSAnYXJhbmdvanMvbGliL2Nqcy9hcWwtcXVlcnknO1xuaW1wb3J0IHtBcnJheUN1cnNvcn0gZnJvbSAnYXJhbmdvanMvbGliL2Nqcy9jdXJzb3InO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2gvY2xvbmVEZWVwJztcbmltcG9ydCBpZGVudGl0eSBmcm9tICdsb2Rhc2gvaWRlbnRpdHknO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IHBpY2sgZnJvbSAnbG9kYXNoL3BpY2snO1xuaW1wb3J0IHtBcGlDb250ZXh0fSBmcm9tICd0eXBlcy9hdXRoJztcblxuaW1wb3J0IHtBcmFuZ29EQkxpbWl0LCBDb252ZXJzYXRpb25UeXBlLCBJbWFnZVVybERhdGEsIFVzZXJUeXBlfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge2dldExpbWl0LCB1c2VEYn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtsb2dFcnJvcn0gZnJvbSAnLi4vdXRpbHMvYW5hbHl0aWNzJztcbmltcG9ydCB7Z2V0VXJsSW1hZ2VzfSBmcm9tICcuL2ltYWdlcyc7XG5pbXBvcnQge2dldERpc3BsYXlOYW1lfSBmcm9tICcuL3VzZXJzJztcblxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmNvbnN0IGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyA9ICdjb252ZXJzYXRpb25zJztcblxuZXhwb3J0IGNvbnN0IGdldENvbnZlcnNhdGlvbkxpc3QgPSAoY29udGV4dDogQXBpQ29udGV4dCwgZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyKTogUHJvbWlzZTxDb252ZXJzYXRpb25UeXBlW10+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnZ2V0TGlzdCc7XG4gIGNvbnN0IHtkYXRhYmFzZSwgdXNlcklkOiBzZXNzaW9uSWR9ID0gY29udGV4dDtcbiAgY29uc3QgbGltaXQ6IEFyYW5nb0RCTGltaXQgPSBnZXRMaW1pdChmcm9tLCB0byk7XG4gIGNvbnN0IGFxbFFyeTogc3RyaW5nID0gYEZPUiBjIElOIGNvbnZlcnNhdGlvbnNcbiAgICBGSUxURVIgUE9TSVRJT04oYy51c2VycywgXCIke3Nlc3Npb25JZH1cIiwgZmFsc2UpXG4gICAgTEVUIHUgPSAoXG4gICAgICBGT1IgZyBJTiBjLnVzZXJzXG4gICAgICBGT1IgdSBJTiB1c2Vyc1xuICAgICAgRklMVEVSIGcgPT0gdS5fa2V5XG4gICAgICBSRVRVUk4ge19rZXk6dS5fa2V5LCBmaXJzdDp1LmZpcnN0LCBsYXN0OnUubGFzdCwgbmFtZTp1Lm5hbWUsIGVtYWlsOnUuZW1haWwsIHVzZXJuYW1lOnUudXNlcm5hbWUsIHBob3RvOnUucGhvdG8gfVxuICAgIClcbiAgICBGSUxURVIgTEVOR1RIKHUpID4gMVxuICAgICR7bGltaXQuYXFsfVxuICAgIFJFVFVSTiB7X2tleTpjLl9rZXksIG5hbWU6IGMubmFtZSwgZGlyZWN0OiBjLmRpcmVjdCwgdXNlcnM6IHV9YDtcblxuICByZXR1cm4gdXNlRGIoZGF0YWJhc2UpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLmFsbCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiAnZGJfZXJyb3InXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldERpcmVjdENvbnZlcnNhdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0LCB1c2VySWQ6IHN0cmluZyk6IFByb21pc2U8Q29udmVyc2F0aW9uVHlwZT4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdnZXREaXJlY3QnO1xuICBjb25zdCB7ZGF0YWJhc2UsIHVzZXJJZDogc2Vzc2lvbklkfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdFVzZXJJZDogc3RyaW5nID0gcGFyc2VJZCh1c2VySWQpO1xuXG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgRk9SIGMgSU4gY29udmVyc2F0aW9uc1xuICAgIEZJTFRFUiBMRU5HVEgoYy51c2VycykgPT0gMiAmJlxuICAgIFBPU0lUSU9OKGMudXNlcnMsICR7c2Vzc2lvbklkfSwgZmFsc2UpICYmXG4gICAgUE9TSVRJT04oYy51c2VycywgJHtmb3JtYXRVc2VySWR9LCBmYWxzZSlcbiAgICBMRVQgdSA9IChcbiAgICAgIEZPUiBnIElOIGMudXNlcnNcbiAgICAgIEZPUiB1c2VyIElOIHVzZXJzXG4gICAgICBGSUxURVIgdXNlci5fa2V5ID09IGdcbiAgICAgIFJFVFVSTiB1c2VyXG4gICAgKVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gTUVSR0UoYywge3VzZXJzOiB1fSlgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC50aGVuKChjb252ZXJzYXRpb246IENvbnZlcnNhdGlvblR5cGUgPSB7fSkgPT4ge1xuICAgICAgY29uc3Qge3VzZXJzID0gW119ID0gY29udmVyc2F0aW9uO1xuXG4gICAgICBpZih1c2Vycy5sZW5ndGgpIHtcbiAgICAgICAgY29udmVyc2F0aW9uLnVzZXJzID0gdXNlcnMubWFwKCh1c2VyOiBVc2VyVHlwZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHtfa2V5OiB1c2VyS2V5LCBpbWdJZH0gPSB1c2VyO1xuICAgICAgICAgIGNvbnN0IHRodW1iVXJsRGF0YTogSW1hZ2VVcmxEYXRhID0ge1xuICAgICAgICAgICAgZGlyZWN0b3J5OiAnaW1hZ2VzJyxcbiAgICAgICAgICAgIGltZ0lkLFxuICAgICAgICAgICAgaXNUaHVtYjogdHJ1ZSxcbiAgICAgICAgICAgIHR5cGU6ICd1c2VycycsXG4gICAgICAgICAgICB0eXBlSWQ6IHVzZXJLZXlcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi51c2VyLFxuICAgICAgICAgICAgbmFtZTogZ2V0RGlzcGxheU5hbWUodXNlciksXG4gICAgICAgICAgICB0aHVtYjogZ2V0VXJsSW1hZ2VzKHRodW1iVXJsRGF0YSlcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbnZlcnNhdGlvbjtcbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiAnZGJfZXJyb3InXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbnZlcnNhdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBjb252b0lkOiBzdHJpbmcpOiBQcm9taXNlPENvbnZlcnNhdGlvblR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnZ2V0SXRlbSc7XG4gIGNvbnN0IHtkYXRhYmFzZSwgdXNlcklkOiBzZXNzaW9uSWR9ID0gY29udGV4dDtcbiAgY29uc3QgZm9ybWF0Q29udm9JZDogc3RyaW5nID0gcGFyc2VJZChjb252b0lkKTtcblxuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBjIElOIGNvbnZlcnNhdGlvbnNcbiAgICBGSUxURVIgJHtmb3JtYXRDb252b0lkfSA9PSBjLl9rZXkgJiYgSVNfTElTVChjLnVzZXJzKSAmJiBQT1NJVElPTihjLnVzZXJzLCAke3Nlc3Npb25JZH0sIGZhbHNlKVxuICAgIExFVCB1ID0gKFxuICAgICAgRk9SIGcgSU4gYy51c2Vyc1xuICAgICAgRk9SIHUgSU4gdXNlcnNcbiAgICAgIEZJTFRFUiBnID09IHUuX2tleVxuICAgICAgUkVUVVJOIHtfa2V5OnUuX2tleSwgZmlyc3Q6dS5maXJzdCwgbGFzdDp1Lmxhc3QsIG5hbWU6dS5uYW1lLCBlbWFpbDp1LmVtYWlsLCB1c2VybmFtZTp1LnVzZXJuYW1lLCBwaG90bzp1LnBob3RvIH1cbiAgICApXG4gICAgRklMVEVSIExFTkdUSCh1KSA+IDFcbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIE1FUkdFKGMsIHt1c2VyczogdX0pYDtcblxuICByZXR1cm4gdXNlRGIoZGF0YWJhc2UpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAudGhlbigoY29udmVyc2F0aW9uOiBDb252ZXJzYXRpb25UeXBlID0ge30pID0+IHtcbiAgICAgIGlmKCFpc0VtcHR5KGNvbnZlcnNhdGlvbikpIHtcbiAgICAgICAgY29udmVyc2F0aW9uLnVzZXJzID0gY29udmVyc2F0aW9uLnVzZXJzLm1hcCgodXNlcjogVXNlclR5cGUpID0+IHtcbiAgICAgICAgICBjb25zdCB7X2tleTogdXNlcktleSwgaW1nSWR9ID0gdXNlcjtcbiAgICAgICAgICBjb25zdCB0aHVtYlVybERhdGE6IEltYWdlVXJsRGF0YSA9IHtcbiAgICAgICAgICAgIGRpcmVjdG9yeTogJ2ltYWdlcycsXG4gICAgICAgICAgICBpbWdJZCxcbiAgICAgICAgICAgIGlzVGh1bWI6IHRydWUsXG4gICAgICAgICAgICB0eXBlOiAndXNlcnMnLFxuICAgICAgICAgICAgdHlwZUlkOiB1c2VyS2V5XG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udXNlcixcbiAgICAgICAgICAgIG5hbWU6IGdldERpc3BsYXlOYW1lKHVzZXIpLFxuICAgICAgICAgICAgdGh1bWI6IGdldFVybEltYWdlcyh0aHVtYlVybERhdGEpXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGNvbnZlcnNhdGlvbjtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7fTtcbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiAnZGJfZXJyb3InXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUNvbnZlcnNhdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBpdGVtKTogUHJvbWlzZTxDb252ZXJzYXRpb25UeXBlPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ3VwZGF0ZSc7XG4gIGNvbnN0IHtkYXRhYmFzZSwgdXNlcklkOiBzZXNzaW9uSWR9ID0gY29udGV4dDtcbiAgY29uc3Qge2RpcmVjdCwgaWQsIG5hbWUsIHVzZXJzfSA9IHBpY2soaXRlbSwgaWRlbnRpdHkpO1xuICBjb25zdCByY3B0OiBVc2VyVHlwZVtdID0gdXNlcnMgfHwgW107XG4gIGNvbnN0IGZvcm1hdElkOiBzdHJpbmcgPSBpdGVtLmlkIHx8IGNyZWF0ZUhhc2goYGNvbnZvLSR7c2Vzc2lvbklkfS0ke3JjcHQuam9pbignJyl9YCk7XG4gIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcbiAgY29uc3QgdXBkYXRlOiBhbnkgPSB7XG4gICAgLy8gRGlyZWN0IG1lc3NhZ2VcbiAgICBkaXJlY3Q6ICEhZGlyZWN0ID8gZGlyZWN0IDogdW5kZWZpbmVkLFxuICAgIG1vZGlmaWVkOiBub3csXG4gICAgbmFtZTogISFuYW1lID8gbmFtZSA6IHVuZGVmaW5lZCxcbiAgICAvLyBVc2Vyc1xuICAgIHVzZXJzOiAhIXVzZXJzID8gdXNlcnMgOiB1bmRlZmluZWRcbiAgfTtcblxuICBjb25zdCBpbnNlcnQ6IGFueSA9IHtcbiAgICAuLi5jbG9uZURlZXAodXBkYXRlKSxcbiAgICBfa2V5OiBmb3JtYXRJZCxcbiAgICBhZGRlZDogbm93XG4gIH07XG5cbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBVUFNFUlQge19rZXk6ICR7aWR9fVxuICAgIElOU0VSVCAke2luc2VydH1cbiAgICBVUERBVEUgJHt1cGRhdGV9XG4gICAgSU4gY29udmVyc2F0aW9ucyBSRVRVUk4gTkVXYDtcblxuICByZXR1cm4gdXNlRGIoZGF0YWJhc2UpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAudGhlbigoY29udmVyc2F0aW9uOiBDb252ZXJzYXRpb25UeXBlID0ge30pID0+IGNvbnZlcnNhdGlvbilcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG4iXX0=
226
+
227
+ exports.updateConversation = updateConversation;
228
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhL2NvbnZlcnNhdGlvbnMudHMiXSwibmFtZXMiOlsiZXZlbnRDYXRlZ29yeSIsImdldENvbnZlcnNhdGlvbkxpc3QiLCJjb250ZXh0IiwiZnJvbSIsInRvIiwiYWN0aW9uIiwiZGF0YWJhc2UiLCJzZXNzaW9uSWQiLCJ1c2VySWQiLCJsaW1pdCIsImFxbFFyeSIsImFxbCIsInF1ZXJ5IiwidGhlbiIsImN1cnNvciIsImFsbCIsImNhdGNoIiwiZXJyb3IiLCJjYXRlZ29yeSIsImxhYmVsIiwiZ2V0RGlyZWN0Q29udmVyc2F0aW9uIiwiZm9ybWF0VXNlcklkIiwibmV4dCIsImNvbnZlcnNhdGlvbiIsInVzZXJzIiwibGVuZ3RoIiwibWFwIiwidXNlciIsInVzZXJLZXkiLCJfa2V5IiwiaW1nSWQiLCJ0aHVtYlVybERhdGEiLCJkaXJlY3RvcnkiLCJpc1RodW1iIiwidHlwZSIsInR5cGVJZCIsIm5hbWUiLCJ0aHVtYiIsImdldENvbnZlcnNhdGlvbiIsImNvbnZvSWQiLCJmb3JtYXRDb252b0lkIiwidXBkYXRlQ29udmVyc2F0aW9uIiwiaXRlbSIsImlkZW50aXR5IiwiZGlyZWN0IiwiaWQiLCJyY3B0IiwiZm9ybWF0SWQiLCJqb2luIiwibm93IiwiRGF0ZSIsInVwZGF0ZSIsInVuZGVmaW5lZCIsIm1vZGlmaWVkIiwiaW5zZXJ0IiwiYWRkZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFJQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBSUEsSUFBTUEsYUFBcUIsR0FBRyxlQUE5Qjs7QUFFTyxJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQXNCLENBQUNDLE9BQUQsRUFBc0JDLElBQXRCLEVBQW9DQyxFQUFwQyxFQUFnRjtBQUNqSCxNQUFNQyxNQUFjLEdBQUcsU0FBdkI7QUFEaUgsTUFFMUdD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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmVhdGVIYXNoLCBwYXJzZUlkfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHthcWx9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7QXFsUXVlcnl9IGZyb20gJ2FyYW5nb2pzL2xpYi9janMvYXFsLXF1ZXJ5JztcbmltcG9ydCB7QXJyYXlDdXJzb3J9IGZyb20gJ2FyYW5nb2pzL2xpYi9janMvY3Vyc29yJztcbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnbG9kYXNoL2Nsb25lRGVlcCc7XG5pbXBvcnQgaWRlbnRpdHkgZnJvbSAnbG9kYXNoL2lkZW50aXR5JztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC9waWNrJztcbmltcG9ydCB7QXBpQ29udGV4dH0gZnJvbSAndHlwZXMvYXV0aCc7XG5cbmltcG9ydCB7QXJhbmdvREJMaW1pdCwgQ29udmVyc2F0aW9uVHlwZSwgSW1hZ2VVcmxEYXRhLCBVc2VyVHlwZX0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtnZXRMaW1pdCwgdXNlRGJ9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7bG9nRXJyb3J9IGZyb20gJy4uL3V0aWxzL2FuYWx5dGljcyc7XG5pbXBvcnQge2dldFVybEltYWdlc30gZnJvbSAnLi9pbWFnZXMnO1xuaW1wb3J0IHtnZXREaXNwbGF5TmFtZX0gZnJvbSAnLi91c2Vycyc7XG5cbi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5jb25zdCBldmVudENhdGVnb3J5OiBzdHJpbmcgPSAnY29udmVyc2F0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBnZXRDb252ZXJzYXRpb25MaXN0ID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGZyb206IG51bWJlciwgdG86IG51bWJlcik6IFByb21pc2U8Q29udmVyc2F0aW9uVHlwZVtdPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldExpc3QnO1xuICBjb25zdCB7ZGF0YWJhc2UsIHVzZXJJZDogc2Vzc2lvbklkfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGxpbWl0OiBBcmFuZ29EQkxpbWl0ID0gZ2V0TGltaXQoZnJvbSwgdG8pO1xuICBjb25zdCBhcWxRcnk6IHN0cmluZyA9IGBGT1IgYyBJTiBjb252ZXJzYXRpb25zXG4gICAgRklMVEVSIFBPU0lUSU9OKGMudXNlcnMsIFwiJHtzZXNzaW9uSWR9XCIsIGZhbHNlKVxuICAgIExFVCB1ID0gKFxuICAgICAgRk9SIGcgSU4gYy51c2Vyc1xuICAgICAgRk9SIHUgSU4gdXNlcnNcbiAgICAgIEZJTFRFUiBnID09IHUuX2tleVxuICAgICAgUkVUVVJOIHtfa2V5OnUuX2tleSwgZmlyc3Q6dS5maXJzdCwgbGFzdDp1Lmxhc3QsIG5hbWU6dS5uYW1lLCBlbWFpbDp1LmVtYWlsLCB1c2VybmFtZTp1LnVzZXJuYW1lLCBwaG90bzp1LnBob3RvIH1cbiAgICApXG4gICAgRklMVEVSIExFTkdUSCh1KSA+IDFcbiAgICAke2xpbWl0LmFxbH1cbiAgICBSRVRVUk4ge19rZXk6Yy5fa2V5LCBuYW1lOiBjLm5hbWUsIGRpcmVjdDogYy5kaXJlY3QsIHVzZXJzOiB1fWA7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlKS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXREaXJlY3RDb252ZXJzYXRpb24gPSAoY29udGV4dDogQXBpQ29udGV4dCwgdXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPENvbnZlcnNhdGlvblR5cGU+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnZ2V0RGlyZWN0JztcbiAgY29uc3Qge2RhdGFiYXNlLCB1c2VySWQ6IHNlc3Npb25JZH0gPSBjb250ZXh0O1xuICBjb25zdCBmb3JtYXRVc2VySWQ6IHN0cmluZyA9IHBhcnNlSWQodXNlcklkKTtcblxuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBjIElOIGNvbnZlcnNhdGlvbnNcbiAgICBGSUxURVIgTEVOR1RIKGMudXNlcnMpID09IDIgJiZcbiAgICBQT1NJVElPTihjLnVzZXJzLCAke3Nlc3Npb25JZH0sIGZhbHNlKSAmJlxuICAgIFBPU0lUSU9OKGMudXNlcnMsICR7Zm9ybWF0VXNlcklkfSwgZmFsc2UpXG4gICAgTEVUIHUgPSAoXG4gICAgICBGT1IgZyBJTiBjLnVzZXJzXG4gICAgICBGT1IgdXNlciBJTiB1c2Vyc1xuICAgICAgRklMVEVSIHVzZXIuX2tleSA9PSBnXG4gICAgICBSRVRVUk4gdXNlclxuICAgIClcbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIE1FUkdFKGMsIHt1c2VyczogdX0pYDtcblxuICByZXR1cm4gdXNlRGIoZGF0YWJhc2UpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAudGhlbigoY29udmVyc2F0aW9uOiBDb252ZXJzYXRpb25UeXBlID0ge30pID0+IHtcbiAgICAgIGNvbnN0IHt1c2VycyA9IFtdfSA9IGNvbnZlcnNhdGlvbjtcblxuICAgICAgaWYodXNlcnMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnZlcnNhdGlvbi51c2VycyA9IHVzZXJzLm1hcCgodXNlcjogVXNlclR5cGUpID0+IHtcbiAgICAgICAgICBjb25zdCB7X2tleTogdXNlcktleSwgaW1nSWR9ID0gdXNlcjtcbiAgICAgICAgICBjb25zdCB0aHVtYlVybERhdGE6IEltYWdlVXJsRGF0YSA9IHtcbiAgICAgICAgICAgIGRpcmVjdG9yeTogJ2ltYWdlcycsXG4gICAgICAgICAgICBpbWdJZCxcbiAgICAgICAgICAgIGlzVGh1bWI6IHRydWUsXG4gICAgICAgICAgICB0eXBlOiAndXNlcnMnLFxuICAgICAgICAgICAgdHlwZUlkOiB1c2VyS2V5XG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udXNlcixcbiAgICAgICAgICAgIG5hbWU6IGdldERpc3BsYXlOYW1lKHVzZXIpLFxuICAgICAgICAgICAgdGh1bWI6IGdldFVybEltYWdlcyh0aHVtYlVybERhdGEpXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb252ZXJzYXRpb247XG4gICAgfSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb252ZXJzYXRpb24gPSAoY29udGV4dDogQXBpQ29udGV4dCwgY29udm9JZDogc3RyaW5nKTogUHJvbWlzZTxDb252ZXJzYXRpb25UeXBlPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldEl0ZW0nO1xuICBjb25zdCB7ZGF0YWJhc2UsIHVzZXJJZDogc2Vzc2lvbklkfSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdENvbnZvSWQ6IHN0cmluZyA9IHBhcnNlSWQoY29udm9JZCk7XG5cbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBGT1IgYyBJTiBjb252ZXJzYXRpb25zXG4gICAgRklMVEVSIGMuX2tleSA9PSAke2Zvcm1hdENvbnZvSWR9ICYmIElTX0xJU1QoYy51c2VycykgJiYgUE9TSVRJT04oYy51c2VycywgJHtzZXNzaW9uSWR9LCBmYWxzZSlcbiAgICBMRVQgdSA9IChcbiAgICAgIEZPUiBnIElOIGMudXNlcnNcbiAgICAgIEZPUiB1IElOIHVzZXJzXG4gICAgICBGSUxURVIgZyA9PSB1Ll9rZXlcbiAgICAgIFJFVFVSTiB7X2tleTp1Ll9rZXksIGZpcnN0OnUuZmlyc3QsIGxhc3Q6dS5sYXN0LCBuYW1lOnUubmFtZSwgZW1haWw6dS5lbWFpbCwgdXNlcm5hbWU6dS51c2VybmFtZSwgcGhvdG86dS5waG90byB9XG4gICAgKVxuICAgIEZJTFRFUiBMRU5HVEgodSkgPiAxXG4gICAgTElNSVQgMVxuICAgIFJFVFVSTiBNRVJHRShjLCB7dXNlcnM6IHV9KWA7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlKS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKGNvbnZlcnNhdGlvbjogQ29udmVyc2F0aW9uVHlwZSA9IHt9KSA9PiB7XG4gICAgICBpZighaXNFbXB0eShjb252ZXJzYXRpb24pKSB7XG4gICAgICAgIGNvbnZlcnNhdGlvbi51c2VycyA9IGNvbnZlcnNhdGlvbi51c2Vycy5tYXAoKHVzZXI6IFVzZXJUeXBlKSA9PiB7XG4gICAgICAgICAgY29uc3Qge19rZXk6IHVzZXJLZXksIGltZ0lkfSA9IHVzZXI7XG4gICAgICAgICAgY29uc3QgdGh1bWJVcmxEYXRhOiBJbWFnZVVybERhdGEgPSB7XG4gICAgICAgICAgICBkaXJlY3Rvcnk6ICdpbWFnZXMnLFxuICAgICAgICAgICAgaW1nSWQsXG4gICAgICAgICAgICBpc1RodW1iOiB0cnVlLFxuICAgICAgICAgICAgdHlwZTogJ3VzZXJzJyxcbiAgICAgICAgICAgIHR5cGVJZDogdXNlcktleVxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnVzZXIsXG4gICAgICAgICAgICBuYW1lOiBnZXREaXNwbGF5TmFtZSh1c2VyKSxcbiAgICAgICAgICAgIHRodW1iOiBnZXRVcmxJbWFnZXModGh1bWJVcmxEYXRhKVxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBjb252ZXJzYXRpb247XG4gICAgICB9XG4gICAgICByZXR1cm4ge307XG4gICAgfSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVDb252ZXJzYXRpb24gPSAoY29udGV4dDogQXBpQ29udGV4dCwgaXRlbSk6IFByb21pc2U8Q29udmVyc2F0aW9uVHlwZT4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICd1cGRhdGUnO1xuICBjb25zdCB7ZGF0YWJhc2UsIHVzZXJJZDogc2Vzc2lvbklkfSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtkaXJlY3QsIGlkLCBuYW1lLCB1c2Vyc30gPSBwaWNrKGl0ZW0sIGlkZW50aXR5KTtcbiAgY29uc3QgcmNwdDogVXNlclR5cGVbXSA9IHVzZXJzIHx8IFtdO1xuICBjb25zdCBmb3JtYXRJZDogc3RyaW5nID0gaXRlbS5pZCB8fCBjcmVhdGVIYXNoKGBjb252by0ke3Nlc3Npb25JZH0tJHtyY3B0LmpvaW4oJycpfWApO1xuICBjb25zdCBub3c6IG51bWJlciA9IERhdGUubm93KCk7XG4gIGNvbnN0IHVwZGF0ZTogYW55ID0ge1xuICAgIC8vIERpcmVjdCBtZXNzYWdlXG4gICAgZGlyZWN0OiAhIWRpcmVjdCA/IGRpcmVjdCA6IHVuZGVmaW5lZCxcbiAgICBtb2RpZmllZDogbm93LFxuICAgIG5hbWU6ICEhbmFtZSA/IG5hbWUgOiB1bmRlZmluZWQsXG4gICAgLy8gVXNlcnNcbiAgICB1c2VyczogISF1c2VycyA/IHVzZXJzIDogdW5kZWZpbmVkXG4gIH07XG5cbiAgY29uc3QgaW5zZXJ0OiBhbnkgPSB7XG4gICAgLi4uY2xvbmVEZWVwKHVwZGF0ZSksXG4gICAgX2tleTogZm9ybWF0SWQsXG4gICAgYWRkZWQ6IG5vd1xuICB9O1xuXG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHtfa2V5OiAke2lkfX1cbiAgICBJTlNFUlQgJHtpbnNlcnR9XG4gICAgVVBEQVRFICR7dXBkYXRlfVxuICAgIElOIGNvbnZlcnNhdGlvbnMgUkVUVVJOIE5FV2A7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlKS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKGNvbnZlcnNhdGlvbjogQ29udmVyc2F0aW9uVHlwZSA9IHt9KSA9PiBjb252ZXJzYXRpb24pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6ICdkYl9lcnJvcidcbiAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuIl19
@@ -1,18 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseDynamo = exports.dynamoDel = exports.dynamoPutList = exports.dynamoUpdate = exports.dynamoPut = exports.dynamoGetList = exports.dynamoGet = void 0;
7
+
8
+ var _awsSdk = _interopRequireWildcard(require("aws-sdk"));
9
+
10
+ var _config = require("../config");
11
+
12
+ 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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
13
+
1
14
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
2
15
 
3
16
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
17
 
5
- /**
6
- * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
7
- * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
8
- */
9
- import aws, { DynamoDB } from 'aws-sdk';
10
- import { Config } from '../config'; // const eventCategory: string = 'dynamodb';
11
-
12
- export var dynamoGet = function dynamoGet(params) {
18
+ // const eventCategory: string = 'dynamodb';
19
+ var dynamoGet = function dynamoGet(params) {
13
20
  return new Promise(function (resolve, reject) {
14
- aws.config.update(Config.get('aws'));
15
- var dynamodb = new DynamoDB();
21
+ _awsSdk.default.config.update(_config.Config.get('aws'));
22
+
23
+ var dynamodb = new _awsSdk.DynamoDB();
16
24
  params.ConsistentRead = false;
17
25
  dynamodb.getItem(params, function (error, results) {
18
26
  if (error) {
@@ -23,10 +31,14 @@ export var dynamoGet = function dynamoGet(params) {
23
31
  });
24
32
  });
25
33
  };
26
- export var dynamoGetList = function dynamoGetList(params, index) {
34
+
35
+ exports.dynamoGet = dynamoGet;
36
+
37
+ var dynamoGetList = function dynamoGetList(params, index) {
27
38
  return new Promise(function (resolve, reject) {
28
- aws.config.update(Config.get('aws'));
29
- var dynamodb = new DynamoDB();
39
+ _awsSdk.default.config.update(_config.Config.get('aws'));
40
+
41
+ var dynamodb = new _awsSdk.DynamoDB();
30
42
  var consistentRead = params.ConsistentRead;
31
43
 
32
44
  var updatedParams = _objectSpread({}, params);
@@ -58,10 +70,14 @@ export var dynamoGetList = function dynamoGetList(params, index) {
58
70
  });
59
71
  });
60
72
  };
61
- export var dynamoPut = function dynamoPut(params) {
73
+
74
+ exports.dynamoGetList = dynamoGetList;
75
+
76
+ var dynamoPut = function dynamoPut(params) {
62
77
  return new Promise(function (resolve, reject) {
63
- aws.config.update(Config.get('aws'));
64
- var dynamodb = new DynamoDB();
78
+ _awsSdk.default.config.update(_config.Config.get('aws'));
79
+
80
+ var dynamodb = new _awsSdk.DynamoDB();
65
81
  dynamodb.putItem(params, function (error, output) {
66
82
  if (error) {
67
83
  return reject(error);
@@ -71,10 +87,14 @@ export var dynamoPut = function dynamoPut(params) {
71
87
  });
72
88
  });
73
89
  };
74
- export var dynamoUpdate = function dynamoUpdate(params) {
90
+
91
+ exports.dynamoPut = dynamoPut;
92
+
93
+ var dynamoUpdate = function dynamoUpdate(params) {
75
94
  return new Promise(function (resolve, reject) {
76
- aws.config.update(Config.get('aws'));
77
- var dynamodb = new DynamoDB();
95
+ _awsSdk.default.config.update(_config.Config.get('aws'));
96
+
97
+ var dynamodb = new _awsSdk.DynamoDB();
78
98
  dynamodb.updateItem(params, function (error, output) {
79
99
  if (error) {
80
100
  return reject(error);
@@ -84,10 +104,14 @@ export var dynamoUpdate = function dynamoUpdate(params) {
84
104
  });
85
105
  });
86
106
  };
87
- export var dynamoPutList = function dynamoPutList(params) {
107
+
108
+ exports.dynamoUpdate = dynamoUpdate;
109
+
110
+ var dynamoPutList = function dynamoPutList(params) {
88
111
  return new Promise(function (resolve, reject) {
89
- aws.config.update(Config.get('aws'));
90
- var dynamodb = new DynamoDB();
112
+ _awsSdk.default.config.update(_config.Config.get('aws'));
113
+
114
+ var dynamodb = new _awsSdk.DynamoDB();
91
115
  dynamodb.batchWriteItem(params, function (error, output) {
92
116
  if (error) {
93
117
  return reject(error);
@@ -97,10 +121,14 @@ export var dynamoPutList = function dynamoPutList(params) {
97
121
  });
98
122
  });
99
123
  };
100
- export var dynamoDel = function dynamoDel(params) {
124
+
125
+ exports.dynamoPutList = dynamoPutList;
126
+
127
+ var dynamoDel = function dynamoDel(params) {
101
128
  return new Promise(function (resolve, reject) {
102
- aws.config.update(Config.get('aws'));
103
- var dynamodb = new DynamoDB();
129
+ _awsSdk.default.config.update(_config.Config.get('aws'));
130
+
131
+ var dynamodb = new _awsSdk.DynamoDB();
104
132
  dynamodb.deleteItem(params, function (error, output) {
105
133
  if (error) {
106
134
  return reject(error);
@@ -110,7 +138,10 @@ export var dynamoDel = function dynamoDel(params) {
110
138
  });
111
139
  });
112
140
  };
113
- export var parseDynamo = function parseDynamo(results) {
141
+
142
+ exports.dynamoDel = dynamoDel;
143
+
144
+ var parseDynamo = function parseDynamo(results) {
114
145
  var items = results.Items;
115
146
  var data = [];
116
147
 
@@ -136,4 +167,6 @@ export var parseDynamo = function parseDynamo(results) {
136
167
 
137
168
  return data;
138
169
  };
139
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhL2R5bmFtb2RiLnRzIl0sIm5hbWVzIjpbImF3cyIsIkR5bmFtb0RCIiwiQ29uZmlnIiwiZHluYW1vR2V0IiwicGFyYW1zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJjb25maWciLCJ1cGRhdGUiLCJnZXQiLCJkeW5hbW9kYiIsIkNvbnNpc3RlbnRSZWFkIiwiZ2V0SXRlbSIsImVycm9yIiwicmVzdWx0cyIsImR5bmFtb0dldExpc3QiLCJpbmRleCIsImNvbnNpc3RlbnRSZWFkIiwidXBkYXRlZFBhcmFtcyIsIkV4Y2x1c2l2ZVN0YXJ0S2V5IiwicXVlcnkiLCJvdXRwdXQiLCJsaXN0IiwicGFyc2VEeW5hbW8iLCJsYXN0S2V5IiwiTGFzdEV2YWx1YXRlZEtleSIsInVuZGVmaW5lZCIsImR5bmFtb1B1dCIsInB1dEl0ZW0iLCJkeW5hbW9VcGRhdGUiLCJ1cGRhdGVJdGVtIiwiZHluYW1vUHV0TGlzdCIsImJhdGNoV3JpdGVJdGVtIiwiZHluYW1vRGVsIiwiZGVsZXRlSXRlbSIsIml0ZW1zIiwiSXRlbXMiLCJkYXRhIiwiaWR4IiwibGVuIiwibGVuZ3RoIiwidG1wIiwib2JqIiwia2V5IiwiaGFzT3duUHJvcGVydHkiLCJTIiwidG9TdHJpbmciLCJOIiwicGFyc2VGbG9hdCIsIkIiLCJwdXNoIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7QUFJQSxPQUFPQSxHQUFQLElBQWFDLFFBQWIsUUFBNEIsU0FBNUI7QUFnQkEsU0FBUUMsTUFBUixRQUFxQixXQUFyQixDLENBRUE7O0FBRUEsT0FBTyxJQUFNQyxTQUFTLEdBQUcsU0FBWkEsU0FBWSxDQUFDQyxNQUFELEVBQWtEO0FBQ3pFLFNBQU8sSUFBSUMsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUN0Q1AsSUFBQUEsR0FBRyxDQUFDUSxNQUFKLENBQVdDLE1BQVgsQ0FBa0JQLE1BQU0sQ0FBQ1EsR0FBUCxDQUFXLEtBQVgsQ0FBbEI7QUFDQSxR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QUZNLE1BRUE7QUFDTEwsVUFBQUEsR0FBRyxDQUFDQyxHQUFELENBQUgsR0FBV0YsR0FBRyxDQUFDRSxHQUFELENBQUgsQ0FBU00sQ0FBcEI7QUFDRDtBQUNGO0FBQ0Y7O0FBRURaLElBQUFBLElBQUksQ0FBQ2EsSUFBTCxDQUFVUixHQUFWO0FBQ0Q7O0FBRUQsU0FBT0wsSUFBUDtBQUNELENBekJNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCBhd3MsIHtEeW5hbW9EQn0gZnJvbSAnYXdzLXNkayc7XG5pbXBvcnQge1xuICBCYXRjaFdyaXRlSXRlbUlucHV0LFxuICBCYXRjaFdyaXRlSXRlbU91dHB1dCxcbiAgRGVsZXRlSXRlbUlucHV0LFxuICBEZWxldGVJdGVtT3V0cHV0LFxuICBHZXRJdGVtSW5wdXQsXG4gIEdldEl0ZW1PdXRwdXQsXG4gIFB1dEl0ZW1JbnB1dCxcbiAgUHV0SXRlbU91dHB1dCxcbiAgUXVlcnlJbnB1dCxcbiAgUXVlcnlPdXRwdXQsXG4gIFVwZGF0ZUl0ZW1JbnB1dCxcbiAgVXBkYXRlSXRlbU91dHB1dFxufSBmcm9tICdhd3Mtc2RrL2NsaWVudHMvZHluYW1vZGInO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnJztcblxuLy8gY29uc3QgZXZlbnRDYXRlZ29yeTogc3RyaW5nID0gJ2R5bmFtb2RiJztcblxuZXhwb3J0IGNvbnN0IGR5bmFtb0dldCA9IChwYXJhbXM6IEdldEl0ZW1JbnB1dCk6IFByb21pc2U8R2V0SXRlbU91dHB1dD4gPT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGF3cy5jb25maWcudXBkYXRlKENvbmZpZy5nZXQoJ2F3cycpKTtcbiAgICBjb25zdCBkeW5hbW9kYjogRHluYW1vREIgPSBuZXcgRHluYW1vREIoKTtcbiAgICBwYXJhbXMuQ29uc2lzdGVudFJlYWQgPSBmYWxzZTtcblxuICAgIGR5bmFtb2RiLmdldEl0ZW0ocGFyYW1zLCAoZXJyb3I6IEVycm9yLCByZXN1bHRzOiBHZXRJdGVtT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc29sdmUocmVzdWx0cyk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGR5bmFtb0dldExpc3QgPSAocGFyYW1zOiBRdWVyeUlucHV0LCBpbmRleCk6IFByb21pc2U8R2V0SXRlbU91dHB1dFtdPiA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgYXdzLmNvbmZpZy51cGRhdGUoQ29uZmlnLmdldCgnYXdzJykpO1xuICAgIGNvbnN0IGR5bmFtb2RiOiBEeW5hbW9EQiA9IG5ldyBEeW5hbW9EQigpO1xuICAgIGNvbnN0IHtDb25zaXN0ZW50UmVhZDogY29uc2lzdGVudFJlYWR9ID0gcGFyYW1zO1xuICAgIGNvbnN0IHVwZGF0ZWRQYXJhbXMgPSB7Li4ucGFyYW1zfTtcblxuICAgIGlmKGluZGV4KSB7XG4gICAgICB1cGRhdGVkUGFyYW1zLkV4Y2x1c2l2ZVN0YXJ0S2V5ID0gaW5kZXg7XG4gICAgfVxuXG4gICAgaWYoIWNvbnNpc3RlbnRSZWFkKSB7XG4gICAgICB1cGRhdGVkUGFyYW1zLkNvbnNpc3RlbnRSZWFkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgZHluYW1vZGIucXVlcnkodXBkYXRlZFBhcmFtcywgKGVycm9yOiBFcnJvciwgb3V0cHV0OiBRdWVyeU91dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG4gICAgICAvLyBTYXZlIGxpc3Qgb2YgaXRlbXNcbiAgICAgIGNvbnN0IGxpc3Q6IGFueVtdID0gcGFyc2VEeW5hbW8ob3V0cHV0KTtcbiAgICAgIGNvbnN0IHtMYXN0RXZhbHVhdGVkS2V5OiBsYXN0S2V5fSA9IG91dHB1dDtcblxuICAgICAgaWYobGFzdEtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIFNhdmUgbGFzdCBpbmRleCBiZWZvcmUgbG9vcGluZ1xuICAgICAgICByZXR1cm4gZHluYW1vR2V0TGlzdChwYXJhbXMsIGxhc3RLZXkpO1xuICAgICAgfVxuXG4gICAgICAvLyBRdWVyeSBjb21wbGV0ZSwgcmV0dXJuIGZpbmFsIGxpc3RcbiAgICAgIHJldHVybiByZXNvbHZlKGxpc3QpO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9QdXQgPSAocGFyYW1zOiBQdXRJdGVtSW5wdXQpOiBQcm9taXNlPFB1dEl0ZW1PdXRwdXQ+ID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBhd3MuY29uZmlnLnVwZGF0ZShDb25maWcuZ2V0KCdhd3MnKSk7XG4gICAgY29uc3QgZHluYW1vZGI6IER5bmFtb0RCID0gbmV3IER5bmFtb0RCKCk7XG5cbiAgICBkeW5hbW9kYi5wdXRJdGVtKHBhcmFtcywgKGVycm9yLCBvdXRwdXQ6IFB1dEl0ZW1PdXRwdXQpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc29sdmUob3V0cHV0KTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZHluYW1vVXBkYXRlID0gKHBhcmFtczogVXBkYXRlSXRlbUlucHV0KTogUHJvbWlzZTxVcGRhdGVJdGVtT3V0cHV0PiA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgYXdzLmNvbmZpZy51cGRhdGUoQ29uZmlnLmdldCgnYXdzJykpO1xuICAgIGNvbnN0IGR5bmFtb2RiOiBEeW5hbW9EQiA9IG5ldyBEeW5hbW9EQigpO1xuXG4gICAgZHluYW1vZGIudXBkYXRlSXRlbShwYXJhbXMsIChlcnJvcjogRXJyb3IsIG91dHB1dDogVXBkYXRlSXRlbU91dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzb2x2ZShvdXRwdXQpO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9QdXRMaXN0ID0gKHBhcmFtczogQmF0Y2hXcml0ZUl0ZW1JbnB1dCk6IFByb21pc2U8QmF0Y2hXcml0ZUl0ZW1PdXRwdXQ+ID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBhd3MuY29uZmlnLnVwZGF0ZShDb25maWcuZ2V0KCdhd3MnKSk7XG4gICAgY29uc3QgZHluYW1vZGI6IER5bmFtb0RCID0gbmV3IER5bmFtb0RCKCk7XG5cbiAgICBkeW5hbW9kYi5iYXRjaFdyaXRlSXRlbShwYXJhbXMsIChlcnJvcjogRXJyb3IsIG91dHB1dDogQmF0Y2hXcml0ZUl0ZW1PdXRwdXQpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc29sdmUob3V0cHV0KTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZHluYW1vRGVsID0gKHBhcmFtczogRGVsZXRlSXRlbUlucHV0KTogUHJvbWlzZTxEZWxldGVJdGVtT3V0cHV0PiA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgYXdzLmNvbmZpZy51cGRhdGUoQ29uZmlnLmdldCgnYXdzJykpO1xuICAgIGNvbnN0IGR5bmFtb2RiOiBEeW5hbW9EQiA9IG5ldyBEeW5hbW9EQigpO1xuXG4gICAgZHluYW1vZGIuZGVsZXRlSXRlbShwYXJhbXMsIChlcnJvciwgb3V0cHV0OiBEZWxldGVJdGVtT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXNvbHZlKG91dHB1dCk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlRHluYW1vID0gKHJlc3VsdHM6IFF1ZXJ5T3V0cHV0KTogYW55W10gPT4ge1xuICBjb25zdCB7SXRlbXM6IGl0ZW1zfSA9IHJlc3VsdHM7XG4gIGNvbnN0IGRhdGE6IGFueVtdID0gW107XG5cbiAgZm9yKGxldCBpZHg6IG51bWJlciA9IDAsIGxlbiA9IGl0ZW1zLmxlbmd0aDsgaWR4IDwgbGVuOyBpZHgrKykge1xuICAgIGNvbnN0IHRtcCA9IGl0ZW1zW2lkeF07XG4gICAgY29uc3Qgb2JqID0ge307XG4gICAgbGV0IGtleTtcblxuICAgIGZvcihrZXkgaW4gdG1wKSB7XG4gICAgICBpZih0bXAuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBpZih0bXBba2V5XS5TKSB7XG4gICAgICAgICAgb2JqW2tleV0gPSB0bXBba2V5XS5TLnRvU3RyaW5nKCk7XG4gICAgICAgIH0gZWxzZSBpZih0bXBba2V5XS5OKSB7XG4gICAgICAgICAgb2JqW2tleV0gPSBwYXJzZUZsb2F0KHRtcFtrZXldLk4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9ialtrZXldID0gdG1wW2tleV0uQjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGRhdGEucHVzaChvYmopO1xuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59O1xuXG4iXX0=
170
+
171
+ exports.parseDynamo = parseDynamo;
172
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhL2R5bmFtb2RiLnRzIl0sIm5hbWVzIjpbImR5bmFtb0dldCIsInBhcmFtcyIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiYXdzIiwiY29uZmlnIiwidXBkYXRlIiwiQ29uZmlnIiwiZ2V0IiwiZHluYW1vZGIiLCJEeW5hbW9EQiIsIkNvbnNpc3RlbnRSZWFkIiwiZ2V0SXRlbSIsImVycm9yIiwicmVzdWx0cyIsImR5bmFtb0dldExpc3QiLCJpbmRleCIsImNvbnNpc3RlbnRSZWFkIiwidXBkYXRlZFBhcmFtcyIsIkV4Y2x1c2l2ZVN0YXJ0S2V5IiwicXVlcnkiLCJvdXRwdXQiLCJsaXN0IiwicGFyc2VEeW5hbW8iLCJsYXN0S2V5IiwiTGFzdEV2YWx1YXRlZEtleSIsInVuZGVmaW5lZCIsImR5bmFtb1B1dCIsInB1dEl0ZW0iLCJkeW5hbW9VcGRhdGUiLCJ1cGRhdGVJdGVtIiwiZHluYW1vUHV0TGlzdCIsImJhdGNoV3JpdGVJdGVtIiwiZHluYW1vRGVsIiwiZGVsZXRlSXRlbSIsIml0ZW1zIiwiSXRlbXMiLCJkYXRhIiwiaWR4IiwibGVuIiwibGVuZ3RoIiwidG1wIiwib2JqIiwia2V5IiwiaGFzT3duUHJvcGVydHkiLCJTIiwidG9TdHJpbmciLCJOIiwicGFyc2VGbG9hdCIsIkIiLCJwdXNoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUE7O0FBZ0JBOzs7Ozs7OztBQUVBO0FBRU8sSUFBTUEsU0FBUyxHQUFHLFNBQVpBLFNBQVksQ0FBQ0MsTUFBRCxFQUFrRDtBQUN6RSxTQUFPLElBQUlDLE9BQUosQ0FBWSxVQUFDQyxPQUFELEVBQVVDLE1BQVYsRUFBcUI7QUFDdENDLG9CQUFJQyxNQUFKLENBQVdDLE1BQVgsQ0FBa0JDLGVBQU9DLEdBQVAsQ0FBVyxLQUFYLENBQWxCOztBQUNBLFFBQU1DLFFBQWtCLEdBQUcsSUFBSUMsZ0JBQUosRUFBM0I7QUFDQVYsSUFBQUEsTUFBTSxDQUFDVyxjQUFQLEdBQXdCLEtBQXhCO0FB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QU9MLElBQVA7QUFDRCxDQXpCTSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgYXdzLCB7RHluYW1vREJ9IGZyb20gJ2F3cy1zZGsnO1xuaW1wb3J0IHtcbiAgQmF0Y2hXcml0ZUl0ZW1JbnB1dCxcbiAgQmF0Y2hXcml0ZUl0ZW1PdXRwdXQsXG4gIERlbGV0ZUl0ZW1JbnB1dCxcbiAgRGVsZXRlSXRlbU91dHB1dCxcbiAgR2V0SXRlbUlucHV0LFxuICBHZXRJdGVtT3V0cHV0LFxuICBQdXRJdGVtSW5wdXQsXG4gIFB1dEl0ZW1PdXRwdXQsXG4gIFF1ZXJ5SW5wdXQsXG4gIFF1ZXJ5T3V0cHV0LFxuICBVcGRhdGVJdGVtSW5wdXQsXG4gIFVwZGF0ZUl0ZW1PdXRwdXRcbn0gZnJvbSAnYXdzLXNkay9jbGllbnRzL2R5bmFtb2RiJztcblxuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZyc7XG5cbi8vIGNvbnN0IGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyA9ICdkeW5hbW9kYic7XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9HZXQgPSAocGFyYW1zOiBHZXRJdGVtSW5wdXQpOiBQcm9taXNlPEdldEl0ZW1PdXRwdXQ+ID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBhd3MuY29uZmlnLnVwZGF0ZShDb25maWcuZ2V0KCdhd3MnKSk7XG4gICAgY29uc3QgZHluYW1vZGI6IER5bmFtb0RCID0gbmV3IER5bmFtb0RCKCk7XG4gICAgcGFyYW1zLkNvbnNpc3RlbnRSZWFkID0gZmFsc2U7XG5cbiAgICBkeW5hbW9kYi5nZXRJdGVtKHBhcmFtcywgKGVycm9yOiBFcnJvciwgcmVzdWx0czogR2V0SXRlbU91dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXNvbHZlKHJlc3VsdHMpO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9HZXRMaXN0ID0gKHBhcmFtczogUXVlcnlJbnB1dCwgaW5kZXgpOiBQcm9taXNlPEdldEl0ZW1PdXRwdXRbXT4gPT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGF3cy5jb25maWcudXBkYXRlKENvbmZpZy5nZXQoJ2F3cycpKTtcbiAgICBjb25zdCBkeW5hbW9kYjogRHluYW1vREIgPSBuZXcgRHluYW1vREIoKTtcbiAgICBjb25zdCB7Q29uc2lzdGVudFJlYWQ6IGNvbnNpc3RlbnRSZWFkfSA9IHBhcmFtcztcbiAgICBjb25zdCB1cGRhdGVkUGFyYW1zID0gey4uLnBhcmFtc307XG5cbiAgICBpZihpbmRleCkge1xuICAgICAgdXBkYXRlZFBhcmFtcy5FeGNsdXNpdmVTdGFydEtleSA9IGluZGV4O1xuICAgIH1cblxuICAgIGlmKCFjb25zaXN0ZW50UmVhZCkge1xuICAgICAgdXBkYXRlZFBhcmFtcy5Db25zaXN0ZW50UmVhZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGR5bmFtb2RiLnF1ZXJ5KHVwZGF0ZWRQYXJhbXMsIChlcnJvcjogRXJyb3IsIG91dHB1dDogUXVlcnlPdXRwdXQpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuICAgICAgLy8gU2F2ZSBsaXN0IG9mIGl0ZW1zXG4gICAgICBjb25zdCBsaXN0OiBhbnlbXSA9IHBhcnNlRHluYW1vKG91dHB1dCk7XG4gICAgICBjb25zdCB7TGFzdEV2YWx1YXRlZEtleTogbGFzdEtleX0gPSBvdXRwdXQ7XG5cbiAgICAgIGlmKGxhc3RLZXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvLyBTYXZlIGxhc3QgaW5kZXggYmVmb3JlIGxvb3BpbmdcbiAgICAgICAgcmV0dXJuIGR5bmFtb0dldExpc3QocGFyYW1zLCBsYXN0S2V5KTtcbiAgICAgIH1cblxuICAgICAgLy8gUXVlcnkgY29tcGxldGUsIHJldHVybiBmaW5hbCBsaXN0XG4gICAgICByZXR1cm4gcmVzb2x2ZShsaXN0KTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZHluYW1vUHV0ID0gKHBhcmFtczogUHV0SXRlbUlucHV0KTogUHJvbWlzZTxQdXRJdGVtT3V0cHV0PiA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgYXdzLmNvbmZpZy51cGRhdGUoQ29uZmlnLmdldCgnYXdzJykpO1xuICAgIGNvbnN0IGR5bmFtb2RiOiBEeW5hbW9EQiA9IG5ldyBEeW5hbW9EQigpO1xuXG4gICAgZHluYW1vZGIucHV0SXRlbShwYXJhbXMsIChlcnJvciwgb3V0cHV0OiBQdXRJdGVtT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXNvbHZlKG91dHB1dCk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGR5bmFtb1VwZGF0ZSA9IChwYXJhbXM6IFVwZGF0ZUl0ZW1JbnB1dCk6IFByb21pc2U8VXBkYXRlSXRlbU91dHB1dD4gPT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGF3cy5jb25maWcudXBkYXRlKENvbmZpZy5nZXQoJ2F3cycpKTtcbiAgICBjb25zdCBkeW5hbW9kYjogRHluYW1vREIgPSBuZXcgRHluYW1vREIoKTtcblxuICAgIGR5bmFtb2RiLnVwZGF0ZUl0ZW0ocGFyYW1zLCAoZXJyb3I6IEVycm9yLCBvdXRwdXQ6IFVwZGF0ZUl0ZW1PdXRwdXQpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc29sdmUob3V0cHV0KTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZHluYW1vUHV0TGlzdCA9IChwYXJhbXM6IEJhdGNoV3JpdGVJdGVtSW5wdXQpOiBQcm9taXNlPEJhdGNoV3JpdGVJdGVtT3V0cHV0PiA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgYXdzLmNvbmZpZy51cGRhdGUoQ29uZmlnLmdldCgnYXdzJykpO1xuICAgIGNvbnN0IGR5bmFtb2RiOiBEeW5hbW9EQiA9IG5ldyBEeW5hbW9EQigpO1xuXG4gICAgZHluYW1vZGIuYmF0Y2hXcml0ZUl0ZW0ocGFyYW1zLCAoZXJyb3I6IEVycm9yLCBvdXRwdXQ6IEJhdGNoV3JpdGVJdGVtT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXNvbHZlKG91dHB1dCk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGR5bmFtb0RlbCA9IChwYXJhbXM6IERlbGV0ZUl0ZW1JbnB1dCk6IFByb21pc2U8RGVsZXRlSXRlbU91dHB1dD4gPT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGF3cy5jb25maWcudXBkYXRlKENvbmZpZy5nZXQoJ2F3cycpKTtcbiAgICBjb25zdCBkeW5hbW9kYjogRHluYW1vREIgPSBuZXcgRHluYW1vREIoKTtcblxuICAgIGR5bmFtb2RiLmRlbGV0ZUl0ZW0ocGFyYW1zLCAoZXJyb3IsIG91dHB1dDogRGVsZXRlSXRlbU91dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzb2x2ZShvdXRwdXQpO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZUR5bmFtbyA9IChyZXN1bHRzOiBRdWVyeU91dHB1dCk6IGFueVtdID0+IHtcbiAgY29uc3Qge0l0ZW1zOiBpdGVtc30gPSByZXN1bHRzO1xuICBjb25zdCBkYXRhOiBhbnlbXSA9IFtdO1xuXG4gIGZvcihsZXQgaWR4OiBudW1iZXIgPSAwLCBsZW4gPSBpdGVtcy5sZW5ndGg7IGlkeCA8IGxlbjsgaWR4KyspIHtcbiAgICBjb25zdCB0bXAgPSBpdGVtc1tpZHhdO1xuICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgIGxldCBrZXk7XG5cbiAgICBmb3Ioa2V5IGluIHRtcCkge1xuICAgICAgaWYodG1wLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgaWYodG1wW2tleV0uUykge1xuICAgICAgICAgIG9ialtrZXldID0gdG1wW2tleV0uUy50b1N0cmluZygpO1xuICAgICAgICB9IGVsc2UgaWYodG1wW2tleV0uTikge1xuICAgICAgICAgIG9ialtrZXldID0gcGFyc2VGbG9hdCh0bXBba2V5XS5OKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYmpba2V5XSA9IHRtcFtrZXldLkI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBkYXRhLnB1c2gob2JqKTtcbiAgfVxuXG4gIHJldHVybiBkYXRhO1xufTtcblxuIl19