@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.
Files changed (249) 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 +279 -212
  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 +7 -11
  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 +145 -148
  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 +4 -6
  82. package/dist/formatServiceError.js.map +1 -1
  83. package/dist/generated/registry/api.d.ts +67 -55
  84. package/dist/generated/registry/api.js +557 -765
  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/getUserAgent.d.ts +2 -0
  99. package/dist/getUserAgent.js +10 -0
  100. package/dist/getUserAgent.js.map +1 -0
  101. package/dist/handleServerError.js +3 -9
  102. package/dist/handleServerError.js.map +1 -1
  103. package/dist/markdownToHtml.js +5 -11
  104. package/dist/markdownToHtml.js.map +1 -1
  105. package/dist/opa/AspectQuery.js +55 -79
  106. package/dist/opa/AspectQuery.js.map +1 -1
  107. package/dist/opa/AuthDecision.d.ts +2 -2
  108. package/dist/opa/AuthDecision.js +52 -69
  109. package/dist/opa/AuthDecision.js.map +1 -1
  110. package/dist/opa/AuthDecisionQueryClient.d.ts +2 -2
  111. package/dist/opa/AuthDecisionQueryClient.js +72 -102
  112. package/dist/opa/AuthDecisionQueryClient.js.map +1 -1
  113. package/dist/pgTypes.js +4 -9
  114. package/dist/pgTypes.js.map +1 -1
  115. package/dist/registry/AuthorizedRegistryClient.d.ts +4 -4
  116. package/dist/registry/AuthorizedRegistryClient.js +55 -95
  117. package/dist/registry/AuthorizedRegistryClient.js.map +1 -1
  118. package/dist/registry/RegistryClient.d.ts +2 -3
  119. package/dist/registry/RegistryClient.js +61 -78
  120. package/dist/registry/RegistryClient.js.map +1 -1
  121. package/dist/registry/TenantConsts.js +3 -6
  122. package/dist/registry/TenantConsts.js.map +1 -1
  123. package/dist/registry/model.js +1 -2
  124. package/dist/registry-manual/api.d.ts +1 -1
  125. package/dist/registry-manual/api.js +18 -7
  126. package/dist/registry-manual/api.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 +1 -1
  146. package/dist/session/buildJwtFromReq.js +3 -8
  147. package/dist/session/buildJwtFromReq.js.map +1 -1
  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 +45 -29
  244. package/dist/request.d.ts +0 -3
  245. package/dist/request.js +0 -19
  246. package/dist/request.js.map +0 -1
  247. package/dist/test/jsverify.d.ts +0 -2
  248. package/dist/test/jsverify.js +0 -8
  249. 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,4 +1,4 @@
