prostgles-server 4.2.58 → 4.2.60

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 (65) hide show
  1. package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
  2. package/dist/DboBuilder/TableHandler/TableHandler.js +5 -2
  3. package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
  4. package/dist/DboBuilder/TableHandler/delete.d.ts.map +1 -1
  5. package/dist/DboBuilder/TableHandler/delete.js +8 -3
  6. package/dist/DboBuilder/TableHandler/delete.js.map +1 -1
  7. package/dist/DboBuilder/TableHandler/insert.d.ts +1 -1
  8. package/dist/DboBuilder/TableHandler/insert.d.ts.map +1 -1
  9. package/dist/DboBuilder/TableHandler/insert.js +6 -3
  10. package/dist/DboBuilder/TableHandler/insert.js.map +1 -1
  11. package/dist/DboBuilder/TableHandler/update.d.ts.map +1 -1
  12. package/dist/DboBuilder/TableHandler/update.js +5 -2
  13. package/dist/DboBuilder/TableHandler/update.js.map +1 -1
  14. package/dist/DboBuilder/TableHandler/updateBatch.d.ts.map +1 -1
  15. package/dist/DboBuilder/TableHandler/updateBatch.js +10 -4
  16. package/dist/DboBuilder/TableHandler/updateBatch.js.map +1 -1
  17. package/dist/DboBuilder/TableHandler/upsert.d.ts.map +1 -1
  18. package/dist/DboBuilder/TableHandler/upsert.js +5 -2
  19. package/dist/DboBuilder/TableHandler/upsert.js.map +1 -1
  20. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts +5 -2
  21. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
  22. package/dist/DboBuilder/ViewHandler/ViewHandler.js +10 -11
  23. package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
  24. package/dist/DboBuilder/ViewHandler/count.d.ts.map +1 -1
  25. package/dist/DboBuilder/ViewHandler/count.js +5 -2
  26. package/dist/DboBuilder/ViewHandler/count.js.map +1 -1
  27. package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
  28. package/dist/DboBuilder/ViewHandler/find.js +6 -2
  29. package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
  30. package/dist/DboBuilder/ViewHandler/getInfo.d.ts +1 -1
  31. package/dist/DboBuilder/ViewHandler/getInfo.d.ts.map +1 -1
  32. package/dist/DboBuilder/ViewHandler/getInfo.js +4 -2
  33. package/dist/DboBuilder/ViewHandler/getInfo.js.map +1 -1
  34. package/dist/DboBuilder/ViewHandler/size.d.ts.map +1 -1
  35. package/dist/DboBuilder/ViewHandler/size.js +5 -2
  36. package/dist/DboBuilder/ViewHandler/size.js.map +1 -1
  37. package/dist/DboBuilder/ViewHandler/subscribe.d.ts.map +1 -1
  38. package/dist/DboBuilder/ViewHandler/subscribe.js +6 -2
  39. package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
  40. package/dist/DboBuilder/getColumns.d.ts +1 -1
  41. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  42. package/dist/DboBuilder/getColumns.js +3 -1
  43. package/dist/DboBuilder/getColumns.js.map +1 -1
  44. package/dist/Logging.d.ts +2 -0
  45. package/dist/Logging.d.ts.map +1 -1
  46. package/dist/Prostgles.js +1 -1
  47. package/dist/Prostgles.js.map +1 -1
  48. package/lib/DboBuilder/TableHandler/TableHandler.ts +6 -5
  49. package/lib/DboBuilder/TableHandler/delete.ts +9 -4
  50. package/lib/DboBuilder/TableHandler/insert.ts +8 -7
  51. package/lib/DboBuilder/TableHandler/update.ts +6 -4
  52. package/lib/DboBuilder/TableHandler/updateBatch.ts +13 -6
  53. package/lib/DboBuilder/TableHandler/upsert.ts +6 -3
  54. package/lib/DboBuilder/ViewHandler/ViewHandler.ts +10 -10
  55. package/lib/DboBuilder/ViewHandler/count.ts +7 -3
  56. package/lib/DboBuilder/ViewHandler/find.ts +7 -3
  57. package/lib/DboBuilder/ViewHandler/getInfo.ts +9 -6
  58. package/lib/DboBuilder/ViewHandler/size.ts +6 -3
  59. package/lib/DboBuilder/ViewHandler/subscribe.ts +7 -4
  60. package/lib/DboBuilder/getColumns.ts +7 -6
  61. package/lib/Logging.ts +2 -0
  62. package/lib/Prostgles.ts +1 -1
  63. package/package.json +1 -1
  64. package/tests/server/DBoGenerated.d.ts +36 -0
  65. package/tests/server/package-lock.json +1 -1
