pogi 3.0.0-beta → 3.0.0-beta2

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 (100) hide show
  1. package/lib/bin/generateInterface.js +1 -1
  2. package/lib/connectionOptions.d.ts +10 -0
  3. package/lib/index.d.ts +1 -1
  4. package/lib/pgConverters.d.ts +9 -10
  5. package/lib/pgConverters.js +44 -39
  6. package/lib/pgConverters.js.map +1 -1
  7. package/lib/{src/pgConverters.test.d.ts → pgConverters.test.d.ts} +0 -0
  8. package/lib/{src/pgConverters.test.js → pgConverters.test.js} +0 -0
  9. package/lib/pgConverters.test.js.map +1 -0
  10. package/lib/pgDb.d.ts +18 -27
  11. package/lib/pgDb.js +59 -62
  12. package/lib/pgDb.js.map +1 -1
  13. package/lib/{src/pgDb.test.d.ts → pgDb.test.d.ts} +0 -0
  14. package/lib/{src/pgDb.test.js → pgDb.test.js} +0 -0
  15. package/lib/pgDb.test.js.map +1 -0
  16. package/lib/pgDbInterface.d.ts +53 -0
  17. package/lib/{src/pgDbInterface.js → pgDbInterface.js} +0 -0
  18. package/lib/pgDbInterface.js.map +1 -0
  19. package/lib/pgDbOperators.d.ts +3 -3
  20. package/lib/pgDbOperators.js +4 -7
  21. package/lib/pgDbOperators.js.map +1 -1
  22. package/lib/{src/pgDbOperators.test.d.ts → pgDbOperators.test.d.ts} +0 -0
  23. package/lib/{src/pgDbOperators.test.js → pgDbOperators.test.js} +0 -0
  24. package/lib/pgDbOperators.test.js.map +1 -0
  25. package/lib/pgSchema.d.ts +10 -9
  26. package/lib/pgSchema.js.map +1 -1
  27. package/lib/{src/pgSchemaInterface.d.ts → pgSchemaInterface.d.ts} +0 -0
  28. package/lib/{src/pgSchemaInterface.js → pgSchemaInterface.js} +0 -0
  29. package/lib/pgSchemaInterface.js.map +1 -0
  30. package/lib/pgTable.d.ts +15 -40
  31. package/lib/pgTable.js +54 -54
  32. package/lib/pgTable.js.map +1 -1
  33. package/lib/{src/pgTableInterface.d.ts → pgTableInterface.d.ts} +3 -3
  34. package/lib/{src/pgTableInterface.js → pgTableInterface.js} +0 -0
  35. package/lib/pgTableInterface.js.map +1 -0
  36. package/lib/pgUtils.d.ts +13 -5
  37. package/lib/pgUtils.js +116 -23
  38. package/lib/pgUtils.js.map +1 -1
  39. package/lib/queryAble.d.ts +16 -64
  40. package/lib/queryAble.js +43 -42
  41. package/lib/queryAble.js.map +1 -1
  42. package/lib/{src/queryAbleInterface.d.ts → queryAbleInterface.d.ts} +2 -6
  43. package/lib/{src/queryAbleInterface.js → queryAbleInterface.js} +0 -0
  44. package/lib/queryAbleInterface.js.map +1 -0
  45. package/lib/queryWhere.d.ts +2 -2
  46. package/lib/queryWhere.js +19 -23
  47. package/lib/queryWhere.js.map +1 -1
  48. package/package.json +2 -1
  49. package/src/connectionOptions.ts +9 -7
  50. package/src/index.ts +1 -1
  51. package/src/pgDb.ts +3 -3
  52. package/src/pgDbInterface.ts +2 -2
  53. package/src/pgTable.ts +6 -6
  54. package/src/pgTableInterface.ts +20 -20
  55. package/src/pgUtils.ts +16 -6
  56. package/src/queryAbleInterface.ts +2 -6
  57. package/tsconfig.json +3 -5
  58. package/lib/src/bin/generateInterface.d.ts +0 -1
  59. package/lib/src/bin/generateInterface.js +0 -53
  60. package/lib/src/bin/generateInterface.js.map +0 -1
  61. package/lib/src/connectionOptions.d.ts +0 -34
  62. package/lib/src/connectionOptions.js +0 -3
  63. package/lib/src/connectionOptions.js.map +0 -1
  64. package/lib/src/index.d.ts +0 -6
  65. package/lib/src/index.js +0 -12
  66. package/lib/src/index.js.map +0 -1
  67. package/lib/src/pgConverters.d.ts +0 -9
  68. package/lib/src/pgConverters.js +0 -71
  69. package/lib/src/pgConverters.js.map +0 -1
  70. package/lib/src/pgConverters.test.js.map +0 -1
  71. package/lib/src/pgDb.d.ts +0 -79
  72. package/lib/src/pgDb.js +0 -764
  73. package/lib/src/pgDb.js.map +0 -1
  74. package/lib/src/pgDb.test.js.map +0 -1
  75. package/lib/src/pgDbInterface.js.map +0 -1
  76. package/lib/src/pgDbLogger.d.ts +0 -5
  77. package/lib/src/pgDbLogger.js +0 -3
  78. package/lib/src/pgDbLogger.js.map +0 -1
  79. package/lib/src/pgDbOperators.d.ts +0 -113
  80. package/lib/src/pgDbOperators.js +0 -41
  81. package/lib/src/pgDbOperators.js.map +0 -1
  82. package/lib/src/pgDbOperators.test.js.map +0 -1
  83. package/lib/src/pgSchema.d.ts +0 -17
  84. package/lib/src/pgSchema.js +0 -16
  85. package/lib/src/pgSchema.js.map +0 -1
  86. package/lib/src/pgSchemaInterface.js.map +0 -1
  87. package/lib/src/pgTable.d.ts +0 -105
  88. package/lib/src/pgTable.js +0 -322
  89. package/lib/src/pgTable.js.map +0 -1
  90. package/lib/src/pgTableInterface.js.map +0 -1
  91. package/lib/src/pgUtils.d.ts +0 -41
  92. package/lib/src/pgUtils.js +0 -282
  93. package/lib/src/pgUtils.js.map +0 -1
  94. package/lib/src/queryAble.d.ts +0 -40
  95. package/lib/src/queryAble.js +0 -338
  96. package/lib/src/queryAble.js.map +0 -1
  97. package/lib/src/queryAbleInterface.js.map +0 -1
  98. package/lib/src/queryWhere.d.ts +0 -8
  99. package/lib/src/queryWhere.js +0 -245
  100. package/lib/src/queryWhere.js.map +0 -1
