sockethub 4.0.1 → 5.0.0-alpha.1

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 (139) hide show
  1. package/README.md +3 -3
  2. package/bin/sockethub +23 -19
  3. package/dist/bootstrap/init.js +14 -4
  4. package/dist/bootstrap/init.js.map +1 -1
  5. package/dist/bootstrap/platforms.js +81 -69
  6. package/dist/common.js +10 -12
  7. package/dist/common.js.map +1 -1
  8. package/dist/config.js +4 -22
  9. package/dist/config.js.map +1 -1
  10. package/dist/crypto.js +7 -8
  11. package/dist/crypto.js.map +1 -1
  12. package/dist/janitor.js +14 -9
  13. package/dist/janitor.js.map +1 -1
  14. package/dist/middleware/create-activity-object.js +19 -0
  15. package/dist/middleware/create-activity-object.js.map +1 -0
  16. package/dist/middleware/expand-activity-stream.js +33 -0
  17. package/dist/middleware/expand-activity-stream.js.map +1 -0
  18. package/dist/middleware/expand-activity-stream.test.data.js +360 -0
  19. package/dist/middleware/expand-activity-stream.test.data.js.map +1 -0
  20. package/dist/middleware/store-credentials.js +19 -0
  21. package/dist/middleware/store-credentials.js.map +1 -0
  22. package/dist/middleware/validate.js +77 -0
  23. package/dist/middleware/validate.js.map +1 -0
  24. package/dist/middleware/validate.test.data.js +321 -0
  25. package/dist/middleware/validate.test.data.js.map +1 -0
  26. package/dist/middleware.js +47 -49
  27. package/dist/middleware.js.map +1 -1
  28. package/dist/platform-instance.js +84 -66
  29. package/dist/platform-instance.js.map +1 -1
  30. package/dist/platform.js +50 -25
  31. package/dist/platform.js.map +1 -1
  32. package/dist/process-manager.js +7 -4
  33. package/dist/process-manager.js.map +1 -1
  34. package/dist/routes.js +8 -6
  35. package/dist/routes.js.map +1 -1
  36. package/dist/serve.js +3 -3
  37. package/dist/serve.js.map +1 -1
  38. package/dist/sockethub-client.js +2604 -0
  39. package/dist/sockethub-client.js.map +1 -0
  40. package/dist/sockethub-client.min.js +2 -0
  41. package/dist/sockethub-client.min.js.LICENSE.txt +24 -0
  42. package/dist/sockethub.js +75 -58
  43. package/dist/sockethub.js.map +1 -1
  44. package/dist/store.js +17 -0
  45. package/dist/store.js.map +1 -0
  46. package/package.json +48 -44
  47. package/src/bootstrap/init.ts +16 -2
  48. package/src/bootstrap/platforms.js +14 -18
  49. package/src/common.test.ts +44 -33
  50. package/src/common.ts +9 -17
  51. package/src/config.test.ts +16 -38
  52. package/src/config.ts +1 -23
  53. package/src/crypto.test.ts +15 -17
  54. package/src/crypto.ts +4 -5
  55. package/src/janitor.ts +19 -12
  56. package/src/middleware/create-activity-object.test.ts +10 -0
  57. package/src/middleware/create-activity-object.ts +13 -0
  58. package/src/middleware/expand-activity-stream.test.data.ts +365 -0
  59. package/src/middleware/expand-activity-stream.test.ts +78 -0
  60. package/src/middleware/expand-activity-stream.ts +27 -0
  61. package/src/middleware/store-credentials.test.ts +72 -0
  62. package/src/middleware/store-credentials.ts +16 -0
  63. package/src/{validate.d.ts → middleware/validate.d.ts} +0 -0
  64. package/src/middleware/validate.test.data.ts +320 -0
  65. package/src/middleware/validate.test.ts +47 -0
  66. package/src/middleware/validate.ts +49 -0
  67. package/src/middleware.test.ts +148 -0
  68. package/src/middleware.ts +46 -51
  69. package/src/platform-instance.test.ts +224 -196
  70. package/src/platform-instance.ts +74 -58
  71. package/src/platform.ts +44 -24
  72. package/src/process-manager.ts +7 -4
  73. package/src/routes.test.ts +32 -19
  74. package/src/routes.ts +7 -5
  75. package/src/serve.ts +1 -1
  76. package/src/sockethub-client.test.ts +235 -0
  77. package/src/sockethub-client.ts +164 -0
  78. package/src/sockethub.ts +96 -93
  79. package/src/store.test.ts +26 -0
  80. package/src/store.ts +17 -0
  81. package/tsconfig.json +8 -8
  82. package/views/examples/dummy.ejs +7 -7
  83. package/views/examples/feeds.ejs +10 -10
  84. package/views/examples/irc.ejs +65 -59
  85. package/views/examples/shared.js +31 -29
  86. package/views/examples/xmpp.ejs +49 -58
  87. package/webpack.minified.config.js +14 -0
  88. package/webpack.normal.config.js +14 -0
  89. package/coverage/clover.xml +0 -190
  90. package/coverage/coverage-final.json +0 -6
  91. package/coverage/lcov-report/base.css +0 -224
  92. package/coverage/lcov-report/block-navigation.js +0 -79
  93. package/coverage/lcov-report/common.ts.html +0 -143
  94. package/coverage/lcov-report/config.ts.html +0 -359
  95. package/coverage/lcov-report/crypto.ts.html +0 -203
  96. package/coverage/lcov-report/favicon.png +0 -0
  97. package/coverage/lcov-report/index.html +0 -171
  98. package/coverage/lcov-report/platform-instance.ts.html +0 -740
  99. package/coverage/lcov-report/prettify.css +0 -1
  100. package/coverage/lcov-report/prettify.js +0 -2
  101. package/coverage/lcov-report/routes.ts.html +0 -353
  102. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  103. package/coverage/lcov-report/sorter.js +0 -170
  104. package/coverage/lcov-report/src/common.ts.html +0 -143
  105. package/coverage/lcov-report/src/config.ts.html +0 -359
  106. package/coverage/lcov-report/src/crypto.ts.html +0 -182
  107. package/coverage/lcov-report/src/index.html +0 -156
  108. package/coverage/lcov-report/src/platform-instance.ts.html +0 -740
  109. package/coverage/lcov-report/src/routes/base.ts.html +0 -359
  110. package/coverage/lcov-report/src/routes/examples.ts.html +0 -311
  111. package/coverage/lcov-report/src/routes/index.html +0 -111
  112. package/coverage/lcov-report/src/services/http.ts.html +0 -239
  113. package/coverage/lcov-report/src/services/index.html +0 -111
  114. package/coverage/lcov-report/src/services/redis.ts.html +0 -140
  115. package/coverage/lcov-report/src/shared-resources.ts.html +0 -104
  116. package/coverage/lcov.info +0 -336
  117. package/coverage/tmp/coverage-21649-1621596477257-0.json +0 -1
  118. package/dist/bootstrap/platforms.js.map +0 -1
  119. package/dist/js/client.js +0 -177
  120. package/dist/js/client.js.map +0 -1
  121. package/dist/resource-manager.js +0 -66
  122. package/dist/resource-manager.js.map +0 -1
  123. package/dist/routes/base.js +0 -92
  124. package/dist/routes/base.js.map +0 -1
  125. package/dist/routes/examples.js +0 -93
  126. package/dist/routes/examples.js.map +0 -1
  127. package/dist/services/http.js +0 -67
  128. package/dist/services/http.js.map +0 -1
  129. package/dist/services/redis.js +0 -23
  130. package/dist/services/redis.js.map +0 -1
  131. package/dist/shared-resources.js +0 -11
  132. package/dist/shared-resources.js.map +0 -1
  133. package/dist/validate.js +0 -157
  134. package/dist/validate.js.map +0 -1
  135. package/jest.config.js +0 -18
  136. package/src/js/client.js +0 -190
  137. package/src/validate.ts +0 -147
  138. package/test/middleware-suite.js +0 -101
  139. package/test/validate-suite.js +0 -338
