@sprucelabs/postgres-data-store 2.1.22 → 2.1.23

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.
@@ -4,6 +4,7 @@ export default class QueryBuilder {
4
4
  private constructor();
5
5
  static Builder(): QueryBuilder;
6
6
  find(tableName: string, query: Query, options?: QueryOptions): BuiltQuery;
7
+ buildTableName(tableName: string): string;
7
8
  private optionallyBuildWhere;
8
9
  private buildSetClause;
9
10
  private buildSetClausFor$Or;
@@ -8,7 +8,7 @@ class QueryBuilder {
8
8
  find(tableName, query, options) {
9
9
  const { includeFields, limit, skip, sort } = options !== null && options !== void 0 ? options : {};
10
10
  const fields = this.buildColumnListFromIncludeFields(includeFields);
11
- let sql = `SELECT ${fields} FROM public.${tableName}`;
11
+ let sql = `SELECT ${fields} FROM ${this.buildTableName(tableName)}`;
12
12
  const { values, sql: where } = this.optionallyBuildWhere(query);
13
13
  sql += where;
14
14
  sql += this.optionallyBuildSkip(skip);
@@ -16,6 +16,9 @@ class QueryBuilder {
16
16
  sql += this.optionallyBuildLimit(limit);
17
17
  return { sql, values };
18
18
  }
19
+ buildTableName(tableName) {
20
+ return `"${tableName}"`;
21
+ }
19
22
  optionallyBuildWhere(query, startingPlaceholderCount = 0) {
20
23
  let sql = '';
21
24
  const values = [];
@@ -133,7 +136,7 @@ class QueryBuilder {
133
136
  }
134
137
  createWithoutReturning(tableName, records) {
135
138
  const { fields, placeholders, values } = this.splitRecordsIntoFieldsPlaceholdersAndValues(records);
136
- const sql = `INSERT INTO public.${tableName} (${fields.join(', ')}) VALUES ${placeholders.join(', ')}`;
139
+ const sql = `INSERT INTO ${this.buildTableName(tableName)} (${fields.join(', ')}) VALUES ${placeholders.join(', ')}`;
137
140
  return { sql, values };
138
141
  }
139
142
  splitRecordsIntoFieldsPlaceholdersAndValues(records) {
@@ -202,7 +205,7 @@ class QueryBuilder {
202
205
  query: updates,
203
206
  startingCount: 0,
204
207
  });
205
- let sql = `UPDATE public.${tableName} SET ${set.join(', ')}`;
208
+ let sql = `UPDATE ${this.buildTableName(tableName)} SET ${set.join(', ')}`;
206
209
  const { sql: where, values: whereValues } = this.optionallyBuildWhere(query, values.length);
207
210
  sql += where;
208
211
  if (shouldReturnUpdatedRecords) {
@@ -214,7 +217,7 @@ class QueryBuilder {
214
217
  };
215
218
  }
216
219
  delete(tableName, query) {
217
- let sql = `DELETE FROM public.${tableName}`;
220
+ let sql = `DELETE FROM ${this.buildTableName(tableName)}`;
218
221
  const { values, sql: where } = this.optionallyBuildWhere(query !== null && query !== void 0 ? query : {});
219
222
  sql += where;
220
223
  return {
@@ -4,6 +4,7 @@ export default class QueryBuilder {
4
4
  private constructor();
5
5
  static Builder(): QueryBuilder;
6
6
  find(tableName: string, query: Query, options?: QueryOptions): BuiltQuery;
7
+ buildTableName(tableName: string): string;
7
8
  private optionallyBuildWhere;
8
9
  private buildSetClause;
9
10
  private buildSetClausFor$Or;
@@ -6,7 +6,7 @@ export default class QueryBuilder {
6
6
  find(tableName, query, options) {
7
7
  const { includeFields, limit, skip, sort } = options !== null && options !== void 0 ? options : {};
8
8
  const fields = this.buildColumnListFromIncludeFields(includeFields);
9
- let sql = `SELECT ${fields} FROM public.${tableName}`;
9
+ let sql = `SELECT ${fields} FROM ${this.buildTableName(tableName)}`;
10
10
  const { values, sql: where } = this.optionallyBuildWhere(query);
11
11
  sql += where;
12
12
  sql += this.optionallyBuildSkip(skip);
@@ -14,6 +14,9 @@ export default class QueryBuilder {
14
14
  sql += this.optionallyBuildLimit(limit);
15
15
  return { sql, values };
16
16
  }
17
+ buildTableName(tableName) {
18
+ return `"${tableName}"`;
19
+ }
17
20
  optionallyBuildWhere(query, startingPlaceholderCount = 0) {
18
21
  let sql = '';
19
22
  const values = [];
@@ -131,7 +134,7 @@ export default class QueryBuilder {
131
134
  }
132
135
  createWithoutReturning(tableName, records) {
133
136
  const { fields, placeholders, values } = this.splitRecordsIntoFieldsPlaceholdersAndValues(records);
134
- const sql = `INSERT INTO public.${tableName} (${fields.join(', ')}) VALUES ${placeholders.join(', ')}`;
137
+ const sql = `INSERT INTO ${this.buildTableName(tableName)} (${fields.join(', ')}) VALUES ${placeholders.join(', ')}`;
135
138
  return { sql, values };
136
139
  }
137
140
  splitRecordsIntoFieldsPlaceholdersAndValues(records) {
@@ -200,7 +203,7 @@ export default class QueryBuilder {
200
203
  query: updates,
201
204
  startingCount: 0,
202
205
  });
203
- let sql = `UPDATE public.${tableName} SET ${set.join(', ')}`;
206
+ let sql = `UPDATE ${this.buildTableName(tableName)} SET ${set.join(', ')}`;
204
207
  const { sql: where, values: whereValues } = this.optionallyBuildWhere(query, values.length);
205
208
  sql += where;
206
209
  if (shouldReturnUpdatedRecords) {
@@ -212,7 +215,7 @@ export default class QueryBuilder {
212
215
  };
213
216
  }
214
217
  delete(tableName, query) {
215
- let sql = `DELETE FROM public.${tableName}`;
218
+ let sql = `DELETE FROM ${this.buildTableName(tableName)}`;
216
219
  const { values, sql: where } = this.optionallyBuildWhere(query !== null && query !== void 0 ? query : {});
217
220
  sql += where;
218
221
  return {
package/package.json CHANGED
@@ -22,7 +22,7 @@
22
22
  "sprucebot",
23
23
  "sprucelabs"
24
24
  ],
25
- "version": "2.1.22",
25
+ "version": "2.1.23",
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",