@magda/typescript-common 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 (246) hide show
  1. package/dist/AspectBuilder.d.ts +1 -1
  2. package/dist/AspectBuilder.js +1 -2
  3. package/dist/AspectCreationFailure.js +3 -4
  4. package/dist/AspectCreationFailure.js.map +1 -1
  5. package/dist/AsyncPage.js +59 -79
  6. package/dist/AsyncPage.js.map +1 -1
  7. package/dist/BaseApiClient.d.ts +3 -3
  8. package/dist/BaseApiClient.js +20 -13
  9. package/dist/BaseApiClient.js.map +1 -1
  10. package/dist/ConnectionResult.d.ts +2 -2
  11. package/dist/ConnectionResult.js +17 -22
  12. package/dist/ConnectionResult.js.map +1 -1
  13. package/dist/ConnectorRecordId.d.ts +1 -1
  14. package/dist/ConnectorRecordId.js +9 -13
  15. package/dist/ConnectorRecordId.js.map +1 -1
  16. package/dist/IndexerApiClient.d.ts +1 -1
  17. package/dist/IndexerApiClient.js +13 -32
  18. package/dist/IndexerApiClient.js.map +1 -1
  19. package/dist/JsonConnector.d.ts +9 -9
  20. package/dist/JsonConnector.js +163 -206
  21. package/dist/JsonConnector.js.map +1 -1
  22. package/dist/JsonTransformer.d.ts +3 -3
  23. package/dist/JsonTransformer.js +71 -75
  24. package/dist/JsonTransformer.js.map +1 -1
  25. package/dist/OpaCompileResponseParser.d.ts +4 -4
  26. package/dist/OpaCompileResponseParser.js +278 -211
  27. package/dist/OpaCompileResponseParser.js.map +1 -1
  28. package/dist/RecordCreationFailure.d.ts +1 -1
  29. package/dist/RecordCreationFailure.js +4 -4
  30. package/dist/RecordCreationFailure.js.map +1 -1
  31. package/dist/SQLUtils.d.ts +3 -3
  32. package/dist/SQLUtils.js +139 -195
  33. package/dist/SQLUtils.js.map +1 -1
  34. package/dist/ServerError.js +2 -4
  35. package/dist/ServerError.js.map +1 -1
  36. package/dist/Try.js +20 -35
  37. package/dist/Try.js.map +1 -1
  38. package/dist/addTrailingSlash.js +1 -4
  39. package/dist/addTrailingSlash.js.map +1 -1
  40. package/dist/appendUrlSegments.js +3 -8
  41. package/dist/appendUrlSegments.js.map +1 -1
  42. package/dist/authorization-api/AccessControlError.d.ts +1 -1
  43. package/dist/authorization-api/AccessControlError.js +2 -8
  44. package/dist/authorization-api/AccessControlError.js.map +1 -1
  45. package/dist/authorization-api/ApiClient.d.ts +3 -3
  46. package/dist/authorization-api/ApiClient.js +211 -272
  47. package/dist/authorization-api/ApiClient.js.map +1 -1
  48. package/dist/authorization-api/AuthError.d.ts +1 -1
  49. package/dist/authorization-api/AuthError.js +2 -8
  50. package/dist/authorization-api/AuthError.js.map +1 -1
  51. package/dist/authorization-api/GenericError.js +2 -4
  52. package/dist/authorization-api/GenericError.js.map +1 -1
  53. package/dist/authorization-api/authMiddleware.d.ts +3 -3
  54. package/dist/authorization-api/authMiddleware.js +19 -40
  55. package/dist/authorization-api/authMiddleware.js.map +1 -1
  56. package/dist/authorization-api/constants.js +9 -12
  57. package/dist/authorization-api/constants.js.map +1 -1
  58. package/dist/authorization-api/model.d.ts +8 -8
  59. package/dist/authorization-api/model.js +1 -2
  60. package/dist/coerceJson.js +1 -3
  61. package/dist/coerceJson.js.map +1 -1
  62. package/dist/createNoCacheFetchOptions.d.ts +1 -1
  63. package/dist/createNoCacheFetchOptions.js +4 -7
  64. package/dist/createNoCacheFetchOptions.js.map +1 -1
  65. package/dist/createServiceError.d.ts +1 -1
  66. package/dist/createServiceError.js +4 -9
  67. package/dist/createServiceError.js.map +1 -1
  68. package/dist/delay.js +1 -3
  69. package/dist/delay.js.map +1 -1
  70. package/dist/express/getNoCacheHeaders.js +1 -3
  71. package/dist/express/getNoCacheHeaders.js.map +1 -1
  72. package/dist/express/setResponseNoCache.d.ts +1 -1
  73. package/dist/express/setResponseNoCache.js +3 -8
  74. package/dist/express/setResponseNoCache.js.map +1 -1
  75. package/dist/express/status.d.ts +14 -15
  76. package/dist/express/status.js +135 -126
  77. package/dist/express/status.js.map +1 -1
  78. package/dist/fetchRequest.d.ts +6 -6
  79. package/dist/fetchRequest.js +36 -51
  80. package/dist/fetchRequest.js.map +1 -1
  81. package/dist/formatServiceError.js +1 -4
  82. package/dist/formatServiceError.js.map +1 -1
  83. package/dist/generated/registry/api.d.ts +4 -4
  84. package/dist/generated/registry/api.js +197 -102
  85. package/dist/generated/registry/api.js.map +1 -1
  86. package/dist/getAbsoluteUrl.js +8 -11
  87. package/dist/getAbsoluteUrl.js.map +1 -1
  88. package/dist/getBasePathFromUrl.js +3 -9
  89. package/dist/getBasePathFromUrl.js.map +1 -1
  90. package/dist/getBoolValWithDefault.js +1 -3
  91. package/dist/getBoolValWithDefault.js.map +1 -1
  92. package/dist/getRequest.js +9 -26
  93. package/dist/getRequest.js.map +1 -1
  94. package/dist/getRequestNoCache.js +4 -21
  95. package/dist/getRequestNoCache.js.map +1 -1
  96. package/dist/getStorageUrl.js +13 -23
  97. package/dist/getStorageUrl.js.map +1 -1
  98. package/dist/handleServerError.js +3 -9
  99. package/dist/handleServerError.js.map +1 -1
  100. package/dist/markdownToHtml.js +5 -11
  101. package/dist/markdownToHtml.js.map +1 -1
  102. package/dist/opa/AspectQuery.js +55 -79
  103. package/dist/opa/AspectQuery.js.map +1 -1
  104. package/dist/opa/AuthDecision.d.ts +2 -2
  105. package/dist/opa/AuthDecision.js +52 -69
  106. package/dist/opa/AuthDecision.js.map +1 -1
  107. package/dist/opa/AuthDecisionQueryClient.d.ts +2 -2
  108. package/dist/opa/AuthDecisionQueryClient.js +75 -102
  109. package/dist/opa/AuthDecisionQueryClient.js.map +1 -1
  110. package/dist/pgTypes.js +4 -9
  111. package/dist/pgTypes.js.map +1 -1
  112. package/dist/registry/AuthorizedRegistryClient.d.ts +4 -4
  113. package/dist/registry/AuthorizedRegistryClient.js +52 -92
  114. package/dist/registry/AuthorizedRegistryClient.js.map +1 -1
  115. package/dist/registry/RegistryClient.d.ts +2 -2
  116. package/dist/registry/RegistryClient.js +60 -76
  117. package/dist/registry/RegistryClient.js.map +1 -1
  118. package/dist/registry/TenantConsts.js +3 -6
  119. package/dist/registry/TenantConsts.js.map +1 -1
  120. package/dist/registry/model.js +1 -2
  121. package/dist/registry-manual/api.d.ts +1 -1
  122. package/dist/registry-manual/api.js +18 -7
  123. package/dist/registry-manual/api.js.map +1 -1
  124. package/dist/request.d.ts +2 -2
  125. package/dist/request.js +4 -9
  126. package/dist/request.js.map +1 -1
  127. package/dist/retry.d.ts +1 -1
  128. package/dist/retry.js +3 -9
  129. package/dist/retry.js.map +1 -1
  130. package/dist/retryBackoff.js +3 -9
  131. package/dist/retryBackoff.js.map +1 -1
  132. package/dist/runLater.js +1 -4
  133. package/dist/runLater.js.map +1 -1
  134. package/dist/session/GetUserId.d.ts +2 -2
  135. package/dist/session/GetUserId.js +10 -16
  136. package/dist/session/GetUserId.js.map +1 -1
  137. package/dist/session/GetUserSession.d.ts +1 -1
  138. package/dist/session/GetUserSession.js +6 -10
  139. package/dist/session/GetUserSession.js.map +1 -1
  140. package/dist/session/addJwtSecretFromEnvVar.js +1 -4
  141. package/dist/session/addJwtSecretFromEnvVar.js.map +1 -1
  142. package/dist/session/buildJwt.d.ts +1 -1
  143. package/dist/session/buildJwt.js +2 -5
  144. package/dist/session/buildJwt.js.map +1 -1
  145. package/dist/session/buildJwtFromReq.d.ts +2 -0
  146. package/dist/session/buildJwtFromReq.js +4 -0
  147. package/dist/session/buildJwtFromReq.js.map +1 -0
  148. package/dist/session/cookieUtils.d.ts +2 -13
  149. package/dist/session/cookieUtils.js +8 -9
  150. package/dist/session/cookieUtils.js.map +1 -1
  151. package/dist/session/destroySession.js +18 -33
  152. package/dist/session/destroySession.js.map +1 -1
  153. package/dist/session/getSessionId.js +5 -11
  154. package/dist/session/getSessionId.js.map +1 -1
  155. package/dist/tenant-api/AuthorizedTenantClient.d.ts +1 -1
  156. package/dist/tenant-api/AuthorizedTenantClient.js +22 -36
  157. package/dist/tenant-api/AuthorizedTenantClient.js.map +1 -1
  158. package/dist/tenant-api/Tenant.js +13 -5
  159. package/dist/tenant-api/Tenant.js.map +1 -1
  160. package/dist/test/JsonConnector.spec.js +56 -61
  161. package/dist/test/JsonConnector.spec.js.map +1 -1
  162. package/dist/test/JsonTransformer.spec.js +15 -19
  163. package/dist/test/JsonTransformer.spec.js.map +1 -1
  164. package/dist/test/arbitraries.d.ts +21 -21
  165. package/dist/test/arbitraries.js +85 -99
  166. package/dist/test/arbitraries.js.map +1 -1
  167. package/dist/test/aspect-templates/organization-details.d.ts +1 -4
  168. package/dist/test/aspect-templates/organization-details.js +1 -1
  169. package/dist/test/aspect-templates/organization-details.js.map +1 -1
  170. package/dist/test/buildApiClient.spec.js +81 -107
  171. package/dist/test/buildApiClient.spec.js.map +1 -1
  172. package/dist/test/buildAuthorizedTenantClient.spec.js +25 -40
  173. package/dist/test/buildAuthorizedTenantClient.spec.js.map +1 -1
  174. package/dist/test/connectors/MockExpressServer.js +9 -23
  175. package/dist/test/connectors/MockExpressServer.js.map +1 -1
  176. package/dist/test/connectors/MockRegistry.d.ts +1 -1
  177. package/dist/test/connectors/MockRegistry.js +11 -18
  178. package/dist/test/connectors/MockRegistry.js.map +1 -1
  179. package/dist/test/connectors/runConnectorTest.js +33 -55
  180. package/dist/test/connectors/runConnectorTest.js.map +1 -1
  181. package/dist/test/createMockAuthDecisionQueryClient.d.ts +4 -4
  182. package/dist/test/createMockAuthDecisionQueryClient.js +4 -9
  183. package/dist/test/createMockAuthDecisionQueryClient.js.map +1 -1
  184. package/dist/test/db/getTestDBConfig.js +1 -3
  185. package/dist/test/db/getTestDBConfig.js.map +1 -1
  186. package/dist/test/db/runMigrationSql.js +37 -58
  187. package/dist/test/db/runMigrationSql.js.map +1 -1
  188. package/dist/test/express/status.spec.js +81 -72
  189. package/dist/test/express/status.spec.js.map +1 -1
  190. package/dist/test/fakeArgv.js +6 -5
  191. package/dist/test/fakeArgv.js.map +1 -1
  192. package/dist/test/getBasePathFromUrl.spec.js +5 -10
  193. package/dist/test/getBasePathFromUrl.spec.js.map +1 -1
  194. package/dist/test/getStorageUrl.spec.js +22 -46
  195. package/dist/test/getStorageUrl.spec.js.map +1 -1
  196. package/dist/test/mockAuthApiHost.js +26 -28
  197. package/dist/test/mockAuthApiHost.js.map +1 -1
  198. package/dist/test/mockAuthorization.js +4 -10
  199. package/dist/test/mockAuthorization.js.map +1 -1
  200. package/dist/test/mockTenantDataStore.d.ts +1 -1
  201. package/dist/test/mockTenantDataStore.js +3 -5
  202. package/dist/test/mockTenantDataStore.js.map +1 -1
  203. package/dist/test/mockUserDataStore.d.ts +1 -1
  204. package/dist/test/mockUserDataStore.js +4 -6
  205. package/dist/test/mockUserDataStore.js.map +1 -1
  206. package/dist/test/registry/buildAuthorizedClient.spec.js +65 -87
  207. package/dist/test/registry/buildAuthorizedClient.spec.js.map +1 -1
  208. package/dist/test/session/buildJwt.spec.js +15 -19
  209. package/dist/test/session/buildJwt.spec.js.map +1 -1
  210. package/dist/test/session/buildJwtForRegistryEsriOpaGroupsAndOwnerTest.spec.js +6 -11
  211. package/dist/test/session/buildJwtForRegistryEsriOpaGroupsAndOwnerTest.spec.js.map +1 -1
  212. package/dist/test/session/buildJwtForRegistryEsriOpaGroupsTest.spec.js +6 -11
  213. package/dist/test/session/buildJwtForRegistryEsriOpaGroupsTest.spec.js.map +1 -1
  214. package/dist/test/session/buildJwtForRegistryEsriOpaOwnerTest.spec.js +6 -11
  215. package/dist/test/session/buildJwtForRegistryEsriOpaOwnerTest.spec.js.map +1 -1
  216. package/dist/test/testAsyncPage.spec.js +84 -105
  217. package/dist/test/testAsyncPage.spec.js.map +1 -1
  218. package/dist/test/testOpaCompileResponseParser.spec.js +192 -196
  219. package/dist/test/testOpaCompileResponseParser.spec.js.map +1 -1
  220. package/dist/test/util.js +1 -5
  221. package/dist/test/util.js.map +1 -1
  222. package/dist/unknown2Error.d.ts +2 -0
  223. package/dist/unknown2Error.js +3 -0
  224. package/dist/unknown2Error.js.map +1 -0
  225. package/dist/util/arrayToMaybe.d.ts +1 -1
  226. package/dist/util/arrayToMaybe.js +3 -6
  227. package/dist/util/arrayToMaybe.js.map +1 -1
  228. package/dist/util/cleanOrgTitle.js +1 -4
  229. package/dist/util/cleanOrgTitle.js.map +1 -1
  230. package/dist/util/escapeRegExp.js +1 -3
  231. package/dist/util/escapeRegExp.js.map +1 -1
  232. package/dist/util/getMinikubeIP.js +3 -9
  233. package/dist/util/getMinikubeIP.js.map +1 -1
  234. package/dist/util/isArray.js +1 -3
  235. package/dist/util/isArray.js.map +1 -1
  236. package/dist/util/isUuid.js +1 -3
  237. package/dist/util/isUuid.js.map +1 -1
  238. package/dist/util/unionToThrowable.d.ts +1 -1
  239. package/dist/util/unionToThrowable.js +3 -9
  240. package/dist/util/unionToThrowable.js.map +1 -1
  241. package/dist/utilityTypes.d.ts +1 -1
  242. package/dist/utilityTypes.js +1 -2
  243. package/package.json +44 -26
  244. package/dist/test/jsverify.d.ts +0 -2
  245. package/dist/test/jsverify.js +0 -8
  246. package/dist/test/jsverify.js.map +0 -1