package/README.md CHANGED
@@ -29,9 +29,9 @@ Below is a list of platform contexts we're currently working on and their types,
29
29
 
30
30
  ## Platforms
31
31
 
32
- * [Feeds](packages/sockethub-platform-feeds) *(RSS, Atom)*
33
- * [IRC](packages/sockethub-platform-irc)
34
- * [XMPP](packages/sockethub-platform-xmpp)
32
+ * [Feeds](../sockethub-platform-feeds) *(RSS, Atom)*
33
+ * [IRC](../sockethub-platform-irc)
34
+ * [XMPP](../sockethub-platform-xmpp)
35
35
 
36
36
  ## Install
37
37
 
package/bin/sockethub CHANGED
@@ -1,26 +1,30 @@
1
1
  #!/usr/bin/env node
2
2
  const baseDir = process.env.DEV ? 'src' : 'dist';
3
+ const Sockethub = require(`./../${baseDir}/sockethub`).default;
4
+ const sockethub = new Sockethub();
3
5
 
4
- process.once('uncaughtException', function (err) {
5
- console.log(`\nUNCAUGHT EXCEPTION\n`);
6
- console.log(err.stack);
7
- process.exit(1);
8
- });
6
+ (async () => {
7
+ process.once('uncaughtException', function (err) {
8
+ console.log('UNCAUGHT EXCEPTION');
9
+ // eslint-disable-next-line security-node/detect-crlf
10
+ console.log(err.stack);
11
+ process.exit(1);
12
+ });
9
13
 
10
- process.once('SIGTERM', function () {
11
- console.log('Received TERM signal. Exiting.');
12
- process.exit(0);
13
- });
14
+ process.once('SIGTERM', function () {
15
+ console.log('Received TERM signal. Exiting.');
16
+ process.exit(0);
17
+ });
14
18
 
15
- process.once('SIGINT', function () {
16
- console.log('Received INT signal. Exiting.');
17
- process.exit(0);
18
- });
19
+ process.once('SIGINT', function () {
20
+ console.log('Received INT signal. Exiting.');
21
+ process.exit(0);
22
+ });
19
23
 
20
- const Sockethub = require(`./../${baseDir}/sockethub`).default;
21
- const sockethub = new Sockethub();
24
+ process.once('exit', async function () {
25
+ console.log('destroying all platform instances');
26
+ await sockethub.removeAllPlatformInstances();
27
+ });
22
28
 
23
- process.once('exit', function () {
24
- sockethub.removeAllPlatformInstances();
25
- });
26
- sockethub.boot();
29
+ sockethub.boot();
30
+ })();
@@ -6,12 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const debug_1 = __importDefault(require("debug"));
7
7
  const config_1 = __importDefault(require("../config"));
