af-db-ts 1.0.5 → 2.0.2

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 (173) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/__tests__/01_node_env.spec.js +7 -0
  3. package/dist/cjs/__tests__/01_node_env.spec.js.map +1 -0
  4. package/dist/cjs/__tests__/02_getValueForSqlMs.spec.js +50 -0
  5. package/dist/cjs/__tests__/02_getValueForSqlMs.spec.js.map +1 -0
  6. package/dist/cjs/__tests__/global-setup.js +7 -0
  7. package/dist/cjs/__tests__/global-setup.js.map +1 -0
  8. package/dist/cjs/__tests__/global-teardown.js +7 -0
  9. package/dist/cjs/__tests__/global-teardown.js.map +1 -0
  10. package/dist/cjs/{interfaces.js → src/@types/i-common.js} +1 -1
  11. package/dist/cjs/src/@types/i-common.js.map +1 -0
  12. package/dist/cjs/src/@types/i-config.js +3 -0
  13. package/dist/cjs/src/@types/i-config.js.map +1 -0
  14. package/dist/cjs/src/@types/i-ms.js +3 -0
  15. package/dist/cjs/src/@types/i-ms.js.map +1 -0
  16. package/dist/cjs/src/@types/i-pg.js +24 -0
  17. package/dist/cjs/src/@types/i-pg.js.map +1 -0
  18. package/dist/cjs/src/common.js +30 -0
  19. package/dist/cjs/src/common.js.map +1 -0
  20. package/dist/cjs/src/index.js +59 -0
  21. package/dist/cjs/src/index.js.map +1 -0
  22. package/dist/cjs/src/logger-error.js +10 -0
  23. package/dist/cjs/src/logger-error.js.map +1 -0
  24. package/dist/cjs/{get-value-for-sql.js → src/mssql/get-value-for-sql.js} +12 -8
  25. package/dist/cjs/src/mssql/get-value-for-sql.js.map +1 -0
  26. package/dist/cjs/{db.js → src/mssql/pool-ms.js} +73 -77
  27. package/dist/cjs/src/mssql/pool-ms.js.map +1 -0
  28. package/dist/cjs/src/mssql/query-ms.js +47 -0
  29. package/dist/cjs/src/mssql/query-ms.js.map +1 -0
  30. package/dist/cjs/{sql.js → src/mssql/sql.js} +72 -49
  31. package/dist/cjs/src/mssql/sql.js.map +1 -0
  32. package/dist/cjs/src/mssql/utils.js.map +1 -0
  33. package/dist/cjs/src/pg/get-merge-sql.js +50 -0
  34. package/dist/cjs/src/pg/get-merge-sql.js.map +1 -0
  35. package/dist/cjs/src/pg/get-update-sql.js +29 -0
  36. package/dist/cjs/src/pg/get-update-sql.js.map +1 -0
  37. package/dist/cjs/src/pg/insert.js +93 -0
  38. package/dist/cjs/src/pg/insert.js.map +1 -0
  39. package/dist/cjs/src/pg/is-table-or-view-exists.js +21 -0
  40. package/dist/cjs/src/pg/is-table-or-view-exists.js.map +1 -0
  41. package/dist/cjs/src/pg/pg-pool.js +52 -0
  42. package/dist/cjs/src/pg/pg-pool.js.map +1 -0
  43. package/dist/cjs/src/pg/prepare-value.js +84 -0
  44. package/dist/cjs/src/pg/prepare-value.js.map +1 -0
  45. package/dist/cjs/src/pg/query-pg.js +23 -0
  46. package/dist/cjs/src/pg/query-pg.js.map +1 -0
  47. package/dist/cjs/src/pg/table-schema.js +169 -0
  48. package/dist/cjs/src/pg/table-schema.js.map +1 -0
  49. package/dist/esm/src/@types/i-common.js +2 -0
  50. package/dist/esm/src/@types/i-common.js.map +1 -0
  51. package/dist/esm/src/@types/i-config.js +2 -0
  52. package/dist/esm/src/@types/i-config.js.map +1 -0
  53. package/dist/esm/src/@types/i-ms.js +2 -0
  54. package/dist/esm/src/@types/i-ms.js.map +1 -0
  55. package/dist/esm/src/@types/i-pg.js +21 -0
  56. package/dist/esm/src/@types/i-pg.js.map +1 -0
  57. package/dist/esm/src/common.js +25 -0
  58. package/dist/esm/src/common.js.map +1 -0
  59. package/dist/esm/src/index.js +15 -0
  60. package/dist/esm/src/index.js.map +1 -0
  61. package/dist/esm/src/logger-error.js +6 -0
  62. package/dist/esm/src/logger-error.js.map +1 -0
  63. package/dist/esm/{get-value-for-sql.js → src/mssql/get-value-for-sql.js} +11 -7
  64. package/dist/esm/src/mssql/get-value-for-sql.js.map +1 -0
  65. package/dist/esm/{db.js → src/mssql/pool-ms.js} +35 -62
  66. package/dist/esm/src/mssql/pool-ms.js.map +1 -0
  67. package/dist/esm/src/mssql/query-ms.js +20 -0
  68. package/dist/esm/src/mssql/query-ms.js.map +1 -0
  69. package/dist/esm/{sql.js → src/mssql/sql.js} +36 -36
  70. package/dist/esm/src/mssql/sql.js.map +1 -0
  71. package/dist/esm/src/mssql/utils.js.map +1 -0
  72. package/dist/esm/src/pg/get-merge-sql.js +46 -0
  73. package/dist/esm/src/pg/get-merge-sql.js.map +1 -0
  74. package/dist/esm/src/pg/get-update-sql.js +25 -0
  75. package/dist/esm/src/pg/get-update-sql.js.map +1 -0
  76. package/dist/esm/src/pg/insert.js +89 -0
  77. package/dist/esm/src/pg/insert.js.map +1 -0
  78. package/dist/esm/src/pg/is-table-or-view-exists.js +17 -0
  79. package/dist/esm/src/pg/is-table-or-view-exists.js.map +1 -0
  80. package/dist/esm/src/pg/pg-pool.js +43 -0
  81. package/dist/esm/src/pg/pg-pool.js.map +1 -0
  82. package/dist/esm/src/pg/prepare-value.js +79 -0
  83. package/dist/esm/src/pg/prepare-value.js.map +1 -0
  84. package/dist/esm/src/pg/query-pg.js +19 -0
  85. package/dist/esm/src/pg/query-pg.js.map +1 -0
  86. package/dist/esm/src/pg/table-schema.js +164 -0
  87. package/dist/esm/src/pg/table-schema.js.map +1 -0
  88. package/dist/types/src/@types/i-common.d.ts +35 -0
  89. package/dist/types/src/@types/i-common.d.ts.map +1 -0
  90. package/dist/types/src/@types/i-config.d.ts +60 -0
  91. package/dist/types/src/@types/i-config.d.ts.map +1 -0
  92. package/dist/types/{interfaces.d.ts → src/@types/i-ms.d.ts} +30 -77
  93. package/dist/types/src/@types/i-ms.d.ts.map +1 -0
  94. package/dist/types/src/@types/i-pg.d.ts +62 -0
  95. package/dist/types/src/@types/i-pg.d.ts.map +1 -0
  96. package/dist/types/src/common.d.ts +6 -0
  97. package/dist/types/src/common.d.ts.map +1 -0
  98. package/dist/types/src/index.d.ts +18 -0
  99. package/dist/types/src/index.d.ts.map +1 -0
  100. package/dist/types/src/logger-error.d.ts +7 -0
  101. package/dist/types/src/logger-error.d.ts.map +1 -0
  102. package/dist/types/src/mssql/get-value-for-sql.d.ts +11 -0
  103. package/dist/types/src/mssql/get-value-for-sql.d.ts.map +1 -0
  104. package/dist/types/{db.d.ts → src/mssql/pool-ms.d.ts} +18 -15
  105. package/dist/types/src/mssql/pool-ms.d.ts.map +1 -0
  106. package/dist/types/src/mssql/query-ms.d.ts +3 -0
  107. package/dist/types/src/mssql/query-ms.d.ts.map +1 -0
  108. package/dist/types/{sql.d.ts → src/mssql/sql.d.ts} +17 -16
  109. package/dist/types/src/mssql/sql.d.ts.map +1 -0
  110. package/dist/types/src/mssql/utils.d.ts.map +1 -0
  111. package/dist/types/src/pg/get-merge-sql.d.ts +9 -0
  112. package/dist/types/src/pg/get-merge-sql.d.ts.map +1 -0
  113. package/dist/types/src/pg/get-update-sql.d.ts +3 -0
  114. package/dist/types/src/pg/get-update-sql.d.ts.map +1 -0
  115. package/dist/types/src/pg/insert.d.ts +15 -0
  116. package/dist/types/src/pg/insert.d.ts.map +1 -0
  117. package/dist/types/src/pg/is-table-or-view-exists.d.ts +2 -0
  118. package/dist/types/src/pg/is-table-or-view-exists.d.ts.map +1 -0
  119. package/dist/types/src/pg/pg-pool.d.ts +6 -0
  120. package/dist/types/src/pg/pg-pool.d.ts.map +1 -0
  121. package/dist/types/src/pg/prepare-value.d.ts +7 -0
  122. package/dist/types/src/pg/prepare-value.d.ts.map +1 -0
  123. package/dist/types/src/pg/query-pg.d.ts +3 -0
  124. package/dist/types/src/pg/query-pg.d.ts.map +1 -0
  125. package/dist/types/src/pg/table-schema.d.ts +12 -0
  126. package/dist/types/src/pg/table-schema.d.ts.map +1 -0
  127. package/package.json +21 -24
  128. package/src/@types/i-common.ts +39 -0
  129. package/src/@types/i-config.ts +75 -0
  130. package/src/{interfaces.ts → @types/i-ms.ts} +29 -86
  131. package/src/@types/i-pg.ts +67 -0
  132. package/src/common.ts +26 -0
  133. package/src/index.ts +104 -42
  134. package/src/logger-error.ts +11 -0
  135. package/src/{get-value-for-sql.ts → mssql/get-value-for-sql.ts} +15 -9
  136. package/src/{db.ts → mssql/pool-ms.ts} +40 -71
  137. package/src/mssql/query-ms.ts +25 -0
  138. package/src/{sql.ts → mssql/sql.ts} +56 -59
  139. package/src/pg/get-merge-sql.ts +60 -0
  140. package/src/pg/get-update-sql.ts +31 -0
  141. package/src/pg/insert.ts +118 -0
  142. package/src/pg/is-table-or-view-exists.ts +21 -0
  143. package/src/pg/pg-pool.ts +49 -0
  144. package/src/pg/prepare-value.ts +90 -0
  145. package/src/pg/query-pg.ts +26 -0
  146. package/src/pg/table-schema.ts +178 -0
  147. package/dist/cjs/db.js.map +0 -1
  148. package/dist/cjs/get-value-for-sql.js.map +0 -1
  149. package/dist/cjs/index.js +0 -21
  150. package/dist/cjs/index.js.map +0 -1
  151. package/dist/cjs/interfaces.js.map +0 -1
  152. package/dist/cjs/sql.js.map +0 -1
  153. package/dist/cjs/utils.js.map +0 -1
  154. package/dist/esm/db.js.map +0 -1
  155. package/dist/esm/get-value-for-sql.js.map +0 -1
  156. package/dist/esm/index.js +0 -4
  157. package/dist/esm/index.js.map +0 -1
  158. package/dist/esm/interfaces.js +0 -2
  159. package/dist/esm/interfaces.js.map +0 -1
  160. package/dist/esm/sql.js.map +0 -1
  161. package/dist/esm/utils.js.map +0 -1
  162. package/dist/types/db.d.ts.map +0 -1
  163. package/dist/types/get-value-for-sql.d.ts +0 -7
  164. package/dist/types/get-value-for-sql.d.ts.map +0 -1
  165. package/dist/types/index.d.ts +0 -5
  166. package/dist/types/index.d.ts.map +0 -1
  167. package/dist/types/interfaces.d.ts.map +0 -1
  168. package/dist/types/sql.d.ts.map +0 -1
  169. package/dist/types/utils.d.ts.map +0 -1
  170. /package/dist/cjs/{utils.js → src/mssql/utils.js} +0 -0
  171. /package/dist/esm/{utils.js → src/mssql/utils.js} +0 -0
  172. /package/dist/types/{utils.d.ts → src/mssql/utils.d.ts} +0 -0
  173. /package/src/{utils.ts → mssql/utils.ts} +0 -0
