ismx-nexo-node-app 0.4.131 → 0.4.133

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.
@@ -244,6 +244,15 @@ class RepositoryDatabasePostgres extends RepositoryDatabase_1.default {
244
244
  return this.query(query, [...values, ...params]);
245
245
  });
246
246
  }
247
+ runTable(name_1) {
248
+ return __awaiter(this, arguments, void 0, function* (name, params = [], filters = {}) {
249
+ var _a;
250
+ let { where, values } = this.anyWhere(filters);
251
+ let placeholders = (_a = params === null || params === void 0 ? void 0 : params.map((_, index) => "$" + (index + 1 + values.length))) !== null && _a !== void 0 ? _a : [];
252
+ let query = `SELECT * FROM ${name}(${placeholders.join(',')}) WHERE ${where}`;
253
+ return this.query(query, [...values, ...params]);
254
+ });
255
+ }
247
256
  runValue(name_1) {
248
257
  return __awaiter(this, arguments, void 0, function* (name, params = [], filters = {}) {
249
258
  return this.run(name, params, filters).then((result) => { var _a; return Object.values((_a = result[0]) !== null && _a !== void 0 ? _a : {})[0]; });
@@ -24,7 +24,7 @@ class PostgresUtils {
24
24
  });
25
25
  }
26
26
  static isReservedWord(word) {
27
- const reservedWords = new Set(['select', 'from', 'where', 'join', 'table', 'user', 'group', 'order', 'limit', 'offset', 'insert', 'update', 'delete']);
27
+ const reservedWords = new Set(['select', 'from', 'where', 'join', 'table', 'user', 'group', 'order', 'limit', 'offset', 'insert', 'update', 'delete', 'to']);
28
28
  return reservedWords.has(word.toLowerCase());
29
29
  }
30
30
  static bindOrDefault(table, object, startIndex) {
@@ -53,6 +53,7 @@ export default class RepositoryDatabasePostgres extends RepositoryDatabase {
53
53
  }): Promise<string[]>;
54
54
  selectHash<T>(tableName: string, select: string, filters?: Partial<T>): Promise<Hash<Primitive>>;
55
55
  run<T>(name: string, params?: Valuable[], filters?: Partial<T>): Promise<T[]>;
56
+ runTable<T>(name: string, params?: Valuable[], filters?: Partial<T>): Promise<T[]>;
56
57
  runValue<T>(name: string, params?: Valuable[], filters?: Partial<T>): Promise<Valuable | undefined>;
57
58
  toWhere(tableName: string, filters?: {
58
59
  [key: string]: Valuable | Array<Valuable>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ismx-nexo-node-app",
3
- "version": "0.4.131",
3
+ "version": "0.4.133",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build": "rm -rf ./dist && npx tsc",
@@ -211,7 +211,15 @@ export default class RepositoryDatabasePostgres extends RepositoryDatabase
211
211
  let { where, values } = this.anyWhere(filters as any);
212
212
  let placeholders = params?.map((_, index) => "$"+(index+1+values.length)) ?? [];
213
213
  let query = `SELECT ${name}(${placeholders.join(',')}) WHERE ${where}`;
214
- return this.query<any>(query, [ ...values, ...params ])
214
+ return this.query<any>(query, [ ...values, ...params ]);
215
+ }
216
+
217
+ async runTable<T>(name: string, params: Valuable[] = [], filters: Partial<T> = {}): Promise<T[]>
218
+ {
219
+ let { where, values } = this.anyWhere(filters as any);
220
+ let placeholders = params?.map((_, index) => "$"+(index+1+values.length)) ?? [];
221
+ let query = `SELECT * FROM ${name}(${placeholders.join(',')}) WHERE ${where}`;
222
+ return this.query<any>(query, [ ...values, ...params ]);
215
223
  }
216
224
 
217
225
  async runValue<T>(name: string, params: Valuable[] = [], filters: Partial<T> = {}): Promise<Valuable | undefined> {
@@ -37,7 +37,7 @@ export default abstract class PostgresUtils
37
37
  }
38
38
 
39
39
  static isReservedWord(word: string): boolean {
40
- const reservedWords = new Set(['select', 'from', 'where', 'join', 'table', 'user', 'group', 'order', 'limit', 'offset', 'insert', 'update', 'delete']);
40
+ const reservedWords = new Set(['select', 'from', 'where', 'join', 'table', 'user', 'group', 'order', 'limit', 'offset', 'insert', 'update', 'delete', 'to']);
41
41
  return reservedWords.has(word.toLowerCase());
42
42
  }
43
43