hydra-crawler 1.4.6 → 2.0.0

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 (305) hide show
  1. package/dist/apis/autocomplete.api.d.ts +7 -0
  2. package/dist/apis/autocomplete.api.js +15 -9
  3. package/dist/apis/autocomplete.api.js.map +1 -0
  4. package/dist/apis/bugs.api.d.ts +7 -0
  5. package/dist/apis/bugs.api.js +21 -15
  6. package/dist/apis/bugs.api.js.map +1 -0
  7. package/dist/apis/crawl.api.d.ts +7 -0
  8. package/dist/apis/crawl.api.js +15 -9
  9. package/dist/apis/crawl.api.js.map +1 -0
  10. package/dist/apis/domains.api.d.ts +7 -0
  11. package/dist/apis/domains.api.js +24 -19
  12. package/dist/apis/domains.api.js.map +1 -0
  13. package/dist/apis/images.api.d.ts +7 -0
  14. package/dist/apis/images.api.js +20 -14
  15. package/dist/apis/images.api.js.map +1 -0
  16. package/dist/apis/statistics.api.d.ts +8 -0
  17. package/dist/apis/statistics.api.js +27 -20
  18. package/dist/apis/statistics.api.js.map +1 -0
  19. package/dist/apis/test.api.d.ts +5 -0
  20. package/dist/apis/test.api.js +15 -9
  21. package/dist/apis/test.api.js.map +1 -0
  22. package/dist/apis/urls.api.d.ts +7 -0
  23. package/dist/apis/urls.api.js +21 -15
  24. package/dist/apis/urls.api.js.map +1 -0
  25. package/dist/apps/cleanup.app.d.ts +19 -0
  26. package/dist/apps/cleanup.app.js +118 -100
  27. package/dist/apps/cleanup.app.js.map +1 -0
  28. package/dist/apps/cross-populate-export.app.d.ts +12 -0
  29. package/dist/apps/cross-populate-export.app.js +60 -47
  30. package/dist/apps/cross-populate-export.app.js.map +1 -0
  31. package/dist/apps/cross-populate-import.app.d.ts +12 -0
  32. package/dist/apps/cross-populate-import.app.js +64 -51
  33. package/dist/apps/cross-populate-import.app.js.map +1 -0
  34. package/dist/apps/denylist.app.d.ts +17 -0
  35. package/dist/apps/denylist.app.js +115 -98
  36. package/dist/apps/denylist.app.js.map +1 -0
  37. package/dist/apps/expire.app.d.ts +19 -0
  38. package/dist/apps/expire.app.js +44 -31
  39. package/dist/apps/expire.app.js.map +1 -0
  40. package/dist/apps/extract-text.app.d.ts +8 -0
  41. package/dist/apps/extract-text.app.js +43 -35
  42. package/dist/apps/extract-text.app.js.map +1 -0
  43. package/dist/apps/hydra.app.d.ts +34 -0
  44. package/dist/apps/hydra.app.js +150 -137
  45. package/dist/apps/hydra.app.js.map +1 -0
  46. package/dist/apps/import.app.d.ts +11 -0
  47. package/dist/apps/import.app.js +44 -32
  48. package/dist/apps/import.app.js.map +1 -0
  49. package/dist/apps/internal-hydra-common.app.d.ts +28 -0
  50. package/dist/apps/internal-hydra-common.app.js +5 -11
  51. package/dist/apps/internal-hydra-common.app.js.map +1 -0
  52. package/dist/apps/query.app.d.ts +20 -0
  53. package/dist/apps/query.app.js +63 -49
  54. package/dist/apps/query.app.js.map +1 -0
  55. package/dist/apps/reattempt.app.d.ts +17 -0
  56. package/dist/apps/reattempt.app.js +66 -53
  57. package/dist/apps/reattempt.app.js.map +1 -0
  58. package/dist/apps/requeue-domain.app.d.ts +13 -0
  59. package/dist/apps/requeue-domain.app.js +50 -37
  60. package/dist/apps/requeue-domain.app.js.map +1 -0
  61. package/dist/apps/seed.app.d.ts +15 -0
  62. package/dist/apps/seed.app.js +53 -40
  63. package/dist/apps/seed.app.js.map +1 -0
  64. package/dist/apps/startup.app.d.ts +11 -0
  65. package/dist/apps/startup.app.js +51 -38
  66. package/dist/apps/startup.app.js.map +1 -0
  67. package/dist/apps/unarchive.app.d.ts +15 -0
  68. package/dist/apps/unarchive.app.js +67 -54
  69. package/dist/apps/unarchive.app.js.map +1 -0
  70. package/dist/classes/cleaner.d.ts +12 -0
  71. package/dist/classes/cleaner.js +227 -207
  72. package/dist/classes/cleaner.js.map +1 -0
  73. package/dist/classes/crawler.d.ts +34 -0
  74. package/dist/classes/crawler.js +248 -241
  75. package/dist/classes/crawler.js.map +1 -0
  76. package/dist/classes/dns.d.ts +3 -0
  77. package/dist/classes/dns.js +10 -13
  78. package/dist/classes/dns.js.map +1 -0
  79. package/dist/classes/expirer.d.ts +10 -0
  80. package/dist/classes/expirer.js +107 -94
  81. package/dist/classes/expirer.js.map +1 -0
  82. package/dist/classes/expiry.d.ts +8 -0
  83. package/dist/classes/expiry.js +16 -19
  84. package/dist/classes/expiry.js.map +1 -0
  85. package/dist/classes/lists.d.ts +9 -0
  86. package/dist/classes/lists.js +13 -18
  87. package/dist/classes/lists.js.map +1 -0
  88. package/dist/classes/robot.d.ts +15 -0
  89. package/dist/classes/robot.js +40 -30
  90. package/dist/classes/robot.js.map +1 -0
  91. package/dist/classes/tracker.d.ts +25 -0
  92. package/dist/classes/tracker.js +82 -64
  93. package/dist/classes/tracker.js.map +1 -0
  94. package/dist/cli.d.ts +1 -0
  95. package/dist/cli.js +72 -65
  96. package/dist/cli.js.map +1 -0
  97. package/dist/enums/eavailable-strategy.d.ts +4 -0
  98. package/dist/enums/eavailable-strategy.js +3 -5
  99. package/dist/enums/eavailable-strategy.js.map +1 -0
  100. package/dist/enums/elist.d.ts +7 -0
  101. package/dist/enums/elist.js +7 -11
  102. package/dist/enums/elist.js.map +1 -0
  103. package/dist/enums/eserver.d.ts +8 -0
  104. package/dist/enums/eserver.js +3 -5
  105. package/dist/enums/eserver.js.map +1 -0
  106. package/dist/enums/ex-powered-by.d.ts +6 -0
  107. package/dist/enums/ex-powered-by.js +3 -5
  108. package/dist/enums/ex-powered-by.js.map +1 -0
  109. package/dist/helpers/matcher.d.ts +5 -0
  110. package/dist/helpers/matcher.js +2 -5
  111. package/dist/helpers/matcher.js.map +1 -0
  112. package/dist/helpers/random.d.ts +4 -0
  113. package/dist/helpers/random.js +2 -5
  114. package/dist/helpers/random.js.map +1 -0
  115. package/dist/helpers/utf-decoder.d.ts +4 -0
  116. package/dist/helpers/utf-decoder.js +3 -6
  117. package/dist/helpers/utf-decoder.js.map +1 -0
  118. package/dist/interfaces/iexpiry.d.ts +7 -0
  119. package/dist/interfaces/iexpiry.js +9 -13
  120. package/dist/interfaces/iexpiry.js.map +1 -0
  121. package/dist/interfaces/imatch.d.ts +6 -0
  122. package/dist/interfaces/imatch.js +6 -9
  123. package/dist/interfaces/imatch.js.map +1 -0
  124. package/dist/interfaces/iparser-config.d.ts +4 -0
  125. package/dist/interfaces/iparser-config.js +4 -7
  126. package/dist/interfaces/iparser-config.js.map +1 -0
  127. package/dist/interfaces/iparser.d.ts +8 -0
  128. package/dist/interfaces/iparser.js +2 -2
  129. package/dist/interfaces/iparser.js.map +1 -0
  130. package/dist/interfaces/irequest-outcome.d.ts +11 -0
  131. package/dist/interfaces/irequest-outcome.js +2 -2
  132. package/dist/interfaces/irequest-outcome.js.map +1 -0
  133. package/dist/interfaces/iserver.d.ts +4 -0
  134. package/dist/interfaces/iserver.js +2 -2
  135. package/dist/interfaces/iserver.js.map +1 -0
  136. package/dist/parsers/accessibility-metrics.parser.d.ts +11 -0
  137. package/dist/parsers/accessibility-metrics.parser.js +34 -26
  138. package/dist/parsers/accessibility-metrics.parser.js.map +1 -0
  139. package/dist/parsers/asp-error.parser.d.ts +12 -0
  140. package/dist/parsers/asp-error.parser.js +36 -28
  141. package/dist/parsers/asp-error.parser.js.map +1 -0
  142. package/dist/parsers/bad-words.parser.d.ts +10 -0
  143. package/dist/parsers/bad-words.parser.js +21 -13
  144. package/dist/parsers/bad-words.parser.js.map +1 -0
  145. package/dist/parsers/complex-english.parser.d.ts +15 -0
  146. package/dist/parsers/complex-english.parser.js +33 -25
  147. package/dist/parsers/complex-english.parser.js.map +1 -0
  148. package/dist/parsers/data.parser.d.ts +14 -0
  149. package/dist/parsers/data.parser.js +12 -16
  150. package/dist/parsers/data.parser.js.map +1 -0
  151. package/dist/parsers/dictionary.parser.d.ts +19 -0
  152. package/dist/parsers/dictionary.parser.js +47 -39
  153. package/dist/parsers/dictionary.parser.js.map +1 -0
  154. package/dist/parsers/html.parser.d.ts +13 -0
  155. package/dist/parsers/html.parser.js +4 -8
  156. package/dist/parsers/html.parser.js.map +1 -0
  157. package/dist/parsers/hyperlinks.parser.d.ts +20 -0
  158. package/dist/parsers/hyperlinks.parser.js +82 -77
  159. package/dist/parsers/hyperlinks.parser.js.map +1 -0
  160. package/dist/parsers/image-tags.parser.d.ts +20 -0
  161. package/dist/parsers/image-tags.parser.js +38 -34
  162. package/dist/parsers/image-tags.parser.js.map +1 -0
  163. package/dist/parsers/jpeg.parser.d.ts +11 -0
  164. package/dist/parsers/jpeg.parser.js +28 -20
  165. package/dist/parsers/jpeg.parser.js.map +1 -0
  166. package/dist/parsers/paragraphs.parser.d.ts +13 -0
  167. package/dist/parsers/paragraphs.parser.js +33 -40
  168. package/dist/parsers/paragraphs.parser.js.map +1 -0
  169. package/dist/parsers/parser.d.ts +19 -0
  170. package/dist/parsers/parser.js +30 -17
  171. package/dist/parsers/parser.js.map +1 -0
  172. package/dist/parsers/php-error.parser.d.ts +12 -0
  173. package/dist/parsers/php-error.parser.js +42 -34
  174. package/dist/parsers/php-error.parser.js.map +1 -0
  175. package/dist/parsers/phrase.parser.d.ts +8 -0
  176. package/dist/parsers/phrase.parser.js +16 -11
  177. package/dist/parsers/phrase.parser.js.map +1 -0
  178. package/dist/parsers/regex.parser.d.ts +10 -0
  179. package/dist/parsers/regex.parser.js +30 -22
  180. package/dist/parsers/regex.parser.js.map +1 -0
  181. package/dist/parsers/server.parser.d.ts +12 -0
  182. package/dist/parsers/server.parser.js +66 -56
  183. package/dist/parsers/server.parser.js.map +1 -0
  184. package/dist/parsers/spelling.parser.d.ts +10 -0
  185. package/dist/parsers/spelling.parser.js +21 -13
  186. package/dist/parsers/spelling.parser.js.map +1 -0
  187. package/dist/parsers/string.parser.d.ts +8 -0
  188. package/dist/parsers/string.parser.js +5 -8
  189. package/dist/parsers/string.parser.js.map +1 -0
  190. package/dist/parsers/text.parser.d.ts +8 -0
  191. package/dist/parsers/text.parser.js +24 -18
  192. package/dist/parsers/text.parser.js.map +1 -0
  193. package/dist/parsers/words.parser.d.ts +11 -0
  194. package/dist/parsers/words.parser.js +32 -28
  195. package/dist/parsers/words.parser.js.map +1 -0
  196. package/dist/queries/complex-english.query.d.ts +2 -0
  197. package/dist/queries/complex-english.query.js +37 -38
  198. package/dist/queries/complex-english.query.js.map +1 -0
  199. package/dist/queries/flash-content.query.d.ts +2 -0
  200. package/dist/queries/flash-content.query.js +39 -30
  201. package/dist/queries/flash-content.query.js.map +1 -0
  202. package/dist/queries/linking-to-domains.query.d.ts +2 -0
  203. package/dist/queries/linking-to-domains.query.js +35 -27
  204. package/dist/queries/linking-to-domains.query.js.map +1 -0
  205. package/dist/queries/readability-score.query.d.ts +2 -0
  206. package/dist/queries/readability-score.query.js +21 -13
  207. package/dist/queries/readability-score.query.js.map +1 -0
  208. package/dist/servers/crawl.server.d.ts +35 -0
  209. package/dist/servers/crawl.server.js +133 -121
  210. package/dist/servers/crawl.server.js.map +1 -0
  211. package/dist/servers/express.server.d.ts +8 -0
  212. package/dist/servers/express.server.js +7 -10
  213. package/dist/servers/express.server.js.map +1 -0
  214. package/dist/servers/maintenance.server.d.ts +22 -0
  215. package/dist/servers/maintenance.server.js +42 -36
  216. package/dist/servers/maintenance.server.js.map +1 -0
  217. package/dist/servers/rest.server.d.ts +7 -0
  218. package/dist/servers/rest.server.js +40 -51
  219. package/dist/servers/rest.server.js.map +1 -0
  220. package/dist/servers/socket-io.server.d.ts +12 -0
  221. package/dist/servers/socket-io.server.js +48 -15
  222. package/dist/servers/socket-io.server.js.map +1 -0
  223. package/dist/services/database.service.d.ts +68 -0
  224. package/dist/services/database.service.js +528 -462
  225. package/dist/services/database.service.js.map +1 -0
  226. package/dist/types/tcrawl-config.d.ts +14 -0
  227. package/dist/types/tcrawl-config.js +14 -17
  228. package/dist/types/tcrawl-config.js.map +1 -0
  229. package/dist/types/thydra-config.d.ts +4 -0
  230. package/dist/types/thydra-config.js +4 -7
  231. package/dist/types/thydra-config.js.map +1 -0
  232. package/dist/types/tparser-ctor.d.ts +7 -0
  233. package/dist/types/tparser-ctor.js +2 -2
  234. package/dist/types/tparser-ctor.js.map +1 -0
  235. package/dist/types/tquery.d.ts +7 -0
  236. package/dist/types/tquery.js +2 -2
  237. package/dist/types/tquery.js.map +1 -0
  238. package/dist/types/trobots-config.d.ts +4 -0
  239. package/dist/types/trobots-config.js +4 -7
  240. package/dist/types/trobots-config.js.map +1 -0
  241. package/package.json +41 -29
  242. package/angular/10-es2015.bacd4ae5dd7913ce55f0.js +0 -1
  243. package/angular/10-es5.bacd4ae5dd7913ce55f0.js +0 -1
  244. package/angular/11-es2015.0f031dcf752d1e8eda6b.js +0 -1
  245. package/angular/11-es5.0f031dcf752d1e8eda6b.js +0 -1
  246. package/angular/3rdpartylicenses.txt +0 -1127
  247. package/angular/5-es2015.951498ca9c1bc74e57bf.js +0 -1
  248. package/angular/5-es5.951498ca9c1bc74e57bf.js +0 -1
  249. package/angular/6-es2015.65f680261a3506b88381.js +0 -1
  250. package/angular/6-es5.65f680261a3506b88381.js +0 -1
  251. package/angular/7-es2015.625197f3af1dbf3e805d.js +0 -1
  252. package/angular/7-es5.625197f3af1dbf3e805d.js +0 -1
  253. package/angular/8-es2015.55518901987a5b834309.js +0 -1
  254. package/angular/8-es5.55518901987a5b834309.js +0 -1
  255. package/angular/9-es2015.6cc9bde262564e7836f2.js +0 -1
  256. package/angular/9-es5.6cc9bde262564e7836f2.js +0 -1
  257. package/angular/Roboto-Black.41ed1105a6ebb8ffe34e.woff2 +0 -0
  258. package/angular/Roboto-Black.937491dfcbe64ca9a9f1.woff +0 -0
  259. package/angular/Roboto-BlackItalic.2e1ee657996854c6f427.woff +0 -0
  260. package/angular/Roboto-BlackItalic.50ca4c51ebc27e7e7d2f.woff2 +0 -0
  261. package/angular/Roboto-Bold.73288d91c325e82a5b92.woff +0 -0
  262. package/angular/Roboto-Bold.92fbd4e93cf0a5dbebaa.woff2 +0 -0
  263. package/angular/Roboto-BoldItalic.5f600d98a73d800ae575.woff2 +0 -0
  264. package/angular/Roboto-BoldItalic.6d89acbd21d7e3fbecb2.woff +0 -0
  265. package/angular/Roboto-Light.c27d89ac77468ae18f28.woff2 +0 -0
  266. package/angular/Roboto-Light.d923dfafc0c5183b59aa.woff +0 -0
  267. package/angular/Roboto-LightItalic.506274c7228cf81cae4d.woff2 +0 -0
  268. package/angular/Roboto-LightItalic.d4b8c137518d9d92bb28.woff +0 -0
  269. package/angular/Roboto-Medium.092c6130df8fd2199888.woff +0 -0
  270. package/angular/Roboto-Medium.1d3bced88509b0838984.woff2 +0 -0
  271. package/angular/Roboto-MediumItalic.18ff1628c628080166c1.woff +0 -0
  272. package/angular/Roboto-MediumItalic.d620b8f53f75966fe42e.woff2 +0 -0
  273. package/angular/Roboto-Regular.64cfb66c866ea50cad47.woff2 +0 -0
  274. package/angular/Roboto-Regular.e02e9d6ff5547f7e9962.woff +0 -0
  275. package/angular/Roboto-RegularItalic.4dd2af1e8df532f41db8.woff2 +0 -0
  276. package/angular/Roboto-RegularItalic.5ea38fff9eebef99c5df.woff +0 -0
  277. package/angular/Roboto-Thin.dbd56bd3357dc3617fe5.woff2 +0 -0
  278. package/angular/Roboto-Thin.e7f7c82374bd0ebef14b.woff +0 -0
  279. package/angular/Roboto-ThinItalic.5dd9349c940073834e9a.woff +0 -0
  280. package/angular/Roboto-ThinItalic.a8cef84f735ef887abdc.woff2 +0 -0
  281. package/angular/assets/config/app-config.json +0 -16
  282. package/angular/assets/images/splashbg.jpg +0 -0
  283. package/angular/assets/web-app-commons/fonts/material-icons/MaterialDesignIcons-Community-2.7.94.woff +0 -0
  284. package/angular/assets/web-app-commons/fonts/material-icons/MaterialDesignIcons-Community-2.7.94.woff2 +0 -0
  285. package/angular/assets/web-app-commons/fonts/material-icons/material-design-icons-community.css +0 -11293
  286. package/angular/favicon.ico +0 -0
  287. package/angular/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.f2a0933406f783065152.woff +0 -0
  288. package/angular/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.6467d9a24f234e8e8e07.woff2 +0 -0
  289. package/angular/index.html +0 -16
  290. package/angular/main-es2015.3a582572476c7f292e52.js +0 -1
  291. package/angular/main-es5.3a582572476c7f292e52.js +0 -1
  292. package/angular/polyfills-es2015.7df68534018bc2f6cb09.js +0 -1
  293. package/angular/polyfills-es5.e79468f406fae2989221.js +0 -1
  294. package/angular/runtime-es2015.6d2cff76cdb2790d3308.js +0 -1
  295. package/angular/runtime-es5.6d2cff76cdb2790d3308.js +0 -1
  296. package/angular/styles.c5c6c2534225b85c4ff0.css +0 -1
  297. package/config/bad-words.json +0 -1
  298. package/config/complex-english.json +0 -400
  299. package/config/hydra-auth.json +0 -8
  300. package/config/hydra-crawler.json +0 -84
  301. package/config/list-allow.json +0 -171
  302. package/config/list-deny.json +0 -248
  303. package/config/list-expiry.json +0 -7
  304. package/config/schedule.json +0 -25
  305. package/config/spelling.json +0 -1