1
- import ConnectorRecordId from "./ConnectorRecordId";
1
+ import ConnectorRecordId from "./ConnectorRecordId.js";
2
2
  export default class RecordCreationFailure {
3
3
  readonly id: ConnectorRecordId;
4
4
  readonly parentId: ConnectorRecordId;
@@ -1,11 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class RecordCreationFailure {
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":";;AAEA,MAAqB,qBAAqB;IACtC,YACa,EAAqB,EACrB,QAA2B,EAC3B,KAAY;QAFZ,OAAE,GAAF,EAAE,CAAmB;QACrB,aAAQ,GAAR,QAAQ,CAAmB;QAC3B,UAAK,GAAL,KAAK,CAAO;IACtB,CAAC;CACP;AAND,wCAMC"}
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"}
@@ -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
- declare type PossibleObjectKind = "object" | "authObject";
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
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
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 sql_syntax_1.default.createUnsafely(escapedIdStr);
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
- return __awaiter(this, void 0, void 0, function* () {
101
- if (!table.trim()) {
102
- throw new Error("invalid empty table name is supplied.");
103
- }
104
- if (allowFieldList === null || allowFieldList === void 0 ? void 0 : allowFieldList.length) {
105
- const keys = Object.keys(data);
106
- const diff = lodash_1.difference(keys, allowFieldList);
107
- if (diff === null || diff === void 0 ? void 0 : diff.length) {
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
- const [fieldList, valueList] = Object.keys(data).reduce((result, currentKey) => {
115
- const currentValue = data[currentKey];
116
- result[0].push(escapeIdentifier(currentKey));
117
- result[1].push(sql_syntax_1.sqls `${currentValue}`);
118
- return result;
119
- }, [[], []]);
120
- const sqlSyntax = sql_syntax_1.sqls `INSERT INTO ${escapeIdentifier(table)}
121
- (${sql_syntax_1.default.csv(...fieldList)})
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
- (${sql_syntax_1.default.csv(...valueList)})
86
+ (${SQLSyntax.csv(...valueList)})
124
87
  RETURNING *`;
125
- const result = yield poolOrClient.query(...sqlSyntax.toQuery());
126
- return result.rows[0];
127
- });
88
+ const result = await poolOrClient.query(...sqlSyntax.toQuery());
89
+ return result.rows[0];
128
90
  }
129
- exports.createTableRecord = createTableRecord;
130
- function updateTableRecord(poolOrClient, table, id, data, allowFieldList) {
131
- return __awaiter(this, void 0, void 0, function* () {
132
- if (!id.trim()) {
133
- throw new ServerError_1.default("Failed to delete the record: empty id was provided.", 400);
134
- }
135
- if (!table.trim()) {
136
- throw new ServerError_1.default("invalid empty table name is supplied.", 500);
137
- }
138
- if (allowFieldList === null || allowFieldList === void 0 ? void 0 : allowFieldList.length) {
139
- const keys = Object.keys(data);
140
- const diff = lodash_1.difference(keys, allowFieldList);
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
- const updates = Object.keys(data).reduce((result, currentKey) => {
146
- const currentValue = data[currentKey];
147
- result.push(sql_syntax_1.sqls `${escapeIdentifier(currentKey)} = ${sql_syntax_1.sqls `${currentValue}`}`);
148
- return result;
149
- }, []);
150
- const sqlSyntax = sql_syntax_1.sqls `UPDATE ${escapeIdentifier(table)}
151
- SET ${sql_syntax_1.default.csv(...updates)}
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
- const result = yield poolOrClient.query(...sqlSyntax.toQuery());
155
- return result.rows[0];
156
- });
114
+ const result = await poolOrClient.query(...sqlSyntax.toQuery());
115
+ return result.rows[0];
157
116
  }
158
- exports.updateTableRecord = updateTableRecord;
159
- function deleteTableRecord(poolOrClient, table, id) {
160
- return __awaiter(this, void 0, void 0, function* () {
161
- if (!id.trim()) {
162
- throw new ServerError_1.default("Failed to delete the record: empty id was provided.", 400);
163
- }
164
- if (!table.trim()) {
165
- throw new ServerError_1.default("invalid empty table name is supplied.", 500);
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
- exports.deleteTableRecord = deleteTableRecord;
172
- function parseIntParam(p) {
127
+ export function parseIntParam(p) {
173
128
  if (!p) {
174
129
  return 0;
175
130
  }
176
- const result = parseInt(p === null || p === void 0 ? void 0 : p.toString());
131
+ const result = parseInt(p?.toString());
177
132
  if (isNaN(result)) {
178
133
  return 0;
179
134
  }
180
135
  return result;
181
136
  }
182
- exports.parseIntParam = parseIntParam;
183
- exports.MAX_PAGE_RECORD_NUMBER = 500;
184
- function searchTableRecord(poolOrClient, table, conditions = [], queryConfig) {
185
- var _a, _b, _c, _d;
186
- return __awaiter(this, void 0, void 0, function* () {
187
- if (!table.trim()) {
188
- throw new ServerError_1.default("invalid empty table name is supplied.");
189
- }
190
- const objectKind = (queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.objectKind)
191
- ? queryConfig.objectKind
192
- : "authObject";
193
- const authDecision = (queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.authDecision)
194
- ? queryConfig.authDecision
195
- : AuthDecision_1.UnconditionalTrueDecision;
196
- let limit = parseIntParam(queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.limit);
197
- const offset = parseIntParam(queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.offset);
198
- if (limit > exports.MAX_PAGE_RECORD_NUMBER) {
199
- limit = exports.MAX_PAGE_RECORD_NUMBER;
200
- }
201
- const config = (queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.toSqlConfig)
202
- ? queryConfig.toSqlConfig
203
- : {
204
- prefixes: [
205
- `input.${objectKind}.${lodash_1.camelCase(table.replace(/s$/, ""))}`
206
- ]
207
- };
208
- const authConditions = authDecision.toSql(config);
209
- const where = sql_syntax_1.default.where(sql_syntax_1.default.joinWithAnd([...conditions, authConditions]));
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
- ${((_a = queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.leftJoins) === null || _a === void 0 ? void 0 : _a.length)
215
- ? sql_syntax_1.default.join(queryConfig.leftJoins.map((joinItem) => sql_syntax_1.sqls `LEFT JOIN ${escapeIdentifier(joinItem.table)} ON ${joinItem.joinCondition}`), sql_syntax_1.sqls `\n`)
216
- : sql_syntax_1.default.empty}
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
- ${(queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.groupBy)
219
- ? sql_syntax_1.sqls `GROUP BY ${typeof ((_b = queryConfig.groupBy) === null || _b === void 0 ? void 0 : _b.length) === "number"
220
- ? sql_syntax_1.default.csv(...queryConfig.groupBy)
221
- : queryConfig.groupBy}`
222
- : sql_syntax_1.default.empty}
223
- ${(queryConfig === null || queryConfig === void 0 ? void 0 : queryConfig.orderBy)
224
- ? sql_syntax_1.sqls `ORDER BY ${typeof ((_c = queryConfig.orderBy) === null || _c === void 0 ? void 0 : _c.length) === "number"
225
- ? sql_syntax_1.default.csv(...queryConfig.orderBy)
226
- : queryConfig.orderBy}`
227
- : sql_syntax_1.default.empty}
228
- ${offset ? sql_syntax_1.sqls `OFFSET ${offset}` : sql_syntax_1.default.empty}
229
- ${limit ? sql_syntax_1.sqls `LIMIT ${limit}` : sql_syntax_1.default.empty}
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
- const result = yield poolOrClient.query(...sqlSyntax.toQuery());
232
- if (!((_d = result === null || result === void 0 ? void 0 : result.rows) === null || _d === void 0 ? void 0 : _d.length)) {
233
- return [];
234
- }
235
- else {
236
- return result.rows;
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
- exports.searchTableRecord = searchTableRecord;
241
- function getTableRecord(poolOrClient, table, id, authDecision = AuthDecision_1.UnconditionalTrueDecision, objectKind = "authObject", toSqlConfig) {
242
- return __awaiter(this, void 0, void 0, function* () {
243
- const records = yield searchTableRecord(poolOrClient, table, [sql_syntax_1.sqls `id = ${id}`], {
244
- authDecision,
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
- exports.getTableRecord = getTableRecord;
257
- function countTableRecord(poolOrClient, table, conditions = [], authDecision, objectKind, toSqlConfig) {
258
- return __awaiter(this, void 0, void 0, function* () {
259
- const records = yield searchTableRecord(poolOrClient, table, conditions, {
260
- authDecision,
261
- objectKind,
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