@magda/typescript-common 2.3.3 → 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.
- package/dist/AspectBuilder.d.ts +1 -1
- package/dist/AspectBuilder.js +1 -2
- package/dist/AspectCreationFailure.js +3 -4
- package/dist/AspectCreationFailure.js.map +1 -1
- package/dist/AsyncPage.js +59 -79
- package/dist/AsyncPage.js.map +1 -1
- package/dist/BaseApiClient.d.ts +3 -3
- package/dist/BaseApiClient.js +20 -13
- package/dist/BaseApiClient.js.map +1 -1
- package/dist/ConnectionResult.d.ts +2 -2
- package/dist/ConnectionResult.js +17 -22
- package/dist/ConnectionResult.js.map +1 -1
- package/dist/ConnectorRecordId.d.ts +1 -1
- package/dist/ConnectorRecordId.js +9 -13
- package/dist/ConnectorRecordId.js.map +1 -1
- package/dist/IndexerApiClient.d.ts +1 -1
- package/dist/IndexerApiClient.js +13 -32
- package/dist/IndexerApiClient.js.map +1 -1
- package/dist/JsonConnector.d.ts +9 -9
- package/dist/JsonConnector.js +163 -206
- package/dist/JsonConnector.js.map +1 -1
- package/dist/JsonTransformer.d.ts +3 -3
- package/dist/JsonTransformer.js +71 -75
- package/dist/JsonTransformer.js.map +1 -1
- package/dist/OpaCompileResponseParser.d.ts +4 -4
- package/dist/OpaCompileResponseParser.js +278 -211
- package/dist/OpaCompileResponseParser.js.map +1 -1
- package/dist/RecordCreationFailure.d.ts +1 -1
- package/dist/RecordCreationFailure.js +4 -4
- package/dist/RecordCreationFailure.js.map +1 -1
- package/dist/SQLUtils.d.ts +3 -3
- package/dist/SQLUtils.js +139 -195
- package/dist/SQLUtils.js.map +1 -1
- package/dist/ServerError.js +2 -4
- package/dist/ServerError.js.map +1 -1
- package/dist/Try.js +20 -35
- package/dist/Try.js.map +1 -1
- package/dist/addTrailingSlash.js +1 -4
- package/dist/addTrailingSlash.js.map +1 -1
- package/dist/appendUrlSegments.js +3 -8
- package/dist/appendUrlSegments.js.map +1 -1
- package/dist/authorization-api/AccessControlError.d.ts +1 -1
- package/dist/authorization-api/AccessControlError.js +2 -8
- package/dist/authorization-api/AccessControlError.js.map +1 -1
- package/dist/authorization-api/ApiClient.d.ts +3 -3
- package/dist/authorization-api/ApiClient.js +211 -272
- package/dist/authorization-api/ApiClient.js.map +1 -1
- package/dist/authorization-api/AuthError.d.ts +1 -1
- package/dist/authorization-api/AuthError.js +2 -8
- package/dist/authorization-api/AuthError.js.map +1 -1
- package/dist/authorization-api/GenericError.js +2 -4
- package/dist/authorization-api/GenericError.js.map +1 -1
- package/dist/authorization-api/authMiddleware.d.ts +3 -3
- package/dist/authorization-api/authMiddleware.js +19 -40
- package/dist/authorization-api/authMiddleware.js.map +1 -1
- package/dist/authorization-api/constants.js +9 -12
- package/dist/authorization-api/constants.js.map +1 -1
- package/dist/authorization-api/model.d.ts +8 -8
- package/dist/authorization-api/model.js +1 -2
- package/dist/coerceJson.js +1 -3
- package/dist/coerceJson.js.map +1 -1
- package/dist/createNoCacheFetchOptions.d.ts +1 -1
- package/dist/createNoCacheFetchOptions.js +4 -7
- package/dist/createNoCacheFetchOptions.js.map +1 -1
- package/dist/createServiceError.d.ts +1 -1
- package/dist/createServiceError.js +4 -9
- package/dist/createServiceError.js.map +1 -1
- package/dist/delay.js +1 -3
- package/dist/delay.js.map +1 -1
- package/dist/express/getNoCacheHeaders.js +1 -3
- package/dist/express/getNoCacheHeaders.js.map +1 -1
- package/dist/express/setResponseNoCache.d.ts +1 -1
- package/dist/express/setResponseNoCache.js +3 -8
- package/dist/express/setResponseNoCache.js.map +1 -1
- package/dist/express/status.d.ts +14 -15
- package/dist/express/status.js +135 -126
- package/dist/express/status.js.map +1 -1
- package/dist/fetchRequest.d.ts +6 -6
- package/dist/fetchRequest.js +36 -51
- package/dist/fetchRequest.js.map +1 -1
- package/dist/formatServiceError.js +1 -4
- package/dist/formatServiceError.js.map +1 -1
- package/dist/generated/registry/api.d.ts +4 -4
- package/dist/generated/registry/api.js +197 -102
- package/dist/generated/registry/api.js.map +1 -1
- package/dist/getAbsoluteUrl.js +8 -11
- package/dist/getAbsoluteUrl.js.map +1 -1
- package/dist/getBasePathFromUrl.js +3 -9
- package/dist/getBasePathFromUrl.js.map +1 -1
- package/dist/getBoolValWithDefault.js +1 -3
- package/dist/getBoolValWithDefault.js.map +1 -1
- package/dist/getRequest.js +9 -26
- package/dist/getRequest.js.map +1 -1
- package/dist/getRequestNoCache.js +4 -21
- package/dist/getRequestNoCache.js.map +1 -1
- package/dist/getStorageUrl.js +13 -23
- package/dist/getStorageUrl.js.map +1 -1
- package/dist/handleServerError.js +3 -9
- package/dist/handleServerError.js.map +1 -1
- package/dist/markdownToHtml.js +5 -11
- package/dist/markdownToHtml.js.map +1 -1
- package/dist/opa/AspectQuery.js +55 -79
- package/dist/opa/AspectQuery.js.map +1 -1
- package/dist/opa/AuthDecision.d.ts +2 -2
- package/dist/opa/AuthDecision.js +52 -69
- package/dist/opa/AuthDecision.js.map +1 -1
- package/dist/opa/AuthDecisionQueryClient.d.ts +2 -2
- package/dist/opa/AuthDecisionQueryClient.js +72 -102
- package/dist/opa/AuthDecisionQueryClient.js.map +1 -1
- package/dist/pgTypes.js +4 -9
- package/dist/pgTypes.js.map +1 -1
- package/dist/registry/AuthorizedRegistryClient.d.ts +4 -4
- package/dist/registry/AuthorizedRegistryClient.js +52 -92
- package/dist/registry/AuthorizedRegistryClient.js.map +1 -1
- package/dist/registry/RegistryClient.d.ts +2 -2
- package/dist/registry/RegistryClient.js +60 -76
- package/dist/registry/RegistryClient.js.map +1 -1
- package/dist/registry/TenantConsts.js +3 -6
- package/dist/registry/TenantConsts.js.map +1 -1
- package/dist/registry/model.js +1 -2
- package/dist/registry-manual/api.d.ts +1 -1
- package/dist/registry-manual/api.js +18 -7
- package/dist/registry-manual/api.js.map +1 -1
- package/dist/request.d.ts +2 -2
- package/dist/request.js +4 -9
- package/dist/request.js.map +1 -1
- package/dist/retry.d.ts +1 -1
- package/dist/retry.js +3 -9
- package/dist/retry.js.map +1 -1
- package/dist/retryBackoff.js +3 -9
- package/dist/retryBackoff.js.map +1 -1
- package/dist/runLater.js +1 -4
- package/dist/runLater.js.map +1 -1
- package/dist/session/GetUserId.d.ts +2 -2
- package/dist/session/GetUserId.js +10 -16
- package/dist/session/GetUserId.js.map +1 -1
- package/dist/session/GetUserSession.d.ts +1 -1
- package/dist/session/GetUserSession.js +6 -10
- package/dist/session/GetUserSession.js.map +1 -1
- package/dist/session/addJwtSecretFromEnvVar.js +1 -4
- package/dist/session/addJwtSecretFromEnvVar.js.map +1 -1
- package/dist/session/buildJwt.d.ts +1 -1
- package/dist/session/buildJwt.js +2 -5
- package/dist/session/buildJwt.js.map +1 -1
- package/dist/session/buildJwtFromReq.d.ts +1 -1
- package/dist/session/buildJwtFromReq.js +3 -8
- package/dist/session/buildJwtFromReq.js.map +1 -1
- package/dist/session/cookieUtils.d.ts +2 -13
- package/dist/session/cookieUtils.js +8 -9
- package/dist/session/cookieUtils.js.map +1 -1
- package/dist/session/destroySession.js +18 -33
- package/dist/session/destroySession.js.map +1 -1
- package/dist/session/getSessionId.js +5 -11
- package/dist/session/getSessionId.js.map +1 -1
- package/dist/tenant-api/AuthorizedTenantClient.d.ts +1 -1
- package/dist/tenant-api/AuthorizedTenantClient.js +22 -36
- package/dist/tenant-api/AuthorizedTenantClient.js.map +1 -1
- package/dist/tenant-api/Tenant.js +13 -5
- package/dist/tenant-api/Tenant.js.map +1 -1
- package/dist/test/JsonConnector.spec.js +56 -61
- package/dist/test/JsonConnector.spec.js.map +1 -1
- package/dist/test/JsonTransformer.spec.js +15 -19
- package/dist/test/JsonTransformer.spec.js.map +1 -1
- package/dist/test/arbitraries.d.ts +21 -21
- package/dist/test/arbitraries.js +85 -99
- package/dist/test/arbitraries.js.map +1 -1
- package/dist/test/aspect-templates/organization-details.d.ts +1 -4
- package/dist/test/aspect-templates/organization-details.js +1 -1
- package/dist/test/aspect-templates/organization-details.js.map +1 -1
- package/dist/test/buildApiClient.spec.js +81 -107
- package/dist/test/buildApiClient.spec.js.map +1 -1
- package/dist/test/buildAuthorizedTenantClient.spec.js +25 -40
- package/dist/test/buildAuthorizedTenantClient.spec.js.map +1 -1
- package/dist/test/connectors/MockExpressServer.js +9 -23
- package/dist/test/connectors/MockExpressServer.js.map +1 -1
- package/dist/test/connectors/MockRegistry.d.ts +1 -1
- package/dist/test/connectors/MockRegistry.js +11 -18
- package/dist/test/connectors/MockRegistry.js.map +1 -1
- package/dist/test/connectors/runConnectorTest.js +33 -55
- package/dist/test/connectors/runConnectorTest.js.map +1 -1
- package/dist/test/createMockAuthDecisionQueryClient.d.ts +4 -4
- package/dist/test/createMockAuthDecisionQueryClient.js +4 -9
- package/dist/test/createMockAuthDecisionQueryClient.js.map +1 -1
- package/dist/test/db/getTestDBConfig.js +1 -3
- package/dist/test/db/getTestDBConfig.js.map +1 -1
- package/dist/test/db/runMigrationSql.js +37 -58
- package/dist/test/db/runMigrationSql.js.map +1 -1
- package/dist/test/express/status.spec.js +81 -72
- package/dist/test/express/status.spec.js.map +1 -1
- package/dist/test/fakeArgv.js +6 -5
- package/dist/test/fakeArgv.js.map +1 -1
- package/dist/test/getBasePathFromUrl.spec.js +5 -10
- package/dist/test/getBasePathFromUrl.spec.js.map +1 -1
- package/dist/test/getStorageUrl.spec.js +22 -46
- package/dist/test/getStorageUrl.spec.js.map +1 -1
- package/dist/test/mockAuthApiHost.js +26 -28
- package/dist/test/mockAuthApiHost.js.map +1 -1
- package/dist/test/mockAuthorization.js +4 -10
- package/dist/test/mockAuthorization.js.map +1 -1
- package/dist/test/mockTenantDataStore.d.ts +1 -1
- package/dist/test/mockTenantDataStore.js +3 -5
- package/dist/test/mockTenantDataStore.js.map +1 -1
- package/dist/test/mockUserDataStore.d.ts +1 -1
- package/dist/test/mockUserDataStore.js +4 -6
- package/dist/test/mockUserDataStore.js.map +1 -1
- package/dist/test/registry/buildAuthorizedClient.spec.js +65 -87
- package/dist/test/registry/buildAuthorizedClient.spec.js.map +1 -1
- package/dist/test/session/buildJwt.spec.js +15 -19
- package/dist/test/session/buildJwt.spec.js.map +1 -1
- package/dist/test/session/buildJwtForRegistryEsriOpaGroupsAndOwnerTest.spec.js +6 -11
- package/dist/test/session/buildJwtForRegistryEsriOpaGroupsAndOwnerTest.spec.js.map +1 -1
- package/dist/test/session/buildJwtForRegistryEsriOpaGroupsTest.spec.js +6 -11
- package/dist/test/session/buildJwtForRegistryEsriOpaGroupsTest.spec.js.map +1 -1
- package/dist/test/session/buildJwtForRegistryEsriOpaOwnerTest.spec.js +6 -11
- package/dist/test/session/buildJwtForRegistryEsriOpaOwnerTest.spec.js.map +1 -1
- package/dist/test/testAsyncPage.spec.js +84 -105
- package/dist/test/testAsyncPage.spec.js.map +1 -1
- package/dist/test/testOpaCompileResponseParser.spec.js +192 -196
- package/dist/test/testOpaCompileResponseParser.spec.js.map +1 -1
- package/dist/test/util.js +1 -5
- package/dist/test/util.js.map +1 -1
- package/dist/unknown2Error.d.ts +2 -0
- package/dist/unknown2Error.js +3 -0
- package/dist/unknown2Error.js.map +1 -0
- package/dist/util/arrayToMaybe.d.ts +1 -1
- package/dist/util/arrayToMaybe.js +3 -6
- package/dist/util/arrayToMaybe.js.map +1 -1
- package/dist/util/cleanOrgTitle.js +1 -4
- package/dist/util/cleanOrgTitle.js.map +1 -1
- package/dist/util/escapeRegExp.js +1 -3
- package/dist/util/escapeRegExp.js.map +1 -1
- package/dist/util/getMinikubeIP.js +3 -9
- package/dist/util/getMinikubeIP.js.map +1 -1
- package/dist/util/isArray.js +1 -3
- package/dist/util/isArray.js.map +1 -1
- package/dist/util/isUuid.js +1 -3
- package/dist/util/isUuid.js.map +1 -1
- package/dist/util/unionToThrowable.d.ts +1 -1
- package/dist/util/unionToThrowable.js +3 -9
- package/dist/util/unionToThrowable.js.map +1 -1
- package/dist/utilityTypes.d.ts +1 -1
- package/dist/utilityTypes.js +1 -2
- package/package.json +44 -26
- package/dist/test/jsverify.d.ts +0 -2
- package/dist/test/jsverify.js +0 -8
- package/dist/test/jsverify.js.map +0 -1
|
@@ -1,124 +1,108 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
exports.toServerError = void 0;
|
|
16
|
-
const api_1 = require("../generated/registry/api");
|
|
17
|
-
const urijs_1 = __importDefault(require("urijs"));
|
|
18
|
-
const retry_1 = __importDefault(require("../retry"));
|
|
19
|
-
const formatServiceError_1 = __importDefault(require("../formatServiceError"));
|
|
20
|
-
const ServerError_1 = __importDefault(require("../ServerError"));
|
|
21
|
-
const toServerError = (apiName) => (error) => {
|
|
22
|
-
var _a, _b;
|
|
23
|
-
if ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.statusCode) {
|
|
24
|
-
const detailedErrorMsg = (error === null || error === void 0 ? void 0 : error.body)
|
|
1
|
+
import { AspectDefinitionsApi, RecordsApi, RecordAspectsApi, WebHooksApi, RecordHistoryApi } from "../generated/registry/api.js";
|
|
2
|
+
import URI from "urijs";
|
|
3
|
+
import retry from "../retry.js";
|
|
4
|
+
import formatServiceError from "../formatServiceError.js";
|
|
5
|
+
import ServerError from "../ServerError.js";
|
|
6
|
+
export const toServerError = (apiName) => (error) => {
|
|
7
|
+
if (error?.response?.statusCode) {
|
|
8
|
+
const detailedErrorMsg = error?.body
|
|
25
9
|
? JSON.stringify(error.body)
|
|
26
|
-
:
|
|
10
|
+
: error?.response?.responseText
|
|
27
11
|
? error.response.responseText
|
|
28
12
|
: "";
|
|
29
|
-
return new
|
|
13
|
+
return new ServerError(`Failed to ${apiName}${detailedErrorMsg ? `: ${detailedErrorMsg}` : ""}`, error.response.statusCode);
|
|
30
14
|
}
|
|
31
15
|
else {
|
|
32
|
-
return new
|
|
16
|
+
return new ServerError(`Failed to ${apiName}: ${error}`, 500);
|
|
33
17
|
}
|
|
34
18
|
};
|
|
35
|
-
|
|
36
|
-
|
|
19
|
+
export default class RegistryClient {
|
|
20
|
+
baseUri;
|
|
21
|
+
aspectDefinitionsApi;
|
|
22
|
+
recordsApi;
|
|
23
|
+
webHooksApi;
|
|
24
|
+
recordAspectsApi;
|
|
25
|
+
recordHistoryApi;
|
|
26
|
+
maxRetries;
|
|
27
|
+
secondsBetweenRetries;
|
|
28
|
+
tenantId;
|
|
29
|
+
jwt;
|
|
37
30
|
constructor({ baseUrl, maxRetries = 10, secondsBetweenRetries = 10, tenantId }) {
|
|
38
31
|
if (tenantId === undefined) {
|
|
39
32
|
throw Error("A tenant id must be defined.");
|
|
40
33
|
}
|
|
41
34
|
this.tenantId = tenantId;
|
|
42
35
|
const registryApiUrl = baseUrl;
|
|
43
|
-
this.baseUri = new
|
|
36
|
+
this.baseUri = new URI(baseUrl);
|
|
44
37
|
this.maxRetries = maxRetries;
|
|
45
38
|
this.secondsBetweenRetries = secondsBetweenRetries;
|
|
46
|
-
this.aspectDefinitionsApi = new
|
|
47
|
-
this.recordsApi = new
|
|
39
|
+
this.aspectDefinitionsApi = new AspectDefinitionsApi(registryApiUrl);
|
|
40
|
+
this.recordsApi = new RecordsApi(registryApiUrl);
|
|
48
41
|
this.recordsApi.useQuerystring = true; // Use querystring instead of qs to construct URL
|
|
49
|
-
this.recordAspectsApi = new
|
|
50
|
-
this.webHooksApi = new
|
|
51
|
-
this.recordHistoryApi = new
|
|
42
|
+
this.recordAspectsApi = new RecordAspectsApi(registryApiUrl);
|
|
43
|
+
this.webHooksApi = new WebHooksApi(registryApiUrl);
|
|
44
|
+
this.recordHistoryApi = new RecordHistoryApi(registryApiUrl);
|
|
52
45
|
}
|
|
53
46
|
getRecordUrl(id) {
|
|
54
47
|
return this.baseUri.clone().segment("records").segment(id).toString();
|
|
55
48
|
}
|
|
56
49
|
getAspectDefinitions() {
|
|
57
50
|
const operation = () => () => this.aspectDefinitionsApi.getAll(this.tenantId);
|
|
58
|
-
return
|
|
51
|
+
return retry(operation(), this.secondsBetweenRetries, this.maxRetries, (e, retriesLeft) => console.log(formatServiceError("Failed to GET aspect definitions.", e, retriesLeft)))
|
|
59
52
|
.then((result) => result.body)
|
|
60
|
-
.catch(
|
|
53
|
+
.catch(toServerError("getAspectDefinitions"));
|
|
61
54
|
}
|
|
62
|
-
getAspectDefinition(aspectId, jwtToken) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if (typeof res.body === "string") {
|
|
68
|
-
throw new ServerError_1.default("Invalid non-json response: ", (_a = res === null || res === void 0 ? void 0 : res.response) === null || _a === void 0 ? void 0 : _a.statusCode);
|
|
69
|
-
}
|
|
70
|
-
return res.body;
|
|
55
|
+
async getAspectDefinition(aspectId, jwtToken) {
|
|
56
|
+
try {
|
|
57
|
+
const res = await this.aspectDefinitionsApi.getById(this.tenantId, aspectId, jwtToken);
|
|
58
|
+
if (typeof res.body === "string") {
|
|
59
|
+
throw new ServerError("Invalid non-json response: ", res?.response?.statusCode);
|
|
71
60
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
61
|
+
return res.body;
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
throw toServerError("getAspectDefinition")(e);
|
|
65
|
+
}
|
|
76
66
|
}
|
|
77
67
|
getRecord(id, aspect, optionalAspect, dereference) {
|
|
78
68
|
const operation = (id) => () => this.recordsApi.getById(encodeURIComponent(id), this.tenantId, aspect, optionalAspect, dereference, this.jwt);
|
|
79
|
-
return
|
|
80
|
-
|
|
81
|
-
return ((_a = e === null || e === void 0 ? void 0 : e.response) === null || _a === void 0 ? void 0 : _a.statusCode) !== 404;
|
|
69
|
+
return retry(operation(id), this.secondsBetweenRetries, this.maxRetries, (e, retriesLeft) => console.log(formatServiceError("Failed to GET records.", e, retriesLeft)), (e) => {
|
|
70
|
+
return e?.response?.statusCode !== 404;
|
|
82
71
|
})
|
|
83
72
|
.then((result) => result.body)
|
|
84
|
-
.catch(
|
|
73
|
+
.catch(toServerError("getRecord"));
|
|
85
74
|
}
|
|
86
75
|
getRecordAspect(id, aspectId) {
|
|
87
76
|
const operation = (id) => () => this.recordAspectsApi.getById(this.tenantId, encodeURIComponent(id), encodeURIComponent(aspectId), this.jwt);
|
|
88
|
-
return
|
|
89
|
-
|
|
90
|
-
return ((_a = e === null || e === void 0 ? void 0 : e.response) === null || _a === void 0 ? void 0 : _a.statusCode) !== 404;
|
|
77
|
+
return retry(operation(id), this.secondsBetweenRetries, this.maxRetries, (e, retriesLeft) => console.log(formatServiceError("Failed to GET record Aspect.", e, retriesLeft)), (e) => {
|
|
78
|
+
return e?.response?.statusCode !== 404;
|
|
91
79
|
})
|
|
92
80
|
.then((result) => result.body)
|
|
93
|
-
.catch(
|
|
81
|
+
.catch(toServerError("getRecordAspect"));
|
|
94
82
|
}
|
|
95
|
-
getRecordInFull(id) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
if (typeof res.body === "string") {
|
|
101
|
-
throw new ServerError_1.default("Invalid non-json response: " + res.body, (_a = res === null || res === void 0 ? void 0 : res.response) === null || _a === void 0 ? void 0 : _a.statusCode);
|
|
102
|
-
}
|
|
103
|
-
return res.body;
|
|
104
|
-
}
|
|
105
|
-
catch (e) {
|
|
106
|
-
throw exports.toServerError("getRecordInFull")(e);
|
|
83
|
+
async getRecordInFull(id) {
|
|
84
|
+
try {
|
|
85
|
+
const res = await this.recordsApi.getByIdInFull(encodeURIComponent(id), this.tenantId, this.jwt);
|
|
86
|
+
if (typeof res.body === "string") {
|
|
87
|
+
throw new ServerError("Invalid non-json response: " + res.body, res?.response?.statusCode);
|
|
107
88
|
}
|
|
108
|
-
|
|
89
|
+
return res.body;
|
|
90
|
+
}
|
|
91
|
+
catch (e) {
|
|
92
|
+
throw toServerError("getRecordInFull")(e);
|
|
93
|
+
}
|
|
109
94
|
}
|
|
110
95
|
getRecords(aspect, optionalAspect, pageToken, dereference, limit, aspectQueries, aspectOrQuery, orderBy, orderByDir, orderNullFirst, reversePageTokenOrder, q) {
|
|
111
96
|
const operation = (pageToken) => () => this.recordsApi.getAll(this.tenantId, aspect, optionalAspect, pageToken, undefined, limit, dereference, aspectQueries, aspectOrQuery, orderBy, orderByDir, orderNullFirst, reversePageTokenOrder, q, this.jwt);
|
|
112
|
-
return
|
|
97
|
+
return retry(operation(pageToken), this.secondsBetweenRetries, this.maxRetries, (e, retriesLeft) => console.log(formatServiceError("Failed to GET records.", e, retriesLeft)))
|
|
113
98
|
.then((result) => result.body)
|
|
114
|
-
.catch(
|
|
99
|
+
.catch(toServerError("getRecords"));
|
|
115
100
|
}
|
|
116
101
|
getRecordsPageTokens(aspect, limit) {
|
|
117
102
|
const operation = () => this.recordsApi.getPageTokens(this.tenantId, aspect, limit, this.jwt);
|
|
118
|
-
return
|
|
103
|
+
return retry(operation, this.secondsBetweenRetries, this.maxRetries, (e, retriesLeft) => console.log(formatServiceError("Failed to GET records page tokens.", e, retriesLeft)))
|
|
119
104
|
.then((result) => result.body)
|
|
120
|
-
.catch(
|
|
105
|
+
.catch(toServerError("getRecordsPageTokens"));
|
|
121
106
|
}
|
|
122
107
|
}
|
|
123
|
-
exports.default = RegistryClient;
|
|
124
108
|
//# sourceMappingURL=RegistryClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegistryClient.js","sourceRoot":"","sources":["../../src/registry/RegistryClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RegistryClient.js","sourceRoot":"","sources":["../../src/registry/RegistryClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MAGDA_TENANT_ID_HEADER = exports.MAGDA_SYSTEM_ID = exports.MAGDA_ADMIN_PORTAL_ID = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* These constants are the same as defined in the scala model Registry.
|
|
6
3
|
*
|
|
@@ -21,15 +18,15 @@ exports.MAGDA_TENANT_ID_HEADER = exports.MAGDA_SYSTEM_ID = exports.MAGDA_ADMIN_P
|
|
|
21
18
|
*
|
|
22
19
|
* TODO: Investigate how to use swagger codegen to automatically generate these constants.
|
|
23
20
|
*/
|
|
24
|
-
|
|
21
|
+
export const MAGDA_ADMIN_PORTAL_ID = 0;
|
|
25
22
|
/**
|
|
26
23
|
* Request with this tenant ID can perform global operations on registry.
|
|
27
24
|
*
|
|
28
25
|
* @see {module:magda-typescript-commone.registry.TenantConsts.MAGDA_ADMIN_PORTAL_ID}
|
|
29
26
|
*/
|
|
30
|
-
|
|
27
|
+
export const MAGDA_SYSTEM_ID = -1;
|
|
31
28
|
/**
|
|
32
29
|
* The header name of tenant ID.
|
|
33
30
|
*/
|
|
34
|
-
|
|
31
|
+
export const MAGDA_TENANT_ID_HEADER = "X-Magda-Tenant-Id";
|
|
35
32
|
//# sourceMappingURL=TenantConsts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TenantConsts.js","sourceRoot":"","sources":["../../src/registry/TenantConsts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TenantConsts.js","sourceRoot":"","sources":["../../src/registry/TenantConsts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC"}
|
package/dist/registry/model.js
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export class RecordLayer {
|
|
2
|
+
/*
|
|
3
|
+
* The record data for this record layer
|
|
4
|
+
*/
|
|
5
|
+
record;
|
|
6
|
+
/*
|
|
7
|
+
* The layer corresponding to this Object
|
|
8
|
+
*/
|
|
9
|
+
layer;
|
|
5
10
|
}
|
|
6
|
-
|
|
7
|
-
|
|
11
|
+
export class RecordLayerSummary {
|
|
12
|
+
/*
|
|
13
|
+
* The record summary data for this record layer
|
|
14
|
+
*/
|
|
15
|
+
recordSummary;
|
|
16
|
+
/*
|
|
17
|
+
* The layer corresponding to this summary
|
|
18
|
+
*/
|
|
19
|
+
layer;
|
|
8
20
|
}
|
|
9
|
-
exports.RecordLayerSummary = RecordLayerSummary;
|
|
10
21
|
//# sourceMappingURL=api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/registry-manual/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/registry-manual/api.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,WAAW;IACpB;;OAEG;IACH,MAAM,CAAS;IACf;;OAEG;IACH,KAAK,CAAS;CACjB;AAED,MAAM,OAAO,kBAAkB;IAC3B;;OAEG;IACH,aAAa,CAAgB;IAC7B;;OAEG;IACH,KAAK,CAAS;CACjB"}
|
package/dist/request.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
declare const request: RequestAPI<Request, CoreOptions, RequiredUriUrl>;
|
|
1
|
+
import requestOriginal from "request";
|
|
2
|
+
declare const request: requestOriginal.RequestAPI<requestOriginal.Request, requestOriginal.CoreOptions, requestOriginal.RequiredUriUrl>;
|
|
3
3
|
export default request;
|
package/dist/request.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const requestOriginal = require("request");
|
|
7
|
-
const read_pkg_up_1 = __importDefault(require("read-pkg-up"));
|
|
8
|
-
const pkg = read_pkg_up_1.default.sync().pkg;
|
|
1
|
+
import requestOriginal from "request";
|
|
2
|
+
import readPkgUp from "read-pkg-up";
|
|
3
|
+
const pkg = readPkgUp.sync().pkg;
|
|
9
4
|
if (!pkg || !pkg.name) {
|
|
10
5
|
throw new Error("magda-typescript-common/request: Can't locate package.json in current working directory or `name` field is empty.");
|
|
11
6
|
}
|
|
@@ -15,5 +10,5 @@ const request = requestOriginal.defaults({
|
|
|
15
10
|
"User-Agent": "".concat(pkg.name.replace("/", "-").replace("@", ""), "/", pkg.version)
|
|
16
11
|
}
|
|
17
12
|
});
|
|
18
|
-
|
|
13
|
+
export default request;
|
|
19
14
|
//# sourceMappingURL=request.js.map
|
package/dist/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,SAAS,CAAC;AAEtC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC;AAEjC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;IACnB,MAAM,IAAI,KAAK,CACX,mHAAmH,CACtH,CAAC;CACL;AAED,oEAAoE;AACpE,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC;IACrC,OAAO,EAAE;QACL,YAAY,EAAE,EAAE,CAAC,MAAM,CACnB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAC3C,GAAG,EACH,GAAG,CAAC,OAAO,CACd;KACJ;CACJ,CAAqD,CAAC;AAEvD,eAAe,OAAO,CAAC"}
|
package/dist/retry.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function retry<T>(op: () => Promise<T>, delaySeconds: number, retries: number, onRetry: (e: any, retries: number) => any, shouldRetry?: (e: any) => boolean): Promise<T>;
|
|
1
|
+
export default function retry<T = any>(op: () => Promise<T>, delaySeconds: number, retries: number, onRetry: (e: any, retries: number) => any, shouldRetry?: (e: any) => boolean): Promise<T>;
|
package/dist/retry.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const runLater_1 = __importDefault(require("./runLater"));
|
|
7
|
-
function retry(op, delaySeconds, retries, onRetry, shouldRetry = () => true) {
|
|
1
|
+
import runLater from "./runLater.js";
|
|
2
|
+
export default function retry(op, delaySeconds, retries, onRetry, shouldRetry = () => true) {
|
|
8
3
|
return new Promise((resolve, reject) => {
|
|
9
4
|
resolve(op().then((result) => result, (e) => {
|
|
10
5
|
if (retries > 0 && shouldRetry(e)) {
|
|
11
6
|
onRetry(e, retries);
|
|
12
|
-
return
|
|
7
|
+
return runLater(delaySeconds * 1000, () => retry(op, delaySeconds, retries - 1, onRetry));
|
|
13
8
|
}
|
|
14
9
|
else {
|
|
15
10
|
throw e;
|
|
@@ -17,5 +12,4 @@ function retry(op, delaySeconds, retries, onRetry, shouldRetry = () => true) {
|
|
|
17
12
|
}));
|
|
18
13
|
});
|
|
19
14
|
}
|
|
20
|
-
exports.default = retry;
|
|
21
15
|
//# sourceMappingURL=retry.js.map
|
package/dist/retry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,MAAM,CAAC,OAAO,UAAU,KAAK,CACzB,EAAoB,EACpB,YAAoB,EACpB,OAAe,EACf,OAAyC,EACzC,cAAmC,GAAG,EAAE,CAAC,IAAI;IAE7C,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,OAAO,CACH,EAAE,EAAE,CAAC,IAAI,CACL,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAClB,CAAC,CAAC,EAAE,EAAE;YACF,IAAI,OAAO,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;gBAC/B,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACpB,OAAO,QAAQ,CAAC,YAAY,GAAG,IAAI,EAAE,GAAG,EAAE,CACtC,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC,CAChD,CAAC;aACL;iBAAM;gBACH,MAAM,CAAC,CAAC;aACX;QACL,CAAC,CACJ,CACJ,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/retryBackoff.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const runLater_1 = __importDefault(require("./runLater"));
|
|
7
|
-
function retryBackoff(op, delaySeconds, retries, onRetry, easing = (delaySeconds) => delaySeconds * 2) {
|
|
1
|
+
import runLater from "./runLater.js";
|
|
2
|
+
export default function retryBackoff(op, delaySeconds, retries, onRetry, easing = (delaySeconds) => delaySeconds * 2) {
|
|
8
3
|
return new Promise((resolve, reject) => {
|
|
9
4
|
resolve(op().then((result) => result, (e) => {
|
|
10
5
|
if (retries > 0) {
|
|
11
6
|
onRetry(e, retries);
|
|
12
|
-
return
|
|
7
|
+
return runLater(delaySeconds * 1000, () => retryBackoff(op, easing(delaySeconds), retries - 1, onRetry));
|
|
13
8
|
}
|
|
14
9
|
else {
|
|
15
10
|
throw e;
|
|
@@ -17,5 +12,4 @@ function retryBackoff(op, delaySeconds, retries, onRetry, easing = (delaySeconds
|
|
|
17
12
|
}));
|
|
18
13
|
});
|
|
19
14
|
}
|
|
20
|
-
exports.default = retryBackoff;
|
|
21
15
|
//# sourceMappingURL=retryBackoff.js.map
|
package/dist/retryBackoff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retryBackoff.js","sourceRoot":"","sources":["../src/retryBackoff.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retryBackoff.js","sourceRoot":"","sources":["../src/retryBackoff.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAErC,MAAM,CAAC,OAAO,UAAU,YAAY,CAChC,EAAoB,EACpB,YAAoB,EACpB,OAAe,EACf,OAAyC,EACzC,SAA2C,CAAC,YAAY,EAAE,EAAE,CACxD,YAAY,GAAG,CAAC;IAEpB,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,OAAO,CACH,EAAE,EAAE,CAAC,IAAI,CACL,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAClB,CAAC,CAAC,EAAE,EAAE;YACF,IAAI,OAAO,GAAG,CAAC,EAAE;gBACb,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACpB,OAAO,QAAQ,CAAC,YAAY,GAAG,IAAI,EAAE,GAAG,EAAE,CACtC,YAAY,CACR,EAAE,EACF,MAAM,CAAC,YAAY,CAAC,EACpB,OAAO,GAAG,CAAC,EACX,OAAO,CACV,CACJ,CAAC;aACL;iBAAM;gBACH,MAAM,CAAC,CAAC;aACX;QACL,CAAC,CACJ,CACJ,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/runLater.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function runLater(milliseconds = 0, functionToRunLater) {
|
|
1
|
+
export default function runLater(milliseconds = 0, functionToRunLater) {
|
|
4
2
|
return new Promise((resolve, reject) => {
|
|
5
3
|
setTimeout(() => {
|
|
6
4
|
try {
|
|
@@ -12,5 +10,4 @@ function runLater(milliseconds = 0, functionToRunLater) {
|
|
|
12
10
|
}, milliseconds);
|
|
13
11
|
});
|
|
14
12
|
}
|
|
15
|
-
exports.default = runLater;
|
|
16
13
|
//# sourceMappingURL=runLater.js.map
|
package/dist/runLater.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runLater.js","sourceRoot":"","sources":["../src/runLater.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runLater.js","sourceRoot":"","sources":["../src/runLater.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC5B,eAAuB,CAAC,EACxB,kBAAoD;IAEpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI;gBACA,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;aACjC;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,CAAC,CAAC,CAAC,CAAC;aACb;QACL,CAAC,EAAE,YAAY,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Request, Response } from "express";
|
|
2
|
-
import { Maybe } from "tsmonad";
|
|
3
|
-
import "../authorization-api/model";
|
|
2
|
+
import { Maybe } from "@magda/tsmonad";
|
|
3
|
+
import "../authorization-api/model.js";
|
|
4
4
|
export declare function getUserId(req: Request, jwtSecret: string): Maybe<string>;
|
|
5
5
|
export declare function getUserIdHandling(req: Request, res: Response, jwtSecret: string, cb: (userId: string) => void): void;
|
|
@@ -1,31 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
require("../authorization-api/model");
|
|
6
|
-
const jwt = require("jsonwebtoken");
|
|
7
|
-
function getUserId(req, jwtSecret) {
|
|
8
|
-
var _a;
|
|
1
|
+
import { Maybe } from "@magda/tsmonad";
|
|
2
|
+
import "../authorization-api/model.js";
|
|
3
|
+
import jwt from "jsonwebtoken";
|
|
4
|
+
export function getUserId(req, jwtSecret) {
|
|
9
5
|
const jwtToken = req.header("X-Magda-Session");
|
|
10
6
|
if (jwtToken) {
|
|
11
7
|
try {
|
|
12
8
|
const jwtPayload = jwt.verify(jwtToken, jwtSecret);
|
|
13
|
-
return
|
|
9
|
+
return Maybe.just(jwtPayload.userId);
|
|
14
10
|
}
|
|
15
11
|
catch (e) {
|
|
16
12
|
console.error(e);
|
|
17
|
-
return
|
|
13
|
+
return Maybe.nothing();
|
|
18
14
|
}
|
|
19
15
|
}
|
|
20
16
|
else {
|
|
21
|
-
if (
|
|
22
|
-
return
|
|
17
|
+
if (req.user?.id) {
|
|
18
|
+
return Maybe.just(req.user.id);
|
|
23
19
|
}
|
|
24
|
-
return
|
|
20
|
+
return Maybe.nothing();
|
|
25
21
|
}
|
|
26
22
|
}
|
|
27
|
-
|
|
28
|
-
function getUserIdHandling(req, res, jwtSecret, cb) {
|
|
23
|
+
export function getUserIdHandling(req, res, jwtSecret, cb) {
|
|
29
24
|
const userId = getUserId(req, jwtSecret);
|
|
30
25
|
userId.caseOf({
|
|
31
26
|
just: (userId) => {
|
|
@@ -37,5 +32,4 @@ function getUserIdHandling(req, res, jwtSecret, cb) {
|
|
|
37
32
|
}
|
|
38
33
|
});
|
|
39
34
|
}
|
|
40
|
-
exports.getUserIdHandling = getUserIdHandling;
|
|
41
35
|
//# sourceMappingURL=GetUserId.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetUserId.js","sourceRoot":"","sources":["../../src/session/GetUserId.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GetUserId.js","sourceRoot":"","sources":["../../src/session/GetUserId.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,+BAA+B,CAAC;AACvC,OAAO,GAAmB,MAAM,cAAc,CAAC;AAE/C,MAAM,UAAU,SAAS,CAAC,GAAY,EAAE,SAAiB;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE/C,IAAI,QAAQ,EAAE;QACV,IAAI;YACA,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAe,CAAC;YACjE,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SACxC;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,KAAK,CAAC,OAAO,EAAU,CAAC;SAClC;KACJ;SAAM;QACH,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE;YACd,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAClC;QACD,OAAO,KAAK,CAAC,OAAO,EAAU,CAAC;KAClC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC7B,GAAY,EACZ,GAAa,EACb,SAAiB,EACjB,EAA4B;IAE5B,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAEzC,MAAM,CAAC,MAAM,CAAC;QACV,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YACb,EAAE,CAAC,MAAM,CAAC,CAAC;QACf,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACV,OAAO,CAAC,IAAI,CACR,0DAA0D,CAC7D,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5C,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const tsmonad_1 = require("tsmonad");
|
|
5
|
-
const jwt = require("jsonwebtoken");
|
|
6
|
-
function getUserSession(req, jwtSecret) {
|
|
1
|
+
import { Maybe } from "@magda/tsmonad";
|
|
2
|
+
import jwt from "jsonwebtoken";
|
|
3
|
+
export function getUserSession(req, jwtSecret) {
|
|
7
4
|
const jwtToken = req.header("X-Magda-Session");
|
|
8
5
|
if (jwtToken) {
|
|
9
6
|
try {
|
|
10
7
|
const { session } = jwt.verify(jwtToken, jwtSecret);
|
|
11
|
-
return
|
|
8
|
+
return Maybe.just(session);
|
|
12
9
|
}
|
|
13
10
|
catch (e) {
|
|
14
|
-
return
|
|
11
|
+
return Maybe.nothing();
|
|
15
12
|
}
|
|
16
13
|
}
|
|
17
14
|
else {
|
|
18
|
-
return
|
|
15
|
+
return Maybe.nothing();
|
|
19
16
|
}
|
|
20
17
|
}
|
|
21
|
-
exports.getUserSession = getUserSession;
|
|
22
18
|
//# sourceMappingURL=GetUserSession.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetUserSession.js","sourceRoot":"","sources":["../../src/session/GetUserSession.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GetUserSession.js","sourceRoot":"","sources":["../../src/session/GetUserSession.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,GAAmB,MAAM,cAAc,CAAC;AAE/C,MAAM,UAAU,cAAc,CAAC,GAAY,EAAE,SAAiB;IAC1D,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE/C,IAAI,QAAQ,EAAE;QACV,IAAI;YACA,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAe,CAAC;YAClE,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9B;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,KAAK,CAAC,OAAO,EAAM,CAAC;SAC9B;KACJ;SAAM;QACH,OAAO,KAAK,CAAC,OAAO,EAAM,CAAC;KAC9B;AACL,CAAC"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
1
|
/**
|
|
4
2
|
* Checks to see whether the passed argv has a jwtSecret object. If not,
|
|
5
3
|
* tries to add one by looking at the JWT_SECRET env var and failing that,
|
|
@@ -8,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
6
|
* If it can't find one and required is true (or unprovided), this will
|
|
9
7
|
* throw an Error.
|
|
10
8
|
*/
|
|
11
|
-
function addJwtSecretFromEnvVar(argv, required = true) {
|
|
9
|
+
export default function addJwtSecretFromEnvVar(argv, required = true) {
|
|
12
10
|
const newArgv = Object.assign({}, argv, {
|
|
13
11
|
jwtSecret: argv.jwtSecret ||
|
|
14
12
|
process.env.JWT_SECRET ||
|
|
@@ -19,5 +17,4 @@ function addJwtSecretFromEnvVar(argv, required = true) {
|
|
|
19
17
|
}
|
|
20
18
|
return newArgv;
|
|
21
19
|
}
|
|
22
|
-
exports.default = addJwtSecretFromEnvVar;
|
|
23
20
|
//# sourceMappingURL=addJwtSecretFromEnvVar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addJwtSecretFromEnvVar.js","sourceRoot":"","sources":["../../src/session/addJwtSecretFromEnvVar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"addJwtSecretFromEnvVar.js","sourceRoot":"","sources":["../../src/session/addJwtSecretFromEnvVar.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC1C,IAAwD,EACxD,QAAQ,GAAG,IAAI;IAEf,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE;QACpC,SAAS,EACL,IAAI,CAAC,SAAS;YACd,OAAO,CAAC,GAAG,CAAC,UAAU;YACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B;KAC/C,CAAC,CAAC;IAEH,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;QAChC,MAAM,IAAI,KAAK,CACX,mEAAmE,CACtE,CAAC;KACL;IAED,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export default function buildJwt(jwtSecret: string, userId: string, session?: any):
|
|
1
|
+
export default function buildJwt(jwtSecret: string, userId: string, session?: any): string;
|
package/dist/session/buildJwt.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const jwt = require("jsonwebtoken");
|
|
4
|
-
function buildJwt(jwtSecret, userId, session = {}) {
|
|
1
|
+
import jwt from "jsonwebtoken";
|
|
2
|
+
export default function buildJwt(jwtSecret, userId, session = {}) {
|
|
5
3
|
return jwt.sign({ userId, session }, jwtSecret);
|
|
6
4
|
}
|
|
7
|
-
exports.default = buildJwt;
|
|
8
5
|
//# sourceMappingURL=buildJwt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildJwt.js","sourceRoot":"","sources":["../../src/session/buildJwt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildJwt.js","sourceRoot":"","sources":["../../src/session/buildJwt.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAC;AAE/B,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC5B,SAAiB,EACjB,MAAc,EACd,UAAe,EAAE;IAEjB,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const buildJwtFromReq: (req: any, jwtSecret: string) =>
|
|
1
|
+
declare const buildJwtFromReq: (req: any, jwtSecret: string) => string;
|
|
2
2
|
export default buildJwtFromReq;
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const buildJwt_1 = __importDefault(require("./buildJwt"));
|
|
7
|
-
const buildJwtFromReq = (req, jwtSecret) => { var _a, _b; return buildJwt_1.default(jwtSecret, (_a = req === null || req === void 0 ? void 0 : req.user) === null || _a === void 0 ? void 0 : _a.id, { session: (_b = req === null || req === void 0 ? void 0 : req.user) === null || _b === void 0 ? void 0 : _b.session }); };
|
|
8
|
-
exports.default = buildJwtFromReq;
|
|
1
|
+
import buildJwt from "./buildJwt.js";
|
|
2
|
+
const buildJwtFromReq = (req, jwtSecret) => buildJwt(jwtSecret, req?.user?.id, { session: req?.user?.session });
|
|
3
|
+
export default buildJwtFromReq;
|
|
9
4
|
//# sourceMappingURL=buildJwtFromReq.js.map
|