@@ -0,0 +1,31 @@
1
+ import { getTableSchemaPg } from './table-schema';
2
+ import { prepareSqlValuePg } from './prepare-value';
3
+ import { ITableSchemaPg } from '../@types/i-pg';
4
+ import { TDBRecord } from '../@types/i-common';
5
+
6
+ export const getUpdateSqlPg = async (
7
+ connectionId: string,
8
+ schemaAndTable: string,
9
+ record: TDBRecord,
10
+ customSets: TDBRecord = {},
11
+ ): Promise<string> => {
12
+ const tableSchema: ITableSchemaPg = await getTableSchemaPg(connectionId, schemaAndTable);
13
+ const { recordSchema, pk, fieldsWoSerials } = tableSchema;
14
+ const sqlValue = (fieldName: string) => prepareSqlValuePg({ value: record[fieldName], fieldDef: recordSchema[fieldName] });
15
+ const preparedRecord: TDBRecord = {};
16
+ fieldsWoSerials.forEach((f) => {
17
+ if (pk.includes(f)) {
18
+ return;
19
+ }
20
+ if (customSets[f] !== undefined) {
21
+ preparedRecord[f] = customSets[f];
22
+ } else if (record[f] !== undefined) {
23
+ preparedRecord[f] = sqlValue(f);
24
+ }
25
+ });
26
+ const sets = Object.entries(preparedRecord).map(([f, v]) => `"${f}" = ${v}`).join(', ');
27
+ const where = pk.map((f) => `"${f}" = ${sqlValue(f)}`).join(' AND ');
28
+ return `${'UPDATE'} ${schemaAndTable} SET
29
+ ${sets}
30
+ WHERE ${where};`;
31
+ };
@@ -0,0 +1,118 @@
1
+ // noinspection SqlResolve
2
+ import { QueryResultRow } from 'pg';
3
+ import { omitBy } from 'af-tools-ts';
4
+ import { getFieldsAndValuesPg, getTableSchemaPg } from './table-schema';
5
+ import { queryPg } from './query-pg';
6
+ import { logger } from '../logger-error';
7
+
8
+ export enum EUpdateLevel {
9
+ NEVER_UPDATE,
10
+ UPDATE_IF_NOT_FOUND,
11
+ UPDATE_ALWAYS
12
+ }
13
+
14
+ const hasAllValues = <T extends QueryResultRow> (fieldList: string[] | undefined, record: T) => fieldList?.length && fieldList.every((f) => record[f] !== undefined);
15
+
16
+ const selectByAnyIdentity = async <T extends QueryResultRow, R extends QueryResultRow = T> (
17
+ connectionId: string,
18
+ identities: string[][],
19
+ record: T,
20
+ source: string,
21
+ ): Promise<R | undefined> => {
22
+ const identityAlternativesArr: string[] = [];
23
+ let pos = 0;
24
+ const positionValues: any[] = [];
25
+ identities.forEach((identityFieldList) => {
26
+ if (hasAllValues(identityFieldList, record)) {
27
+ identityAlternativesArr.push(identityFieldList.map((f) => `${f} = $${positionValues.push(record[f]) && ++pos}`).join(' AND '));
28
+ }
29
+ });
30
+ let selectSql: string = '';
31
+ if (identityAlternativesArr.length) {
32
+ const identityWhere = identityAlternativesArr.map((v) => `( ${v} )`).join(' OR ');
33
+ selectSql = `SELECT *
34
+ FROM ${source}
35
+ WHERE ${identityWhere}`;
36
+ const result = await queryPg<R>(connectionId, selectSql, positionValues);
37
+ if (result?.rows?.[0]) {
38
+ return result?.rows?.[0];
39
+ }
40
+ }
41
+ };
42
+
43
+ export const insertPg = async <T extends QueryResultRow, R extends QueryResultRow = T> (
44
+ {
45
+ connectionId,
46
+ record,
47
+ target,
48
+ source,
49
+ isThrow,
50
+ updateLevel,
51
+ }: {
52
+ connectionId: string,
53
+ record: T,
54
+ target: string, // schema And Table
55
+ source?: string, // The schema and name of the table/view from which to return data. If not specified, target is used.
56
+ isThrow?: boolean, // Flag: raise exception higher in case of error.
57
+ updateLevel?: EUpdateLevel, // Flag: Update entry when unique constraints conflict.
58
+ },
59
+ ): Promise<R | undefined> => {
60
+ const { recordSchema, pk = [], serials = [], uc = [] } = await getTableSchemaPg(connectionId, target);
61
+ // Cleaning the record: deleting properties not included in the set of fields, with the value undefined and auto-incrementing fields
62
+ const recordWoSerials: T = omitBy(record, (fieldValue: any, fieldName: string) => !recordSchema[fieldName] || fieldValue === undefined || serials.includes(fieldName)) as T;
63
+
64
+ // We form all possible sets of fields, which we then use to search for an added (or already existing) record
65
+ // Normalize (sort) sets
66
+ let identities: string[][] = [pk, ...serials.map((f) => [f]), ...Object.values(uc)].filter((a) => a.length).map((a) => a.sort());
67
+ // Removing duplicates
68
+ identities = [...(new Set(identities.map((a) => a.join('|'))))].map((s) => s.split('|'));
69
+ source = source || target;
70
+
71
+ if (!updateLevel) {
72
+ updateLevel = EUpdateLevel.NEVER_UPDATE;
73
+ }
74
+
75
+ let foundRow: R | undefined;
76
+ try {
77
+ if (updateLevel !== EUpdateLevel.UPDATE_ALWAYS) {
78
+ // First, let's look for a suitable entry in the database if there are enough identification fields to search.
79
+ // Most often, there are no identification fields among the inserted fields and are expected
80
+ // appearance of an auto-incrementing identifier after insertion
81
+ foundRow = await selectByAnyIdentity<T, R>(connectionId, identities, record, source);
82
+ if (foundRow && updateLevel === EUpdateLevel.NEVER_UPDATE) {
83
+ return foundRow;
84
+ }
85
+ }
86
+
87
+ // There is no suitable record in the database, we insert it
88
+ const { values, positionsList, fieldsList, upsertFields } = getFieldsAndValuesPg(recordWoSerials, recordSchema);
89
+ const insertSQL = `INSERT INTO ${target} (${fieldsList})
90
+ VALUES (${positionsList}) ON CONFLICT ${
91
+ updateLevel === EUpdateLevel.NEVER_UPDATE
92
+ ? 'DO NOTHING'
93
+ : `(${pk.join(', ')}) DO UPDATE SET ${upsertFields}`
94
+ }
95
+ RETURNING *`;
96
+ const result = await queryPg<R>(connectionId, insertSQL, values);
97
+ const { rows = [] } = result || {};
98
+ if (!rows[0] && !identities.length) {
99
+ // Hard case
100
+ logger.error(`The insert into table ${target} was not performed and there is no identification field set to search for an existing record.\nrecord: ${JSON.stringify(record)}`);
101
+ return undefined;
102
+ }
103
+ // The insertion is done. Add auto-incrementing identifiers to the array of identification field sets
104
+ const rowInserted = rows[0];
105
+ const summaryRow = { ...recordWoSerials, ...rowInserted };
106
+ foundRow = await selectByAnyIdentity<T, R>(connectionId, identities, summaryRow, source);
107
+ if (foundRow) {
108
+ return foundRow;
109
+ }
110
+ // If we could not find a record in the source by identifiers, we return what was returned after insertion.
111
+ return summaryRow;
112
+ } catch (err) {
113
+ logger.error(err);
114
+ if (isThrow) {
115
+ throw err;
116
+ }
117
+ }
118
+ };
@@ -0,0 +1,21 @@
1
+ // noinspection SqlResolve
2
+ import { queryPg } from './query-pg';
3
+
4
+ const tableOrViewExistenceCache = new Set();
5
+
6
+ export const isTableOrViewExistsPg = async (
7
+ connectionId: string,
8
+ schemaOrFullName: string,
9
+ tableOrViewNAme?: string,
10
+ ): Promise<boolean> => {
11
+ const entityName = tableOrViewNAme ? `${schemaOrFullName}.${tableOrViewNAme}` : schemaOrFullName;
12
+ if (tableOrViewExistenceCache.has(entityName)) {
13
+ return true;
14
+ }
15
+ const result = await queryPg(connectionId, `SELECT to_regclass('${entityName}') as is_exists`);
16
+ if (result?.rows?.[0]?.is_exists) {
17
+ tableOrViewExistenceCache.add(entityName);
18
+ return true;
19
+ }
20
+ return false;
21
+ };
@@ -0,0 +1,49 @@
1
+ import config from 'config';
2
+ import { Pool, PoolClient, PoolConfig } from 'pg';
3
+ import { echo } from 'af-echo-ts';
4
+ import { logger } from '../logger-error';
5
+ import { IDbOptionsPg, IDbsPg } from '../@types/i-config';
6
+ import { IConnectionPoolsPg, IPoolClientPg, IPoolPg } from '../@types/i-pg';
7
+
8
+ const pgConfigs = config.get<{ options: IDbOptionsPg, dbs: IDbsPg }>('db.postgres');
9
+
10
+ export const poolsCachePg: IConnectionPoolsPg = {};
11
+
12
+ export const getPoolPg = async (connectionId: string): Promise<IPoolPg> => {
13
+ if (!poolsCachePg[connectionId]) {
14
+ const poolConfig: PoolConfig = { ...pgConfigs.options, ...pgConfigs.dbs[connectionId] };
15
+ const pool = new Pool(poolConfig) as IPoolPg;
16
+ poolsCachePg[connectionId] = pool;
17
+ pool.on('error', (err: Error, client: PoolClient) => {
18
+ client.release(true);
19
+ logger.error(err);
20
+ });
21
+ pool.on('connect', (client: PoolClient) => {
22
+ const { database, processID } = client as unknown as IPoolClientPg;
23
+ echo.debug(`PG client [${connectionId}] connected! DB: "${database}" / processID: ${processID}`);
24
+ });
25
+ pool.on('remove', (client: PoolClient) => {
26
+ const { database, processID } = client as unknown as IPoolClientPg;
27
+ echo.debug(`PG client [${connectionId}] removed. DB: "${database}" / processID: ${processID}`);
28
+ });
29
+ await pool.connect();
30
+ }
31
+ return poolsCachePg[connectionId];
32
+ };
33
+
34
+ export const closePoolPg = async (connectionId: string): Promise<boolean> => {
35
+ if (!connectionId) {
36
+ return false;
37
+ }
38
+ const pool = poolsCachePg[connectionId];
39
+ if (!pool) {
40
+ return true;
41
+ }
42
+ const fns = (pool._clients || [])
43
+ .filter((client: IPoolClientPg) => client?._connected && typeof client?.end === 'function')
44
+ .map((client: IPoolClientPg) => client.end());
45
+ await Promise.all(fns);
46
+ return true;
47
+ };
48
+
49
+ export const closeAllPgConnectionsPg = async () => Promise.all(Object.keys(poolsCachePg).map((connectionId) => closePoolPg(connectionId)));
@@ -0,0 +1,90 @@
1
+ // noinspection SqlResolve
2
+ import { DateTime } from 'luxon';
3
+ import { EDataTypePg, IFieldDefPg } from '../@types/i-pg';
4
+
5
+ const NULL = 'null';
6
+ const utc$ = (millis?: number): DateTime => DateTime.fromMillis(millis == null ? Date.now() : millis).setZone('UTC');
7
+
8
+ export const prepareSqlStringPg = (s: any): string => {
9
+ s = String(s);
10
+ if (/['\\]|\${2,}/.test(s)) {
11
+ return `$s$${s}$s$`;
12
+ }
13
+ return `'${s}'`;
14
+ };
15
+
16
+ export const prepareSqlValuePg = (arg: {
17
+ value: any,
18
+ fieldDef: IFieldDefPg,
19
+ }): any => {
20
+ const { value, fieldDef } = arg;
21
+ if (value == null && fieldDef.isNullable) {
22
+ return NULL;
23
+ }
24
+ switch (fieldDef.dataType) {
25
+ case EDataTypePg.boolean: {
26
+ return value ? 'true' : 'false';
27
+ }
28
+
29
+ case EDataTypePg.bigint: {
30
+ return `'${value}'`;
31
+ }
32
+
33
+ case EDataTypePg.numeric:
34
+ case EDataTypePg.real: {
35
+ const v: string | number = Number(value);
36
+ return Number.isNaN(v) ? NULL : v;
37
+ }
38
+
39
+ case EDataTypePg.integer:
40
+ case EDataTypePg.smallint: {
41
+ const v: string | number = Number(value);
42
+ return Number.isNaN(v) ? NULL : Math.floor(v);
43
+ }
44
+
45
+ case EDataTypePg.text:
46
+ case EDataTypePg.character:
47
+ case EDataTypePg.varchar:
48
+ case EDataTypePg.uuid: {
49
+ return prepareSqlStringPg(value);
50
+ }
51
+
52
+ case EDataTypePg.json:
53
+ case EDataTypePg.jsonb: {
54
+ return prepareSqlStringPg(JSON.stringify(value));
55
+ }
56
+
57
+ case EDataTypePg.date:
58
+ case EDataTypePg.timestamp:
59
+ case EDataTypePg.timestamptz: {
60
+ let v = value;
61
+ if (value instanceof Date) {
62
+ v = +value;
63
+ } else if (value instanceof DateTime) {
64
+ v = value.toMillis();
65
+ } else if (typeof value === 'string') {
66
+ v = DateTime.fromISO(value).toMillis();
67
+ }
68
+ switch (fieldDef.dataType) {
69
+ case EDataTypePg.date: {
70
+ return `'${typeof v === 'number' ? utc$(v).toISODate() : v}'::date`;
71
+ }
72
+ case EDataTypePg.timestamp:
73
+ case EDataTypePg.timestamptz: {
74
+ return `'${typeof v === 'number' ? utc$(v).toISO() : v}'::timestamptz`;
75
+ }
76
+ default:
77
+ return `'${v}'`;
78
+ }
79
+ }
80
+
81
+ case EDataTypePg.USER_DEFINED:
82
+ return prepareSqlStringPg(value);
83
+
84
+ case EDataTypePg.ARRAY: {
85
+ return prepareSqlStringPg(JSON.stringify(value));
86
+ }
87
+ default:
88
+ return prepareSqlStringPg(value);
89
+ }
90
+ };
@@ -0,0 +1,26 @@
1
+ import { QueryResult, QueryResultRow } from 'pg';
2
+ import { getPoolPg } from './pg-pool';
3
+ import { logSqlError } from '../common';
4
+ import { IPoolPg } from '../@types/i-pg';
5
+
6
+ export const queryPg = async <R extends QueryResultRow = any> (
7
+ connectionId: string,
8
+ sqlText: string,
9
+ sqlValues?: any[],
10
+ throwError?: boolean,
11
+ prefix?: string,
12
+ ):
13
+ Promise<QueryResult<R> | undefined> => {
14
+ const pool: IPoolPg = await getPoolPg(connectionId);
15
+ let res: QueryResult;
16
+ try {
17
+ if (Array.isArray(sqlValues)) {
18
+ res = await pool.query(sqlText, sqlValues);
19
+ } else {
20
+ res = await pool.query(sqlText);
21
+ }
22
+ return res;
23
+ } catch (err) {
24
+ logSqlError(err, !throwError, sqlText, prefix);
25
+ }
26
+ };
@@ -0,0 +1,178 @@
1
+ // noinspection SqlResolve
2
+ import { QueryResultRow } from 'pg';
3
+ import { queryPg } from './query-pg';
4
+ import { logger } from '../logger-error';
5
+ import { graceExit } from '../common';
6
+ import { EDataTypePg, IFieldDefPg, ITableSchemaPg, TRecordSchemaPg, TUniqueConstraintsPg } from '../@types/i-pg';
7
+
8
+ const tableSchemaHash: { [schemaAndTable: string]: ITableSchemaPg } = {};
9
+
10
+ const getRecordSchemaMs = async (connectionId: string, schemaAndTable: string): Promise<TRecordSchemaPg> => {
11
+ const [schema, table] = schemaAndTable.split('.');
12
+ const sql = `SELECT column_name,
13
+ column_default,
14
+ is_nullable,
15
+ data_type,
16
+ character_maximum_length,
17
+ numeric_precision,
18
+ numeric_precision_radix,
19
+ datetime_precision,
20
+ udt_name,
21
+ is_generated
22
+ FROM information_schema.columns
23
+ WHERE table_name = '${table}'
24
+ AND table_schema = '${schema}';`;
25
+ const result = await queryPg(connectionId, sql);
26
+ const fields = result?.rows || [];
27
+ const recordSchema: TRecordSchemaPg = {};
28
+ fields.forEach((fieldDef) => {
29
+ const fieldSchema: IFieldDefPg = {
30
+ name: fieldDef.column_name,
31
+ isNullable: /yes/i.test(fieldDef.is_nullable || ''),
32
+ columnDefault: fieldDef.column_default,
33
+ hasDefault: !!fieldDef.column_default,
34
+ dataType: fieldDef.data_type,
35
+ maxLen: fieldDef.character_maximum_length,
36
+ precision: fieldDef.numeric_precision,
37
+ radix: fieldDef.numeric_precision_radix,
38
+ dtPrecision: fieldDef.datetime_precision,
39
+ udtName: fieldDef.udt_name,
40
+ };
41
+ if (fieldDef.is_generated === 'NEVER') {
42
+ Object.entries(fieldSchema).forEach(([prop, value]) => {
43
+ if (value == null) {
44
+ delete fieldSchema[prop as keyof IFieldDefPg];
45
+ }
46
+ });
47
+ recordSchema[fieldDef.column_name] = fieldSchema;
48
+ }
49
+ });
50
+ return recordSchema;
51
+ };
52
+
53
+ const getPrimaryKey = async (connectionId: string, schemaAndTable: string): Promise<string[]> => {
54
+ const result = await queryPg(connectionId, `SELECT a.attname as f
55
+ FROM pg_index i
56
+ JOIN pg_attribute a
57
+ ON a.attrelid = i.indrelid AND a.attnum = ANY (i.indkey)
58
+ WHERE i.indrelid = '${schemaAndTable}'::regclass
59
+ AND i.indisprimary;`);
60
+
61
+ return (result?.rows || []).map(({ f }) => f);
62
+ };
63
+
64
+ const getUniqueConstraints = async (connectionId: string, schemaAndTable: string): Promise<TUniqueConstraintsPg> => {
65
+ const [schema, table] = schemaAndTable.split('.');
66
+ const result = await queryPg(connectionId, `
67
+ SELECT UI.cn as cn, UI.cols as cols, CASE WHEN UC.cn IS NULL THEN 'UX' ELSE 'UC' END AS typ
68
+ FROM (SELECT c.relname as cn, array_to_json(array_agg(a.attname ORDER BY a.attname)) AS cols
69
+ FROM pg_index i
70
+ JOIN pg_attribute a ON a.attrelid = i.indrelid AND a.attnum = ANY (i.indkey)
71
+ JOIN pg_class AS c ON c.oid = i.indexrelid
72
+ WHERE i.indrelid = '${schemaAndTable}'::regclass
73
+ AND i.indisunique
74
+ AND NOT i.indisprimary
75
+ GROUP BY c.relname) AS UI
76
+ LEFT OUTER JOIN (SELECT ccu.constraint_name AS cn
77
+ FROM information_schema.table_constraints tc
78
+ JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_name)
79
+ JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema
80
+ AND tc.table_name = c.table_name AND ccu.column_name = c.column_name
81
+ WHERE tc.table_schema = '${schema}'
82
+ AND tc.table_name = '${table}'
83
+ AND constraint_type = 'UNIQUE'
84
+ GROUP BY ccu.constraint_name) AS UC ON UC.cn = UI.cn
85
+ ORDER BY CASE WHEN UC.cn IS NULL THEN 2 ELSE 1 END
86
+ `);
87
+ const uc: TUniqueConstraintsPg = {};
88
+ result?.rows?.forEach(({ cn, cols }) => {
89
+ uc[cn] = cols;
90
+ });
91
+ return uc;
92
+ };
93
+
94
+ const getSerials = async (connectionId: string, schemaAndTable: string): Promise<string[]> => {
95
+ const result = await queryPg(connectionId, `
96
+ WITH fq_objects AS (SELECT c.oid,
97
+ n.nspname || '.' || c.relname AS fqname,
98
+ c.relkind,
99
+ c.relname AS relation
100
+ FROM pg_class c
101
+ JOIN pg_namespace n ON n.oid = c.relnamespace),
102
+ sequences AS (SELECT oid, fqname FROM fq_objects WHERE relkind = 'S'),
103
+ tables AS (SELECT oid, fqname FROM fq_objects WHERE relkind = 'r')
104
+ SELECT t.fqname AS tbl, array_to_json(array_agg(a.attname ORDER BY a.attname)) AS cols
105
+ FROM pg_depend d
106
+ JOIN sequences s ON s.oid = d.objid
107
+ JOIN tables t ON t.oid = d.refobjid
108
+ JOIN pg_attribute a ON a.attrelid = d.refobjid and a.attnum = d.refobjsubid
109
+ WHERE d.deptype = 'a'
110
+ AND t.fqname = '${schemaAndTable}'
111
+ GROUP BY t.fqname
112
+ `);
113
+ return result?.rows?.[0]?.cols || [];
114
+ };
115
+
116
+ export const getTableSchemaPg = async (connectionId: string, schemaAndTable: string): Promise<ITableSchemaPg> => {
117
+ let tableSchema = tableSchemaHash[schemaAndTable];
118
+ if (tableSchema) {
119
+ return tableSchema;
120
+ }
121
+ try {
122
+ const recordSchema = await getRecordSchemaMs(connectionId, schemaAndTable);
123
+ const pk = await getPrimaryKey(connectionId, schemaAndTable);
124
+ const uc = await getUniqueConstraints(connectionId, schemaAndTable);
125
+ const serials = await getSerials(connectionId, schemaAndTable);
126
+ const defaults: { [fieldName: string]: string } = {};
127
+ Object.values(recordSchema).forEach((fieldDef) => {
128
+ const { name: f, columnDefault, hasDefault } = fieldDef;
129
+ if (hasDefault && !serials.includes(f)) {
130
+ defaults[f] = `${columnDefault}`;
131
+ }
132
+ });
133
+ const fieldsList: string[] = Object.keys(recordSchema);
134
+ const fieldsWoSerials: string[] = fieldsList.filter((fieldName) => !serials.includes(fieldName));
135
+
136
+ tableSchema = {
137
+ recordSchema, pk, uc, defaults, serials, fieldsList, fieldsWoSerials,
138
+ };
139
+ tableSchemaHash[schemaAndTable] = tableSchema;
140
+ } catch (err) {
141
+ logger.error(`Failed to get schema for table ${schemaAndTable}`);
142
+ logger.error(err);
143
+ await graceExit();
144
+ }
145
+ return tableSchema;
146
+ };
147
+
148
+ export const getFieldsAndValuesPg = <U extends QueryResultRow = QueryResultRow> (record: U, recordSchema: TRecordSchemaPg):
149
+ {
150
+ fields: string[],
151
+ fieldsList: string,
152
+ values: any[],
153
+ positionsList: string,
154
+ setFields: string,
155
+ upsertFields: string
156
+ } => {
157
+ const recordNormalized: QueryResultRow = {};
158
+ Object.entries(record).forEach(([f, v]) => {
159
+ const { dataType } = recordSchema[f] || {};
160
+ if (!dataType) {
161
+ return;
162
+ }
163
+ if ((dataType === EDataTypePg.jsonb || dataType === EDataTypePg.json) && Array.isArray(v)) {
164
+ recordNormalized[f] = JSON.stringify(v);
165
+ } else {
166
+ recordNormalized[f] = v;
167
+ }
168
+ });
169
+ const fields: string[] = Object.keys(recordNormalized);
170
+ const fieldsList: string = fields.join(', ');
171
+ const values: any[] = Object.values(recordNormalized);
172
+ const positionsList: string = fields.map((__, i) => `$${++i}`).join(', ');
173
+ const setFields: string = fields.map((f, i) => `${f} = $${++i}`).join(', ');
174
+ const upsertFields: string = fields.map((f) => `${f} = EXCLUDED.${f}`).join(',\n');
175
+ return {
176
+ fields, fieldsList, values, positionsList, setFields, upsertFields,
177
+ };
178
+ };
@@ -1 +0,0 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-value-for-sql.js","sourceRoot":"","sources":["../../src/get-value-for-sql.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js DELETED
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getValueForSQL = exports.binToHexString = exports.sql = exports.getRowsAffected = exports.prepareDataForSQL = exports.prepareRecordForSQL = exports.getSqlValuesExpression = exports.getSqlSetExpression = exports.getRecordValuesForSQL = exports.serialize = exports.wrapTransaction = exports.getRecordSchema = exports.correctRecordSchema = exports.prepareSqlString = exports.db = void 0;
4
- exports.db = require("./db");
5
- var sql_1 = require("./sql");
6
- Object.defineProperty(exports, "prepareSqlString", { enumerable: true, get: function () { return sql_1.prepareSqlString; } });
7
- Object.defineProperty(exports, "correctRecordSchema", { enumerable: true, get: function () { return sql_1.correctRecordSchema; } });
8
- Object.defineProperty(exports, "getRecordSchema", { enumerable: true, get: function () { return sql_1.getRecordSchema; } });
9
- Object.defineProperty(exports, "wrapTransaction", { enumerable: true, get: function () { return sql_1.wrapTransaction; } });
10
- Object.defineProperty(exports, "serialize", { enumerable: true, get: function () { return sql_1.serialize; } });
11
- Object.defineProperty(exports, "getRecordValuesForSQL", { enumerable: true, get: function () { return sql_1.getRecordValuesForSQL; } });
12
- Object.defineProperty(exports, "getSqlSetExpression", { enumerable: true, get: function () { return sql_1.getSqlSetExpression; } });
13
- Object.defineProperty(exports, "getSqlValuesExpression", { enumerable: true, get: function () { return sql_1.getSqlValuesExpression; } });
14
- Object.defineProperty(exports, "prepareRecordForSQL", { enumerable: true, get: function () { return sql_1.prepareRecordForSQL; } });
15
- Object.defineProperty(exports, "prepareDataForSQL", { enumerable: true, get: function () { return sql_1.prepareDataForSQL; } });
16
- Object.defineProperty(exports, "getRowsAffected", { enumerable: true, get: function () { return sql_1.getRowsAffected; } });
17
- Object.defineProperty(exports, "sql", { enumerable: true, get: function () { return sql_1.sql; } });
18
- var get_value_for_sql_1 = require("./get-value-for-sql");
19
- Object.defineProperty(exports, "binToHexString", { enumerable: true, get: function () { return get_value_for_sql_1.binToHexString; } });
20
- Object.defineProperty(exports, "getValueForSQL", { enumerable: true, get: function () { return get_value_for_sql_1.getValueForSQL; } });
21
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,6BAA2B;AAE3B,6BAae;AAZb,uGAAA,gBAAgB,OAAA;AAChB,0GAAA,mBAAmB,OAAA;AACnB,sGAAA,eAAe,OAAA;AACf,sGAAA,eAAe,OAAA;AACf,gGAAA,SAAS,OAAA;AACT,4GAAA,qBAAqB,OAAA;AACrB,0GAAA,mBAAmB,OAAA;AACnB,6GAAA,sBAAsB,OAAA;AACtB,0GAAA,mBAAmB,OAAA;AACnB,wGAAA,iBAAiB,OAAA;AACjB,sGAAA,eAAe,OAAA;AACf,0FAAA,GAAG,OAAA;AAGL,yDAG6B;AAF3B,mHAAA,cAAc,OAAA;AACd,mHAAA,cAAc,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/sql.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACI,MAAM,CAAC,GAAG,CAAC,GAAW,EAAE,QAAkB,EAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AAA/E,QAAA,CAAC,KAA8E;AAE5F;;;GAGG;AACI,MAAM,WAAW,GAAG,CAAC,GAAQ,EAAE,mBAA4B,KAAK,EAAU,EAAE;IACjF,IAAI,GAAG,IAAI,IAAI,EAAE;QACf,GAAG,GAAG,EAAE,CAAC;KACV;IACD,QAAQ,OAAO,GAAG,EAAE;QAClB,KAAK,QAAQ;YACX,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM;QACR,KAAK,SAAS;YACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACtB,MAAM;QACR;YACE,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;KAC3B;IACD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,IAAI,gBAAgB,EAAE;QACpB,OAAO,GAAG,CAAC;KACZ;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC,CAAC;AArBW,QAAA,WAAW,eAqBtB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db.ts"],"names":[],"mappings":"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"}