@@ -1,322 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PgTable = void 0;
4
- const tslib_1 = require("tslib");
5
- const queryAble_1 = require("./queryAble");
6
- const queryWhere_1 = require("./queryWhere");
7
- const pgUtils_1 = require("./pgUtils");
8
- const _ = require("lodash");
9
- class PgTable extends queryAble_1.QueryAble {
10
- constructor(schema, desc, fieldTypes = {}) {
11
- super();
12
- this.schema = schema;
13
- this.desc = desc;
14
- this.db = schema.db;
15
- this.qualifiedName = `${pgUtils_1.pgUtils.quoteFieldName(desc.schema)}.${pgUtils_1.pgUtils.quoteFieldName(desc.name)}`;
16
- this.pkey = desc.pkey || desc.name + "_pkey";
17
- this.fieldTypes = fieldTypes;
18
- return this;
19
- }
20
- toString() {
21
- return this.qualifiedName;
22
- }
23
- insert(records, options) {
24
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
25
- options = options || {};
26
- if (!records) {
27
- throw new Error("insert should be called with data");
28
- }
29
- else if (!Array.isArray(records)) {
30
- records = [records];
31
- }
32
- else if (records.length === 0) {
33
- return 0;
34
- }
35
- let { sql, parameters } = this.getInsertQuery(records);
36
- sql = "WITH __RESULT as ( " + sql + " RETURNING 1) SELECT SUM(1) FROM __RESULT";
37
- let result = yield this.query(sql, parameters, { logger: options.logger });
38
- return result[0].sum;
39
- });
40
- }
41
- insertAndGet(records, options) {
42
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
43
- let returnSingle = false;
44
- options = options || {};
45
- if (!records) {
46
- throw new Error("insert should be called with data");
47
- }
48
- else if (!Array.isArray(records)) {
49
- returnSingle = true;
50
- records = [records];
51
- }
52
- else if (records.length === 0) {
53
- return [];
54
- }
55
- let { sql, parameters } = this.getInsertQuery(records);
56
- sql += " RETURNING " + (options && options.return && Array.isArray(options.return) ? options.return.map(pgUtils_1.pgUtils.quoteFieldName).join(',') : '*');
57
- let result = yield this.query(sql, parameters, { logger: options.logger });
58
- if (options.return && options.return.length == 0) {
59
- return new Array(returnSingle ? 1 : records.length).fill({});
60
- }
61
- if (returnSingle) {
62
- return result[0];
63
- }
64
- else {
65
- return result;
66
- }
67
- });
68
- }
69
- ;
70
- updateOne(conditions, fields, options) {
71
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
72
- let affected = yield this.update(conditions, fields, options);
73
- if (affected > 1) {
74
- throw new Error('More then one record has been updated!');
75
- }
76
- return affected;
77
- });
78
- }
79
- updateAndGetOne(conditions, fields, options) {
80
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
81
- let result = yield this.updateAndGet(conditions, fields, options);
82
- if (result.length > 1) {
83
- throw new Error('More then one record has been updated!');
84
- }
85
- return result[0];
86
- });
87
- }
88
- update(conditions, fields, options) {
89
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
90
- let { sql, parameters } = this.getUpdateQuery(conditions, fields, options);
91
- sql = "WITH __RESULT as ( " + sql + " RETURNING 1) SELECT SUM(1) FROM __RESULT";
92
- let res = yield this.query(sql, parameters, options);
93
- return res[0].sum;
94
- });
95
- }
96
- ;
97
- updateAndGet(conditions, fields, options) {
98
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
99
- let { sql, parameters } = this.getUpdateQuery(conditions, fields, options);
100
- sql += " RETURNING " + (options && options.return && Array.isArray(options.return) ? options.return.map(pgUtils_1.pgUtils.quoteFieldName).join(',') : '*');
101
- return this.query(sql, parameters, options);
102
- });
103
- }
104
- ;
105
- upsert(record, options) {
106
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
107
- options = options || {};
108
- if (!record) {
109
- throw new Error("insert should be called with data");
110
- }
111
- let { sql, parameters } = this.getUpsertQuery(record, options);
112
- sql = "WITH __RESULT as ( " + sql + " RETURNING 1) SELECT SUM(1) FROM __RESULT";
113
- let result = yield this.query(sql, parameters, { logger: options.logger });
114
- return result[0].sum;
115
- });
116
- }
117
- ;
118
- upsertAndGet(record, options) {
119
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
120
- options = options || {};
121
- if (!record) {
122
- throw new Error("insert should be called with data");
123
- }
124
- let { sql, parameters } = this.getUpsertQuery(record, options);
125
- sql += " RETURNING " + (options && options.return && Array.isArray(options.return) ? options.return.map(pgUtils_1.pgUtils.quoteFieldName).join(',') : '*');
126
- let result = yield this.query(sql, parameters, { logger: options.logger });
127
- if (options.return && options.return.length == 0) {
128
- return {};
129
- }
130
- return result[0];
131
- });
132
- }
133
- ;
134
- delete(conditions, options) {
135
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
136
- let { sql, parameters } = this.getDeleteQuery(conditions, options);
137
- sql = "WITH __RESULT as ( " + sql + " RETURNING 1) SELECT SUM(1) FROM __RESULT";
138
- let res = yield this.query(sql, parameters, options);
139
- return res[0].sum;
140
- });
141
- }
142
- deleteOne(conditions, options) {
143
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
144
- let affected = yield this.delete(conditions, options);
145
- if (affected > 1) {
146
- throw new Error('More then one record has been deleted!');
147
- }
148
- return affected;
149
- });
150
- }
151
- deleteAndGet(conditions, options) {
152
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
153
- options = options || {};
154
- let { sql, parameters } = this.getDeleteQuery(conditions, options);
155
- sql += " RETURNING " + (options && options.return && Array.isArray(options.return) ? options.return.map(pgUtils_1.pgUtils.quoteFieldName).join(',') : '*');
156
- return this.query(sql, parameters);
157
- });
158
- }
159
- deleteAndGetOne(conditions, options) {
160
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
161
- let result = yield this.deleteAndGet(conditions, options);
162
- if (result.length > 1) {
163
- throw new Error('More then one record has been deleted!');
164
- }
165
- return result[0];
166
- });
167
- }
168
- truncate(options) {
169
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
170
- let sql = `TRUNCATE ${this.qualifiedName}`;
171
- if (options && options.restartIdentity) {
172
- sql += ' RESTART IDENTITY';
173
- }
174
- if (options && options.cascade) {
175
- sql += ' CASCADE';
176
- }
177
- yield this.query(sql, undefined, options);
178
- });
179
- }
180
- find(conditions, options) {
181
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
182
- options = options || {};
183
- options.skipUndefined = options.skipUndefined === true || (options.skipUndefined === undefined && this.db.config.skipUndefined && ['all', 'select'].includes(this.db.config.skipUndefined));
184
- let where = _.isEmpty(conditions) ? {
185
- where: "",
186
- params: undefined
187
- } : (0, queryWhere_1.default)(conditions, this.fieldTypes, this.qualifiedName, 0, options.skipUndefined);
188
- let sql = `SELECT ${pgUtils_1.pgUtils.processQueryFields(options)} FROM ${this.qualifiedName} ${where.where} ${pgUtils_1.pgUtils.processQueryOptions(options, this)}`;
189
- return options.stream ? this.queryAsStream(sql, where.params, options) : this.query(sql, where.params, options);
190
- });
191
- }
192
- findWhere(where, params, options) {
193
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
194
- options = options || {};
195
- let sql = `SELECT ${pgUtils_1.pgUtils.processQueryFields(options)} FROM ${this.qualifiedName} WHERE ${where} ${pgUtils_1.pgUtils.processQueryOptions(options, this)}`;
196
- return options.stream ? this.queryAsStream(sql, params, options) : this.query(sql, params, options);
197
- });
198
- }
199
- findAll(options) {
200
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
201
- options = options || {};
202
- let sql = `SELECT ${pgUtils_1.pgUtils.processQueryFields(options)} FROM ${this.qualifiedName} ${pgUtils_1.pgUtils.processQueryOptions(options, this)}`;
203
- return options.stream ? this.queryAsStream(sql, undefined, options) : this.query(sql, null, options);
204
- });
205
- }
206
- findOne(conditions, options) {
207
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
208
- let res = yield this.find(conditions, options);
209
- if (res.length > 1) {
210
- let logger = (options && options.logger || this.getLogger(false));
211
- let error = new Error('More then one rows exists');
212
- pgUtils_1.pgUtils.logError(logger, { error, sql: this.qualifiedName, params: conditions, connection: this.db.connection });
213
- throw error;
214
- }
215
- return res[0];
216
- });
217
- }
218
- findFirst(conditions, options) {
219
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
220
- options = options || {};
221
- options.limit = 1;
222
- let res = yield this.find(conditions, options);
223
- return res[0];
224
- });
225
- }
226
- count(conditions, options) {
227
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
228
- options = options || {};
229
- options.skipUndefined = options.skipUndefined === true || (options.skipUndefined === undefined && this.db.config.skipUndefined && ['all', 'select'].includes(this.db.config.skipUndefined));
230
- let where = _.isEmpty(conditions) ? {
231
- where: " ",
232
- params: undefined
233
- } : (0, queryWhere_1.default)(conditions, this.fieldTypes, this.qualifiedName, 0, options.skipUndefined);
234
- let sql = `SELECT COUNT(*) c FROM ${this.qualifiedName} ${where.where}`;
235
- return (yield this.queryOneField(sql, where.params));
236
- });
237
- }
238
- findOneFieldOnly(conditions, field, options) {
239
- return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
240
- options = options || {};
241
- options.fields = [field];
242
- let res = yield this.findOne(conditions, options);
243
- return res ? res[field] : null;
244
- });
245
- }
246
- getInsertQuery(records) {
247
- let columnsMap = {};
248
- records.forEach(rec => {
249
- for (let field in rec) {
250
- columnsMap[field] = true;
251
- }
252
- });
253
- let columns = Object.keys(columnsMap);
254
- let sql = `INSERT INTO ${this.qualifiedName} (${columns.map(pgUtils_1.pgUtils.quoteFieldName).join(", ")}) VALUES\n`;
255
- let parameters = [];
256
- let placeholders = [];
257
- for (let i = 0, seed = 0; i < records.length; i++) {
258
- placeholders.push('(' + columns.map(c => "$" + (++seed)).join(', ') + ')');
259
- parameters.push(...columns.map(c => pgUtils_1.pgUtils.transformInsertUpdateParams(records[i][c], this.fieldTypes[c])));
260
- }
261
- sql += placeholders.join(",\n");
262
- return { sql, parameters };
263
- }
264
- getUpdateSetSnippet(fields, parameters) {
265
- let params = parameters || [];
266
- let f = [];
267
- let seed = params.length;
268
- _.each(fields, (value, fieldName) => {
269
- if (value === undefined)
270
- return;
271
- f.push(`${pgUtils_1.pgUtils.quoteFieldName(fieldName)} = $${(++seed)}`);
272
- params.push(pgUtils_1.pgUtils.transformInsertUpdateParams(value, this.fieldTypes[fieldName]));
273
- });
274
- return { snippet: f.join(', '), parameters: params };
275
- }
276
- getUpdateQuery(conditions, fields, options) {
277
- options = options || {};
278
- options.skipUndefined = options.skipUndefined === true || (options.skipUndefined === undefined && this.db.config.skipUndefined === 'all');
279
- let hasConditions = true;
280
- if (_.isEmpty(fields)) {
281
- throw new Error('Missing fields for update');
282
- }
283
- let { snippet, parameters } = this.getUpdateSetSnippet(fields);
284
- let sql = `UPDATE ${this.qualifiedName} SET ${snippet}`;
285
- if (!hasConditions || !_.isEmpty(conditions)) {
286
- let parsedWhere = (0, queryWhere_1.default)(conditions, this.fieldTypes, this.qualifiedName, parameters.length, options.skipUndefined);
287
- sql += parsedWhere.where;
288
- parameters = parameters.concat(parsedWhere.params);
289
- }
290
- return { sql, parameters };
291
- }
292
- getUpsertQuery(record, options) {
293
- options = options || {};
294
- if (_.isEmpty(record)) {
295
- throw new Error('Missing fields for upsert');
296
- }
297
- let insert = this.getInsertQuery([record]);
298
- let { snippet, parameters } = this.getUpdateSetSnippet(record, insert.parameters);
299
- let sql = insert.sql;
300
- if (options.columns) {
301
- sql += ` ON CONFLICT (${options.columns.map(c => pgUtils_1.pgUtils.quoteFieldName(c)).join(', ')}) DO UPDATE SET ${snippet}`;
302
- }
303
- else {
304
- let constraint = pgUtils_1.pgUtils.quoteFieldName(options.constraint || this.pkey);
305
- sql += ` ON CONFLICT ON CONSTRAINT ${constraint} DO UPDATE SET ${snippet}`;
306
- }
307
- return { sql, parameters };
308
- }
309
- getDeleteQuery(conditions, options) {
310
- options = options || {};
311
- options.skipUndefined = options.skipUndefined === true || (options.skipUndefined === undefined && this.db.config.skipUndefined === 'all');
312
- let sql = `DELETE FROM ${this.qualifiedName} `;
313
- let parsedWhere;
314
- if (!_.isEmpty(conditions)) {
315
- parsedWhere = (0, queryWhere_1.default)(conditions, this.fieldTypes, this.qualifiedName, 0, options.skipUndefined);
316
- sql += parsedWhere.where;
317
- }
318
- return { sql, parameters: parsedWhere && parsedWhere.params || [] };
319
- }
320
- }
321
- exports.PgTable = PgTable;
322
- //# sourceMappingURL=pgTable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pgTable.js","sourceRoot":"","sources":["../../src/pgTable.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pgTableInterface.js","sourceRoot":"","sources":["../../src/pgTableInterface.ts"],"names":[],"mappings":";;AAQA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC"}
@@ -1,41 +0,0 @@
1
- import { QueryOptions, IQueryAble } from "./queryAbleInterface";
2
- import { ResultFieldType } from "./pgDbInterface";
3
- import { FieldType } from "./pgDb";
4
- import { PgDbLogger } from "./pgDbLogger";
5
- import { IPgTable } from "./pgTableInterface";
6
- import * as pg from 'pg';
7
- export declare let pgUtils: {
8
- logError(logger: PgDbLogger, options: {
9
- error?: string | Error;
10
- sql: string;
11
- params: any;
12
- connection?: pg.PoolClient | null;
13
- }): void;
14
- quoteFieldNameInsecure(f: string): string;
15
- quoteFieldName(f: string): string;
16
- quoteFieldNameOrPositionInsecure(f: string | number): string;
17
- quoteFieldNameOrPosition(f: string | number): string;
18
- quoteFieldNameJsonbOrPosition(f: string | number): string;
19
- processQueryFields<T>(options: QueryOptions, pgTable?: IPgTable<T> | undefined): string;
20
- processNamedParams(sql: string, params: Object): {
21
- sql: string;
22
- params: any[];
23
- };
24
- handleColumnEscapeGroupBy<T_1>(options: QueryOptions, pgTable?: IPgTable<T_1> | undefined): string;
25
- handleColumnEscapeOrderBy<T_2>(options: QueryOptions, pgTable: IPgTable<T_2>): string;
26
- processQueryOptions<T_3>(options: QueryOptions, pgTable: IPgTable<T_3>): string;
27
- transformInsertUpdateParams(param: any, fieldType: FieldType): any;
28
- postProcessResult(res: any[], fields: ResultFieldType[], pgdbTypeParsers: {
29
- [oid: number]: (s: string) => any;
30
- }): void;
31
- convertTypes(res: any[], fields: ResultFieldType[], pgdbTypeParsers: {
32
- [oid: number]: (s: string) => any;
33
- }): void;
34
- createFunctionCaller(q: IQueryAble, fn: {
35
- schema: string;
36
- name: string;
37
- return_single_row: boolean;
38
- return_single_value: boolean;
39
- }): (...args: any[]) => Promise<any>;
40
- escapeForLike(s: string): string;
41
- };