@sprucelabs/postgres-data-store 4.1.47 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,6 +11,7 @@ export default class QueryBuilder {
11
11
  private buildSetClause;
12
12
  private buildSetClausFor$Or;
13
13
  create(tableName: string, records: Record<string, any>[]): BuiltQuery;
14
+ private log;
14
15
  createWithoutReturning(tableName: string, records: Record<string, any>[]): BuiltQuery;
15
16
  private splitRecordsIntoFieldsPlaceholdersAndValues;
16
17
  private fieldValueToSqlValue;
@@ -138,11 +138,19 @@ class QueryBuilder {
138
138
  create(tableName, records) {
139
139
  let { sql, values } = this.createWithoutReturning(tableName, records);
140
140
  sql += ` RETURNING *`;
141
+ this.log('create', sql, values);
141
142
  return {
142
143
  sql,
143
144
  values,
144
145
  };
145
146
  }
147
+ log(...args) {
148
+ if (process.env.POSTGRES_SHOULD_LOG_QUERIES === 'true') {
149
+ for (const arg of args) {
150
+ console.log(JSON.stringify(arg));
151
+ }
152
+ }
153
+ }
146
154
  createWithoutReturning(tableName, records) {
147
155
  const { fields, placeholders, values } = this.splitRecordsIntoFieldsPlaceholdersAndValues(records);
148
156
  const sql = `INSERT INTO ${this.buildTableName(tableName)} (${fields
@@ -223,15 +231,18 @@ class QueryBuilder {
223
231
  if (shouldReturnUpdatedRecords) {
224
232
  sql += ' RETURNING *';
225
233
  }
226
- return {
234
+ const results = {
227
235
  sql,
228
236
  values: [...values, ...whereValues],
229
237
  };
238
+ this.log('update', results);
239
+ return results;
230
240
  }
231
241
  delete(tableName, query) {
232
242
  let sql = `DELETE FROM ${this.buildTableName(tableName)}`;
233
243
  const { values, sql: where } = this.optionallyBuildWhere(query !== null && query !== void 0 ? query : {});
234
244
  sql += where;
245
+ this.log('delete', sql, values);
235
246
  return {
236
247
  sql,
237
248
  values,
@@ -250,6 +261,7 @@ class QueryBuilder {
250
261
  .map((f) => `${f} = EXCLUDED.${f}`)
251
262
  .join(', ')}`;
252
263
  sql += ' RETURNING *';
264
+ this.log('upsert', sql, values);
253
265
  return {
254
266
  sql,
255
267
  values: [...values, ...whereValues],
@@ -11,6 +11,7 @@ export default class QueryBuilder {
11
11
  private buildSetClause;
12
12
  private buildSetClausFor$Or;
13
13
  create(tableName: string, records: Record<string, any>[]): BuiltQuery;
14
+ private log;
14
15
  createWithoutReturning(tableName: string, records: Record<string, any>[]): BuiltQuery;
15
16
  private splitRecordsIntoFieldsPlaceholdersAndValues;
16
17
  private fieldValueToSqlValue;
@@ -135,11 +135,19 @@ export default class QueryBuilder {
135
135
  create(tableName, records) {
136
136
  let { sql, values } = this.createWithoutReturning(tableName, records);
137
137
  sql += ` RETURNING *`;
138
+ this.log('create', sql, values);
138
139
  return {
139
140
  sql,
140
141
  values,
141
142
  };
142
143
  }
144
+ log(...args) {
145
+ if (process.env.POSTGRES_SHOULD_LOG_QUERIES === 'true') {
146
+ for (const arg of args) {
147
+ console.log(JSON.stringify(arg));
148
+ }
149
+ }
150
+ }
143
151
  createWithoutReturning(tableName, records) {
144
152
  const { fields, placeholders, values } = this.splitRecordsIntoFieldsPlaceholdersAndValues(records);
145
153
  const sql = `INSERT INTO ${this.buildTableName(tableName)} (${fields
@@ -220,15 +228,18 @@ export default class QueryBuilder {
220
228
  if (shouldReturnUpdatedRecords) {
221
229
  sql += ' RETURNING *';
222
230
  }
223
- return {
231
+ const results = {
224
232
  sql,
225
233
  values: [...values, ...whereValues],
226
234
  };
235
+ this.log('update', results);
236
+ return results;
227
237
  }
228
238
  delete(tableName, query) {
229
239
  let sql = `DELETE FROM ${this.buildTableName(tableName)}`;
230
240
  const { values, sql: where } = this.optionallyBuildWhere(query !== null && query !== void 0 ? query : {});
231
241
  sql += where;
242
+ this.log('delete', sql, values);
232
243
  return {
233
244
  sql,
234
245
  values,
@@ -247,6 +258,7 @@ export default class QueryBuilder {
247
258
  .map((f) => `${f} = EXCLUDED.${f}`)
248
259
  .join(', ')}`;
249
260
  sql += ' RETURNING *';
261
+ this.log('upsert', sql, values);
250
262
  return {
251
263
  sql,
252
264
  values: [...values, ...whereValues],
package/package.json CHANGED
@@ -22,7 +22,7 @@
22
22
  "sprucebot",
23
23
  "sprucelabs"
24
24
  ],
25
- "version": "4.1.47",
25
+ "version": "4.2.0",
26
26
  "scripts": {
27
27
  "build.ci": "yarn build.tsc && yarn build.resolve-paths && yarn lint",
28
28
  "build.dev": "yarn build.tsc --sourceMap ; yarn resolve-paths.lint",