@@ -0,0 +1,7 @@
1
+ import { CommonsRestApi } from 'nodecommons-es-rest';
2
+ import { RestServer } from '../servers/rest.server';
3
+ import { DatabaseService } from '../services/database.service';
4
+ export declare class AutocompleteApi extends CommonsRestApi {
5
+ private databaseService;
6
+ constructor(restServer: RestServer, databaseService: DatabaseService, path: string);
7
+ }
@@ -1,16 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AutocompleteApi = void 0;
4
- const nodecommons_rest_1 = require("nodecommons-rest");
5
- class AutocompleteApi extends nodecommons_rest_1.CommonsRestApi {
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { CommonsRestApi } from 'nodecommons-es-rest';
11
+ export class AutocompleteApi extends CommonsRestApi {
6
12
  constructor(restServer, databaseService, path) {
7
13
  super(restServer);
8
14
  this.databaseService = databaseService;
9
- super.getHandler(`${path}rest/autocomplete/domain/:term[idname]`, async (req, _res) => {
10
- const domains = await this.databaseService.listDomainsByLike(req.strictParams.term);
15
+ super.getHandler(`${path}rest/autocomplete/domain/:term[idname]`, (req, _res) => __awaiter(this, void 0, void 0, function* () {
16
+ const domains = yield this.databaseService.listDomainsByLike(req.strictParams.term);
11
17
  return domains
12
18
  .map((domain) => domain.domain);
13
- });
19
+ }));
14
20
  }
15
21
  }
16
- exports.AutocompleteApi = AutocompleteApi;
22
+ //# sourceMappingURL=autocomplete.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete.api.js","sourceRoot":"","sources":["../../src/apis/autocomplete.api.ts"],"names":[],"mappings":";;;;;;;;;AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,MAAM,OAAO,eAAgB,SAAQ,cAAc;IAClD,YACE,UAAsB,EACd,eAAgC,EACxC,IAAY;QAEb,KAAK,CAAC,UAAU,CAAC,CAAC;QAHT,oBAAe,GAAf,eAAe,CAAiB;QAKzC,KAAK,CAAC,UAAU,CACd,GAAG,IAAI,wCAAwC,EAC/C,CAAO,GAAoC,EAAE,IAAsB,EAAqB,EAAE;YACzF,MAAM,OAAO,GAAc,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAc,CAAC,CAAC;YAEzG,OAAO,OAAO;iBACX,GAAG,CAAC,CAAC,MAAe,EAAU,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC,CAAA,CACF,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,7 @@
1
+ import { CommonsRestApi } from 'nodecommons-es-rest';
2
+ import { RestServer } from '../servers/rest.server';
3
+ import { DatabaseService } from '../services/database.service';
4
+ export declare class BugsApi extends CommonsRestApi {
5
+ private databaseService;
6
+ constructor(restServer: RestServer, databaseService: DatabaseService, path: string);
7
+ }
@@ -1,20 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BugsApi = void 0;
4
- const tscommons_core_1 = require("tscommons-core");
5
- const nodecommons_rest_1 = require("nodecommons-rest");
6
- class BugsApi extends nodecommons_rest_1.CommonsRestApi {
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { commonsTypeEncode } from 'tscommons-es-core';
11
+ import { CommonsRestApi } from 'nodecommons-es-rest';
12
+ export class BugsApi extends CommonsRestApi {
7
13
  constructor(restServer, databaseService, path) {
8
14
  super(restServer);
9
15
  this.databaseService = databaseService;
10
- super.getHandler(`${path}rest/bugs/php`, async (_req, _res) => {
11
- const result = await this.databaseService.listPhpErrors();
12
- return tscommons_core_1.CommonsType.encode(result);
13
- });
14
- super.getHandler(`${path}rest/bugs/asp`, async (_req, _res) => {
15
- const result = await this.databaseService.listAspErrors();
16
- return tscommons_core_1.CommonsType.encode(result);
17
- });
16
+ super.getHandler(`${path}rest/bugs/php`, (_req, _res) => __awaiter(this, void 0, void 0, function* () {
17
+ const result = yield this.databaseService.listPhpErrors();
18
+ return commonsTypeEncode(result);
19
+ }));
20
+ super.getHandler(`${path}rest/bugs/asp`, (_req, _res) => __awaiter(this, void 0, void 0, function* () {
21
+ const result = yield this.databaseService.listAspErrors();
22
+ return commonsTypeEncode(result);
23
+ }));
18
24
  }
19
25
  }
20
- exports.BugsApi = BugsApi;
26
+ //# sourceMappingURL=bugs.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bugs.api.js","sourceRoot":"","sources":["../../src/apis/bugs.api.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,iBAAiB,EAAY,MAAM,mBAAmB,CAAC;AAMhE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,MAAM,OAAO,OAAQ,SAAQ,cAAc;IAC1C,YACE,UAAsB,EACd,eAAgC,EACxC,IAAY;QAEb,KAAK,CAAC,UAAU,CAAC,CAAC;QAHT,oBAAe,GAAf,eAAe,CAAiB;QAKzC,KAAK,CAAC,UAAU,CACd,GAAG,IAAI,eAAe,EACtB,CAAO,IAAqB,EAAE,IAAsB,EAAqB,EAAE;YAC1E,MAAM,MAAM,GAA4B,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;YAEnF,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAA,CACF,CAAC;QAEF,KAAK,CAAC,UAAU,CACd,GAAG,IAAI,eAAe,EACtB,CAAO,IAAqB,EAAE,IAAsB,EAAqB,EAAE;YAC1E,MAAM,MAAM,GAA4B,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;YAEnF,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAA,CACF,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,7 @@
1
+ import { CommonsRestApi } from 'nodecommons-es-rest';
2
+ import { RestServer } from '../servers/rest.server';
3
+ import { DatabaseService } from '../services/database.service';
4
+ export declare class CrawlApi extends CommonsRestApi {
5
+ private databaseService;
6
+ constructor(restServer: RestServer, databaseService: DatabaseService, path: string);
7
+ }
@@ -1,19 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CrawlApi = void 0;
4
- const nodecommons_rest_1 = require("nodecommons-rest");
5
- class CrawlApi extends nodecommons_rest_1.CommonsRestApi {
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { CommonsRestApi } from 'nodecommons-es-rest';
11
+ export class CrawlApi extends CommonsRestApi {
6
12
  constructor(restServer, databaseService, path) {
7
13
  super(restServer);
8
14
  this.databaseService = databaseService;
9
- super.getHandler(`${path}rest/crawl/queue`, async (_req, _res) => {
10
- const tallies = await this.databaseService.listDomainQueuedTallies();
15
+ super.getHandler(`${path}rest/crawl/queue`, (_req, _res) => __awaiter(this, void 0, void 0, function* () {
16
+ const tallies = yield this.databaseService.listDomainQueuedTallies();
11
17
  return Array.from(tallies.keys())
12
18
  .map((domain) => ({
13
19
  domain: domain,
14
20
  queue: tallies.get(domain) || 0
15
21
  }));
16
- });
22
+ }));
17
23
  }
18
24
  }
19
- exports.CrawlApi = CrawlApi;
25
+ //# sourceMappingURL=crawl.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crawl.api.js","sourceRoot":"","sources":["../../src/apis/crawl.api.ts"],"names":[],"mappings":";;;;;;;;;AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,MAAM,OAAO,QAAS,SAAQ,cAAc;IAC3C,YACE,UAAsB,EACd,eAAgC,EACxC,IAAY;QAEb,KAAK,CAAC,UAAU,CAAC,CAAC;QAHT,oBAAe,GAAf,eAAe,CAAiB;QAKzC,KAAK,CAAC,UAAU,CACd,GAAG,IAAI,kBAAkB,EACzB,CAAO,IAAqB,EAAE,IAAsB,EAA2B,EAAE;YAChF,MAAM,OAAO,GAAwB,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,EAAE,CAAC;YAE1F,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;iBAC9B,GAAG,CAAC,CAAC,MAAc,EAAgB,EAAE,CAAC,CAAC;gBACtC,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;aAChC,CAAC,CAAC,CAAC;QACP,CAAC,CAAA,CACF,CAAC;IAEH,CAAC;CACD"}
@@ -0,0 +1,7 @@
1
+ import { CommonsRestApi } from 'nodecommons-es-rest';
2
+ import { RestServer } from '../servers/rest.server';
3
+ import { DatabaseService } from '../services/database.service';
4
+ export declare class DomainsApi extends CommonsRestApi {
5
+ private databaseService;
6
+ constructor(restServer: RestServer, databaseService: DatabaseService, path: string);
7
+ }
@@ -1,27 +1,32 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DomainsApi = void 0;
4
- const tscommons_core_1 = require("tscommons-core");
5
- const tscommons_core_2 = require("tscommons-core");
6
- const nodecommons_rest_1 = require("nodecommons-rest");
7
- class DomainsApi extends nodecommons_rest_1.CommonsRestApi {
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { commonsTreeStringSegmentArrayToTree, commonsTypeEncode } from 'tscommons-es-core';
11
+ import { CommonsRestApi, commonsRestApiBadRequest, commonsRestApiError } from 'nodecommons-es-rest';
12
+ export class DomainsApi extends CommonsRestApi {
8
13
  constructor(restServer, databaseService, path) {
9
14
  super(restServer);
10
15
  this.databaseService = databaseService;
11
- super.getHandler(`${path}rest/domains`, async (_req, _res) => {
12
- const domains = await this.databaseService.listDomains();
13
- return tscommons_core_1.CommonsType.encode(domains);
14
- });
15
- super.getHandler(`${path}rest/domains/:domain[idname]/tree`, async (req, _res) => {
16
+ super.getHandler(`${path}rest/domains`, (_req, _res) => __awaiter(this, void 0, void 0, function* () {
17
+ const domains = yield this.databaseService.listDomains();
18
+ return commonsTypeEncode(domains);
19
+ }));
20
+ super.getHandler(`${path}rest/domains/:domain[idname]/tree`, (req, _res) => __awaiter(this, void 0, void 0, function* () {
16
21
  if (!/^[-a-z0-9]+(\.[-a-z0-9]+)*$/i.test(req.strictParams.domain))
17
- return nodecommons_rest_1.CommonsRestApi.badRequest('Invalid domain');
18
- const urls = await this.databaseService.listDone200DomainUrls(req.params.domain);
22
+ return commonsRestApiBadRequest('Invalid domain');
23
+ const urls = yield this.databaseService.listDone200DomainUrls(req.params.domain);
19
24
  const splits = [];
20
25
  for (const url of urls) {
21
26
  const regex = new RegExp(`^http(?:s?)://${req.params.domain}(?::[0-9]+)?(/.*)$`);
22
27
  const match = regex.exec(url);
23
28
  if (match === null)
24
- return nodecommons_rest_1.CommonsRestApi.error(`Unable to match for ${url}`);
29
+ return commonsRestApiError(`Unable to match for ${url}`);
25
30
  let urlPath = match[1];
26
31
  if (urlPath.indexOf('?') !== -1)
27
32
  urlPath = urlPath.split('?')[0];
@@ -29,9 +34,9 @@ class DomainsApi extends nodecommons_rest_1.CommonsRestApi {
29
34
  segments.pop(); // remove the tail
30
35
  splits.push(segments);
31
36
  }
32
- const tree = tscommons_core_2.CommonsTree.stringSegmentArrayToTree(splits);
33
- return tscommons_core_1.CommonsType.encode(tree);
34
- });
37
+ const tree = commonsTreeStringSegmentArrayToTree(splits);
38
+ return commonsTypeEncode(tree);
39
+ }));
35
40
  }
36
41
  }
37
- exports.DomainsApi = DomainsApi;
42
+ //# sourceMappingURL=domains.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.api.js","sourceRoot":"","sources":["../../src/apis/domains.api.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,mCAAmC,EAAE,iBAAiB,EAA0B,MAAM,mBAAmB,CAAC;AAKnH,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAMpG,MAAM,OAAO,UAAW,SAAQ,cAAc;IAC7C,YACE,UAAsB,EACd,eAAgC,EACxC,IAAY;QAEb,KAAK,CAAC,UAAU,CAAC,CAAC;QAHT,oBAAe,GAAf,eAAe,CAAiB;QAKzC,KAAK,CAAC,UAAU,CACd,GAAG,IAAI,cAAc,EACrB,CAAO,IAAqB,EAAE,IAAsB,EAAqB,EAAE;YAC1E,MAAM,OAAO,GAAc,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YAEpE,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAA,CACF,CAAC;QAEF,KAAK,CAAC,UAAU,CACd,GAAG,IAAI,mCAAmC,EAC1C,CAAO,GAAoC,EAAE,IAAsB,EAAqB,EAAE;YACzF,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAgB,CAAC;gBAAE,OAAO,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;YAE/H,MAAM,IAAI,GAAa,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE3F,MAAM,MAAM,GAAe,EAAE,CAAC;YAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACvB,MAAM,KAAK,GAAW,IAAI,MAAM,CAAC,iBAAiB,GAAG,CAAC,MAAM,CAAC,MAAM,oBAAoB,CAAC,CAAC;gBACzF,MAAM,KAAK,GAAyB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEpD,IAAI,KAAK,KAAK,IAAI;oBAAE,OAAO,mBAAmB,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;gBAE7E,IAAI,OAAO,GAAW,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEjE,MAAM,QAAQ,GAAa,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9C,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,kBAAkB;gBAElC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACtB;YAED,MAAM,IAAI,GAAiB,mCAAmC,CAAC,MAAM,CAAC,CAAC;YACvE,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAA,CACF,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,7 @@
1
+ import { CommonsRestApi } from 'nodecommons-es-rest';
2
+ import { RestServer } from '../servers/rest.server';
3
+ import { DatabaseService } from '../services/database.service';
4
+ export declare class ImagesApi extends CommonsRestApi {
5
+ private databaseService;
6
+ constructor(restServer: RestServer, databaseService: DatabaseService, path: string);
7
+ }
@@ -1,21 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ImagesApi = void 0;
4
- const tscommons_core_1 = require("tscommons-core");
5
- const hydra_crawler_ts_assets_1 = require("hydra-crawler-ts-assets");
6
- const nodecommons_rest_1 = require("nodecommons-rest");
7
- class ImagesApi extends nodecommons_rest_1.CommonsRestApi {
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { commonsTypeEncode } from 'tscommons-es-core';
11
+ import { toEComparator, ECOMPARATORS } from 'hydra-crawler-ts-assets';
12
+ import { CommonsRestApi, commonsRestApiBadRequest } from 'nodecommons-es-rest';
13
+ export class ImagesApi extends CommonsRestApi {
8
14
  constructor(restServer, databaseService, path) {
9
15
  super(restServer);
10
16
  this.databaseService = databaseService;
11
- super.getHandler(`${path}rest/images/:comparator(${hydra_crawler_ts_assets_1.ECOMPARATORS.join('|')})/:size[int]`, async (req, _res) => {
12
- const comparator = hydra_crawler_ts_assets_1.toEComparator(req.strictParams.comparator);
17
+ super.getHandler(`${path}rest/images/:comparator(${ECOMPARATORS.join('|')})/:size[int]`, (req, _res) => __awaiter(this, void 0, void 0, function* () {
18
+ const comparator = toEComparator(req.strictParams.comparator);
13
19
  if (!comparator)
14
- ImagesApi.badRequest('Invalid comparator');
20
+ return commonsRestApiBadRequest('Invalid comparator');
15
21
  const size = req.strictParams.size;
16
- const matches = await this.databaseService.listImagesBySizeThreshold(size, comparator);
17
- return tscommons_core_1.CommonsType.encode(matches);
18
- });
22
+ const matches = yield this.databaseService.listImagesBySizeThreshold(size, comparator);
23
+ return commonsTypeEncode(matches);
24
+ }));
19
25
  }
20
26
  }
21
- exports.ImagesApi = ImagesApi;
27
+ //# sourceMappingURL=images.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.api.js","sourceRoot":"","sources":["../../src/apis/images.api.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,iBAAiB,EAAY,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAe,aAAa,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGnF,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAM/E,MAAM,OAAO,SAAU,SAAQ,cAAc;IAC5C,YACE,UAAsB,EACd,eAAgC,EACxC,IAAY;QAEb,KAAK,CAAC,UAAU,CAAC,CAAC;QAHT,oBAAe,GAAf,eAAe,CAAiB;QAKzC,KAAK,CAAC,UAAU,CACd,GAAG,IAAI,2BAA2B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EACtE,CAAO,GAAoC,EAAE,IAAsB,EAAqB,EAAE;YACzF,MAAM,UAAU,GAA0B,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,UAAoB,CAAC,CAAC;YAC/F,IAAI,CAAC,UAAU;gBAAE,OAAO,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;YAEvE,MAAM,IAAI,GAAW,GAAG,CAAC,YAAY,CAAC,IAAc,CAAC;YAErD,MAAM,OAAO,GAAa,MAAM,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAEjG,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAA,CACF,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,8 @@
1
+ import { CommonsRestApi } from 'nodecommons-es-rest';
2
+ import { RestServer } from '../servers/rest.server';
3
+ import { DatabaseService } from '../services/database.service';
4
+ export declare class StatisticsApi extends CommonsRestApi {
5
+ private databaseService;
6
+ private memcached;
7
+ constructor(restServer: RestServer, databaseService: DatabaseService, path: string);
8
+ }
@@ -1,34 +1,41 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StatisticsApi = void 0;
4
- const Cache = require("memcached-promisify");
5
- const tscommons_core_1 = require("tscommons-core");
6
- const hydra_crawler_ts_assets_1 = require("hydra-crawler-ts-assets");
7
- const nodecommons_rest_1 = require("nodecommons-rest");
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import Cache from 'memcached-promisify';
11
+ import { commonsTypeHasPropertyEnum, commonsTypeHasPropertyNumber, commonsTypeIsTArray } from 'tscommons-es-core';
12
+ import { isEStatus } from 'hydra-crawler-ts-assets';
13
+ import { CommonsRestApi } from 'nodecommons-es-rest';
8
14
  function isTStatusTally(test) {
9
- if (!tscommons_core_1.CommonsType.hasPropertyString(test, 'status'))
15
+ if (!commonsTypeHasPropertyEnum(test, 'status', isEStatus))
10
16
  return false;
11
- if (!tscommons_core_1.CommonsType.hasPropertyNumber(test, 'tally'))
17
+ if (!commonsTypeHasPropertyNumber(test, 'tally'))
12
18
  return false;
13
19
  return true;
14
20
  }
15
- class StatisticsApi extends nodecommons_rest_1.CommonsRestApi {
21
+ export class StatisticsApi extends CommonsRestApi {
16
22
  constructor(restServer, databaseService, path) {
17
23
  super(restServer);
18
24
  this.databaseService = databaseService;
25
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call
19
26
  this.memcached = new Cache({ keyPrefix: 'hydra', cacheHost: 'localhost:11211' });
20
- super.getHandler(`${path}rest/statistics/status`, async (_req, _res) => {
21
- const index = `statistics/status`;
22
- const cached = await this.memcached.get(index);
23
- if (cached && tscommons_core_1.CommonsType.isTArray(cached, isTStatusTally))
27
+ super.getHandler(`${path}rest/statistics/status`, (_req, _res) => __awaiter(this, void 0, void 0, function* () {
28
+ const index = 'statistics/status';
29
+ const cached = yield this.memcached.get(index);
30
+ if (cached && commonsTypeIsTArray(cached, isTStatusTally))
24
31
  return cached;
25
- const result = await this.databaseService.listStatusTallies();
26
- const tallies = new Map();
32
+ const result = yield this.databaseService.listStatusTallies();
33
+ const tallies = [];
27
34
  for (const key of result.keys())
28
- tallies[hydra_crawler_ts_assets_1.fromEStatus(key)] = result.get(key);
29
- this.memcached.set(index, tallies, 10);
35
+ tallies.push({ status: key, tally: result.get(key) || 0 });
36
+ yield this.memcached.set(index, tallies, 10);
30
37
  return tallies;
31
- });
38
+ }));
32
39
  }
33
40
  }
34
- exports.StatisticsApi = StatisticsApi;
41
+ //# sourceMappingURL=statistics.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statistics.api.js","sourceRoot":"","sources":["../../src/apis/statistics.api.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAExC,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAElH,OAAO,EAAW,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAYrD,SAAS,cAAc,CAAC,IAAa;IACpC,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACzE,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAE/D,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,OAAO,aAAc,SAAQ,cAAc;IAGhD,YACE,UAAsB,EACd,eAAgC,EACxC,IAAY;QAEb,KAAK,CAAC,UAAU,CAAC,CAAC;QAHT,oBAAe,GAAf,eAAe,CAAiB;QAKzC,sGAAsG;QACtG,IAAI,CAAC,SAAS,GAAG,IAAI,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAEjF,KAAK,CAAC,UAAU,CACd,GAAG,IAAI,wBAAwB,EAC/B,CAAO,IAAqB,EAAE,IAAsB,EAA2B,EAAE;YAChF,MAAM,KAAK,GAAW,mBAAmB,CAAC;YAE1C,MAAM,MAAM,GAAsB,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClE,IAAI,MAAM,IAAI,mBAAmB,CAAe,MAAM,EAAE,cAAc,CAAC;gBAAE,OAAO,MAAM,CAAC;YAEvF,MAAM,MAAM,GAAyB,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC;YAEpF,MAAM,OAAO,GAAmB,EAAE,CAAC;YACnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE5F,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YAE7C,OAAO,OAAO,CAAC;QAChB,CAAC,CAAA,CACF,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,5 @@
1
+ import { CommonsRestApi } from 'nodecommons-es-rest';
2
+ import { RestServer } from '../servers/rest.server';
3
+ export declare class TestApi extends CommonsRestApi {
4
+ constructor(restServer: RestServer, path: string);
5
+ }
@@ -1,13 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestApi = void 0;
4
- const nodecommons_rest_1 = require("nodecommons-rest");
5
- class TestApi extends nodecommons_rest_1.CommonsRestApi {
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { CommonsRestApi } from 'nodecommons-es-rest';
11
+ export class TestApi extends CommonsRestApi {
6
12
  constructor(restServer, path) {
7
13
  super(restServer);
8
- super.getHandler(`${path}test/hello`, async (_) => {
9
- return 'Hello world';
10
- });
14
+ super.getHandler(`${path}test/hello`,
15
+ // eslint-disable-next-line @typescript-eslint/require-await
16
+ (_) => __awaiter(this, void 0, void 0, function* () { return 'Hello world'; }));
11
17
  }
12
18
  }
13
- exports.TestApi = TestApi;
19
+ //# sourceMappingURL=test.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.api.js","sourceRoot":"","sources":["../../src/apis/test.api.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,MAAM,OAAO,OAAQ,SAAQ,cAAc;IAC1C,YACE,UAAsB,EACtB,IAAY;QAEb,KAAK,CAAC,UAAU,CAAC,CAAC;QAElB,KAAK,CAAC,UAAU,CACd,GAAG,IAAI,YAAY;QACnB,4DAA4D;QAC5D,CAAO,CAAU,EAAmB,EAAE,gDAAC,OAAA,aAAa,CAAA,GAAA,CACrD,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,7 @@
1
+ import { CommonsRestApi } from 'nodecommons-es-rest';
2
+ import { RestServer } from '../servers/rest.server';
3
+ import { DatabaseService } from '../services/database.service';
4
+ export declare class UrlsApi extends CommonsRestApi {
5
+ private databaseService;
6
+ constructor(restServer: RestServer, databaseService: DatabaseService, path: string);
7
+ }
@@ -1,23 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UrlsApi = void 0;
4
- const tscommons_core_1 = require("tscommons-core");
5
- const hydra_crawler_ts_assets_1 = require("hydra-crawler-ts-assets");
6
- const nodecommons_rest_1 = require("nodecommons-rest");
7
- class UrlsApi extends nodecommons_rest_1.CommonsRestApi {
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { commonsTypeEncode } from 'tscommons-es-core';
11
+ import { EDirection } from 'hydra-crawler-ts-assets';
12
+ import { CommonsRestApi } from 'nodecommons-es-rest';
13
+ export class UrlsApi extends CommonsRestApi {
8
14
  constructor(restServer, databaseService, path) {
9
15
  super(restServer);
10
16
  this.databaseService = databaseService;
11
17
  // Can't use strict and ICommonsRequestWithStrictParams as the url could be anything, and idname won't accept that
12
- super.getHandler(`${path}rest/urls/:url/links`, async (req, _res) => {
13
- const outbound = await this.databaseService.listOutboundLinks(req.params.url);
14
- const inbound = await this.databaseService.listInboundLinks(req.params.url);
18
+ super.getHandler(`${path}rest/urls/:url/links`, (req, _res) => __awaiter(this, void 0, void 0, function* () {
19
+ const outbound = yield this.databaseService.listOutboundLinks(req.params.url);
20
+ const inbound = yield this.databaseService.listInboundLinks(req.params.url);
15
21
  const urlLinks = {
16
- [hydra_crawler_ts_assets_1.EDirection.INBOUND]: inbound,
17
- [hydra_crawler_ts_assets_1.EDirection.OUTBOUND]: outbound
22
+ [EDirection.INBOUND]: inbound,
23
+ [EDirection.OUTBOUND]: outbound
18
24
  };
19
- return tscommons_core_1.CommonsType.encode(urlLinks);
20
- });
25
+ return commonsTypeEncode(urlLinks);
26
+ }));
21
27
  }
22
28
  }
23
- exports.UrlsApi = UrlsApi;
29
+ //# sourceMappingURL=urls.api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"urls.api.js","sourceRoot":"","sources":["../../src/apis/urls.api.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,iBAAiB,EAAY,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,MAAM,OAAO,OAAQ,SAAQ,cAAc;IAC1C,YACE,UAAsB,EACd,eAAgC,EACxC,IAAY;QAEb,KAAK,CAAC,UAAU,CAAC,CAAC;QAHT,oBAAe,GAAf,eAAe,CAAiB;QAKzC,kHAAkH;QAElH,KAAK,CAAC,UAAU,CACd,GAAG,IAAI,sBAAsB,EAC7B,CAAO,GAAoB,EAAE,IAAsB,EAAqB,EAAE;YACzE,MAAM,QAAQ,GAAa,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxF,MAAM,OAAO,GAAa,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEtF,MAAM,QAAQ,GAAc;gBAC1B,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO;gBAC7B,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ;aAChC,CAAC;YAEF,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAA,CACF,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,19 @@
1
+ import { CommonsApp } from 'nodecommons-es-app';
2
+ import { DatabaseService } from '../services/database.service';
3
+ import { IMatch } from '../interfaces/imatch';
4
+ import { EList } from '../enums/elist';
5
+ import { IInternalHydraCommonListApp } from './internal-hydra-common.app';
6
+ export declare class CleanupApp extends CommonsApp implements IInternalHydraCommonListApp {
7
+ private includeReset;
8
+ private includeLinks;
9
+ private databaseService;
10
+ private lists;
11
+ constructor(includeReset?: boolean, includeLinks?: boolean);
12
+ getAppName(): string;
13
+ setDatabaseService(databaseService: DatabaseService): void;
14
+ addToList(list: EList, entries: IMatch[]): void;
15
+ init(): Promise<void>;
16
+ private reset;
17
+ private links;
18
+ run(): Promise<void>;
19
+ }