@@ -2,11 +2,11 @@ import { AnyObject, UpdateParams } from "prostgles-types";
2
2
  import { TableHandler } from "./TableHandler";
3
3
  import { Filter, LocalParams } from "../DboBuilderTypes";
4
4
  import { TableRule } from "../../PublishParser/publishTypesAndUtils";
5
- import { parseError } from "../dboBuilderUtils";
5
+ import { getErrorAsObject, parseError } from "../dboBuilderUtils";
6
6
 
7
7
  export const upsert = async function(this: TableHandler, filter: Filter, newData: AnyObject, params?: UpdateParams, table_rules?: TableRule, localParams?: LocalParams): Promise<any> {
8
+ const start = Date.now();
8
9
  try {
9
- await this._log({ command: "upsert", localParams, data: { filter, newData, params } });
10
10
  const _upsert = async function (tblH: TableHandler) {
11
11
  return tblH.find(filter, { select: "", limit: 1 }, undefined, table_rules, localParams)
12
12
  .then(exists => {
@@ -22,10 +22,13 @@ export const upsert = async function(this: TableHandler, filter: Filter, newData
22
22
  if (!this.tx) {
23
23
  return this.dboBuilder.getTX(dbTX => _upsert(dbTX[this.name] as TableHandler))
24
24
  } else {
25
- return _upsert(this);
25
+ const result = await _upsert(this);
26
+ await this._log({ command: "upsert", localParams, data: { filter, newData, params }, duration: Date.now() - start });
27
+ return result;
26
28
  }
27
29
 
28
30
  } catch (e) {
31
+ await this._log({ command: "upsert", localParams, data: { filter, newData, params }, duration: Date.now() - start, error: getErrorAsObject(e) });
29
32
  if (localParams && localParams.testRule) throw e;
30
33
  throw parseError(e, `dbo.${this.name}.upsert()`);
31
34
  }
@@ -85,8 +85,8 @@ export class ViewHandler {
85
85
  });
86
86
  }
87
87
 
88
- _log = ({ command, data, localParams }: Pick<TableEvent, "command" | "data" | "localParams">) => {
89
- return this.dboBuilder.prostgles.opts.onLog?.({ type: "table", tableName: this.name, command, data, localParams })
88
+ _log = ({ command, data, localParams, duration, error }: Pick<TableEvent, "command" | "data" | "localParams"> & { duration: number; error?: any; }) => {
89
+ return this.dboBuilder.prostgles.opts.onLog?.({ type: "table", tableName: this.name, command, data, localParams, duration, error });
90
90
  }
91
91
 
92
92
  getRowHashSelect(allowedFields: FieldFilter, alias?: string, tableAlias?: string): string {
@@ -268,17 +268,17 @@ export class ViewHandler {
268
268
  }
269
269
  find = find.bind(this);
270
270
 
271
- async findOne(filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<any> {
271
+ async findOne(filter?: Filter, selectParams?: SelectParams, _param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<any> {
272
272
 
273
273
  try {
274
- await this._log({ command: "find", localParams, data: { filter, selectParams } });
275
- const { select = "*", orderBy, offset = 0 } = selectParams || {};
276
- if (selectParams) {
277
- const good_params = ["select", "orderBy", "offset"];
278
- const bad_params = Object.keys(selectParams).filter(k => !good_params.includes(k));
279
- if (bad_params && bad_params.length) throw "Invalid params: " + bad_params.join(", ") + " \n Expecting: " + good_params.join(", ");
274
+ const { limit, ...params } = selectParams ?? {};
275
+ if (limit) {
276
+ throw "limit not allowed in findOne()";
280
277
  }
281
- return this.find(filter, { select, orderBy, limit: 1, offset, returnType: "row" }, undefined, table_rules, localParams);
278
+ const start = Date.now();
279
+ const result = await this.find(filter, { ...params, limit: 1, returnType: "row" }, undefined, table_rules, localParams);
280
+ await this._log({ command: "find", localParams, data: { filter, selectParams }, duration: Date.now() - start });
281
+ return result;
282
282
  } catch (e) {
283
283
  if (localParams && localParams.testRule) throw e;
284
284
  throw parseError(e, `Issue with dbo.${this.name}.findOne()`);
@@ -1,5 +1,5 @@
1
1
  import { SelectParams } from "prostgles-types";
2
- import { parseError, withUserRLS } from "../dboBuilderUtils";
2
+ import { getErrorAsObject, parseError, withUserRLS } from "../dboBuilderUtils";
3
3
  import { ViewHandler } from "./ViewHandler";
4
4
  import { Filter, LocalParams } from "../DboBuilder";
5
5
  import { TableRule } from "../../PublishParser/publishTypesAndUtils";
@@ -7,9 +7,9 @@ import { TableRule } from "../../PublishParser/publishTypesAndUtils";
7
7
  export async function count(this: ViewHandler, _filter?: Filter, selectParams?: SelectParams, _param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<number> {
8
8
  const filter = _filter || {};
9
9
  const { limit: _limit, ...selectParamsWithoutLimit } = selectParams ?? {};
10
+ const start = Date.now();
10
11
  try {
11
- await this._log({ command: "count", localParams, data: { filter } });
12
- return await this.find(filter, { select: selectParamsWithoutLimit?.select ?? "", limit: 0 }, undefined, table_rules, localParams)
12
+ const result = await this.find(filter, { select: selectParamsWithoutLimit?.select ?? "", limit: 0 }, undefined, table_rules, localParams)
13
13
  .then(async _allowed => {
14
14
  const findQuery = await this.find(
15
15
  filter,
@@ -28,7 +28,11 @@ export async function count(this: ViewHandler, _filter?: Filter, selectParams?:
28
28
  const handler = this.tx?.t ?? this.db;
29
29
  return handler.one(query).then(({ count }) => +count);
30
30
  });
31
+
32
+ await this._log({ command: "count", localParams, data: { filter }, duration: Date.now() - start });
33
+ return result;
31
34
  } catch (e) {
35
+ await this._log({ command: "count", localParams, data: { filter }, duration: Date.now() - start, error: getErrorAsObject(e) });
32
36
  if (localParams && localParams.testRule) throw e;
33
37
  throw parseError(e, `dbo.${this.name}.count()`)
34
38
  }
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { SelectParams, isObject } from "prostgles-types";
3
- import { Filter, LocalParams, getClientErrorFromPGError, parseError, withUserRLS } from "../DboBuilder";
3
+ import { Filter, LocalParams, getClientErrorFromPGError, getErrorAsObject, parseError, withUserRLS } from "../DboBuilder";
4
4
  import { canRunSQL } from "../runSQL";
5
5
  import { TableRule } from "../../PublishParser/PublishParser";
6
6
  import { getNewQuery } from "../QueryBuilder/getNewQuery";
@@ -10,8 +10,9 @@ import { ViewHandler } from "./ViewHandler";
10
10
  import { NewQuery } from "../QueryBuilder/QueryBuilder";
11
11
 
12
12
  export const find = async function(this: ViewHandler, filter?: Filter, selectParams?: SelectParams, _?: undefined, tableRules?: TableRule, localParams?: LocalParams): Promise<any[]> {
13
+ const start = Date.now();
14
+ const command = selectParams?.limit === 1 && selectParams?.returnType === "row"? "findOne" : "find";
13
15
  try {
14
- await this._log({ command: "find", localParams, data: { filter, selectParams } });
15
16
  filter = filter || {};
16
17
  const allowedReturnTypes = Object.keys({
17
18
  row: 1, statement: 1, value: 1, values: 1,
@@ -92,7 +93,7 @@ export const find = async function(this: ViewHandler, filter?: Filter, selectPar
92
93
  return ((localParams?.returnQuery === "noRLS"? queryWithoutRLS : queryWithRLS) as unknown as any[]);
93
94
  }
94
95
 
95
- return runQueryReturnType({
96
+ const result = await runQueryReturnType({
96
97
  queryWithoutRLS,
97
98
  queryWithRLS,
98
99
  returnType,
@@ -101,7 +102,10 @@ export const find = async function(this: ViewHandler, filter?: Filter, selectPar
101
102
  newQuery,
102
103
  });
103
104
 
105
+ await this._log({ command, localParams, data: { filter, selectParams }, duration: Date.now() - start });
106
+ return result;
104
107
  } catch (e) {
108
+ this._log({ command, localParams, data: { filter, selectParams }, duration: Date.now() - start, error: getErrorAsObject(e) });
105
109
  if (localParams && localParams.testRule) throw e;
106
110
  throw parseError(e, `dbo.${this.name}.find()`);
107
111
  }
@@ -1,17 +1,20 @@
1
- import {
2
- TableInfo as TInfo, pickKeys,
3
- } from "prostgles-types/dist";
4
- import { LocalParams } from "../DboBuilder";
1
+ import {
2
+ TableInfo as TInfo
3
+ } from "prostgles-types/dist";
5
4
  import { TableRule } from "../../PublishParser/PublishParser";
5
+ import { LocalParams } from "../DboBuilder";
6
6
  import { ViewHandler } from "./ViewHandler";
7
7
 
8
8
  export async function getInfo(this: ViewHandler, lang?: string, param2?: any, param3?: any, tableRules?: TableRule, localParams?: LocalParams): Promise<TInfo> {
9
- await this._log({ command: "getInfo", localParams, data: { lang } });
10
9
  const p = this.getValidatedRules(tableRules, localParams);
11
- if (!p.getInfo) throw "Not allowed";
10
+ if (!p.getInfo) {
11
+ await this._log({ command: "getInfo", localParams, data: { lang }, duration: 0, error: "Not allowed" });
12
+ throw "Not allowed";
13
+ }
12
14
 
13
15
  const fileTableName = this.dboBuilder.prostgles?.opts?.fileTable?.tableName;
14
16
 
17
+ await this._log({ command: "getInfo", localParams, data: { lang }, duration: 0 });
15
18
  return {
16
19
  oid: this.tableOrViewInfo.oid,
17
20
  comment: this.tableOrViewInfo.comment,
@@ -2,12 +2,12 @@ import { SelectParams } from "prostgles-types";
2
2
  import { Filter, LocalParams } from "../DboBuilderTypes";
3
3
  import { ViewHandler } from "./ViewHandler"
4
4
  import { TableRule } from "../../PublishParser/publishTypesAndUtils";
5
- import { parseError, withUserRLS } from "../dboBuilderUtils";
5
+ import { getErrorAsObject, parseError, withUserRLS } from "../dboBuilderUtils";
6
6
  export async function size(this: ViewHandler, _filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<string> {
7
7
  const filter = _filter || {};
8
+ const start = Date.now();
8
9
  try {
9
- await this._log({ command: "size", localParams, data: { filter, selectParams } });
10
- return await this.find(filter, { ...selectParams, limit: 2 }, undefined, table_rules, localParams)
10
+ const result = await this.find(filter, { ...selectParams, limit: 2 }, undefined, table_rules, localParams)
11
11
  .then(async _allowed => {
12
12
 
13
13
  const q: string = await this.find(
@@ -28,7 +28,10 @@ export async function size(this: ViewHandler, _filter?: Filter, selectParams?: S
28
28
 
29
29
  return (this.tx?.t || this.db).one(query).then(({ size }) => size || '0');
30
30
  });
31
+ await this._log({ command: "size", localParams, data: { filter, selectParams }, duration: Date.now() - start });
32
+ return result;
31
33
  } catch (e) {
34
+ await this._log({ command: "size", localParams, data: { filter, selectParams }, duration: Date.now() - start, error: getErrorAsObject(e) });
32
35
  if (localParams && localParams.testRule) throw e;
33
36
  throw parseError(e, `dbo.${this.name}.size()`);
34
37
  }
@@ -1,6 +1,6 @@
1
1
  import { AnyObject, SubscribeParams, SubscriptionChannels } from "prostgles-types";
2
2
  import { TableRule } from "../../PublishParser/PublishParser";
3
- import { Filter, LocalParams, parseError } from "../DboBuilder";
3
+ import { Filter, LocalParams, getErrorAsObject, parseError } from "../DboBuilder";
4
4
  import { NewQuery } from "../QueryBuilder/QueryBuilder";
5
5
  import { ViewHandler } from "./ViewHandler";
6
6
  import { getSubscribeRelatedTables } from "../getSubscribeRelatedTables";
@@ -27,9 +27,8 @@ async function subscribe(this: ViewHandler, filter: Filter, params: SubscribePar
27
27
  async function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFuncs: undefined, table_rules: TableRule | undefined, localParams: LocalParams): Promise<SubscriptionChannels>
28
28
  async function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFuncs?: LocalFuncs, table_rules?: TableRule, localParams?: LocalParams): Promise<{ unsubscribe: () => any } | SubscriptionChannels>
29
29
  {
30
-
30
+ const start = Date.now();
31
31
  try {
32
- await this._log({ command: "subscribe", localParams, data: { filter, params } });
33
32
 
34
33
  if (this.tx) {
35
34
  throw "subscribe not allowed within transactions";
@@ -82,13 +81,15 @@ async function subscribe(this: ViewHandler, filter: Filter, params: SubscribePar
82
81
  if (!localFuncs) {
83
82
 
84
83
  const { socket } = localParams ?? {};
85
- return pubSubManager.addSub({
84
+ const result = await pubSubManager.addSub({
86
85
  ...commonSubOpts,
87
86
  socket,
88
87
  localFuncs: undefined,
89
88
  socket_id: socket?.id,
90
89
  });
91
90
 
91
+ await this._log({ command: "subscribe", localParams, data: { filter, params }, duration: Date.now() - start });
92
+ return result;
92
93
  } else {
93
94
 
94
95
  const { channelName } = await pubSubManager.addSub({
@@ -102,10 +103,12 @@ async function subscribe(this: ViewHandler, filter: Filter, params: SubscribePar
102
103
  const pubSubManager = await this.dboBuilder.getPubSubManager();
103
104
  pubSubManager.removeLocalSub(channelName, localFuncs)
104
105
  };
106
+ await this._log({ command: "subscribe", localParams, data: { filter, params }, duration: Date.now() - start });
105
107
  const res: { unsubscribe: () => any } = Object.freeze({ unsubscribe })
106
108
  return res;
107
109
  }
108
110
  } catch (e) {
111
+ await this._log({ command: "subscribe", localParams, data: { filter, params }, duration: Date.now() - start, error: getErrorAsObject(e) });
109
112
  if (localParams && localParams.testRule) throw e;
110
113
  throw parseError(e, `dbo.${this.name}.subscribe()`);
111
114
  }
@@ -1,9 +1,9 @@
1
- import {
2
- AnyObject, PG_COLUMN_UDT_DATA_TYPE,
3
- ValidatedColumnInfo, _PG_geometric, isObject
1
+ import {
2
+ AnyObject, PG_COLUMN_UDT_DATA_TYPE,
3
+ ValidatedColumnInfo, _PG_geometric, isObject
4
4
  } from "prostgles-types";
5
- import { isPlainObject, LocalParams, parseError, postgresToTsType } from "./DboBuilder";
6
5
  import { TableRule } from "../PublishParser/PublishParser";
6
+ import { LocalParams, getErrorAsObject, parseError, postgresToTsType } from "./DboBuilder";
7
7
  import { TableHandler } from "./TableHandler/TableHandler";
8
8
  import { ViewHandler } from "./ViewHandler/ViewHandler";
9
9
 
@@ -17,9 +17,8 @@ export async function getColumns(
17
17
  tableRules?: TableRule,
18
18
  localParams?: LocalParams
19
19
  ): Promise<ValidatedColumnInfo[]> {
20
-
20
+ const start = Date.now();
21
21
  try {
22
- await this._log({ command: "getColumns", localParams, data: { lang, params } });
23
22
 
24
23
  const p = this.getValidatedRules(tableRules, localParams);
25
24
 
@@ -94,9 +93,11 @@ export async function getColumns(
94
93
  return result;
95
94
  }).filter(c => c.select || c.update || c.delete || c.insert)
96
95
 
96
+ await this._log({ command: "getColumns", localParams, data: { lang, params }, duration: Date.now() - start });
97
97
  return columns;
98
98
 
99
99
  } catch (e) {
100
+ await this._log({ command: "getColumns", localParams, data: { lang, params }, duration: Date.now() - start, error: getErrorAsObject(e) });
100
101
  throw parseError(e, `db.${this.name}.getColumns()`);
101
102
  }
102
103
  }
package/lib/Logging.ts CHANGED
@@ -19,6 +19,8 @@ export namespace EventTypes {
19
19
  command: keyof TableHandler;
20
20
  data: AnyObject;
21
21
  localParams: LocalParams | undefined;
22
+ duration: number;
23
+ error?: any;
22
24
  };
23
25
 
24
26
  export type Sync = {
package/lib/Prostgles.ts CHANGED
@@ -705,7 +705,7 @@ export class Prostgles {
705
705
  socket.emit(CHANNELS.SCHEMA, clientSchema);
706
706
 
707
707
  } catch (err) {
708
- socket.emit(CHANNELS.SCHEMA, { err });
708
+ socket.emit(CHANNELS.SCHEMA, { err: getErrorAsObject(err) });
709
709
  }
710
710
  }
711
711
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.58",
3
+ "version": "4.2.60",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -246,6 +246,18 @@ export type DBSchemaGenerated = {
246
246
  name?: null | string;
247
247
  };
248
248
  };
249
+ logs: {
250
+ is_view: false;
251
+ select: true;
252
+ insert: true;
253
+ update: true;
254
+ delete: true;
255
+ columns: {
256
+ created_at?: string;
257
+ id?: string;
258
+ request?: null | any;
259
+ };
260
+ };
249
261
  lookup_col1: {
250
262
  is_view: false;
251
263
  select: true;
@@ -292,6 +304,19 @@ export type DBSchemaGenerated = {
292
304
  y?: null | number;
293
305
  };
294
306
  };
307
+ plans: {
308
+ is_view: false;
309
+ select: true;
310
+ insert: true;
311
+ update: true;
312
+ delete: true;
313
+ columns: {
314
+ id: string;
315
+ info?: null | any;
316
+ name: string;
317
+ price?: null | string;
318
+ };
319
+ };
295
320
  "prostgles_test.basic": {
296
321
  is_view: false;
297
322
  select: true;
@@ -388,6 +413,17 @@ export type DBSchemaGenerated = {
388
413
  srtext?: null | string;
389
414
  };
390
415
  };
416
+ subscriptions: {
417
+ is_view: false;
418
+ select: true;
419
+ insert: true;
420
+ update: true;
421
+ delete: true;
422
+ columns: {
423
+ created_at?: string;
424
+ plan_id: string;
425
+ };
426
+ };
391
427
  symbols: {
392
428
  is_view: false;
393
429
  select: true;
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "4.2.57",
24
+ "version": "4.2.59",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "bluebird": "^3.7.2",