8
8
  const platforms_1 = __importDefault(require("./platforms"));
9
- const log = debug_1.default('sockethub:bootstrap:init');
9
+ const log = (0, debug_1.default)('sockethub:bootstrap:init');
10
10
  log('running init routines');
11
11
  const packageJSON = require('./../../package.json');
12
- const platforms = platforms_1.default(Object.keys(packageJSON.dependencies));
12
+ const platforms = (0, platforms_1.default)(Object.keys(packageJSON.dependencies));
13
13
  log('loaded platforms');
14
14
  if (config_1.default.get('help')) {
15
+ // eslint-disable-next-line security-node/detect-crlf
15
16
  console.log(packageJSON.name + ' ' + packageJSON.version);
16
17
  console.log('command line args: ');
17
18
  console.log();
@@ -26,26 +27,35 @@ if (config_1.default.get('help')) {
26
27
  process.exit();
27
28
  }
28
29
  else if (config_1.default.get('info')) {
30
+ // eslint-disable-next-line security-node/detect-crlf
29
31
  console.log(packageJSON.name + ' ' + packageJSON.version);
30
32
  console.log();
33
+ // eslint-disable-next-line security-node/detect-crlf
31
34
  console.log('examples enabled: ' + config_1.default.get('examples:enabled'));
35
+ // eslint-disable-next-line security-node/detect-crlf
32
36
  console.log('sockethub: ' + config_1.default.get('service:host') + ':' + config_1.default.get('service:port')
33
37
  + config_1.default.get('service:path'));
34
38
  if (config_1.default.get('redis:url')) {
39
+ // eslint-disable-next-line security-node/detect-crlf
35
40
  console.log('redis URL: ' + config_1.default.get('redis:url'));
36
41
  }
37
42
  else {
43
+ // eslint-disable-next-line security-node/detect-crlf
38
44
  console.log('redis: ' + config_1.default.get('redis:host') + ':' + config_1.default.get('redis:port'));
39
45
  }
46
+ // eslint-disable-next-line security-node/detect-crlf
40
47
  console.log('public url: ' + config_1.default.get('public:host') + ':' + config_1.default.get('public:port')
41
48
  + config_1.default.get('public:path'));
42
49
  console.log();
50
+ // eslint-disable-next-line security-node/detect-crlf
43
51
  console.log('platforms: ' + Array.from(platforms.keys()).join(', '));
44
52
  if (platforms.size > 0) {
45
53
  for (let platform of platforms.values()) {
46
54
  console.log();
55
+ // eslint-disable-next-line security-node/detect-crlf
47
56
  console.log(' ' + platform.id + ' v' + platform.version);
48
- console.log(' AS @types: ' + platform['@types']);
57
+ // eslint-disable-next-line security-node/detect-crlf
58
+ console.log(' AS types: ' + platform.types.join(', '));
49
59
  }
50
60
  console.log();
51
61
  process.exit();
@@ -61,4 +71,4 @@ const init = {
61
71
  platforms: platforms
62
72
  };
63
73
  exports.default = init;
64
- //# sourceMappingURL=init.js.map
74
+ //# sourceMappingURL=/bootstrap/init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/bootstrap/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"/","sources":["bootstrap/init.ts"],"names":[],"mappings":"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"}
@@ -5,87 +5,99 @@
5
5
  * platforms, and whitelisting or blacklisting (or neither) based on the
6
6
  * config.
7
7
  */
8
- const tv4 = require('tv4'), debug = require('debug'), schemas = require('sockethub-schemas'), findup = require('findup-sync');
8
+ const debug = require('debug'),
9
+ schemas = require('sockethub-schemas'),
10
+ findup = require('findup-sync');
11
+
9
12
  const config = require('../config').default;
10
13
  const log = debug('sockethub:bootstrap:platforms');
11
- const whitelist = config.get('platforms:whitelist'), blacklist = config.get('platforms:blacklist');
14
+
15
+ const whitelist = config.get('platforms:whitelist'),
16
+ blacklist = config.get('platforms:blacklist');
17
+
12
18
  log('loading platforms');
19
+
13
20
  // checks platform against black and whitelist.
14
21
  function platformIsAccepted(platformName) {
15
- let willLoad = false;
16
- if (whitelist.length > 0) {
17
- if (whitelist.indexOf(platformName) >= 0) {
18
- willLoad = true;
19
- }
20
- }
21
- else if (blacklist.length > 0) {
22
- if (blacklist.indexOf(platformName) < 0) {
23
- willLoad = true;
24
- }
22
+ let willLoad = false;
23
+ if (whitelist.length > 0) {
24
+ if (whitelist.indexOf(platformName) >= 0) {
25
+ willLoad = true;
25
26
  }
26
- else {
27
- willLoad = true;
27
+ } else if (blacklist.length > 0) {
28
+ if (blacklist.indexOf(platformName) < 0) {
29
+ willLoad = true;
28
30
  }
29
- return willLoad;
31
+ } else {
32
+ willLoad = true;
33
+ }
34
+ return willLoad;
30
35
  }
36
+
31
37
  // if the platform schema lists valid types it implements (essentially methods/verbs for
32
- // sockethub to call) the add it to the supported types list.
38
+ // sockethub to call) then add it to the supported types list.
33
39
  function platformListsSupportedTypes(p) {
34
- return ((p.schema.messages.properties) && (p.schema.messages.properties['@type']) &&
35
- (p.schema.messages.properties['@type'].enum) &&
36
- (p.schema.messages.properties['@type'].enum.length > 0));
40
+ return ((p.schema.messages.properties) && (p.schema.messages.properties.type) &&
41
+ (p.schema.messages.properties.type.enum) &&
42
+ (p.schema.messages.properties.type.enum.length > 0));
37
43
  }
44
+
38
45
  module.exports = function platformLoad(moduleList) {
39
- // load platforms from package.json
40
- const rx = new RegExp('^sockethub-platform-', 'i');
41
- const platforms = new Map();
42
- log('finding and registering platforms from package list');
43
- for (let moduleName of moduleList) {
44
- if (rx.test(moduleName)) {
45
- // found a sockethub platform
46
- const platformName = moduleName.replace(rx, '');
47
- log(`registering ${platformName} platform`);
48
- if (platformIsAccepted(platformName)) {
49
- // try to load platform
50
- const P = require(moduleName);
51
- const p = new P();
52
- let path = findup(moduleName, { cwd: __dirname + '/../../node_modules' });
53
- if (!path) {
54
- path = findup(moduleName, { cwd: 'node_modules' });
55
- }
56
- const packageJson = require(path + '/package.json');
57
- let types = [];
58
- // validate schema property
59
- if (!tv4.validate(p.schema, schemas.platform)) {
60
- throw new Error(`${platformName} platform schema failed to validate: ${tv4.error.message}`);
61
- }
62
- else if (typeof p.config !== 'object') {
63
- throw new Error(`${platformName} platform must have a config property that is an object.`);
64
- }
65
- else {
66
- if (p.schema.credentials) {
67
- // register the platforms credentials schema
68
- types.push('credentials');
69
- tv4.addSchema(`http://sockethub.org/schemas/v0/context/${platformName}/credentials`, p.schema.credentials);
70
- }
71
- else {
72
- p.config.noCredentials = true;
73
- }
74
- }
75
- tv4.addSchema(`http://sockethub.org/schemas/v0/context/${platformName}/messages`, p.schema.messages);
76
- if (platformListsSupportedTypes(p)) {
77
- types = [...types, ...p.schema.messages.properties['@type'].enum];
78
- }
79
- platforms.set(platformName, {
80
- id: platformName,
81
- moduleName: moduleName,
82
- config: p.config,
83
- version: packageJson.version,
84
- '@types': types.join(', ')
85
- });
86
- }
46
+ // load platforms from package.json
47
+ const rx = new RegExp('^sockethub-platform-', 'i');
48
+ const platforms = new Map();
49
+ log('finding and registering platforms from package list');
50
+
51
+ for (let moduleName of moduleList) {
52
+ if (rx.test(moduleName)) {
53
+ // found a sockethub platform
54
+ const platformName = moduleName.replace(rx, '');
55
+ log(`registering ${platformName} platform`);
56
+
57
+ if (platformIsAccepted(platformName)) {
58
+ // try to load platform
59
+ const P = require(moduleName);
60
+ const p = new P();
61
+ let path = findup(moduleName, { cwd: __dirname + '/../../node_modules' });
62
+ if (! path) {
63
+ path = findup(moduleName, { cwd: 'node_modules' });
64
+ }
65
+ const packageJson = require(path + '/package.json');
66
+ let types = [];
67
+
68
+ const err = schemas.validator.validatePlatformSchema(p.schema);
69
+ if (err) {
70
+ throw new Error(`${platformName} ${err}`);
71
+ } else if (typeof p.config !== 'object') {
72
+ throw new Error(
73
+ `${platformName} platform must have a config property that is an object.`);
74
+ } else {
75
+ if (p.schema.credentials) {
76
+ // register the platforms credentials schema
77
+ types.push('credentials');
78
+ } else {
79
+ p.config.noCredentials = true;
80
+ }
81
+ }
82
+
83
+ if (platformListsSupportedTypes(p)) {
84
+ types = [...types, ...p.schema.messages.properties.type.enum];
87
85
  }
86
+
87
+ platforms.set(platformName, {
88
+ id: platformName,
89
+ moduleName: moduleName,
90
+ config: p.config,
91
+ schemas: {
92
+ credentials: p.schema.credentials || {},
93
+ messages: p.schema.messages || {}
94
+ },
95
+ version: packageJson.version,
96
+ types: types
97
+ });
98
+ }
88
99
  }
89
- return platforms;
100
+ }
101
+
102
+ return platforms;
90
103
  };
91
- //# sourceMappingURL=platforms.js.map
package/dist/common.js CHANGED
@@ -3,20 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getPlatformId = exports.getSessionStore = void 0;
7
- const secure_store_redis_1 = __importDefault(require("secure-store-redis"));
8
- const config_1 = __importDefault(require("./config"));
6
+ exports.decryptJobData = exports.getPlatformId = void 0;
9
7
  const crypto_1 = __importDefault(require("./crypto"));
10
- function getSessionStore(parentId, parentSecret, sessionId, sessionSecret) {
11
- return new secure_store_redis_1.default({
12
- namespace: 'sockethub:' + parentId + ':session:' + sessionId + ':store',
13
- secret: parentSecret + sessionSecret,
14
- redis: config_1.default.get('redis')
15
- });
16
- }
17
- exports.getSessionStore = getSessionStore;
18
8
  function getPlatformId(platform, actor) {
19
9
  return actor ? crypto_1.default.hash(platform + actor) : crypto_1.default.hash(platform);
20
10
  }
21
11
  exports.getPlatformId = getPlatformId;
22
- //# sourceMappingURL=common.js.map
12
+ function decryptJobData(job, secret) {
13
+ return {
14
+ title: job.data.title,
15
+ msg: crypto_1.default.decrypt(job.data.msg, secret),
16
+ sessionId: job.data.sessionId
17
+ };
18
+ }
19
+ exports.decryptJobData = decryptJobData;
20
+ //# sourceMappingURL=/common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAuC;AAEvC,sDAA8B;AAC9B,sDAA8B;AAO9B,SAAgB,eAAe,CAAC,QAAgB,EAAE,YAAoB,EACtC,SAAiB,EAAE,aAAqB;IACtE,OAAO,IAAI,4BAAK,CAAC;QACf,SAAS,EAAE,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ;QACvE,MAAM,EAAE,YAAY,GAAG,aAAa;QACpC,KAAK,EAAE,gBAAM,CAAC,GAAG,CAAC,OAAO,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC;AAPD,0CAOC;AAED,SAAgB,aAAa,CAAC,QAAgB,EAAE,KAAc;IAC5D,OAAO,KAAK,CAAC,CAAC,CAAC,gBAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvE,CAAC;AAFD,sCAEC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"/","sources":["common.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;AAG9B,SAAgB,aAAa,CAAC,QAAgB,EAAE,KAAc;IAC5D,OAAO,KAAK,CAAC,CAAC,CAAC,gBAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvE,CAAC;AAFD,sCAEC;AAED,SAAgB,cAAc,CAAC,GAAiB,EAAE,MAAc;IAC9D,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK;QACrB,GAAG,EAAE,gBAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;QACzC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC;AAND,wCAMC"}
package/dist/config.js CHANGED
@@ -3,11 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.redisConfig = void 0;
6
+ exports.Config = void 0;
7
7
  const nconf_1 = __importDefault(require("nconf"));
8
8
  const debug_1 = require("debug");
9
- const ioredis_1 = __importDefault(require("ioredis"));
10
- const log = debug_1.debug('sockethub:bootstrap:config');
9
+ const log = (0, debug_1.debug)('sockethub:bootstrap:config');
11
10
  class Config {
12
11
  constructor() {
13
12
  this.get = (key) => nconf_1.default.get(key);
@@ -55,24 +54,7 @@ class Config {
55
54
  }
56
55
  }
57
56
  }
57
+ exports.Config = Config;
58
58
  const config = new Config();
59
- /**
60
- * config object that can be passed in to ioredis to make use of existing connections
61
- * https://github.com/OptimalBits/bull/blob/master/PATTERNS.md#reusing-redis-connections
62
- */
63
- const client = new ioredis_1.default(config.get('redis'));
64
- const subscriber = new ioredis_1.default(config.get('redis'));
65
- exports.redisConfig = {
66
- createClient: function (type) {
67
- switch (type) {
68
- case 'client':
69
- return client;
70
- case 'subscriber':
71
- return subscriber;
72
- default:
73
- return new ioredis_1.default(config.get('redis'));
74
- }
75
- }
76
- };
77
59
  exports.default = config;
78
- //# sourceMappingURL=config.js.map
60
+ //# sourceMappingURL=/config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"/","sources":["config.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,iCAA8B;AAE9B,MAAM,GAAG,GAAG,IAAA,aAAK,EAAC,4BAA4B,CAAC,CAAC;AAEhD,MAAa,MAAM;IACjB;QA6DA,QAAG,GAAG,CAAC,GAAW,EAAO,EAAE,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QA5DzC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC3B,8EAA8E;QAC9E,eAAK,CAAC,IAAI,CAAC;YACT,MAAM,EAAE;gBACN,KAAK,EAAE,cAAc;aACtB;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,cAAc;aACtB;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,YAAY;aACpB;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,YAAY;aACpB;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,WAAW;aACnB;SACF,CAAC,CAAC;QACH,eAAK,CAAC,GAAG,EAAE,CAAC;QAEZ,wDAAwD;QACxD,MAAM,QAAQ,GAAG,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEvC,uBAAuB;QACvB,eAAK,CAAC,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,CAAC;QAE1C,2EAA2E;QAC3E,eAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAEjF,gBAAgB;QAChB,MAAM,QAAQ,GAAW,OAAO,CAAC,SAAS,GAAG,gBAAgB,CAAC,CAAC;QAC/D,eAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEzB,eAAK,CAAC,QAAQ,CAAC,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAE/D,SAAS,gBAAgB,CAAC,IAAY,EAAE,IAAqB,EAAE,IAAY;YACzE,eAAK,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC;YAChC,eAAK,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,gBAAgB,CACd,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,eAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAC7C,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,eAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAC7C,SAAS,CACV,CAAC;QAEF,gBAAgB,CACd,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,eAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EACjD,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,eAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EACjD,OAAO,CACR,CAAC;QAEF,uDAAuD;QACvD,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE;YACzB,eAAK,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9C,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC1B,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAC3B;IACH,CAAC;CAEF;AA/DD,wBA+DC;AAED,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAC5B,kBAAe,MAAM,CAAC"}
package/dist/crypto.js CHANGED
@@ -2,12 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const crypto_1 = require("crypto");
4
4
  const ALGORITHM = 'aes-256-cbc', IV_LENGTH = 16; // For AES, this is always 16
5
- let crypto;
6
5
  class Crypto {
7
6
  constructor() { }
8
7
  encrypt(json, secret) {
9
- const iv = crypto_1.randomBytes(IV_LENGTH);
10
- const cipher = crypto_1.createCipheriv(ALGORITHM, Buffer.from(secret), iv);
8
+ const iv = (0, crypto_1.randomBytes)(IV_LENGTH);
9
+ const cipher = (0, crypto_1.createCipheriv)(ALGORITHM, Buffer.from(secret), iv);
11
10
  let encrypted = cipher.update(JSON.stringify(json));
12
11
  encrypted = Buffer.concat([encrypted, cipher.final()]);
13
12
  return iv.toString('hex') + ':' + encrypted.toString('hex');
@@ -16,13 +15,13 @@ class Crypto {
16
15
  let parts = text.split(':');
17
16
  const iv = Buffer.from(parts.shift(), 'hex');
18
17
  const encryptedText = Buffer.from(parts.join(':'), 'hex');
19
- const decipher = crypto_1.createDecipheriv(ALGORITHM, Buffer.from(secret), iv);
18
+ const decipher = (0, crypto_1.createDecipheriv)(ALGORITHM, Buffer.from(secret), iv);
20
19
  let decrypted = decipher.update(encryptedText);
21
20
  decrypted = Buffer.concat([decrypted, decipher.final()]);
22
21
  return JSON.parse(decrypted.toString());
23
22
  }
24
23
  hash(text) {
25
- const shasum = crypto_1.createHash('sha1');
24
+ const shasum = (0, crypto_1.createHash)('sha1');
26
25
  shasum.update(text);
27
26
  return shasum.digest('hex').substring(0, 7);
28
27
  }
@@ -30,10 +29,10 @@ class Crypto {
30
29
  if (len > 32) {
31
30
  throw new Error(`crypto.randToken supports a length param of up to 32, ${len} given`);
32
31
  }
33
- const buf = crypto_1.randomBytes(len);
32
+ const buf = (0, crypto_1.randomBytes)(len);
34
33
  return buf.toString('hex').substring(0, len);
35
34
  }
36
35
  }
37
- crypto = new Crypto();
36
+ const crypto = new Crypto();
38
37
  exports.default = crypto;
39
- //# sourceMappingURL=crypto.js.map
38
+ //# sourceMappingURL=/crypto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":";;AAAA,mCAAmF;AAEnF,MAAM,SAAS,GAAG,aAAa,EACzB,SAAS,GAAG,EAAE,CAAC,CAAC,6BAA6B;AAEnD,IAAI,MAAM,CAAC;AAEX,MAAM,MAAM;IACV,gBAAe,CAAC;IAChB,OAAO,CAAC,IAAY,EAAE,MAAc;QAClC,MAAM,EAAE,GAAG,oBAAW,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,uBAAc,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpD,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,CAAC,IAAY,EAAE,MAAc;QAClC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,yBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACtE,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/C,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,IAAY;QACf,MAAM,MAAM,GAAG,mBAAU,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,SAAS,CAAC,GAAW;QACnB,IAAI,GAAG,GAAG,EAAE,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,yDAAyD,GAAG,QAAQ,CAAC,CAAC;SACvF;QACD,MAAM,GAAG,GAAG,oBAAW,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AACtB,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"/","sources":["crypto.ts"],"names":[],"mappings":";;AAAA,mCAAmF;AAGnF,MAAM,SAAS,GAAG,aAAa,EACzB,SAAS,GAAG,EAAE,CAAC,CAAC,6BAA6B;AAEnD,MAAM,MAAM;IACV,gBAAe,CAAC;IAChB,OAAO,CAAC,IAAoB,EAAE,MAAc;QAC1C,MAAM,EAAE,GAAG,IAAA,oBAAW,EAAC,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpD,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,CAAC,IAAY,EAAE,MAAc;QAClC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAA,yBAAgB,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACtE,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/C,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,IAAY;QACf,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,SAAS,CAAC,GAAW;QACnB,IAAI,GAAG,GAAG,EAAE,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,yDAAyD,GAAG,QAAQ,CAAC,CAAC;SACvF;QACD,MAAM,GAAG,GAAG,IAAA,oBAAW,EAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;AAC5B,kBAAe,MAAM,CAAC"}
package/dist/janitor.js CHANGED
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const debug_1 = __importDefault(require("debug"));
16
16
  const platform_instance_1 = require("./platform-instance");
17
17
  const serve_1 = __importDefault(require("./serve"));
18
- const rmLog = debug_1.default('sockethub:janitor');
18
+ const rmLog = (0, debug_1.default)('sockethub:janitor');
19
19
  const TICK = 15000;
20
20
  let alreadyCalled = false;
21
21
  let cycleCount = 0; // a counter for each setInterval call
@@ -40,10 +40,10 @@ function janitorCycle() {
40
40
  const sockets = yield serve_1.default.io.fetchSockets();
41
41
  if (!(cycleCount % 4)) {
42
42
  reportCount++;
43
- rmLog(`sessions: ${sockets.length} instances: ${platform_instance_1.platformInstances.size}`);
43
+ rmLog(`socket sessions: ${sockets.length} platform instances: ${platform_instance_1.platformInstances.size}`);
44
44
  }
45
45
  for (let platformInstance of platform_instance_1.platformInstances.values()) {
46
- removeStaleSessions(platformInstance, sockets);
46
+ removeStaleSocketSessions(platformInstance, sockets);
47
47
  // Static platforms are for global use, not tied to a unique to session / eg. credentials)
48
48
  if ((!platformInstance.global) && (platformInstance.sessions.size === 0)) {
49
49
  removeStalePlatformInstance(platformInstance);
@@ -62,19 +62,24 @@ function socketExists(sessionId, sockets) {
62
62
  }
63
63
  return false;
64
64
  }
65
- function removeStaleSessions(platformInstance, sockets) {
66
- for (let sessionId of platformInstance.sessions.values()) {
65
+ function removeSessionCallbacks(platformInstance, sessionId) {
66
+ for (const key in platformInstance.sessionCallbacks) {
67
+ platformInstance.sessionCallbacks[key].delete(sessionId);
68
+ }
69
+ }
70
+ function removeStaleSocketSessions(platformInstance, sockets) {
71
+ for (const sessionId of platformInstance.sessions.values()) {
67
72
  if (!socketExists(sessionId, sockets)) {
68
- rmLog('removing stale session reference ' + sessionId + ' in platform instance '
73
+ rmLog('removing stale socket session reference ' + sessionId + ' in platform instance '
69
74
  + platformInstance.id);
70
75
  platformInstance.sessions.delete(sessionId);
76
+ removeSessionCallbacks(platformInstance, sessionId);
71
77
  }
72
78
  }
73
79
  }
74
80
  function removeStalePlatformInstance(platformInstance) {
75
81
  if (platformInstance.flaggedForTermination) {
76
- rmLog(`terminating platform instance ${platformInstance.id} ` +
77
- `(flagged for termination: no registered sessions found)`);
82
+ rmLog(`terminating platform instance ${platformInstance.id}`);
78
83
  platformInstance.destroy(); // terminate
79
84
  }
80
85
  else {
@@ -90,4 +95,4 @@ const janitor = {
90
95
  reportCount: reportCount
91
96
  };
92
97
  exports.default = janitor;
93
- //# sourceMappingURL=janitor.js.map
98
+ //# sourceMappingURL=/janitor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"janitor.js","sourceRoot":"","sources":["../src/janitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,kDAA0B;AAE1B,2DAAwD;AACxD,oDAA4B;AAE5B,MAAM,KAAK,GAAG,eAAK,CAAC,mBAAmB,CAAC,CAAC;AAEzC,MAAM,IAAI,GAAG,KAAK,CAAC;AACnB,IAAI,aAAa,GAAY,KAAK,CAAC;AACnC,IAAI,UAAU,GAAW,CAAC,CAAC,CAAG,sCAAsC;AACpE,IAAI,WAAW,GAAW,CAAC,CAAC,CAAE,sCAAsC;AAEpE;;;;;;GAMG;AACH,SAAS,YAAY;IACnB,IAAI,CAAE,aAAa,EAAE;QAAE,aAAa,GAAG,IAAI,CAAC;KAAE;SACzC;QAAE,OAAO;KAAE;IAChB,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACvC,WAAW,CAAC,GAAS,EAAE;QACrB,UAAU,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,MAAM,eAAK,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;QAE9C,IAAI,CAAE,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE;YACtB,WAAW,EAAE,CAAC;YACd,KAAK,CAAC,aAAa,OAAO,CAAC,MAAM,eAAe,qCAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;SAC3E;QAED,KAAK,IAAI,gBAAgB,IAAI,qCAAiB,CAAC,MAAM,EAAE,EAAE;YACvD,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAC/C,0FAA0F;YAC1F,IAAI,CAAC,CAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE;gBACzE,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;aAC/C;iBAAM;gBACL,gBAAgB,CAAC,qBAAqB,GAAG,KAAK,CAAC;aAChD;SACF;IACH,CAAC,CAAA,EAAE,IAAI,CAAC,CAAC;AACX,CAAC;AAED,SAAS,YAAY,CAAC,SAAS,EAAE,OAAO;IACtC,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;QAC1B,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE;YAC3B,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,gBAAgB,EAAE,OAAO;IACpD,KAAK,IAAI,SAAS,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE;QACxD,IAAI,CAAE,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;YACtC,KAAK,CAAC,mCAAmC,GAAG,SAAS,GAAG,wBAAwB;kBAC5E,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACzB,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAC7C;KACF;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,gBAAgB;IACnD,IAAI,gBAAgB,CAAC,qBAAqB,EAAE;QAC1C,KAAK,CAAC,iCAAiC,gBAAgB,CAAC,EAAE,GAAG;YAC3D,yDAAyD,CAAC,CAAC;QAC7D,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY;KACzC;SAAM;QACL,KAAK,CAAC,8CAA8C,gBAAgB,CAAC,EAAE,GAAG;YACxE,gCAAgC,CAAC,CAAC;QACpC,gBAAgB,CAAC,qBAAqB,GAAG,IAAI,CAAC;KAC/C;AACH,CAAC;AAED,MAAM,OAAO,GAAG;IACd,KAAK,EAAE,YAAY;IACnB,aAAa,EAAE,aAAa;IAC5B,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,WAAW;CACzB,CAAC;AACF,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"janitor.js","sourceRoot":"/","sources":["janitor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const activity_streams_1 = __importDefault(require("activity-streams"));
7
+ const config_1 = __importDefault(require("../config"));
8
+ const activity = (0, activity_streams_1.default)(config_1.default.get('activity-streams:opts'));
9
+ /**
10
+ * A simple middleware wrapper for the activity-streams Object.create method.
11
+ * @param obj
12
+ * @param done
13
+ */
14
+ function createActivityObject(obj, done) {
15
+ activity.Object.create(obj);
16
+ done(obj);
17
+ }
18
+ exports.default = createActivityObject;
19
+ //# sourceMappingURL=/middleware/create-activity-object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-activity-object.js","sourceRoot":"/","sources":["middleware/create-activity-object.ts"],"names":[],"mappings":";;;;;AAAA,wEAA+C;AAC/C,uDAA+B;AAC/B,MAAM,QAAQ,GAAG,IAAA,0BAAe,EAAC,gBAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAEtE;;;;GAIG;AACH,SAAwB,oBAAoB,CAAC,GAAQ,EAAE,IAAc;IACnE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;AACZ,CAAC;AAHD,uCAGC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const activity_streams_1 = __importDefault(require("activity-streams"));
7
+ const config_1 = __importDefault(require("../config"));
8
+ const activity = (0, activity_streams_1.default)(config_1.default.get('activity-streams:opts'));
9
+ function ensureObject(msg) {
10
+ return !((typeof msg !== 'object') || (Array.isArray(msg)));
11
+ }
12
+ function expandActivityStream(msg, done) {
13
+ if (!ensureObject(msg)) {
14
+ done(new Error(`message received is not an object.`));
15
+ }
16
+ else if (typeof msg.context !== 'string') {
17
+ done(new Error('activity stream must contain a context property'));
18
+ }
19
+ else if (typeof msg.type !== 'string') {
20
+ done(new Error('activity stream must contain a type property.'));
21
+ }
22
+ else {
23
+ msg = activity.Stream(msg);
24
+ if (!msg.actor) {
25
+ done(new Error('activity stream must contain an actor property.'));
26
+ }
27
+ else {
28
+ done(msg);
29
+ }
30
+ }
31
+ }
32
+ exports.default = expandActivityStream;
33
+ //# sourceMappingURL=/middleware/expand-activity-stream.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expand-activity-stream.js","sourceRoot":"/","sources":["middleware/expand-activity-stream.ts"],"names":[],"mappings":";;;;;AAAA,wEAA+C;AAE/C,uDAA+B;AAG/B,MAAM,QAAQ,GAAG,IAAA,0BAAe,EAAC,gBAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAEtE,SAAS,YAAY,CAAC,GAAQ;IAC5B,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAwB,oBAAoB,CAAC,GAAmB,EAAE,IAAc;IAC9E,IAAI,CAAE,YAAY,CAAC,GAAG,CAAC,EAAE;QACvB,IAAI,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;KACvD;SAAM,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE;QAC1C,IAAI,CAAC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC;KACpE;SAAO,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;QACxC,IAAI,CAAC,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC;KAClE;SAAM;QACL,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAE,GAAG,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC;SACpE;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,CAAC;SACX;KACF;AACH,CAAC;AAfD,uCAeC"}