@magda/typescript-common 2.3.3 → 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +279 -212
- 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 +7 -11
- 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 +145 -148
- 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 +4 -6
- package/dist/formatServiceError.js.map +1 -1
- package/dist/generated/registry/api.d.ts +67 -55
- package/dist/generated/registry/api.js +557 -765
- 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/getUserAgent.d.ts +2 -0
- package/dist/getUserAgent.js +10 -0
- package/dist/getUserAgent.js.map +1 -0
- 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 +55 -95
- package/dist/registry/AuthorizedRegistryClient.js.map +1 -1
- package/dist/registry/RegistryClient.d.ts +2 -3
- package/dist/registry/RegistryClient.js +61 -78
- 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/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 +45 -29
- package/dist/request.d.ts +0 -3
- package/dist/request.js +0 -19
- package/dist/request.js.map +0 -1
- package/dist/test/jsverify.d.ts +0 -2
- package/dist/test/jsverify.js +0 -8
- package/dist/test/jsverify.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpaCompileResponseParser.js","sourceRoot":"","sources":["../src/OpaCompileResponseParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpaCompileResponseParser.js","sourceRoot":"","sources":["../src/OpaCompileResponseParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export default class RecordCreationFailure {
|
|
2
|
+
id;
|
|
3
|
+
parentId;
|
|
4
|
+
error;
|
|
4
5
|
constructor(id, parentId, error) {
|
|
5
6
|
this.id = id;
|
|
6
7
|
this.parentId = parentId;
|
|
7
8
|
this.error = error;
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
|
-
exports.default = RecordCreationFailure;
|
|
11
11
|
//# sourceMappingURL=RecordCreationFailure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordCreationFailure.js","sourceRoot":"","sources":["../src/RecordCreationFailure.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RecordCreationFailure.js","sourceRoot":"","sources":["../src/RecordCreationFailure.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,qBAAqB;IAEzB;IACA;IACA;IAHb,YACa,EAAqB,EACrB,QAA2B,EAC3B,KAAY;QAFZ,OAAE,GAAF,EAAE,CAAmB;QACrB,aAAQ,GAAR,QAAQ,CAAmB;QAC3B,UAAK,GAAL,KAAK,CAAO;IACtB,CAAC;CACP"}
|
package/dist/SQLUtils.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import SQLSyntax, { Value, RawValue } from "sql-syntax";
|
|
2
2
|
import pg from "pg";
|
|
3
|
-
import AuthDecision from "./opa/AuthDecision";
|
|
4
|
-
import { AspectQueryToSqlConfig } from "./opa/AspectQuery";
|
|
5
|
-
|
|
3
|
+
import AuthDecision from "./opa/AuthDecision.js";
|
|
4
|
+
import { AspectQueryToSqlConfig } from "./opa/AspectQuery.js";
|
|
5
|
+
type PossibleObjectKind = "object" | "authObject";
|
|
6
6
|
/**
|
|
7
7
|
* Escape SQL identifier string
|
|
8
8
|
* Although postgreSQL does allow non-ASCII characters in identifiers, to make it simple, we will remove any non-ASCII characters.
|
package/dist/SQLUtils.js
CHANGED
|
@@ -1,41 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
31
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
32
|
-
};
|
|
33
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
-
exports.countTableRecord = exports.getTableRecord = exports.searchTableRecord = exports.MAX_PAGE_RECORD_NUMBER = exports.parseIntParam = exports.deleteTableRecord = exports.updateTableRecord = exports.createTableRecord = exports.getTableColumnName = exports.escapeIdentifier = exports.escapeIdentifierStr = void 0;
|
|
35
|
-
const sql_syntax_1 = __importStar(require("sql-syntax"));
|
|
36
|
-
const AuthDecision_1 = require("./opa/AuthDecision");
|
|
37
|
-
const lodash_1 = require("lodash");
|
|
38
|
-
const ServerError_1 = __importDefault(require("./ServerError"));
|
|
1
|
+
import SQLSyntax, { sqls } from "sql-syntax";
|
|
2
|
+
import { UnconditionalTrueDecision } from "./opa/AuthDecision.js";
|
|
3
|
+
import camelCase from "lodash/camelCase.js";
|
|
4
|
+
import difference from "lodash/difference.js";
|
|
5
|
+
import ServerError from "./ServerError.js";
|
|
39
6
|
/**
|
|
40
7
|
* Escape SQL identifier string
|
|
41
8
|
* Although postgreSQL does allow non-ASCII characters in identifiers, to make it simple, we will remove any non-ASCII characters.
|
|
@@ -44,10 +11,9 @@ const ServerError_1 = __importDefault(require("./ServerError"));
|
|
|
44
11
|
* @param {string} idStr
|
|
45
12
|
* @return {*} {string}
|
|
46
13
|
*/
|
|
47
|
-
function escapeIdentifierStr(idStr) {
|
|
14
|
+
export function escapeIdentifierStr(idStr) {
|
|
48
15
|
return '"' + idStr.replace(/[^\x20-\x7e]/g, "").replace(/"/g, "\"'") + '"';
|
|
49
16
|
}
|
|
50
|
-
exports.escapeIdentifierStr = escapeIdentifierStr;
|
|
51
17
|
/**
|
|
52
18
|
* Escape SQL identifier (e.g. column names, or table names).
|
|
53
19
|
* `xxx."ss.dd` will be escaped as `"xxx"."""ss"."dd"`
|
|
@@ -57,15 +23,14 @@ exports.escapeIdentifierStr = escapeIdentifierStr;
|
|
|
57
23
|
* @param {string} id
|
|
58
24
|
* @return {*} {SQLSyntax}
|
|
59
25
|
*/
|
|
60
|
-
function escapeIdentifier(id) {
|
|
26
|
+
export function escapeIdentifier(id) {
|
|
61
27
|
const sanitisedIdStr = id.replace(/[^\x20-\x7e]/g, "");
|
|
62
28
|
const parts = sanitisedIdStr.split(".");
|
|
63
29
|
const escapedIdStr = parts.length > 1
|
|
64
30
|
? parts.map((item) => escapeIdentifierStr(item)).join(".")
|
|
65
31
|
: escapeIdentifierStr(sanitisedIdStr);
|
|
66
|
-
return
|
|
32
|
+
return SQLSyntax.createUnsafely(escapedIdStr);
|
|
67
33
|
}
|
|
68
|
-
exports.escapeIdentifier = escapeIdentifier;
|
|
69
34
|
/**
|
|
70
35
|
* Make a postgreSQL identifier in SQLSyntax from tableRef (optional) & column name.
|
|
71
36
|
*
|
|
@@ -75,7 +40,7 @@ exports.escapeIdentifier = escapeIdentifier;
|
|
|
75
40
|
* @param {Boolean} [useLowerCaseColumnName=true]
|
|
76
41
|
* @return {*} {SQLSyntax}
|
|
77
42
|
*/
|
|
78
|
-
function getTableColumnName(columnName, tableRef = "", useLowerCaseColumnName = false) {
|
|
43
|
+
export function getTableColumnName(columnName, tableRef = "", useLowerCaseColumnName = false) {
|
|
79
44
|
const id = [
|
|
80
45
|
tableRef,
|
|
81
46
|
useLowerCaseColumnName ? columnName.toLowerCase() : columnName
|
|
@@ -84,7 +49,6 @@ function getTableColumnName(columnName, tableRef = "", useLowerCaseColumnName =
|
|
|
84
49
|
.join(".");
|
|
85
50
|
return escapeIdentifier(id);
|
|
86
51
|
}
|
|
87
|
-
exports.getTableColumnName = getTableColumnName;
|
|
88
52
|
/**
|
|
89
53
|
* Create a record for given table with given data object.
|
|
90
54
|
* This method will use the key / value pairs of the object as column name / value of the new record.
|
|
@@ -96,179 +60,159 @@ exports.getTableColumnName = getTableColumnName;
|
|
|
96
60
|
* @param {{ [key: string]: Value }} data
|
|
97
61
|
* @return {*}
|
|
98
62
|
*/
|
|
99
|
-
function createTableRecord(poolOrClient, table, data, allowFieldList, autoGenerateUuid = true) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
throw new ServerError_1.default(`Failed to create record, the following fields are not allowed: ${diff.join(",")}`, 400);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
if (autoGenerateUuid) {
|
|
112
|
-
data["id"] = sql_syntax_1.sqls `uuid_generate_v4()`;
|
|
63
|
+
export async function createTableRecord(poolOrClient, table, data, allowFieldList, autoGenerateUuid = true) {
|
|
64
|
+
if (!table.trim()) {
|
|
65
|
+
throw new Error("invalid empty table name is supplied.");
|
|
66
|
+
}
|
|
67
|
+
if (allowFieldList?.length) {
|
|
68
|
+
const keys = Object.keys(data);
|
|
69
|
+
const diff = difference(keys, allowFieldList);
|
|
70
|
+
if (diff?.length) {
|
|
71
|
+
throw new ServerError(`Failed to create record, the following fields are not allowed: ${diff.join(",")}`, 400);
|
|
113
72
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
(
|
|
73
|
+
}
|
|
74
|
+
if (autoGenerateUuid) {
|
|
75
|
+
data["id"] = sqls `uuid_generate_v4()`;
|
|
76
|
+
}
|
|
77
|
+
const [fieldList, valueList] = Object.keys(data).reduce((result, currentKey) => {
|
|
78
|
+
const currentValue = data[currentKey];
|
|
79
|
+
result[0].push(escapeIdentifier(currentKey));
|
|
80
|
+
result[1].push(sqls `${currentValue}`);
|
|
81
|
+
return result;
|
|
82
|
+
}, [[], []]);
|
|
83
|
+
const sqlSyntax = sqls `INSERT INTO ${escapeIdentifier(table)}
|
|
84
|
+
(${SQLSyntax.csv(...fieldList)})
|
|
122
85
|
VALUES
|
|
123
|
-
(${
|
|
86
|
+
(${SQLSyntax.csv(...valueList)})
|
|
124
87
|
RETURNING *`;
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
});
|
|
88
|
+
const result = await poolOrClient.query(...sqlSyntax.toQuery());
|
|
89
|
+
return result.rows[0];
|
|
128
90
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
if (diff === null || diff === void 0 ? void 0 : diff.length) {
|
|
142
|
-
throw new ServerError_1.default(`Failed to update record, the following fields are not allowed: ${diff.join(",")}`, 400);
|
|
143
|
-
}
|
|
91
|
+
export async function updateTableRecord(poolOrClient, table, id, data, allowFieldList) {
|
|
92
|
+
if (!id.trim()) {
|
|
93
|
+
throw new ServerError("Failed to delete the record: empty id was provided.", 400);
|
|
94
|
+
}
|
|
95
|
+
if (!table.trim()) {
|
|
96
|
+
throw new ServerError("invalid empty table name is supplied.", 500);
|
|
97
|
+
}
|
|
98
|
+
if (allowFieldList?.length) {
|
|
99
|
+
const keys = Object.keys(data);
|
|
100
|
+
const diff = difference(keys, allowFieldList);
|
|
101
|
+
if (diff?.length) {
|
|
102
|
+
throw new ServerError(`Failed to update record, the following fields are not allowed: ${diff.join(",")}`, 400);
|
|
144
103
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
104
|
+
}
|
|
105
|
+
const updates = Object.keys(data).reduce((result, currentKey) => {
|
|
106
|
+
const currentValue = data[currentKey];
|
|
107
|
+
result.push(sqls `${escapeIdentifier(currentKey)} = ${sqls `${currentValue}`}`);
|
|
108
|
+
return result;
|
|
109
|
+
}, []);
|
|
110
|
+
const sqlSyntax = sqls `UPDATE ${escapeIdentifier(table)}
|
|
111
|
+
SET ${SQLSyntax.csv(...updates)}
|
|
152
112
|
WHERE id = ${id}
|
|
153
113
|
RETURNING *`;
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
});
|
|
114
|
+
const result = await poolOrClient.query(...sqlSyntax.toQuery());
|
|
115
|
+
return result.rows[0];
|
|
157
116
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
const sqlSyntax = sql_syntax_1.sqls `DELETE FROM ${escapeIdentifier(table)} WHERE id = ${id}`;
|
|
168
|
-
yield poolOrClient.query(...sqlSyntax.toQuery());
|
|
169
|
-
});
|
|
117
|
+
export async function deleteTableRecord(poolOrClient, table, id) {
|
|
118
|
+
if (!id.trim()) {
|
|
119
|
+
throw new ServerError("Failed to delete the record: empty id was provided.", 400);
|
|
120
|
+
}
|
|
121
|
+
if (!table.trim()) {
|
|
122
|
+
throw new ServerError("invalid empty table name is supplied.", 500);
|
|
123
|
+
}
|
|
124
|
+
const sqlSyntax = sqls `DELETE FROM ${escapeIdentifier(table)} WHERE id = ${id}`;
|
|
125
|
+
await poolOrClient.query(...sqlSyntax.toQuery());
|
|
170
126
|
}
|
|
171
|
-
|
|
172
|
-
function parseIntParam(p) {
|
|
127
|
+
export function parseIntParam(p) {
|
|
173
128
|
if (!p) {
|
|
174
129
|
return 0;
|
|
175
130
|
}
|
|
176
|
-
const result = parseInt(p
|
|
131
|
+
const result = parseInt(p?.toString());
|
|
177
132
|
if (isNaN(result)) {
|
|
178
133
|
return 0;
|
|
179
134
|
}
|
|
180
135
|
return result;
|
|
181
136
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
const sqlSyntax = sql_syntax_1.sqls `SELECT ${(queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.selectedFields)
|
|
211
|
-
? sql_syntax_1.default.csv(...queryConfig.selectedFields)
|
|
212
|
-
: sql_syntax_1.sqls `*`}
|
|
137
|
+
export const MAX_PAGE_RECORD_NUMBER = 500;
|
|
138
|
+
export async function searchTableRecord(poolOrClient, table, conditions = [], queryConfig) {
|
|
139
|
+
if (!table.trim()) {
|
|
140
|
+
throw new ServerError("invalid empty table name is supplied.");
|
|
141
|
+
}
|
|
142
|
+
const objectKind = queryConfig?.objectKind
|
|
143
|
+
? queryConfig.objectKind
|
|
144
|
+
: "authObject";
|
|
145
|
+
const authDecision = queryConfig?.authDecision
|
|
146
|
+
? queryConfig.authDecision
|
|
147
|
+
: UnconditionalTrueDecision;
|
|
148
|
+
let limit = parseIntParam(queryConfig?.limit);
|
|
149
|
+
const offset = parseIntParam(queryConfig?.offset);
|
|
150
|
+
if (limit > MAX_PAGE_RECORD_NUMBER) {
|
|
151
|
+
limit = MAX_PAGE_RECORD_NUMBER;
|
|
152
|
+
}
|
|
153
|
+
const config = queryConfig?.toSqlConfig
|
|
154
|
+
? queryConfig.toSqlConfig
|
|
155
|
+
: {
|
|
156
|
+
prefixes: [
|
|
157
|
+
`input.${objectKind}.${camelCase(table.replace(/s$/, ""))}`
|
|
158
|
+
]
|
|
159
|
+
};
|
|
160
|
+
const authConditions = authDecision.toSql(config);
|
|
161
|
+
const where = SQLSyntax.where(SQLSyntax.joinWithAnd([...conditions, authConditions]));
|
|
162
|
+
const sqlSyntax = sqls `SELECT ${queryConfig?.selectedFields
|
|
163
|
+
? SQLSyntax.csv(...queryConfig.selectedFields)
|
|
164
|
+
: sqls `*`}
|
|
213
165
|
FROM ${escapeIdentifier(table)}
|
|
214
|
-
${
|
|
215
|
-
|
|
216
|
-
|
|
166
|
+
${queryConfig?.leftJoins?.length
|
|
167
|
+
? SQLSyntax.join(queryConfig.leftJoins.map((joinItem) => sqls `LEFT JOIN ${escapeIdentifier(joinItem.table)} ON ${joinItem.joinCondition}`), sqls `\n`)
|
|
168
|
+
: SQLSyntax.empty}
|
|
217
169
|
${where}
|
|
218
|
-
${
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
${
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
${offset ?
|
|
229
|
-
${limit ?
|
|
170
|
+
${queryConfig?.groupBy
|
|
171
|
+
? sqls `GROUP BY ${typeof queryConfig.groupBy?.length === "number"
|
|
172
|
+
? SQLSyntax.csv(...queryConfig.groupBy)
|
|
173
|
+
: queryConfig.groupBy}`
|
|
174
|
+
: SQLSyntax.empty}
|
|
175
|
+
${queryConfig?.orderBy
|
|
176
|
+
? sqls `ORDER BY ${typeof queryConfig.orderBy?.length === "number"
|
|
177
|
+
? SQLSyntax.csv(...queryConfig.orderBy)
|
|
178
|
+
: queryConfig.orderBy}`
|
|
179
|
+
: SQLSyntax.empty}
|
|
180
|
+
${offset ? sqls `OFFSET ${offset}` : SQLSyntax.empty}
|
|
181
|
+
${limit ? sqls `LIMIT ${limit}` : SQLSyntax.empty}
|
|
230
182
|
`;
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
});
|
|
183
|
+
const result = await poolOrClient.query(...sqlSyntax.toQuery());
|
|
184
|
+
if (!result?.rows?.length) {
|
|
185
|
+
return [];
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
return result.rows;
|
|
189
|
+
}
|
|
239
190
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
objectKind,
|
|
246
|
-
toSqlConfig
|
|
247
|
-
});
|
|
248
|
-
if (!records.length) {
|
|
249
|
-
return null;
|
|
250
|
-
}
|
|
251
|
-
else {
|
|
252
|
-
return records[0];
|
|
253
|
-
}
|
|
191
|
+
export async function getTableRecord(poolOrClient, table, id, authDecision = UnconditionalTrueDecision, objectKind = "authObject", toSqlConfig) {
|
|
192
|
+
const records = await searchTableRecord(poolOrClient, table, [sqls `id = ${id}`], {
|
|
193
|
+
authDecision,
|
|
194
|
+
objectKind,
|
|
195
|
+
toSqlConfig
|
|
254
196
|
});
|
|
197
|
+
if (!records.length) {
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
return records[0];
|
|
202
|
+
}
|
|
255
203
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
toSqlConfig,
|
|
263
|
-
selectedFields: [sql_syntax_1.sqls `COUNT(*) AS total`]
|
|
264
|
-
});
|
|
265
|
-
if (!records.length) {
|
|
266
|
-
return 0;
|
|
267
|
-
}
|
|
268
|
-
else {
|
|
269
|
-
return records[0]["total"];
|
|
270
|
-
}
|
|
204
|
+
export async function countTableRecord(poolOrClient, table, conditions = [], authDecision, objectKind, toSqlConfig) {
|
|
205
|
+
const records = await searchTableRecord(poolOrClient, table, conditions, {
|
|
206
|
+
authDecision,
|
|
207
|
+
objectKind,
|
|
208
|
+
toSqlConfig,
|
|
209
|
+
selectedFields: [sqls `COUNT(*) AS total`]
|
|
271
210
|
});
|
|
211
|
+
if (!records.length) {
|
|
212
|
+
return 0;
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
return records[0]["total"];
|
|
216
|
+
}
|
|
272
217
|
}
|
|
273
|
-
exports.countTableRecord = countTableRecord;
|
|
274
218
|
//# sourceMappingURL=SQLUtils.js.map
|