@@ -1,16 +1,5 @@
1
- import express from "express";
2
- /** This is present in the express-session types but not actually exported properly, so it needs to be copy-pasted here */
3
- export declare type CookieOptions = {
4
- maxAge?: number;
5
- signed?: boolean;
6
- expires?: Date;
7
- httpOnly?: boolean;
8
- path?: string;
9
- domain?: string;
10
- secure?: boolean | "auto";
11
- encode?: (val: string) => string;
12
- sameSite?: boolean | "lax" | "strict" | "none";
13
- };
1
+ import express, { CookieOptions as CookieOptionsType } from "express";
2
+ export type CookieOptions = CookieOptionsType;
14
3
  export declare const DEFAULT_SESSION_COOKIE_NAME: string;
15
4
  export declare let DEFAULT_SESSION_COOKIE_OPTIONS: CookieOptions;
16
5
  export declare function deleteCookie(cookieName: string, cookieOptions: CookieOptions, res: express.Response): void;
@@ -1,19 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteCookie = exports.DEFAULT_SESSION_COOKIE_OPTIONS = exports.DEFAULT_SESSION_COOKIE_NAME = void 0;
4
- exports.DEFAULT_SESSION_COOKIE_NAME = "connect.sid";
5
- exports.DEFAULT_SESSION_COOKIE_OPTIONS = {
1
+ export const DEFAULT_SESSION_COOKIE_NAME = "connect.sid";
2
+ export let DEFAULT_SESSION_COOKIE_OPTIONS = {
6
3
  maxAge: 7 * 60 * 60 * 1000,
7
4
  sameSite: "lax",
8
5
  httpOnly: true,
9
- secure: "auto"
6
+ secure: false
10
7
  };
11
- function deleteCookie(cookieName, cookieOptions, res) {
12
- const deleteCookieOptions = Object.assign({}, cookieOptions);
8
+ export function deleteCookie(cookieName, cookieOptions, res) {
9
+ const deleteCookieOptions = {
10
+ ...cookieOptions
11
+ };
13
12
  // --- `clearCookie` works in a way like it will fail to delete cookie if maxAge presents T_T
14
13
  // --- https://github.com/expressjs/express/issues/3856#issuecomment-502397226
15
14
  delete deleteCookieOptions.maxAge;
16
15
  res.clearCookie(cookieName, deleteCookieOptions);
16
+ res.clearCookie(cookieName, cookieOptions);
17
17
  }
18
- exports.deleteCookie = deleteCookie;
19
18
  //# sourceMappingURL=cookieUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cookieUtils.js","sourceRoot":"","sources":["../../src/session/cookieUtils.ts"],"names":[],"mappings":";;;AAea,QAAA,2BAA2B,GAAW,aAAa,CAAC;AAEtD,QAAA,8BAA8B,GAAkB;IACvD,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC1B,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,MAAM;CACjB,CAAC;AAEF,SAAgB,YAAY,CACxB,UAAkB,EAClB,aAA4B,EAC5B,GAAqB;IAErB,MAAM,mBAAmB,qBAClB,aAAa,CACnB,CAAC;IACF,6FAA6F;IAC7F,8EAA8E;IAC9E,OAAO,mBAAmB,CAAC,MAAM,CAAC;IAClC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;AACrD,CAAC;AAZD,oCAYC"}
1
+ {"version":3,"file":"cookieUtils.js","sourceRoot":"","sources":["../../src/session/cookieUtils.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,2BAA2B,GAAW,aAAa,CAAC;AAEjE,MAAM,CAAC,IAAI,8BAA8B,GAAkB;IACvD,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAC1B,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,KAAK;CAChB,CAAC;AAEF,MAAM,UAAU,YAAY,CACxB,UAAkB,EAClB,aAA4B,EAC5B,GAAqB;IAErB,MAAM,mBAAmB,GAAG;QACxB,GAAG,aAAa;KACnB,CAAC;IACF,6FAA6F;IAC7F,8EAA8E;IAC9E,OAAO,mBAAmB,CAAC,MAAM,CAAC;IAClC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IACjD,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAC/C,CAAC"}
@@ -1,14 +1,3 @@
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
1
  /**
13
2
  * destroy the session.
14
3
  * - will delete the session data from session store only.
@@ -17,28 +6,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
6
  * @param {express.Request} req
18
7
  * @return {*} {Promise<void>}
19
8
  */
20
- function destroySession(req) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- return new Promise((resolve, reject) => {
23
- var _a;
24
- if ((_a = req === null || req === void 0 ? void 0 : req.session) === null || _a === void 0 ? void 0 : _a.destroy) {
25
- req.session.destroy((err) => {
26
- if (err) {
27
- // Failed to access session storage to delete session data
28
- reject(err);
29
- }
30
- else {
31
- resolve();
32
- }
33
- });
34
- }
35
- else {
36
- // --- express-session 1.17 may not always initialise session
37
- // --- if req.session not exist, should just resolve promise
38
- resolve();
39
- }
40
- });
9
+ export default async function destroySession(req) {
10
+ return new Promise((resolve, reject) => {
11
+ if (req?.session?.destroy) {
12
+ req.session.destroy((err) => {
13
+ if (err) {
14
+ // Failed to access session storage to delete session data
15
+ reject(err);
16
+ }
17
+ else {
18
+ resolve();
19
+ }
20
+ });
21
+ }
22
+ else {
23
+ // --- express-session 1.17 may not always initialise session
24
+ // --- if req.session not exist, should just resolve promise
25
+ resolve();
26
+ }
41
27
  });
42
28
  }
43
- exports.default = destroySession;
44
29
  //# sourceMappingURL=destroySession.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"destroySession.js","sourceRoot":"","sources":["../../src/session/destroySession.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA;;;;;;;GAOG;AACH,SAA8B,cAAc,CACxC,GAAoB;;QAEpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;YACnC,IAAI,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,0CAAE,OAAO,EAAE;gBACvB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBACxB,IAAI,GAAG,EAAE;wBACL,0DAA0D;wBAC1D,MAAM,CAAC,GAAG,CAAC,CAAC;qBACf;yBAAM;wBACH,OAAO,EAAE,CAAC;qBACb;gBACL,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,6DAA6D;gBAC7D,4DAA4D;gBAC5D,OAAO,EAAE,CAAC;aACb;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CAAA;AAnBD,iCAmBC"}
1
+ {"version":3,"file":"destroySession.js","sourceRoot":"","sources":["../../src/session/destroySession.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,cAAc,CACxC,GAAoB;IAEpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE;YACvB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACxB,IAAI,GAAG,EAAE;oBACL,0DAA0D;oBAC1D,MAAM,CAAC,GAAG,CAAC,CAAC;iBACf;qBAAM;oBACH,OAAO,EAAE,CAAC;iBACb;YACL,CAAC,CAAC,CAAC;SACN;aAAM;YACH,6DAA6D;YAC7D,4DAA4D;YAC5D,OAAO,EAAE,CAAC;SACb;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,19 +1,14 @@
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 cookie_signature_1 = __importDefault(require("cookie-signature"));
7
- const cookieUtils_1 = require("./cookieUtils");
8
- function getSessionId(req, secret = "") {
9
- const sessionCookie = req.cookies[cookieUtils_1.DEFAULT_SESSION_COOKIE_NAME];
1
+ import signature from "cookie-signature";
2
+ import { DEFAULT_SESSION_COOKIE_NAME } from "./cookieUtils.js";
3
+ export default function getSessionId(req, secret = "") {
4
+ const sessionCookie = req.cookies[DEFAULT_SESSION_COOKIE_NAME];
10
5
  if (!sessionCookie) {
11
6
  return null;
12
7
  }
13
8
  else {
14
9
  if (sessionCookie.substr(0, 2) === "s:") {
15
10
  // --- process signed cookie
16
- const unsignResult = cookie_signature_1.default.unsign(sessionCookie.slice(2), secret);
11
+ const unsignResult = signature.unsign(sessionCookie.slice(2), secret);
17
12
  if (unsignResult === false) {
18
13
  return null;
19
14
  }
@@ -24,5 +19,4 @@ function getSessionId(req, secret = "") {
24
19
  }
25
20
  }
26
21
  }
27
- exports.default = getSessionId;
28
22
  //# sourceMappingURL=getSessionId.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSessionId.js","sourceRoot":"","sources":["../../src/session/getSessionId.ts"],"names":[],"mappings":";;;;;AACA,wEAAyC;AACzC,+CAA4D;AAE5D,SAAwB,YAAY,CAChC,GAAoB,EACpB,SAAiB,EAAE;IAEnB,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,yCAA2B,CAAW,CAAC;IACzE,IAAI,CAAC,aAAa,EAAE;QAChB,OAAO,IAAI,CAAC;KACf;SAAM;QACH,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;YACrC,4BAA4B;YAC5B,MAAM,YAAY,GAAG,0BAAS,CAAC,MAAM,CACjC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EACtB,MAAM,CACT,CAAC;YACF,IAAI,YAAY,KAAK,KAAK,EAAE;gBACxB,OAAO,IAAI,CAAC;aACf;YACD,OAAO,YAAY,CAAC;SACvB;aAAM;YACH,OAAO,aAAa,CAAC;SACxB;KACJ;AACL,CAAC;AAtBD,+BAsBC"}
1
+ {"version":3,"file":"getSessionId.js","sourceRoot":"","sources":["../../src/session/getSessionId.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,CAAC,OAAO,UAAU,YAAY,CAChC,GAAoB,EACpB,SAAiB,EAAE;IAEnB,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,2BAA2B,CAAW,CAAC;IACzE,IAAI,CAAC,aAAa,EAAE;QAChB,OAAO,IAAI,CAAC;KACf;SAAM;QACH,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;YACrC,4BAA4B;YAC5B,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CACjC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EACtB,MAAM,CACT,CAAC;YACF,IAAI,YAAY,KAAK,KAAK,EAAE;gBACxB,OAAO,IAAI,CAAC;aACf;YACD,OAAO,YAAY,CAAC;SACvB;aAAM;YACH,OAAO,aAAa,CAAC;SACxB;KACJ;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Tenant } from "../tenant-api/Tenant";
1
+ import { Tenant } from "../tenant-api/Tenant.js";
2
2
  export interface TenantOptions {
3
3
  urlStr: string;
4
4
  maxRetries?: number;
@@ -1,61 +1,47 @@
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
- require("isomorphic-fetch");
16
- const TenantConsts_1 = require("../registry/TenantConsts");
17
- const lodash_1 = __importDefault(require("lodash"));
18
- const retry_1 = __importDefault(require("../retry"));
19
- const formatServiceError_1 = __importDefault(require("../formatServiceError"));
20
- const createServiceError_1 = __importDefault(require("../createServiceError"));
21
- const buildJwt_1 = __importDefault(require("../session/buildJwt"));
22
- class AuthorizedTenantClient {
1
+ import fetch from "cross-fetch";
2
+ import { MAGDA_ADMIN_PORTAL_ID } from "../registry/TenantConsts.js";
3
+ import lodash from "lodash";
4
+ import retry from "../retry.js";
5
+ import formatServiceError from "../formatServiceError.js";
6
+ import createServiceError from "../createServiceError.js";
7
+ import buildJwt from "../session/buildJwt.js";
8
+ export default class AuthorizedTenantClient {
9
+ jwt = null;
10
+ requestInitOption = null;
11
+ url;
12
+ maxRetries;
13
+ secondsBetweenRetries;
14
+ defaultHeaders = {};
23
15
  constructor({ urlStr, maxRetries = 2, secondsBetweenRetries = 10, jwtSecret = null, userId = null }) {
24
- this.jwt = null;
25
- this.requestInitOption = null;
26
- this.defaultHeaders = {};
27
16
  this.url = urlStr;
28
17
  this.maxRetries = maxRetries;
29
18
  this.secondsBetweenRetries = secondsBetweenRetries;
30
19
  if (jwtSecret && userId) {
31
- this.jwt = buildJwt_1.default(jwtSecret, userId);
20
+ this.jwt = buildJwt(jwtSecret, userId);
32
21
  }
33
22
  this.requestInitOption = {
34
23
  headers: {
35
24
  "X-Magda-Session": this.jwt,
36
25
  "Content-Type": "application/json",
37
- "X-Magda-Tenant-Id": `${TenantConsts_1.MAGDA_ADMIN_PORTAL_ID}`
26
+ "X-Magda-Tenant-Id": `${MAGDA_ADMIN_PORTAL_ID}`
38
27
  }
39
28
  };
40
29
  }
41
30
  getMergeRequestInitOption(extraOptions = null) {
42
- return lodash_1.default.merge({}, this.requestInitOption, extraOptions);
31
+ return lodash.merge({}, this.requestInitOption, extraOptions);
43
32
  }
44
- get() {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const res = yield fetch(`${this.url}` + "/tenants", this.getMergeRequestInitOption({ method: "GET" }));
47
- return res.json();
48
- });
33
+ async get() {
34
+ const res = await fetch(`${this.url}` + "/tenants", this.getMergeRequestInitOption({ method: "GET" }));
35
+ return res.json();
49
36
  }
50
37
  getTenants() {
51
38
  const operation = () => () => this.get();
52
- return retry_1.default(operation(), this.secondsBetweenRetries, this.maxRetries, (e, retriesLeft) => console.log(formatServiceError_1.default("Failed to GET tenants.", e, retriesLeft)))
39
+ return retry(operation(), this.secondsBetweenRetries, this.maxRetries, (e, retriesLeft) => console.log(formatServiceError("Failed to GET tenants.", e, retriesLeft)))
53
40
  .then((result) => result)
54
41
  .catch((e) => {
55
42
  // --- we should re-throw the exception rather than return it as promise resolved value
56
- throw createServiceError_1.default(e);
43
+ throw createServiceError(e);
57
44
  });
58
45
  }
59
46
  }
60
- exports.default = AuthorizedTenantClient;
61
47
  //# sourceMappingURL=AuthorizedTenantClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthorizedTenantClient.js","sourceRoot":"","sources":["../../src/tenant-api/AuthorizedTenantClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC5B,2DAAiE;AAEjE,oDAA4B;AAC5B,qDAA6B;AAC7B,+EAAuD;AACvD,+EAAuD;AACvD,mEAA2C;AAgB3C,MAAqB,sBAAsB;IASvC,YAAY,EACR,MAAM,EACN,UAAU,GAAG,CAAC,EACd,qBAAqB,GAAG,EAAE,EAC1B,SAAS,GAAG,IAAI,EAChB,MAAM,GAAG,IAAI,EACD;QAdR,QAAG,GAAW,IAAI,CAAC;QACnB,sBAAiB,GAAgB,IAAI,CAAC;QAKpC,mBAAc,GAAQ,EAAE,CAAC;QAS/B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QAEnD,IAAI,SAAS,IAAI,MAAM,EAAE;YACrB,IAAI,CAAC,GAAG,GAAG,kBAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,iBAAiB,GAAG;YACrB,OAAO,EAAE;gBACL,iBAAiB,EAAE,IAAI,CAAC,GAAG;gBAC3B,cAAc,EAAE,kBAAkB;gBAClC,mBAAmB,EAAE,GAAG,oCAAqB,EAAE;aAClD;SACJ,CAAC;IACN,CAAC;IAEO,yBAAyB,CAC7B,eAA4B,IAAI;QAEhC,OAAO,gBAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAEa,GAAG;;YACb,MAAM,GAAG,GAAG,MAAM,KAAK,CACnB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,EAC1B,IAAI,CAAC,yBAAyB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CACpD,CAAC;YAEF,OAA0B,GAAG,CAAC,IAAI,EAAE,CAAC;QACzC,CAAC;KAAA;IAED,UAAU;QACN,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzC,OAAY,eAAK,CACb,SAAS,EAAE,EACX,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,UAAU,EACf,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CACf,OAAO,CAAC,GAAG,CACP,4BAAkB,CAAC,wBAAwB,EAAE,CAAC,EAAE,WAAW,CAAC,CAC/D,CACR;aACI,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;aACxB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,uFAAuF;YACvF,MAAM,4BAAkB,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACX,CAAC;CACJ;AAlED,yCAkEC"}
1
+ {"version":3,"file":"AuthorizedTenantClient.js","sourceRoot":"","sources":["../../src/tenant-api/AuthorizedTenantClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,kBAAkB,MAAM,0BAA0B,CAAC;AAC1D,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAgB9C,MAAM,CAAC,OAAO,OAAO,sBAAsB;IAC/B,GAAG,GAAW,IAAI,CAAC;IACnB,iBAAiB,GAAgB,IAAI,CAAC;IAEpC,GAAG,CAAS;IACZ,UAAU,CAAS;IACnB,qBAAqB,CAAS;IAC9B,cAAc,GAAQ,EAAE,CAAC;IAEnC,YAAY,EACR,MAAM,EACN,UAAU,GAAG,CAAC,EACd,qBAAqB,GAAG,EAAE,EAC1B,SAAS,GAAG,IAAI,EAChB,MAAM,GAAG,IAAI,EACD;QACZ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QAEnD,IAAI,SAAS,IAAI,MAAM,EAAE;YACrB,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,iBAAiB,GAAG;YACrB,OAAO,EAAE;gBACL,iBAAiB,EAAE,IAAI,CAAC,GAAG;gBAC3B,cAAc,EAAE,kBAAkB;gBAClC,mBAAmB,EAAE,GAAG,qBAAqB,EAAE;aAClD;SACJ,CAAC;IACN,CAAC;IAEO,yBAAyB,CAC7B,eAA4B,IAAI;QAEhC,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,GAAG;QACb,MAAM,GAAG,GAAG,MAAM,KAAK,CACnB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,EAC1B,IAAI,CAAC,yBAAyB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CACpD,CAAC;QAEF,OAA0B,GAAG,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,UAAU;QACN,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzC,OAAY,KAAK,CACb,SAAS,EAAE,EACX,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,UAAU,EACf,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CACf,OAAO,CAAC,GAAG,CACP,kBAAkB,CAAC,wBAAwB,EAAE,CAAC,EAAE,WAAW,CAAC,CAC/D,CACR;aACI,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;aACxB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,uFAAuF;YACvF,MAAM,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACX,CAAC;CACJ"}
@@ -1,10 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Tenant = void 0;
4
1
  /**
5
2
  * A tenant in the tenants table.
6
3
  */
7
- class Tenant {
4
+ export class Tenant {
5
+ /**
6
+ * The unique domain name of the tenant.
7
+ */
8
+ "domainname";
9
+ /**
10
+ * The unique ID of the tenant
11
+ */
12
+ "id";
13
+ /**
14
+ * The status of the tenant
15
+ */
16
+ "enabled";
8
17
  }
9
- exports.Tenant = Tenant;
10
18
  //# sourceMappingURL=Tenant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tenant.js","sourceRoot":"","sources":["../../src/tenant-api/Tenant.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,MAAM;CAalB;AAbD,wBAaC"}
1
+ {"version":3,"file":"Tenant.js","sourceRoot":"","sources":["../../src/tenant-api/Tenant.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,MAAM;IACf;;OAEG;IACH,YAAY,CAAS;IACrB;;OAEG;IACH,IAAI,CAAS;IACb;;OAEG;IACH,SAAS,CAAU;CACtB"}
@@ -1,53 +1,48 @@
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 chai_1 = require("chai");
7
- require("mocha");
8
- const nock_1 = __importDefault(require("nock"));
1
+ import { expect } from "chai";
2
+ import "mocha";
3
+ import nock from "nock";
9
4
  // import sinon from "sinon";
10
- const AsyncPage_1 = __importDefault(require("../AsyncPage"));
5
+ import AsyncPage from "../AsyncPage.js";
11
6
  // import { AspectDefinition } from "../generated/registry/api";
12
- const AuthorizedRegistryClient_1 = __importDefault(require("../registry/AuthorizedRegistryClient"));
13
- const JsonConnector_1 = __importDefault(require("../JsonConnector"));
14
- const JsonTransformer_1 = __importDefault(require("../JsonTransformer"));
15
- const ConnectorRecordId_1 = __importDefault(require("../ConnectorRecordId"));
7
+ import AuthRegistryClient from "../registry/AuthorizedRegistryClient.js";
8
+ import JsonConnector from "../JsonConnector.js";
9
+ import JsonTransformer from "../JsonTransformer.js";
10
+ import ConnectorRecordId from "../ConnectorRecordId.js";
16
11
  // ConnectorSource,
17
12
  describe("JsonConnector", () => {
18
13
  before(() => {
19
- nock_1.default.disableNetConnect();
14
+ nock.disableNetConnect();
20
15
  });
21
16
  after(() => {
22
- nock_1.default.enableNetConnect();
17
+ nock.enableNetConnect();
23
18
  });
24
19
  afterEach(() => {
25
- nock_1.default.cleanAll();
20
+ nock.cleanAll();
26
21
  });
27
22
  const tenant_id_1 = 1;
28
23
  describe("crawlTag", () => {
29
24
  it("auto-generates a tag that is distinct between instances by default", () => {
30
25
  for (let i = 0; i < 100; i++) {
31
- const connectorA = new JsonConnector_1.default({
26
+ const connectorA = new JsonConnector({
32
27
  source: {
33
28
  // --- id & name is compulsory
34
29
  id: "xxx",
35
30
  name: "xxx"
36
31
  }
37
32
  });
38
- const connectorB = new JsonConnector_1.default({
33
+ const connectorB = new JsonConnector({
39
34
  source: {
40
35
  // --- id & name is compulsory
41
36
  id: "xxx",
42
37
  name: "xxx"
43
38
  }
44
39
  });
45
- chai_1.expect(connectorA.sourceTag).not.to.equal(connectorB.sourceTag);
40
+ expect(connectorA.sourceTag).not.to.equal(connectorB.sourceTag);
46
41
  }
47
42
  });
48
43
  it("accepts an overridden tag", () => {
49
44
  const tag = "blah";
50
- const connector = new JsonConnector_1.default({
45
+ const connector = new JsonConnector({
51
46
  source: {
52
47
  // --- id & name is compulsory
53
48
  id: "xxx",
@@ -55,7 +50,7 @@ describe("JsonConnector", () => {
55
50
  },
56
51
  sourceTag: tag
57
52
  });
58
- chai_1.expect(connector.sourceTag).to.equal(tag);
53
+ expect(connector.sourceTag).to.equal(tag);
59
54
  });
60
55
  it("applies the tag to datasets", () => {
61
56
  const { scope, connector } = setupCrawlTest();
@@ -78,8 +73,8 @@ describe("JsonConnector", () => {
78
73
  .reply(201, { count: 1 });
79
74
  return connector.run().then((result) => {
80
75
  scope.done();
81
- chai_1.expect(result.recordsTrimmed).to.equal(1);
82
- chai_1.expect(result.trimStillProcessing).to.be.false;
76
+ expect(result.recordsTrimmed).to.equal(1);
77
+ expect(result.trimStillProcessing).to.be.false;
83
78
  });
84
79
  });
85
80
  it("accepts a 202 Accepted status from the registry when deleting", () => {
@@ -88,7 +83,7 @@ describe("JsonConnector", () => {
88
83
  scope.delete(/.*/).reply(202);
89
84
  return connector.run().then((result) => {
90
85
  scope.done();
91
- chai_1.expect(result.trimStillProcessing).to.be.true;
86
+ expect(result.trimStillProcessing).to.be.true;
92
87
  });
93
88
  });
94
89
  it("Will add aspect to all records according to `presetAspects` config", () => {
@@ -114,7 +109,7 @@ describe("JsonConnector", () => {
114
109
  return connector.run().then((result) => {
115
110
  scope.done();
116
111
  receivedRecords.forEach((record) => {
117
- chai_1.expect(record.aspects).to.have.deep.property("test-aspect-id", {
112
+ expect(record.aspects).to.have.deep.property("test-aspect-id", {
118
113
  "test-aspect-data1": randomValue
119
114
  });
120
115
  });
@@ -145,12 +140,12 @@ describe("JsonConnector", () => {
145
140
  scope.done();
146
141
  receivedRecords.forEach((record) => {
147
142
  if (record.id.indexOf("ds-") === 0) {
148
- chai_1.expect(record.aspects).to.have.deep.property("test-aspect-id", {
143
+ expect(record.aspects).to.have.deep.property("test-aspect-id", {
149
144
  "test-aspect-data1": randomValue
150
145
  });
151
146
  }
152
147
  else {
153
- chai_1.expect(record.aspects).to.not.have.property("test-aspect-id");
148
+ expect(record.aspects).to.not.have.property("test-aspect-id");
154
149
  }
155
150
  });
156
151
  });
@@ -213,14 +208,14 @@ describe("JsonConnector", () => {
213
208
  scope.done();
214
209
  receivedRecords.forEach((record) => {
215
210
  if (record.id.indexOf("ds-") === 0) {
216
- chai_1.expect(record.aspects).to.have.deep.property("test-aspect-id", {
211
+ expect(record.aspects).to.have.deep.property("test-aspect-id", {
217
212
  // --- Dataset record's value should be kept for the first property:
218
213
  "test-aspect-data1": datasetRandomValue1,
219
214
  "test-aspect-data2": randomValue2
220
215
  });
221
216
  }
222
217
  else {
223
- chai_1.expect(record.aspects).to.have.deep.property("test-aspect-id", {
218
+ expect(record.aspects).to.have.deep.property("test-aspect-id", {
224
219
  "test-aspect-data1": randomValue1,
225
220
  "test-aspect-data2": randomValue2
226
221
  });
@@ -246,7 +241,7 @@ describe("JsonConnector", () => {
246
241
  return connector.run().then((result) => {
247
242
  scope.done();
248
243
  receivedRecords.forEach((record) => {
249
- chai_1.expect(record.aspects["source"]).to.have.deep.property("extras", {
244
+ expect(record.aspects["source"]).to.have.deep.property("extras", {
250
245
  testData: randomValue
251
246
  });
252
247
  });
@@ -270,13 +265,13 @@ describe("JsonConnector", () => {
270
265
  scope.delete(/.*/).reply(202);
271
266
  return connector.run().then((result) => {
272
267
  scope.done();
273
- chai_1.expect(receivedRecords.length).to.equal(3);
268
+ expect(receivedRecords.length).to.equal(3);
274
269
  const datasets = receivedRecords.filter((record) => !!record.aspects["dataset-distributions"]);
275
- chai_1.expect(datasets.length).to.equal(1);
276
- chai_1.expect(datasets[0].name).to.equal("blah2-dataset-2");
270
+ expect(datasets.length).to.equal(1);
271
+ expect(datasets[0].name).to.equal("blah2-dataset-2");
277
272
  const dists = receivedRecords.filter((record) => !record.aspects["dataset-distributions"]);
278
- chai_1.expect(dists.length).to.equal(2);
279
- chai_1.expect(dists.map((dist) => dist.name)).to.include.members([
273
+ expect(dists.length).to.equal(2);
274
+ expect(dists.map((dist) => dist.name)).to.include.members([
280
275
  "blah-dist-1",
281
276
  "blah-dist-2"
282
277
  ]);
@@ -302,18 +297,18 @@ describe("JsonConnector", () => {
302
297
  scope.delete(/.*/).reply(202);
303
298
  return connector.run().then((result) => {
304
299
  scope.done();
305
- chai_1.expect(receivedRecords.length).to.equal(2);
300
+ expect(receivedRecords.length).to.equal(2);
306
301
  const datasets = receivedRecords.filter((record) => !!record.aspects["dataset-distributions"]);
307
- chai_1.expect(datasets.length).to.equal(1);
308
- chai_1.expect(datasets[0].name).to.equal("blah-dataset-1");
302
+ expect(datasets.length).to.equal(1);
303
+ expect(datasets[0].name).to.equal("blah-dataset-1");
309
304
  const dists = receivedRecords.filter((record) => !record.aspects["dataset-distributions"]);
310
- chai_1.expect(dists.length).to.equal(1);
311
- chai_1.expect(dists[0].name).to.equal("blah-dist-2");
305
+ expect(dists.length).to.equal(1);
306
+ expect(dists[0].name).to.equal("blah-dist-2");
312
307
  });
313
308
  });
314
309
  function setupCrawlTest(config = {}, transformerConfig = {}) {
315
- const scope = nock_1.default("http://example.com");
316
- const registry = new AuthorizedRegistryClient_1.default({
310
+ const scope = nock("http://example.com");
311
+ const registry = new AuthRegistryClient({
317
312
  baseUrl: "http://example.com",
318
313
  jwtSecret: "squirrel",
319
314
  userId: "b1fddd6f-e230-4068-bd2c-1a21844f1598",
@@ -322,7 +317,7 @@ describe("JsonConnector", () => {
322
317
  });
323
318
  const source = new FakeConnectorSource(config);
324
319
  const transformer = new FakeJsonTransformer(transformerConfig);
325
- const connector = new JsonConnector_1.default({
320
+ const connector = new JsonConnector({
326
321
  source,
327
322
  transformer,
328
323
  registry
@@ -331,34 +326,34 @@ describe("JsonConnector", () => {
331
326
  }
332
327
  });
333
328
  });
334
- class FakeJsonTransformer extends JsonTransformer_1.default {
329
+ class FakeJsonTransformer extends JsonTransformer {
335
330
  getIdFromJsonOrganization(jsonOrganization, sourceId) {
336
- return new ConnectorRecordId_1.default("id", "Organization", "source");
331
+ return new ConnectorRecordId("id", "Organization", "source");
337
332
  }
338
333
  getIdFromJsonDataset(jsonDataset, sourceId) {
339
- return new ConnectorRecordId_1.default("id", "Dataset", "source");
334
+ return new ConnectorRecordId("id", "Dataset", "source");
340
335
  }
341
336
  getIdFromJsonDistribution(jsonDistribution, jsonDataset, sourceId) {
342
- return new ConnectorRecordId_1.default("id", "Distribution", "source");
337
+ return new ConnectorRecordId("id", "Distribution", "source");
343
338
  }
344
339
  getNameFromJsonOrganization(jsonOrganization) {
345
- return (jsonOrganization === null || jsonOrganization === void 0 ? void 0 : jsonOrganization.name) ? jsonOrganization.name : "name";
340
+ return jsonOrganization?.name ? jsonOrganization.name : "name";
346
341
  }
347
342
  getNameFromJsonDataset(jsonDataset) {
348
- return (jsonDataset === null || jsonDataset === void 0 ? void 0 : jsonDataset.name) ? jsonDataset.name : "name";
343
+ return jsonDataset?.name ? jsonDataset.name : "name";
349
344
  }
350
345
  getNameFromJsonDistribution(jsonDistribution, jsonDataset) {
351
- return (jsonDistribution === null || jsonDistribution === void 0 ? void 0 : jsonDistribution.name) ? jsonDistribution.name : "name";
346
+ return jsonDistribution?.name ? jsonDistribution.name : "name";
352
347
  }
353
348
  }
354
349
  class FakeConnectorSource {
350
+ id = "id";
351
+ name = "name";
352
+ hasFirstClassOrganizations = false;
353
+ presetRecordAspects = null;
354
+ extras = null;
355
+ customJsFilterCode = "";
355
356
  constructor(config = {}) {
356
- this.id = "id";
357
- this.name = "name";
358
- this.hasFirstClassOrganizations = false;
359
- this.presetRecordAspects = null;
360
- this.extras = null;
361
- this.customJsFilterCode = "";
362
357
  if (config.extras) {
363
358
  this.extras = config.extras;
364
359
  }
@@ -373,19 +368,19 @@ class FakeConnectorSource {
373
368
  return Promise.resolve();
374
369
  }
375
370
  searchDatasetsByTitle(title, maxResults) {
376
- return AsyncPage_1.default.single([]);
371
+ return AsyncPage.single([]);
377
372
  }
378
373
  getJsonFirstClassOrganization(id) {
379
374
  return Promise.resolve();
380
375
  }
381
376
  searchFirstClassOrganizationsByTitle(title, maxResults) {
382
- return AsyncPage_1.default.single([]);
377
+ return AsyncPage.single([]);
383
378
  }
384
379
  getJsonDatasetPublisherId(dataset) {
385
380
  return "id";
386
381
  }
387
382
  getJsonDatasets() {
388
- return AsyncPage_1.default.single([
383
+ return AsyncPage.single([
389
384
  {
390
385
  blah: "blah-dataset-1",
391
386
  name: "blah-dataset-1"
@@ -397,7 +392,7 @@ class FakeConnectorSource {
397
392
  ]);
398
393
  }
399
394
  getJsonFirstClassOrganizations() {
400
- return AsyncPage_1.default.single([
395
+ return AsyncPage.single([
401
396
  {
402
397
  blah: "blah-org-1",
403
398
  name: "blah-org-1"
@@ -405,7 +400,7 @@ class FakeConnectorSource {
405
400
  ]);
406
401
  }
407
402
  getJsonDistributions() {
408
- return AsyncPage_1.default.single([
403
+ return AsyncPage.single([
409
404
  {
410
405
  blah: "blah-dist-1",
411
406
  name: "blah-dist-1"