@magda/minion-framework 2.3.2 → 3.0.0-alpha.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 (55) hide show
  1. package/dist/Crawler.d.ts +8 -8
  2. package/dist/Crawler.js +62 -99
  3. package/dist/Crawler.js.map +1 -1
  4. package/dist/MinionOptions.d.ts +6 -5
  5. package/dist/MinionOptions.js +1 -2
  6. package/dist/buildWebhookConfig.d.ts +2 -2
  7. package/dist/buildWebhookConfig.js +4 -7
  8. package/dist/buildWebhookConfig.js.map +1 -1
  9. package/dist/commonYargs.d.ts +10 -10
  10. package/dist/commonYargs.js +31 -37
  11. package/dist/commonYargs.js.map +1 -1
  12. package/dist/getWebhookUrl.d.ts +1 -1
  13. package/dist/getWebhookUrl.js +2 -5
  14. package/dist/getWebhookUrl.js.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.js +111 -127
  17. package/dist/index.js.map +1 -1
  18. package/dist/isWebhookRegistered.d.ts +2 -2
  19. package/dist/isWebhookRegistered.js +14 -31
  20. package/dist/isWebhookRegistered.js.map +1 -1
  21. package/dist/registerWebhook.d.ts +5 -5
  22. package/dist/registerWebhook.js +33 -50
  23. package/dist/registerWebhook.js.map +1 -1
  24. package/dist/resumeWebhook.d.ts +3 -3
  25. package/dist/resumeWebhook.js +8 -22
  26. package/dist/resumeWebhook.js.map +1 -1
  27. package/dist/setupRecrawlEndpoint.d.ts +30 -30
  28. package/dist/setupRecrawlEndpoint.js +46 -45
  29. package/dist/setupRecrawlEndpoint.js.map +1 -1
  30. package/dist/setupWebhookEndpoint.d.ts +2 -2
  31. package/dist/setupWebhookEndpoint.js +22 -47
  32. package/dist/setupWebhookEndpoint.js.map +1 -1
  33. package/dist/startApiEndpoints.d.ts +1 -1
  34. package/dist/startApiEndpoints.js +4 -10
  35. package/dist/startApiEndpoints.js.map +1 -1
  36. package/dist/test/Crawler.spec.js +77 -93
  37. package/dist/test/Crawler.spec.js.map +1 -1
  38. package/dist/test/baseSpec.d.ts +10 -10
  39. package/dist/test/baseSpec.js +23 -25
  40. package/dist/test/baseSpec.js.map +1 -1
  41. package/dist/test/fakeArgv.d.ts +3 -3
  42. package/dist/test/fakeArgv.js +6 -6
  43. package/dist/test/fakeArgv.js.map +1 -1
  44. package/dist/test/makePromiseQueryable.d.ts +2 -2
  45. package/dist/test/makePromiseQueryable.js +2 -5
  46. package/dist/test/makePromiseQueryable.js.map +1 -1
  47. package/dist/test/registry.spec.js +27 -32
  48. package/dist/test/registry.spec.js.map +1 -1
  49. package/dist/test/setupRecrawlEndpoint.spec.js +29 -43
  50. package/dist/test/setupRecrawlEndpoint.spec.js.map +1 -1
  51. package/dist/test/startup.spec.js +33 -38
  52. package/dist/test/startup.spec.js.map +1 -1
  53. package/dist/test/webhooks.spec.js +43 -43
  54. package/dist/test/webhooks.spec.js.map +1 -1
  55. package/package.json +33 -21
