prostgles-server 2.0.155 → 2.0.158

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.
@@ -1 +1 @@
1
- {"version":3,"file":"SyncReplication.js","sourceRoot":"","sources":["../lib/SyncReplication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncReplication.js","sourceRoot":"","sources":["../lib/SyncReplication.ts"],"names":[],"mappings":"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"}
package/lib/DboBuilder.ts CHANGED
@@ -79,7 +79,7 @@ import { getNewQuery, makeQuery, COMPUTED_FIELDS, SelectItem, FieldSpec, asNameA
79
79
  import {
80
80
  DB, TableRule, SelectRule, InsertRule, UpdateRule, DeleteRule, SyncRule, Joins, Join, Prostgles, PublishParser, ValidateRow
81
81
  } from "./Prostgles";
82
- import { PubSubManager, filterObj, asValue, BasicCallback } from "./PubSubManager";
82
+ import { PubSubManager, asValue, BasicCallback, pickKeys, omitKeys } from "./PubSubManager";
83
83
 
84
84
  import { parseFilterItem } from "./Filtering";
85
85
 
@@ -332,7 +332,7 @@ function makeErr(err: any, localParams?: LocalParams, view?: ViewHandler, allowe
332
332
  }
333
333
  const errObject = {
334
334
  ...((!localParams || !localParams.socket)? err : {}),
335
- ...filterObj(err, ["column", "code", "table", "constraint"]),
335
+ ...pickKeys(err, ["column", "code", "table", "constraint"]),
336
336
  ...(err && err.toString? { txt: err.toString() } : {}),
337
337
  code_info: sqlErrCodeToMsg(err.code)
338
338
  };
@@ -384,7 +384,7 @@ class ColSet {
384
384
 
385
385
  if(isEmpty(data)) throw "No data";
386
386
 
387
- let row = filterObj(data, allowedCols);
387
+ let row = pickKeys(data, allowedCols);
388
388
  if(validate){
389
389
  row = await validate(row);
390
390
  }
@@ -1380,7 +1380,7 @@ export class ViewHandler {
1380
1380
  });
1381
1381
  funcFilterkeys.map(f => {
1382
1382
  const funcArgs = data[f.name];
1383
- if(!Array.isArray(funcArgs)) throw `A function filter must contain an array. E.g: { $funcFilterName: ["col1"] } \n but got: ${JSON.stringify(filterObj(data, [f.name]))} `;
1383
+ if(!Array.isArray(funcArgs)) throw `A function filter must contain an array. E.g: { $funcFilterName: ["col1"] } \n but got: ${JSON.stringify(pickKeys(data, [f.name]))} `;
1384
1384
  const fields = this.parseFieldFilter(f.getFields(funcArgs), true, allowed_colnames);
1385
1385
 
1386
1386
  const dissallowedCols = fields.filter(fname => !allowed_colnames.includes(fname))
@@ -1517,7 +1517,7 @@ export class ViewHandler {
1517
1517
  // const singleFuncs = FUNCTIONS.filter(f => f.singleColArg);
1518
1518
 
1519
1519
 
1520
- const f = filterObj(data, filterKeys) as any
1520
+ const f = pickKeys(data, filterKeys);
1521
1521
  const q = parseFilterItem({
1522
1522
  filter: f,
1523
1523
  tableAlias,
@@ -1933,7 +1933,7 @@ export class TableHandler extends ViewHandler {
1933
1933
  const { filterFields, forcedFilter } = get(table_rules, "select") || {},
1934
1934
  condition = await this.prepareWhere({ filter, forcedFilter, addKeywords: false, filterFields, tableAlias: undefined, localParams, tableRule: table_rules }),
1935
1935
  throttle = get(params, "throttle") || 0,
1936
- selectParams = filterObj(params || {}, [], ["throttle"]);
1936
+ selectParams = omitKeys(params || {}, ["throttle"]);
1937
1937
 
1938
1938
  // const { subOne = false } = localParams || {};
1939
1939
  const filterSize = JSON.stringify(filter || {}).length;
@@ -2274,7 +2274,7 @@ export class TableHandler extends ViewHandler {
2274
2274
  /* Ensure we're using the same transaction */
2275
2275
  const _this = this.t? this : dbTX![this.name] as TableHandler;
2276
2276
 
2277
- let rootData = filterObj(data, undefined, extraKeys);
2277
+ let rootData = Array.isArray(data)? data.map(d => omitKeys(d, extraKeys)) : omitKeys(data, extraKeys);
2278
2278
 
2279
2279
  let insertedChildren: AnyObject[];
2280
2280
  let targetTableRules: TableRule;
@@ -3159,6 +3159,7 @@ export type TxCB = {
3159
3159
  }
3160
3160
 
3161
3161
  if(command === "LISTEN"){
3162
+ if(returnType !== "allowListen") throw new Error(`Your query contains a LISTEN command. Set { returnType: "allowListen" } to get subscription hooks. Or ignore this message`)
3162
3163
  if(!socket) throw "Only allowed with client socket"
3163
3164
  return await this.prostgles.dbEventsManager?.addNotify(query, socket);
3164
3165
 
@@ -3176,7 +3177,7 @@ export type TxCB = {
3176
3177
 
3177
3178
  } else {
3178
3179
 
3179
- let qres: SQLResult = {
3180
+ let qres: SQLResult<typeof returnType> = {
3180
3181
  duration: 0,
3181
3182
  ..._qres,
3182
3183
  fields: fields?.map(f => {
@@ -12,7 +12,7 @@ import * as Bluebird from "bluebird";
12
12
  import * as pgPromise from 'pg-promise';
13
13
  import pg from 'pg-promise/typescript/pg-subset';
14
14
 
15
- import { SelectParamsBasic as SelectParams, OrderBy, FieldFilter, asName, WAL, isEmpty, AnyObject } from "prostgles-types";
15
+ import { SelectParamsBasic as SelectParams, OrderBy, FieldFilter, asName, WAL, isEmpty, AnyObject, getKeys } from "prostgles-types";
16
16
 
17
17
  import { ClientExpressData, syncData } from "./SyncReplication";
18
18
 
@@ -1048,8 +1048,7 @@ export class PubSubManager {
1048
1048
 
1049
1049
 
1050
1050
  syncs.map((s) => {
1051
- log("PG Trigger -> syncData. LR: ", s.lr);
1052
- this.syncData(s);
1051
+ this.syncData(s, undefined, "trigger");
1053
1052
  });
1054
1053
 
1055
1054
  if (!subs) {
@@ -1153,8 +1152,8 @@ export class PubSubManager {
1153
1152
  }
1154
1153
 
1155
1154
  syncTimeout?: ReturnType<typeof setTimeout>;
1156
- async syncData(sync: SyncParams, clientData?: ClientExpressData) {
1157
- return await syncData(this, sync, clientData);
1155
+ async syncData(sync: SyncParams, clientData: ClientExpressData | undefined, source: "trigger" | "client") {
1156
+ return await syncData(this, sync, clientData, source);
1158
1157
  }
1159
1158
 
1160
1159
  /**
@@ -1246,7 +1245,7 @@ export class PubSubManager {
1246
1245
  // } else
1247
1246
  if (data.onSyncRequest) {
1248
1247
  // console.log("syncData from socket")
1249
- this.syncData(newSync, data.onSyncRequest);
1248
+ this.syncData(newSync, data.onSyncRequest, "client");
1250
1249
 
1251
1250
  // console.log("onSyncRequest ", socket._user)
1252
1251
  } else {
@@ -1594,20 +1593,21 @@ export class PubSubManager {
1594
1593
  }
1595
1594
  }
1596
1595
 
1596
+ export function omitKeys<T extends AnyObject, Exclude extends keyof T>(obj: T, exclude: Exclude[]): Omit<T, Exclude> {
1597
+ return pickKeys(obj, getKeys(obj ?? []).filter(k => !exclude.includes(k as any)))
1598
+ }
1597
1599
 
1598
- /* Get only the specified properties of an object */
1599
- export function filterObj(obj: AnyObject, keys: string[] = [], exclude?: string[]): AnyObject {
1600
- if (exclude && exclude.length) keys = Object.keys(obj).filter(k => !exclude.includes(k))
1600
+ export function pickKeys<T extends AnyObject, Include extends keyof T>(obj: T, include: Include[] = []): Pick<T, Include> {
1601
+ let keys = include;
1601
1602
  if (!keys.length) {
1602
- // console.warn("filterObj: returning empty object");
1603
- return {};
1603
+ return {} as any;
1604
1604
  }
1605
1605
  if (obj && keys.length) {
1606
1606
  let res: AnyObject = {};
1607
- keys.map(k => {
1607
+ keys.forEach(k => {
1608
1608
  res[k] = obj[k];
1609
1609
  });
1610
- return res;
1610
+ return res as any;
1611
1611
  }
1612
1612
 
1613
1613
  return obj;
@@ -6,7 +6,7 @@
6
6
 
7
7
  import { pgp, Filter, LocalParams, isPlainObject, TableHandler, ViewHandler, postgresToTsType } from "./DboBuilder";
8
8
  import { TableRule } from "./Prostgles";
9
- import { SelectParamsBasic as SelectParams, isEmpty, FieldFilter, asName, TextFilter_FullTextSearchFilterKeys, TS_PG_Types, ColumnInfo, PG_COLUMN_UDT_DATA_TYPE, isObject } from "prostgles-types";
9
+ import { SelectParamsBasic as SelectParams, isEmpty, FieldFilter, asName, TextFilter_FullTextSearchFilterKeys, ColumnInfo, PG_COLUMN_UDT_DATA_TYPE, isObject } from "prostgles-types";
10
10
  import { get } from "./utils";
11
11
 
12
12
 
@@ -1,5 +1,5 @@
1
1
 
2
- import { PubSubManager, SyncParams, filterObj, log } from "./PubSubManager";
2
+ import { PubSubManager, SyncParams, pickKeys, omitKeys, log } from "./PubSubManager";
3
3
  import { OrderBy, WAL, AnyObject, SyncBatchParams } from "prostgles-types";
4
4
  import { TableHandler } from "./DboBuilder";
5
5
 
@@ -42,8 +42,8 @@ function getNumbers(numberArr: (null | undefined | string | number)[]): number[]
42
42
  return numberArr.filter(v => v !== null && v !== undefined && Number.isFinite(+v)) as any;
43
43
  }
44
44
 
45
- export const syncData = async (_this: PubSubManager, sync: SyncParams, clientData?: ClientExpressData) => {
46
- // console.log("S", clientData)
45
+ export const syncData = async (_this: PubSubManager, sync: SyncParams, clientData: ClientExpressData | undefined, source: "trigger" | "client") => {
46
+ log("syncData", { clientData, sync: pickKeys(sync, ["filter", "last_synced", "lr", "is_syncing"]) , source })
47
47
  const {
48
48
  socket_id, channel_name, table_name, filter,
49
49
  table_rules, allow_delete = false, params,
@@ -162,7 +162,7 @@ export const syncData = async (_this: PubSubManager, sync: SyncParams, clientDat
162
162
  // console.log("deleteData deleteData deleteData " + deleted.length);
163
163
  if(allow_delete){
164
164
  return Promise.all(deleted.map(async d => {
165
- const id_filter = filterObj(d, id_fields);
165
+ const id_filter = pickKeys(d, id_fields);
166
166
  try {
167
167
  await (_this.dbo[table_name] as TableHandler).delete(id_filter, undefined, undefined, table_rules);
168
168
  return 1;
@@ -181,16 +181,13 @@ export const syncData = async (_this: PubSubManager, sync: SyncParams, clientDat
181
181
  * Upserts the given client data where synced_field is higher than on server
182
182
  */
183
183
  upsertData = (data: AnyObject[], isExpress = false) => {
184
- let inserted = 0,
185
- updated = 0,
186
- total = data.length;
187
184
 
188
185
  // console.log("isExpress", isExpress, data);
189
186
 
190
- return _this.dboBuilder.getTX(async dbTX => {
187
+ return _this.dboBuilder.getTX(async (dbTX) => {
191
188
  const tbl = dbTX[table_name] as TableHandler;
192
189
  const existingData = await tbl.find(
193
- { $or: data.map(d => filterObj(d, id_fields)) },
190
+ { $or: data.map(d => pickKeys(d, id_fields)) },
194
191
  {
195
192
  select: [synced_field, ...id_fields] ,
196
193
  orderBy: (orderByAsc as OrderBy),
@@ -198,37 +195,40 @@ export const syncData = async (_this: PubSubManager, sync: SyncParams, clientDat
198
195
  undefined,
199
196
  table_rules
200
197
  );
201
- const inserts = data.filter(d => !existingData.find(ed => rowsIdsMatch(ed, d)));
202
- const updates = data.filter(d => existingData.find(ed => rowsIdsMatch(ed, d) && +ed[synced_field] < +d[synced_field]) );
198
+ let inserts = data.filter(d => !existingData.find(ed => rowsIdsMatch(ed, d)));
199
+ let updates = data.filter(d => existingData.find(ed => rowsIdsMatch(ed, d) && +ed[synced_field] < +d[synced_field]) );
203
200
  try {
204
201
  if(!table_rules) throw "table_rules missing"
205
202
  if(table_rules.update && updates.length){
206
203
  let updateData: [any, any][] = [];
207
204
  await Promise.all(updates.map(upd => {
208
- const id_filter = filterObj(upd, id_fields);
205
+ const id_filter = pickKeys(upd, id_fields);
209
206
  const syncSafeFilter = { $and: [id_filter, { [synced_field]: { "<": upd[synced_field] } } ] }
210
- // return tbl.update(syncSafeFilter, filterObj(upd, [], id_fields), { fixIssues: true }, table_rules)
211
- updateData.push([syncSafeFilter, filterObj(upd, [], id_fields)])
207
+
208
+ updateData.push([syncSafeFilter, omitKeys(upd, id_fields)])
212
209
  }));
213
- await tbl.updateBatch(updateData, { fixIssues: true }, table_rules)
214
- updated = updates.length;
210
+ await tbl.updateBatch(updateData, { fixIssues: true }, table_rules);
211
+ } else {
212
+ updates = [];
215
213
  }
214
+
216
215
  if(table_rules.insert && inserts.length){
217
216
  // const qs = await tbl.insert(inserts, { fixIssues: true }, null, table_rules, { returnQuery: true });
218
217
  // console.log("inserts", qs)
219
218
  await tbl.insert(inserts, { fixIssues: true }, undefined, table_rules);
220
- inserted = inserts.length;
219
+ } else {
220
+ inserts = [];
221
221
  }
222
222
 
223
- return true;
223
+ return { inserts, updates };
224
224
  } catch(e) {
225
225
  console.trace(e);
226
226
  throw e;
227
227
  }
228
228
 
229
- }).then(res => {
230
- log(`upsertData: inserted( ${inserted} ) updated( ${updated} ) total( ${total} )`);
231
- return { inserted , updated , total };
229
+ }).then(({ inserts, updates }) => {
230
+ log(`upsertData: inserted( ${inserts.length} ) updated( ${updates.length} ) total( ${data.length} ) \n last insert ${JSON.stringify(inserts.at(-1))} \n last update ${JSON.stringify(updates.at(-1))}`);
231
+ return { inserted: inserts.length , updated: updates.length , total: data.length };
232
232
  })
233
233
  .catch(err => {
234
234
  console.trace("Something went wrong with syncing to server: \n ->", err, data.length, id_fields);
@@ -381,7 +381,7 @@ export const syncData = async (_this: PubSubManager, sync: SyncParams, clientDat
381
381
  });
382
382
  await Promise.all(to_delete.map(d => {
383
383
  deleted++;
384
- return (_this.dbo[table_name] as TableHandler).delete(filterObj(d, id_fields), { }, undefined, table_rules);
384
+ return (_this.dbo[table_name] as TableHandler).delete(pickKeys(d, id_fields), { }, undefined, table_rules);
385
385
  }));
386
386
  sData = await getServerData(min_synced, offset);
387
387
  }
@@ -447,7 +447,7 @@ export const syncData = async (_this: PubSubManager, sync: SyncParams, clientDat
447
447
  /**
448
448
  * After all data was inserted request SyncInfo from client and sync again if necessary
449
449
  */
450
- _this.syncData(sync, undefined);
450
+ _this.syncData(sync, undefined, source);
451
451
  },
452
452
  })
453
453
  }
@@ -459,7 +459,7 @@ export const syncData = async (_this: PubSubManager, sync: SyncParams, clientDat
459
459
  _this.syncTimeout = setTimeout(() => {
460
460
  _this.syncTimeout = undefined;
461
461
  // console.log("SYNC FROM TIMEOUT")
462
- _this.syncData(sync, undefined);
462
+ _this.syncData(sync, undefined, source);
463
463
  }, throttle)
464
464
  }
465
465
  // console.log("SYNC THROTTLE")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "2.0.155",
3
+ "version": "2.0.158",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -29,7 +29,7 @@
29
29
  "bluebird": "^3.7.2",
30
30
  "file-type": "^16.5.3",
31
31
  "pg-promise": "^10.11.1",
32
- "prostgles-types": "^1.5.129",
32
+ "prostgles-types": "^1.5.131",
33
33
  "sharp": "^0.30.5"
34
34
  },
35
35
  "devDependencies": {
@@ -1 +1 @@
1
- 18091
1
+ 23125
@@ -11,7 +11,7 @@
11
11
  "dependencies": {
12
12
  "@types/node": "^14.14.16",
13
13
  "@types/socket.io-client": "^1.4.35",
14
- "prostgles-client": "^1.5.142",
14
+ "prostgles-client": "^1.5.144",
15
15
  "prostgles-types": "^1.5.68",
16
16
  "socket.io-client": "^4.5.1"
17
17
  }
@@ -73,17 +73,17 @@
73
73
  "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
74
74
  },
75
75
  "node_modules/prostgles-client": {
76
- "version": "1.5.142",
77
- "resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-1.5.142.tgz",
78
- "integrity": "sha512-q4PvTn8dPteN7aJ0On57mq/9AcqXj2sIm+UmFZsyl97ngf9GJ18YUUjlCfhMb/wK0FZHwsM4/+TvyW2TN2xk5w==",
76
+ "version": "1.5.144",
77
+ "resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-1.5.144.tgz",
78
+ "integrity": "sha512-IbLQ6PC3bUgRUHiWQs0p3PXdyAQWprPbRM7VZ4OCAuPzAnOdjyriB+psa04li1AMs9EtKpMkAil+Hks6tgyHpA==",
79
79
  "dependencies": {
80
- "prostgles-types": "^1.5.129"
80
+ "prostgles-types": "^1.5.131"
81
81
  }
82
82
  },
83
83
  "node_modules/prostgles-types": {
84
- "version": "1.5.129",
85
- "resolved": "https://registry.npmjs.org/prostgles-types/-/prostgles-types-1.5.129.tgz",
86
- "integrity": "sha512-2mMfPlXFbVxqBRJvGw63QQdGZmiEWbNjMw6/IzDN5EF59ru1Ph2SkpFN4C0zQ65KHKMVjVJ9FK9TorpVZ7GLbw=="
84
+ "version": "1.5.131",
85
+ "resolved": "https://registry.npmjs.org/prostgles-types/-/prostgles-types-1.5.131.tgz",
86
+ "integrity": "sha512-gJUrlG2JcDFglKMLAf7flMHOQ5+rPSkBct4zhMTJU35wDEU4c9QWuoLaSMj3zhvw4q/wCb4tz4l3nCrNbdPCGw=="
87
87
  },
88
88
  "node_modules/socket.io-client": {
89
89
  "version": "4.5.1",
@@ -187,17 +187,17 @@
187
187
  "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
188
188
  },
189
189
  "prostgles-client": {
190
- "version": "1.5.142",
191
- "resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-1.5.142.tgz",
192
- "integrity": "sha512-q4PvTn8dPteN7aJ0On57mq/9AcqXj2sIm+UmFZsyl97ngf9GJ18YUUjlCfhMb/wK0FZHwsM4/+TvyW2TN2xk5w==",
190
+ "version": "1.5.144",
191
+ "resolved": "https://registry.npmjs.org/prostgles-client/-/prostgles-client-1.5.144.tgz",
192
+ "integrity": "sha512-IbLQ6PC3bUgRUHiWQs0p3PXdyAQWprPbRM7VZ4OCAuPzAnOdjyriB+psa04li1AMs9EtKpMkAil+Hks6tgyHpA==",
193
193
  "requires": {
194
- "prostgles-types": "^1.5.129"
194
+ "prostgles-types": "^1.5.131"
195
195
  }
196
196
  },
197
197
  "prostgles-types": {
198
- "version": "1.5.129",
199
- "resolved": "https://registry.npmjs.org/prostgles-types/-/prostgles-types-1.5.129.tgz",
200
- "integrity": "sha512-2mMfPlXFbVxqBRJvGw63QQdGZmiEWbNjMw6/IzDN5EF59ru1Ph2SkpFN4C0zQ65KHKMVjVJ9FK9TorpVZ7GLbw=="
198
+ "version": "1.5.131",
199
+ "resolved": "https://registry.npmjs.org/prostgles-types/-/prostgles-types-1.5.131.tgz",
200
+ "integrity": "sha512-gJUrlG2JcDFglKMLAf7flMHOQ5+rPSkBct4zhMTJU35wDEU4c9QWuoLaSMj3zhvw4q/wCb4tz4l3nCrNbdPCGw=="
201
201
  },
202
202
  "socket.io-client": {
203
203
  "version": "4.5.1",
@@ -14,7 +14,7 @@
14
14
  "dependencies": {
15
15
  "@types/node": "^14.14.16",
16
16
  "@types/socket.io-client": "^1.4.35",
17
- "prostgles-client": "^1.5.142",
17
+ "prostgles-client": "^1.5.144",
18
18
  "prostgles-types": "^1.5.68",
19
19
  "socket.io-client": "^4.5.1"
20
20
  }
@@ -4,14 +4,13 @@ const assert_1 = require("assert");
4
4
  const isomorphic_queries_1 = require("./isomorphic_queries");
5
5
  async function client_only(db, auth, log, methods) {
6
6
  const testRealtime = () => {
7
- log("Started testRealtime");
8
7
  return new Promise(async (resolve, reject) => {
9
8
  try {
10
9
  /* METHODS */
11
10
  const t222 = await methods.get();
12
11
  assert_1.strict.equal(t222, 222, "methods.get() failed");
13
12
  /* RAWSQL */
14
- await (0, isomorphic_queries_1.tryRunP)("SQL Full result", async (resolve, reject) => {
13
+ await (0, isomorphic_queries_1.tryRun)("SQL Full result", async () => {
15
14
  const sqlStatement = await db.sql("SELECT $1", [1], { returnType: "statement" });
16
15
  assert_1.strict.equal(sqlStatement, "SELECT 1", "db.sql statement query failed");
17
16
  const arrayMode = await db.sql("SELECT 1 as a, 2 as a", undefined, { returnType: "arrayMode" });
@@ -34,29 +33,35 @@ async function client_only(db, auth, log, methods) {
34
33
  udt_name: 'int4',
35
34
  tsDataType: "number"
36
35
  }], "db.sql query failed");
37
- resolve(true);
38
- }, log);
36
+ });
39
37
  await (0, isomorphic_queries_1.tryRunP)("sql LISTEN NOTIFY events", async (resolve, reject) => {
40
- const sub = await db.sql("LISTEN chnl ");
41
- // console.log({ sub })
42
- sub.addListener(notif => {
43
- // console.log({ notif })
44
- if (notif === "hello")
45
- resolve(true);
46
- else
47
- reject("Something went bad");
48
- });
49
- db.sql("NOTIFY chnl , 'hello'; ");
50
- }, log);
38
+ try {
39
+ const sub = await db.sql("LISTEN chnl ", {}, { returnType: "allowListen" });
40
+ if (!("addListener" in sub)) {
41
+ reject("addListener missing");
42
+ return;
43
+ }
44
+ sub.addListener(notif => {
45
+ const expected = "hello";
46
+ if (notif === expected)
47
+ resolve(true);
48
+ else
49
+ reject(`Notif value is not what we expect: ${JSON.stringify(notif)} is not ${JSON.stringify(expected)} (expected) `);
50
+ });
51
+ db.sql("NOTIFY chnl , 'hello'; ");
52
+ }
53
+ catch (e) {
54
+ reject(e);
55
+ }
56
+ });
51
57
  await (0, isomorphic_queries_1.tryRunP)("sql NOTICE events", async (resolve, reject) => {
52
58
  const sub = await db.sql("", {}, { returnType: "noticeSubscription" });
53
- // console.log({ sub })
54
59
  sub.addListener(notice => {
55
- // console.log({ notif })
56
- if (notice.message === "hello2")
60
+ const expected = "hello2";
61
+ if (notice.message === expected)
57
62
  resolve(true);
58
63
  else
59
- reject("Something went bad");
64
+ reject(`Notice value is not what we expect: ${JSON.stringify(notice)} is not ${JSON.stringify(expected)} (expected) `);
60
65
  });
61
66
  db.sql(`
62
67
  DO $$
@@ -68,13 +73,8 @@ async function client_only(db, auth, log, methods) {
68
73
  `);
69
74
  }, log);
70
75
  /* REPLICATION */
71
- let start = Date.now();
72
- const msLimit = 20000;
73
- setTimeout(() => {
74
- const msg = "Replication test failed due to taking longer than " + msLimit + "ms";
75
- log(msg);
76
- reject(msg);
77
- }, msLimit);
76
+ log("Started testRealtime");
77
+ const start = Date.now();
78
78
  await db.planes.delete();
79
79
  let inserts = new Array(100).fill(null).map((d, i) => ({ id: i, flight_number: `FN${i}`, x: Math.random(), y: i }));
80
80
  await db.planes.insert(inserts);
@@ -131,8 +131,22 @@ async function client_only(db, auth, log, methods) {
131
131
  resolve(true);
132
132
  }
133
133
  });
134
- // sync.upsert(inserts)
135
- // await db.planes.update({}, { x: 20, last_updated: Date.now() });
134
+ const msLimit = 20000;
135
+ setTimeout(async () => {
136
+ const dbCounts = {
137
+ x10: await db.planes.count({ x: 10 }),
138
+ x20: await db.planes.count({ x: 20 }),
139
+ latest: await db.planes.findOne({}, { orderBy: { last_updated: -1 } }),
140
+ };
141
+ const syncCounts = {
142
+ x10: sync?.getItems().filter(d => d.x == 10).length,
143
+ x20: sync?.getItems().filter(d => d.x == 20).length,
144
+ latest: sync?.getItems()?.sort((a, b) => +b.last_updated - +a.last_updated)[0],
145
+ };
146
+ const msg = "Replication test failed due to taking longer than " + msLimit + "ms \n " + JSON.stringify({ dbCounts, syncCounts }, null, 2);
147
+ log(msg);
148
+ reject(msg);
149
+ }, msLimit);
136
150
  }
137
151
  catch (err) {
138
152
  log(JSON.stringify(err));