package/dist/index.js CHANGED
@@ -1,132 +1,116 @@
1
- "use strict";
2
- var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) {return value instanceof P ? value : new P(function (resolve) {resolve(value);});}
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) {try {step(generator.next(value));} catch (e) {reject(e);}}
6
- function rejected(value) {try {step(generator["throw"](value));} catch (e) {reject(e);}}
7
- function step(result) {result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);}
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
1
+ import express from "express";
2
+ import Registry from "@magda/typescript-common/dist/registry/AuthorizedRegistryClient.js";
3
+ import setupWebhookEndpoint from "./setupWebhookEndpoint.js";
4
+ import setupRecrawlEndpoint from "./setupRecrawlEndpoint.js";
5
+ import startApiEndpoints from "./startApiEndpoints.js";
6
+ import isWebhookRegistered from "./isWebhookRegistered.js";
7
+ import registerWebhook from "./registerWebhook.js";
8
+ import resumeWebhook from "./resumeWebhook.js";
9
+ import Crawler from "./Crawler.js";
10
+ import AuthorizedTenantClient from "@magda/typescript-common/dist/tenant-api/AuthorizedTenantClient.js";
11
+ import { MAGDA_ADMIN_PORTAL_ID } from "@magda/typescript-common/dist/registry/TenantConsts.js";
12
+ import { MAGDA_SYSTEM_ID } from "@magda/typescript-common/dist/registry/TenantConsts.js";
13
+ export default async function minion(options) {
14
+ checkOptions(options);
15
+ const registry = new Registry({
16
+ baseUrl: options.argv.registryUrl,
17
+ jwtSecret: options.argv.jwtSecret,
18
+ userId: options.argv.userId,
19
+ maxRetries: options.maxRetries,
20
+ tenantId: MAGDA_SYSTEM_ID
9
21
  });
10
- };
11
- var __importDefault = this && this.__importDefault || function (mod) {
12
- return mod && mod.__esModule ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const express_1 = __importDefault(require("express"));
16
- const AuthorizedRegistryClient_1 = __importDefault(require("@magda/typescript-common/dist/registry/AuthorizedRegistryClient"));
17
- const setupWebhookEndpoint_1 = __importDefault(require("./setupWebhookEndpoint"));
18
- const setupRecrawlEndpoint_1 = __importDefault(require("./setupRecrawlEndpoint"));
19
- const startApiEndpoints_1 = __importDefault(require("./startApiEndpoints"));
20
- const isWebhookRegistered_1 = __importDefault(require("./isWebhookRegistered"));
21
- const registerWebhook_1 = __importDefault(require("./registerWebhook"));
22
- const resumeWebhook_1 = __importDefault(require("./resumeWebhook"));
23
- const Crawler_1 = __importDefault(require("./Crawler"));
24
- const AuthorizedTenantClient_1 = __importDefault(require("@magda/typescript-common/dist/tenant-api/AuthorizedTenantClient"));
25
- const TenantConsts_1 = require("@magda/typescript-common/dist/registry/TenantConsts");
26
- const TenantConsts_2 = require("@magda/typescript-common/dist/registry/TenantConsts");
27
- function minion(options) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- checkOptions(options);
30
- const registry = new AuthorizedRegistryClient_1.default({
31
- baseUrl: options.argv.registryUrl,
32
- jwtSecret: options.argv.jwtSecret,
33
- userId: options.argv.userId,
34
- maxRetries: options.maxRetries,
35
- tenantId: TenantConsts_2.MAGDA_SYSTEM_ID });
36
-
37
- const tenantClient = options.argv.enableMultiTenant ?
38
- new AuthorizedTenantClient_1.default({
39
- urlStr: options.argv.tenantUrl,
40
- maxRetries: 1,
41
- secondsBetweenRetries: 1,
42
- jwtSecret: options.argv.jwtSecret,
43
- userId: options.argv.userId }) :
44
-
45
- null;
46
- const crawler = new Crawler_1.default(registry, options);
47
- options.express = options.express || (() => express_1.default());
48
- const server = options.express();
49
- server.use(require("body-parser").json({ limit: "50mb" }));
50
- server.get("/healthz", (request, response) => {
51
- response.status(200).send("OK");
52
- });
53
- setupWebhookEndpoint_1.default(server, options, registry);
54
- setupRecrawlEndpoint_1.default(server, options, crawler);
55
- startApiEndpoints_1.default(server, options);
56
- yield putAspectDefs();
57
- const webhookRegistered = yield isWebhookRegistered_1.default(options, registry);
58
- if (webhookRegistered) {
59
- console.info("Webhook is already registered");
60
- yield resumeWebhook_1.default(options, registry);
61
- } else
62
- {
63
- console.info("No webhook was registered");
64
- yield registerWebhook_1.default(options, registry);
65
- yield crawler.start();
22
+ const tenantClient = options.argv.enableMultiTenant ?
23
+ new AuthorizedTenantClient({
24
+ urlStr: options.argv.tenantUrl,
25
+ maxRetries: 1,
26
+ secondsBetweenRetries: 1,
27
+ jwtSecret: options.argv.jwtSecret,
28
+ userId: options.argv.userId
29
+ }) :
30
+ null;
31
+ const crawler = new Crawler(registry, options);
32
+ options.express = options.express || (() => express());
33
+ const server = options.express();
34
+ server.use(express.json({ limit: "50mb" }));
35
+ server.get("/healthz", (request, response) => {
36
+ response.status(200).send("OK");
37
+ });
38
+ setupWebhookEndpoint(server, options, registry);
39
+ setupRecrawlEndpoint(server, options, crawler);
40
+ startApiEndpoints(server, options);
41
+ await putAspectDefs();
42
+ const webhookRegistered = await isWebhookRegistered(options, registry);
43
+ if (webhookRegistered) {
44
+ console.info("Webhook is already registered");
45
+ await resumeWebhook(options, registry);
46
+ } else
47
+ {
48
+ console.info("No webhook was registered");
49
+ await registerWebhook(options, registry);
50
+ await crawler.start();
51
+ }
52
+ function checkOptions(options) {
53
+ let listenPort = options?.argv?.listenPort;
54
+ listenPort =
55
+ typeof listenPort === "number" ? listenPort : parseInt(listenPort);
56
+ if (listenPort <= 0 || listenPort > 65535 || isNaN(listenPort)) {
57
+ throw new Error(`Default port of ${options.argv.listenPort} is invalid`);
66
58
  }
67
- function checkOptions(options) {
68
- if (options.argv.listenPort <= 0 || options.argv.listenPort > 65535) {
69
- throw new Error(`Default port of ${options.argv.listenPort} is invalid`);
70
- }
71
- if (options.id === "") {
72
- throw new Error(`id is unspecified`);
73
- }
74
- if (options.argv.internalUrl === "") {
75
- throw new Error(`Internal url is unspecified`);
76
- }
77
- if (options.argv.registryUrl === "") {
78
- throw new Error(`Registry url is unspecified`);
79
- }
80
- if (options.argv.jwtSecret === "") {
81
- throw new Error(`JWT secret is unspecified`);
82
- }
83
- if (options.argv.userId === "") {
84
- throw new Error(`User id is unspecified`);
85
- }
86
- const containsBlank = strings => strings.some(string => string === "");
87
- if (containsBlank(options.aspects)) {
88
- throw new Error(`Aspects ${options.aspects} contains a blank aspect`);
89
- }
90
- if (containsBlank(options.optionalAspects)) {
91
- throw new Error(`Aspects ${options.optionalAspects} contains a blank aspect`);
92
- }
59
+ if (options.id === "") {
60
+ throw new Error(`id is unspecified`);
93
61
  }
94
- function putAspectDefs() {
95
- return __awaiter(this, void 0, void 0, function* () {
96
- const aspectDefsToAdd = options.writeAspectDefs;
97
- console.info(`Adding aspect defs ${aspectDefsToAdd.map(def => def.name)}`);
98
- // If magda is deployed in multi-tenant mode, any datasets from any new tenants created
99
- // after this call will be not be processed. To process them, run the minion again.
100
- const tenantIds = options.argv.enableMultiTenant ?
101
- yield tenantClient.getTenants().then(tenants => {
102
- return tenants.map(t => t.id);
103
- }) :
104
- [];
105
- // We always create aspect definition for tenant with ID of MAGDA_ADMIN_PORTAL_ID
106
- // because a minion does not know if magda is deployed in single- or multi-tenant mode.
107
- // This approach will slightly increase the number of entries in the aspects table but
108
- // make the implementation simple.
109
- const theTenantIds = tenantIds.concat(TenantConsts_1.MAGDA_ADMIN_PORTAL_ID);
110
- const addPromises = aspectDefsToAdd.map(aspectDef => {
111
- theTenantIds.map(id => registry.putAspectDefinition(aspectDef, id));
112
- });
113
- return Promise.all(addPromises).
114
- then(failIfErrors).
115
- then(result => {
116
- console.info("Successfully added aspect defs");
117
- return result;
118
- });
119
- });
62
+ if (options.argv.internalUrl === "") {
63
+ throw new Error(`Internal url is unspecified`);
120
64
  }
121
- function failIfErrors(results) {
122
- const failed = results.filter(result => result instanceof Error);
123
- if (failed.length > 0) {
124
- throw failed[0];
125
- } else
126
- {
127
- return results;
128
- }
65
+ if (options.argv.registryUrl === "") {
66
+ throw new Error(`Registry url is unspecified`);
129
67
  }
130
- });
131
- }
132
- exports.default = minion;
68
+ if (options.argv.jwtSecret === "") {
69
+ throw new Error(`JWT secret is unspecified`);
70
+ }
71
+ if (options.argv.userId === "") {
72
+ throw new Error(`User id is unspecified`);
73
+ }
74
+ const containsBlank = (strings) => strings.some((string) => string === "");
75
+ if (containsBlank(options.aspects)) {
76
+ throw new Error(`Aspects ${options.aspects} contains a blank aspect`);
77
+ }
78
+ if (containsBlank(options.optionalAspects)) {
79
+ throw new Error(`Aspects ${options.optionalAspects} contains a blank aspect`);
80
+ }
81
+ }
82
+ async function putAspectDefs() {
83
+ const aspectDefsToAdd = options.writeAspectDefs;
84
+ console.info(`Adding aspect defs ${aspectDefsToAdd.map((def) => def.name)}`);
85
+ // If magda is deployed in multi-tenant mode, any datasets from any new tenants created
86
+ // after this call will be not be processed. To process them, run the minion again.
87
+ const tenantIds = options.argv.enableMultiTenant ?
88
+ await tenantClient.getTenants().then((tenants) => {
89
+ return tenants.map((t) => t.id);
90
+ }) :
91
+ [];
92
+ // We always create aspect definition for tenant with ID of MAGDA_ADMIN_PORTAL_ID
93
+ // because a minion does not know if magda is deployed in single- or multi-tenant mode.
94
+ // This approach will slightly increase the number of entries in the aspects table but
95
+ // make the implementation simple.
96
+ const theTenantIds = tenantIds.concat(MAGDA_ADMIN_PORTAL_ID);
97
+ const addPromises = aspectDefsToAdd.map((aspectDef) => {
98
+ theTenantIds.map((id) => registry.putAspectDefinition(aspectDef, id));
99
+ });
100
+ return Promise.all(addPromises).
101
+ then(failIfErrors).
102
+ then((result) => {
103
+ console.info("Successfully added aspect defs");
104
+ return result;
105
+ });
106
+ }
107
+ function failIfErrors(results) {
108
+ const failed = results.filter((result) => result instanceof Error);
109
+ if (failed.length > 0) {
110
+ throw failed[0];
111
+ } else
112
+ {
113
+ return results;
114
+ }
115
+ }
116
+ }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,QAAQ,MAAM,kEAAkE,CAAC;AAExF,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,sBAAsB,MAAM,kEAAkE,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,sDAAsD,CAAC;AAEvF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,MAAM,CAAC,OAAsB;IACvD,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC;QAC1B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;QACjC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS;QACjC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;QAC3B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,eAAe;KAC5B,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,iBAAiB;QAC/C,CAAC,CAAC,IAAI,sBAAsB,CAAC;YACvB,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS;YAC9B,UAAU,EAAE,CAAC;YACb,qBAAqB,EAAE,CAAC;YACxB,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS;YACjC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;SAC9B,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IAEX,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE/C,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAEjC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAE5C,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;QACzC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,MAAM,aAAa,EAAE,CAAC;IAEtB,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEvE,IAAI,iBAAiB,EAAE;QACnB,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC9C,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KAC1C;SAAM;QACH,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEzC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;KACzB;IAED,SAAS,YAAY,CAAC,OAAsB;QACxC,IAAI,UAAU,GAAG,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC;QAC3C,UAAU;YACN,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACvE,IAAI,UAAU,IAAI,CAAC,IAAI,UAAU,GAAG,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;YAC5D,MAAM,IAAI,KAAK,CACX,mBAAmB,OAAO,CAAC,IAAI,CAAC,UAAU,aAAa,CAC1D,CAAC;SACL;QAED,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACxC;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAClD;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAClD;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAChD;QAED,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;SAC7C;QAED,MAAM,aAAa,GAAG,CAAC,OAAiB,EAAE,EAAE,CACxC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC;QAE5C,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CACX,WAAW,OAAO,CAAC,OAAO,0BAA0B,CACvD,CAAC;SACL;QAED,IAAI,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YACxC,MAAM,IAAI,KAAK,CACX,WAAW,OAAO,CAAC,eAAe,0BAA0B,CAC/D,CAAC;SACL;IACL,CAAC;IAED,KAAK,UAAU,aAAa;QACxB,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAChD,OAAO,CAAC,IAAI,CACR,sBAAsB,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACjE,CAAC;QAEF,uFAAuF;QACvF,mFAAmF;QACnF,MAAM,SAAS,GAAa,OAAO,CAAC,IAAI,CAAC,iBAAiB;YACtD,CAAC,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,OAAiB,EAAE,EAAE;gBACvD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;QAET,iFAAiF;QACjF,uFAAuF;QACvF,sFAAsF;QACtF,kCAAkC;QAClC,MAAM,YAAY,GAAa,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAClD,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CACpB,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC,CAC9C,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;aAC1B,IAAI,CAAC,YAAY,CAAC;aAClB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC/C,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;IACX,CAAC;IAED,SAAS,YAAY,CAAI,OAAyB;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CACzB,CAAC,MAAiB,EAAE,EAAE,CAAC,MAAM,YAAY,KAAK,CACjD,CAAC;QAEF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;SACnB;aAAM;YACH,OAAO,OAAO,CAAC;SAClB;IACL,CAAC;AACL,CAAC"}
@@ -1,3 +1,3 @@
1
- import Registry from "@magda/typescript-common/dist/registry/AuthorizedRegistryClient";
2
- import MinionOptions from "./MinionOptions";
1
+ import Registry from "@magda/typescript-common/dist/registry/AuthorizedRegistryClient.js";
2
+ import MinionOptions from "./MinionOptions.js";
3
3
  export default function isWebhookRegistered(options: MinionOptions, registry: Registry): Promise<boolean>;
@@ -1,31 +1,14 @@
1
- "use strict";
2
- var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) {return value instanceof P ? value : new P(function (resolve) {resolve(value);});}
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) {try {step(generator.next(value));} catch (e) {reject(e);}}
6
- function rejected(value) {try {step(generator["throw"](value));} catch (e) {reject(e);}}
7
- function step(result) {result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);}
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = this && this.__importDefault || function (mod) {
12
- return mod && mod.__esModule ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const lodash_1 = require("lodash");
16
- const buildWebhookConfig_1 = __importDefault(require("./buildWebhookConfig"));
17
- const getWebhookUrl_1 = __importDefault(require("./getWebhookUrl"));
18
- function isWebhookRegistered(options, registry) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- const maybeHook = yield registry.getHook(options.id);
21
- if (maybeHook instanceof Error) {
22
- throw maybeHook;
23
- }
24
- const newWebhookConfig = buildWebhookConfig_1.default(options);
25
- return maybeHook.
26
- map(hook => lodash_1.isEqual(hook.config, newWebhookConfig) &&
27
- hook.url === getWebhookUrl_1.default(options)).
28
- valueOr(false);
29
- });
30
- }
31
- exports.default = isWebhookRegistered;
1
+ import isEqual from "lodash/isEqual.js";
2
+ import buildWebhookConfig from "./buildWebhookConfig.js";
3
+ import getWebhookUrl from "./getWebhookUrl.js";
4
+ export default async function isWebhookRegistered(options, registry) {
5
+ const maybeHook = await registry.getHook(options.id);
6
+ if (maybeHook instanceof Error) {
7
+ throw maybeHook;
8
+ }
9
+ const newWebhookConfig = buildWebhookConfig(options);
10
+ return maybeHook.
11
+ map((hook) => isEqual(hook.config, newWebhookConfig) &&
12
+ hook.url === getWebhookUrl(options)).
13
+ valueOr(false);
14
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"isWebhookRegistered.js","sourceRoot":"","sources":["../src/isWebhookRegistered.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,mCAAiC;AAKjC,8EAAsD;AACtD,oEAA4C;AAE5C,SAA8B,mBAAmB,CAC7C,OAAsB,EACtB,QAAkB;;QAElB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAErD,IAAI,SAAS,YAAY,KAAK,EAAE;YAC5B,MAAM,SAAS,CAAC;SACnB;QAED,MAAM,gBAAgB,GAAG,4BAAkB,CAAC,OAAO,CAAC,CAAC;QAErD,OAAO,SAAS;aACX,GAAG,CACA,CAAC,IAAI,EAAE,EAAE,CACL,gBAAO,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC;YACtC,IAAI,CAAC,GAAG,KAAK,uBAAa,CAAC,OAAO,CAAC,CAC1C;aACA,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;CAAA;AAnBD,sCAmBC"}
1
+ {"version":3,"file":"isWebhookRegistered.js","sourceRoot":"","sources":["../src/isWebhookRegistered.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAKxC,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,mBAAmB,CAC7C,OAAsB,EACtB,QAAkB;IAElB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAErD,IAAI,SAAS,YAAY,KAAK,EAAE;QAC5B,MAAM,SAAS,CAAC;KACnB;IAED,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO,SAAS;SACX,GAAG,CACA,CAAC,IAAI,EAAE,EAAE,CACL,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC;QACtC,IAAI,CAAC,GAAG,KAAK,aAAa,CAAC,OAAO,CAAC,CAC1C;SACA,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { WebHook } from "@magda/typescript-common/dist/generated/registry/api";
2
- import Registry from "@magda/typescript-common/dist/registry/AuthorizedRegistryClient";
3
- import MinionOptions from "./MinionOptions";
4
- export declare type NeedsCrawl = Promise<boolean>;
5
- export default function registerNewWebhook(options: MinionOptions, registry: Registry): Promise<WebHook | import("../../magda-typescript-common/src/ServerError").default>;
1
+ import { WebHook } from "@magda/typescript-common/dist/generated/registry/api.js";
2
+ import Registry from "@magda/typescript-common/dist/registry/AuthorizedRegistryClient.js";
3
+ import MinionOptions from "./MinionOptions.js";
4
+ export type NeedsCrawl = Promise<boolean>;
5
+ export default function registerNewWebhook(options: MinionOptions, registry: Registry): Promise<WebHook | import("magda-typescript-common/src/ServerError.js").default>;
@@ -1,51 +1,34 @@
1
- "use strict";
2
- var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) {return value instanceof P ? value : new P(function (resolve) {resolve(value);});}
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) {try {step(generator.next(value));} catch (e) {reject(e);}}
6
- function rejected(value) {try {step(generator["throw"](value));} catch (e) {reject(e);}}
7
- function step(result) {result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);}
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = this && this.__importDefault || function (mod) {
12
- return mod && mod.__esModule ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const getWebhookUrl_1 = __importDefault(require("./getWebhookUrl"));
16
- const buildWebhookConfig_1 = __importDefault(require("./buildWebhookConfig"));
17
- function registerNewWebhook(options, registry) {
18
- return __awaiter(this, void 0, void 0, function* () {
19
- console.info("Registering webhook");
20
- const webHookConfig = buildWebhookConfig_1.default(options);
21
- const newWebHook = {
22
- id: options.id,
23
- name: options.id,
24
- active: true,
25
- url: getWebhookUrl_1.default(options),
26
- eventTypes: [
27
- "CreateRecord",
28
- "CreateAspectDefinition",
29
- "CreateRecordAspect",
30
- "PatchRecord",
31
- "PatchAspectDefinition",
32
- "PatchRecordAspect"],
1
+ import getWebhookUrl from "./getWebhookUrl.js";
2
+ import buildWebhookConfig from "./buildWebhookConfig.js";
3
+ export default async function registerNewWebhook(options, registry) {
4
+ console.info("Registering webhook");
5
+ const webHookConfig = buildWebhookConfig(options);
6
+ const newWebHook = {
7
+ id: options.id,
8
+ name: options.id,
9
+ active: true,
10
+ url: getWebhookUrl(options),
11
+ eventTypes: [
12
+ "CreateRecord",
13
+ "CreateAspectDefinition",
14
+ "CreateRecordAspect",
15
+ "PatchRecord",
16
+ "PatchAspectDefinition",
17
+ "PatchRecordAspect"],
33
18
 
34
- config: webHookConfig,
35
- lastEvent: null,
36
- isWaitingForResponse: false,
37
- enabled: true,
38
- lastRetryTime: null,
39
- retryCount: 0,
40
- isRunning: null,
41
- isProcessing: null,
42
- ownerId: undefined,
43
- createTime: undefined,
44
- creatorId: undefined,
45
- editTime: undefined,
46
- editorId: undefined };
47
-
48
- return registry.putHook(newWebHook);
49
- });
50
- }
51
- exports.default = registerNewWebhook;
19
+ config: webHookConfig,
20
+ lastEvent: null,
21
+ isWaitingForResponse: false,
22
+ enabled: true,
23
+ lastRetryTime: null,
24
+ retryCount: 0,
25
+ isRunning: null,
26
+ isProcessing: null,
27
+ ownerId: undefined,
28
+ createTime: undefined,
29
+ creatorId: undefined,
30
+ editTime: undefined,
31
+ editorId: undefined
32
+ };
33
+ return registry.putHook(newWebHook);
34
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"registerWebhook.js","sourceRoot":"","sources":["../src/registerWebhook.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,oEAA4C;AAC5C,8EAAsD;AAItD,SAA8B,kBAAkB,CAC5C,OAAsB,EACtB,QAAkB;;QAElB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAEpC,MAAM,aAAa,GAAG,4BAAkB,CAAC,OAAO,CAAC,CAAC;QAElD,MAAM,UAAU,GAAY;YACxB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,EAAE;YAChB,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,uBAAa,CAAC,OAAO,CAAC;YAC3B,UAAU,EAAE;gBACR,cAAc;gBACd,wBAAwB;gBACxB,oBAAoB;gBACpB,aAAa;gBACb,uBAAuB;gBACvB,mBAAmB;aACtB;YACD,MAAM,EAAE,aAAa;YACrB,SAAS,EAAE,IAAI;YACf,oBAAoB,EAAE,KAAK;YAC3B,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,IAAI;YACnB,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,SAAS;SACtB,CAAC;QAEF,OAAO,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;CAAA;AArCD,qCAqCC"}
1
+ {"version":3,"file":"registerWebhook.js","sourceRoot":"","sources":["../src/registerWebhook.ts"],"names":[],"mappings":"AAIA,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAIzD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,kBAAkB,CAC5C,OAAsB,EACtB,QAAkB;IAElB,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAEpC,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,UAAU,GAAY;QACxB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,EAAE;QAChB,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC;QAC3B,UAAU,EAAE;YACR,cAAc;YACd,wBAAwB;YACxB,oBAAoB;YACpB,aAAa;YACb,uBAAuB;YACvB,mBAAmB;SACtB;QACD,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,IAAI;QACf,oBAAoB,EAAE,KAAK;QAC3B,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,SAAS;KACtB,CAAC;IAEF,OAAO,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACxC,CAAC"}
@@ -1,4 +1,4 @@
1
- import Registry from "@magda/typescript-common/dist/registry/AuthorizedRegistryClient";
2
- import MinionOptions from "./MinionOptions";
3
- export declare type NeedsCrawl = Promise<boolean>;
1
+ import Registry from "@magda/typescript-common/dist/registry/AuthorizedRegistryClient.js";
2
+ import MinionOptions from "./MinionOptions.js";
3
+ export type NeedsCrawl = Promise<boolean>;
4
4
  export default function resumeWebhook(options: MinionOptions, registry: Registry): Promise<void>;
@@ -1,22 +1,8 @@
1
- "use strict";
2
- var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) {return value instanceof P ? value : new P(function (resolve) {resolve(value);});}
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) {try {step(generator.next(value));} catch (e) {reject(e);}}
6
- function rejected(value) {try {step(generator["throw"](value));} catch (e) {reject(e);}}
7
- function step(result) {result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);}
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- function resumeWebhook(options, registry) {
13
- return __awaiter(this, void 0, void 0, function* () {
14
- console.info(`Attempting to resume webhook ${options.id}`);
15
- const resumeResult = yield registry.resumeHook(options.id, false, null, true);
16
- if (resumeResult instanceof Error) {
17
- throw resumeResult;
18
- }
19
- console.info(`Successfully resumed webhook - last event id was ${resumeResult.lastEventIdReceived}`);
20
- });
21
- }
22
- exports.default = resumeWebhook;
1
+ export default async function resumeWebhook(options, registry) {
2
+ console.info(`Attempting to resume webhook ${options.id}`);
3
+ const resumeResult = await registry.resumeHook(options.id, false, null, true);
4
+ if (resumeResult instanceof Error) {
5
+ throw resumeResult;
6
+ }
7
+ console.info(`Successfully resumed webhook - last event id was ${resumeResult.lastEventIdReceived}`);
8
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"resumeWebhook.js","sourceRoot":"","sources":["../src/resumeWebhook.ts"],"names":[],"mappings":";;;;;;;;;;;AAMA,SAA8B,aAAa,CACvC,OAAsB,EACtB,QAAkB;;QAElB,OAAO,CAAC,IAAI,CAAC,gCAAgC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAE3D,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,UAAU,CAC1C,OAAO,CAAC,EAAE,EACV,KAAK,EACL,IAAI,EACJ,IAAI,CACP,CAAC;QAEF,IAAI,YAAY,YAAY,KAAK,EAAE;YAC/B,MAAM,YAAY,CAAC;SACtB;QAED,OAAO,CAAC,IAAI,CACR,oDAAoD,YAAY,CAAC,mBAAmB,EAAE,CACzF,CAAC;IACN,CAAC;CAAA;AApBD,gCAoBC"}
1
+ {"version":3,"file":"resumeWebhook.js","sourceRoot":"","sources":["../src/resumeWebhook.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CACvC,OAAsB,EACtB,QAAkB;IAElB,OAAO,CAAC,IAAI,CAAC,gCAAgC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3D,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,UAAU,CAC1C,OAAO,CAAC,EAAE,EACV,KAAK,EACL,IAAI,EACJ,IAAI,CACP,CAAC;IAEF,IAAI,YAAY,YAAY,KAAK,EAAE;QAC/B,MAAM,YAAY,CAAC;KACtB;IAED,OAAO,CAAC,IAAI,CACR,oDAAoD,YAAY,CAAC,mBAAmB,EAAE,CACzF,CAAC;AACN,CAAC"}
@@ -1,43 +1,43 @@
1
- import MinionOptions from "./MinionOptions";
1
+ import MinionOptions from "./MinionOptions.js";
2
2
  import { Application } from "express";
3
- import Crawler from "./Crawler";
3
+ import Crawler from "./Crawler.js";
4
4
  /**
5
- * @apiDefine GenericErrorMinionJson
6
- * @apiError (Error 500 JSON Response Body) {Boolean} isSuccess Whether or not the operation is successfully done.
7
- * @apiError (Error 500 JSON Response Body) {Boolean} [isNewCrawler] indicate Whether it's a new cralwer process or existing crawling process is still no-going.
8
- * @apiError (Error 500 JSON Response Body) {String} errorMessage Free text error message. Only available when `isSuccess`=`false`
9
- * @apiErrorExample {json} Response:
10
- * {
11
- * isSuccess: false,
12
- * errorMessage: "Unknown Error"
13
- * }
14
- */
5
+ * @apiDefine GenericErrorMinionJson
6
+ * @apiError (Error 500 JSON Response Body) {Boolean} isSuccess Whether or not the operation is successfully done.
7
+ * @apiError (Error 500 JSON Response Body) {Boolean} [isNewCrawler] indicate Whether it's a new cralwer process or existing crawling process is still no-going.
8
+ * @apiError (Error 500 JSON Response Body) {String} errorMessage Free text error message. Only available when `isSuccess`=`false`
9
+ * @apiErrorExample {json} Response:
10
+ * {
11
+ * isSuccess: false,
12
+ * errorMessage: "Unknown Error"
13
+ * }
14
+ */
15
15
  export interface recrawlResponse {
16
16
  isSuccess: boolean;
17
17
  isNewCrawler?: boolean;
18
- errorMessage?: string;}
19
-
18
+ errorMessage?: string;
19
+ }
20
20
  export interface crawlerProgress {
21
21
  isSuccess: boolean;
22
22
  errorMessage?: string;
23
23
  progress?: {
24
24
  isCrawling: boolean;
25
25
  crawlingPageToken: string;
26
- crawledRecordNumber: number;};}
27
-
28
-
26
+ crawledRecordNumber: number;
27
+ };
28
+ }
29
29
  /**
30
- * @apiGroup Minions
31
- * @api {post} /v0/minions/recrawl Make the minion recrawl the registry
32
- *
33
- * @apiDescription Make the minion recrawl the registry
34
- *
35
- * @apiSuccess (Success 200) {json} Response the minion recrawl status
36
- * @apiSuccessExample {json} Response:
37
- * {
38
- * isSuccess: true,
39
- * isNewCrawler: true
40
- * }
41
- * @apiUse GenericErrorMinionJson
42
- */
30
+ * @apiGroup Minions
31
+ * @api {post} /v0/minions/recrawl Make the minion recrawl the registry
32
+ *
33
+ * @apiDescription Make the minion recrawl the registry
34
+ *
35
+ * @apiSuccess (Success 200) {json} Response the minion recrawl status
36
+ * @apiSuccessExample {json} Response:
37
+ * {
38
+ * isSuccess: true,
39
+ * isNewCrawler: true
40
+ * }
41
+ * @apiUse GenericErrorMinionJson
42
+ */
43
43
  export default function setupRecrawlEndpoint(server: Application, options: MinionOptions, crawler: Crawler): void;