prostgles-server 3.0.155 → 4.0.1

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 (119) hide show
  1. package/dist/AuthHandler.d.ts.map +1 -1
  2. package/dist/AuthHandler.js +6 -3
  3. package/dist/AuthHandler.js.map +1 -1
  4. package/dist/DBEventsManager.d.ts.map +1 -1
  5. package/dist/DBEventsManager.js +5 -4
  6. package/dist/DBEventsManager.js.map +1 -1
  7. package/dist/DBSchemaBuilder.js +14 -14
  8. package/dist/DBSchemaBuilder.js.map +1 -1
  9. package/dist/DboBuilder/QueryBuilder/Functions.js +1 -1
  10. package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
  11. package/dist/DboBuilder/QueryBuilder/makeSelectQuery.js.map +1 -1
  12. package/dist/DboBuilder/TableHandler.js +1 -2
  13. package/dist/DboBuilder/TableHandler.js.map +1 -1
  14. package/dist/DboBuilder/ViewHandler.d.ts.map +1 -1
  15. package/dist/DboBuilder/ViewHandler.js +10 -8
  16. package/dist/DboBuilder/ViewHandler.js.map +1 -1
  17. package/dist/DboBuilder/getCondition.js +1 -1
  18. package/dist/DboBuilder/getCondition.js.map +1 -1
  19. package/dist/DboBuilder/insert.js +1 -1
  20. package/dist/DboBuilder/insert.js.map +1 -1
  21. package/dist/DboBuilder/insertDataParse.js +4 -3
  22. package/dist/DboBuilder/insertDataParse.js.map +1 -1
  23. package/dist/DboBuilder/subscribe.d.ts +2 -2
  24. package/dist/DboBuilder/subscribe.d.ts.map +1 -1
  25. package/dist/DboBuilder/subscribe.js +3 -4
  26. package/dist/DboBuilder/subscribe.js.map +1 -1
  27. package/dist/DboBuilder.d.ts.map +1 -1
  28. package/dist/DboBuilder.js +5 -4
  29. package/dist/DboBuilder.js.map +1 -1
  30. package/dist/FileManager.js +1 -1
  31. package/dist/FileManager.js.map +1 -1
  32. package/dist/Filtering.js.map +1 -1
  33. package/dist/JSONBValidation/validation.js.map +1 -1
  34. package/dist/Prostgles.js +1 -1
  35. package/dist/Prostgles.js.map +1 -1
  36. package/dist/PubSubManager/PubSubManager.d.ts +9 -2
  37. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  38. package/dist/PubSubManager/PubSubManager.js +16 -46
  39. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  40. package/dist/PubSubManager/addSub.d.ts +2 -1
  41. package/dist/PubSubManager/addSub.d.ts.map +1 -1
  42. package/dist/PubSubManager/addSub.js +26 -16
  43. package/dist/PubSubManager/addSub.js.map +1 -1
  44. package/dist/PubSubManager/notifListener.d.ts.map +1 -1
  45. package/dist/PubSubManager/notifListener.js +5 -3
  46. package/dist/PubSubManager/notifListener.js.map +1 -1
  47. package/dist/PubSubManager/pushSubData.d.ts +3 -0
  48. package/dist/PubSubManager/pushSubData.d.ts.map +1 -0
  49. package/dist/PubSubManager/pushSubData.js +48 -0
  50. package/dist/PubSubManager/pushSubData.js.map +1 -0
  51. package/dist/PublishParser.d.ts.map +1 -1
  52. package/dist/PublishParser.js +4 -3
  53. package/dist/PublishParser.js.map +1 -1
  54. package/dist/TableConfig/TableConfig.js.map +1 -1
  55. package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
  56. package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
  57. package/lib/AuthHandler.d.ts.map +1 -1
  58. package/lib/AuthHandler.js +6 -3
  59. package/lib/AuthHandler.ts +12 -7
  60. package/lib/DBEventsManager.d.ts.map +1 -1
  61. package/lib/DBEventsManager.js +5 -4
  62. package/lib/DBEventsManager.ts +10 -9
  63. package/lib/DBSchemaBuilder.js +14 -14
  64. package/lib/DBSchemaBuilder.ts +14 -14
  65. package/lib/DboBuilder/QueryBuilder/Functions.js +1 -1
  66. package/lib/DboBuilder/QueryBuilder/Functions.ts +2 -2
  67. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.ts +1 -1
  68. package/lib/DboBuilder/TableHandler.js +1 -2
  69. package/lib/DboBuilder/TableHandler.ts +3 -3
  70. package/lib/DboBuilder/ViewHandler.d.ts.map +1 -1
  71. package/lib/DboBuilder/ViewHandler.js +10 -8
  72. package/lib/DboBuilder/ViewHandler.ts +22 -20
  73. package/lib/DboBuilder/getCondition.js +1 -1
  74. package/lib/DboBuilder/getCondition.ts +2 -2
  75. package/lib/DboBuilder/insert.js +1 -1
  76. package/lib/DboBuilder/insert.ts +1 -1
  77. package/lib/DboBuilder/insertDataParse.js +4 -3
  78. package/lib/DboBuilder/insertDataParse.ts +15 -13
  79. package/lib/DboBuilder/subscribe.d.ts +2 -2
  80. package/lib/DboBuilder/subscribe.d.ts.map +1 -1
  81. package/lib/DboBuilder/subscribe.js +3 -4
  82. package/lib/DboBuilder/subscribe.ts +8 -9
  83. package/lib/DboBuilder.d.ts.map +1 -1
  84. package/lib/DboBuilder.js +5 -4
  85. package/lib/DboBuilder.ts +15 -21
  86. package/lib/FileManager.js +1 -1
  87. package/lib/FileManager.ts +5 -5
  88. package/lib/Filtering.ts +1 -1
  89. package/lib/JSONBValidation/validation.ts +3 -3
  90. package/lib/Prostgles.js +1 -1
  91. package/lib/Prostgles.ts +3 -3
  92. package/lib/PubSubManager/PubSubManager.d.ts +8 -1
  93. package/lib/PubSubManager/PubSubManager.d.ts.map +1 -1
  94. package/lib/PubSubManager/PubSubManager.js +14 -44
  95. package/lib/PubSubManager/PubSubManager.ts +17 -44
  96. package/lib/PubSubManager/addSub.d.ts +2 -1
  97. package/lib/PubSubManager/addSub.d.ts.map +1 -1
  98. package/lib/PubSubManager/addSub.js +26 -16
  99. package/lib/PubSubManager/addSub.ts +28 -20
  100. package/lib/PubSubManager/notifListener.d.ts.map +1 -1
  101. package/lib/PubSubManager/notifListener.js +5 -3
  102. package/lib/PubSubManager/notifListener.ts +5 -3
  103. package/lib/PubSubManager/pushSubData.d.ts +3 -0
  104. package/lib/PubSubManager/pushSubData.d.ts.map +1 -0
  105. package/lib/PubSubManager/pushSubData.js +47 -0
  106. package/lib/PubSubManager/pushSubData.ts +47 -0
  107. package/lib/PublishParser.d.ts.map +1 -1
  108. package/lib/PublishParser.js +4 -3
  109. package/lib/PublishParser.ts +4 -3
  110. package/lib/TableConfig/TableConfig.ts +7 -7
  111. package/lib/TableConfig/getConstraintDefinitionQueries.ts +1 -1
  112. package/lib/TableConfig/getTableColumnQueries.ts +2 -2
  113. package/package.json +2 -2
  114. package/tests/client/PID.txt +1 -1
  115. package/tests/client/package-lock.json +15 -15
  116. package/tests/client/package.json +1 -1
  117. package/tests/server/DBoGenerated.d.ts +2 -2
  118. package/tests/server/package-lock.json +3 -3
  119. package/tsconfig.json +1 -1
@@ -35,7 +35,7 @@ export async function getCondition(
35
35
  const ERR = "Invalid exists filter. \nExpecting somethibng like: \n | { $exists: { tableName.tableName2: Filter } } \n | { $exists: { \"**.tableName3\": Filter } }\n | { path: string[]; filter: AnyObject }"
36
36
  const SP_WILDCARD = "**";
37
37
  const exists: ExistsFilterConfig[] = getKeys(filter)
38
- .filter(k => EXISTS_KEYS.includes(k as EXISTS_KEY) && Object.keys(filter[k] ?? {}).length)
38
+ .filter((k ): k is typeof EXISTS_KEYS[number] => EXISTS_KEYS.includes(k as EXISTS_KEY) && !!Object.keys(filter[k] ?? {}).length)
39
39
  .map(key => {
40
40
 
41
41
  const isJoined = key.toLowerCase().includes("join");
@@ -49,7 +49,7 @@ export async function getCondition(
49
49
  const dataKeys = Object.keys(filterValue);
50
50
  const isDetailed = dataKeys.length === 2 && dataKeys.every(key => ["path", "filter"].includes(key));
51
51
 
52
- const firstKey = dataKeys[0];
52
+ const firstKey = dataKeys[0]!;
53
53
 
54
54
  /**
55
55
  * Prevent some errors with table names that contain "."
@@ -37,7 +37,7 @@ async function insert(rowOrRows, param2, param3_unused, tableRules, localParams)
37
37
  const keys = Object.keys(forcedData);
38
38
  if (keys.length) {
39
39
  const dataCols = keys.filter(k => this.column_names.includes(k));
40
- const nestedInsertCols = keys.filter(k => !this.column_names.includes(k) && this.dboBuilder.dbo[k].insert);
40
+ const nestedInsertCols = keys.filter(k => !this.column_names.includes(k) && this.dboBuilder.dbo[k]?.insert);
41
41
  if (nestedInsertCols.length) {
42
42
  throw `Nested insert not supported for forcedData rule: ${nestedInsertCols}`;
43
43
  }
@@ -45,7 +45,7 @@ export async function insert(this: TableHandler, rowOrRows: (AnyObject | AnyObje
45
45
  const keys = Object.keys(forcedData);
46
46
  if (keys.length) {
47
47
  const dataCols = keys.filter(k => this.column_names.includes(k));
48
- const nestedInsertCols = keys.filter(k => !this.column_names.includes(k) && this.dboBuilder.dbo[k].insert);
48
+ const nestedInsertCols = keys.filter(k => !this.column_names.includes(k) && this.dboBuilder.dbo[k]?.insert);
49
49
  if(nestedInsertCols.length){
50
50
  throw `Nested insert not supported for forcedData rule: ${nestedInsertCols}`;
51
51
  }
@@ -164,8 +164,8 @@ async function insertDataParse(data, param2, param3_unused, tableRules, _localPa
164
164
  throw "Only media allowed to have nested inserts more than 2 tables apart";
165
165
  }
166
166
  /* We expect tbl2 to have only 2 columns (media_id and foreign_id) */
167
- if (!cols2 || !(cols2.filter(c => c.references?.[0].ftable === fileTable).length === 1 &&
168
- cols2.filter(c => c.references?.[0].ftable === _this.name).length === 1)) {
167
+ if (!cols2 || !(cols2.filter(c => c.references?.[0]?.ftable === fileTable).length === 1 &&
168
+ cols2.filter(c => c.references?.[0]?.ftable === _this.name).length === 1)) {
169
169
  console.log({ tbl1, tbl2, tbl3, name: _this.name, tthisName: this.name });
170
170
  throw "Second joining table (" + tbl2 + ") not of expected format. Must contain exactly one reference column for each table (file table and target table) ";
171
171
  }
@@ -235,8 +235,9 @@ const getJoinPath = async (tableHandler, targetTable) => {
235
235
  const referencedInsert = async (tableHandler, dbTX, localParams, targetTable, targetData) => {
236
236
  const thisInfo = await tableHandler.getInfo();
237
237
  await getJoinPath(tableHandler, targetTable);
238
- if (!targetData || !dbTX?.[targetTable] || !("insert" in dbTX[targetTable]))
238
+ if (!targetData || !dbTX?.[targetTable] || !("insert" in dbTX[targetTable])) {
239
239
  throw new Error("childInsertErr: Table handler missing for referenced table: " + targetTable);
240
+ }
240
241
  const childRules = await canInsert(tableHandler, targetTable, localParams);
241
242
  if (thisInfo.has_media === "one" && thisInfo.media_table_name === targetTable && Array.isArray(targetData) && targetData.length > 1) {
242
243
  throw "Constraint check fail: Cannot insert more than one record into " + JSON.stringify(targetTable);
@@ -65,9 +65,9 @@ export async function insertDataParse(
65
65
  }
66
66
  if (insertedCol) {
67
67
  return {
68
- tableName: insertedCol.references![0].ftable!,
68
+ tableName: insertedCol.references![0]!.ftable!,
69
69
  col: insertedCol.name,
70
- fcol: insertedCol.references![0].fcols[0]!
70
+ fcol: insertedCol.references![0]!.fcols[0]!
71
71
  }
72
72
  }
73
73
  return undefined;
@@ -145,11 +145,11 @@ export async function insertDataParse(
145
145
  }
146
146
  }
147
147
  const colRows = await referencedInsert(_this, dbTX, newLocalParams, colInsert.tableName, row[colInsert.col]);
148
- if (!Array.isArray(colRows) || colRows.length !== 1 || [null, undefined].includes(colRows[0][colInsert.fcol])) {
148
+ if (!Array.isArray(colRows) || colRows.length !== 1 || [null, undefined].includes(colRows[0]![colInsert.fcol])) {
149
149
  throw new Error("Could not do nested column insert: Unexpected return " + JSON.stringify(colRows))
150
150
  }
151
151
 
152
- const foreignKey = colRows[0][colInsert.fcol];
152
+ const foreignKey = colRows[0]![colInsert.fcol];
153
153
  rootData[colInsert.col] = foreignKey;
154
154
  }
155
155
  }
@@ -179,8 +179,8 @@ export async function insertDataParse(
179
179
  const [tbl1, tbl2, tbl3] = path;
180
180
  targetTableRules = await canInsert(this, targetTable, localParams); // tbl3
181
181
 
182
- const cols2 = this.dboBuilder.dbo[tbl2].columns || [];
183
- if (!this.dboBuilder.dbo[tbl2]) throw "Invalid/disallowed table: " + tbl2;
182
+ const cols2 = this.dboBuilder.dbo[tbl2!]!.columns || [];
183
+ if (!this.dboBuilder.dbo[tbl2!]) throw "Invalid/disallowed table: " + tbl2;
184
184
  const colsRefT1 = cols2?.filter(c => c.references?.some(rc => rc.cols.length === 1 && rc.ftable === tbl1));
185
185
 
186
186
 
@@ -196,7 +196,7 @@ export async function insertDataParse(
196
196
  childDataItems.map((d: AnyObject) => {
197
197
  const result = { ...d };
198
198
  colsRefT1.map(col => {
199
- result[col.references![0].cols[0]] = fullRootResult[col.references![0].fcols[0]]
199
+ result[col.references![0]!.cols[0]!] = fullRootResult[col.references![0]!.fcols[0]!]
200
200
  })
201
201
  return result;
202
202
  }),
@@ -216,8 +216,8 @@ export async function insertDataParse(
216
216
 
217
217
  /* We expect tbl2 to have only 2 columns (media_id and foreign_id) */
218
218
  if (!cols2 || !(
219
- cols2.filter(c => c.references?.[0].ftable === fileTable).length === 1 &&
220
- cols2.filter(c => c.references?.[0].ftable === _this.name).length === 1
219
+ cols2.filter(c => c.references?.[0]?.ftable === fileTable).length === 1 &&
220
+ cols2.filter(c => c.references?.[0]?.ftable === _this.name).length === 1
221
221
  )) {
222
222
  console.log({ tbl1, tbl2, tbl3, name: _this.name, tthisName: this.name })
223
223
  throw "Second joining table (" + tbl2 + ") not of expected format. Must contain exactly one reference column for each table (file table and target table) ";
@@ -230,14 +230,14 @@ export async function insertDataParse(
230
230
  const tbl2Row: AnyObject = {};
231
231
 
232
232
  colsRefT3.map(col => {
233
- tbl2Row[col.name] = t3Child[col.references![0].fcols[0]];
233
+ tbl2Row[col.name] = t3Child[col.references![0]!.fcols[0]!];
234
234
  })
235
235
  colsRefT1.map(col => {
236
- tbl2Row[col.name] = fullRootResult[col.references![0].fcols[0]];
236
+ tbl2Row[col.name] = fullRootResult[col.references![0]!.fcols[0]!];
237
237
  })
238
238
  // console.log({ rootResult, tbl2Row, t3Child, colsRefT3, colsRefT1, t: this.t?.ctx?.start });
239
239
 
240
- await childInsert(tbl2Row, tbl2);//.then(() => {});
240
+ await childInsert(tbl2Row, tbl2!);//.then(() => {});
241
241
  }));
242
242
 
243
243
  } else {
@@ -307,7 +307,9 @@ const referencedInsert = async (tableHandler: TableHandler, dbTX: TableHandlers
307
307
  const thisInfo = await tableHandler.getInfo();
308
308
  await getJoinPath(tableHandler, targetTable);
309
309
 
310
- if (!targetData || !dbTX?.[targetTable] || !("insert" in dbTX[targetTable])) throw new Error("childInsertErr: Table handler missing for referenced table: " + targetTable);
310
+ if (!targetData || !dbTX?.[targetTable] || !("insert" in dbTX[targetTable]!)) {
311
+ throw new Error("childInsertErr: Table handler missing for referenced table: " + targetTable);
312
+ }
311
313
 
312
314
  const childRules = await canInsert(tableHandler, targetTable, localParams);
313
315
 
@@ -1,4 +1,4 @@
1
- import { AnyObject, SubscribeParams } from "prostgles-types";
1
+ import { AnyObject, SubscribeParams, SubscriptionChannels } from "prostgles-types";
2
2
  import { Filter, LocalParams } from "../DboBuilder";
3
3
  import { TableRule } from "../PublishParser";
4
4
  import { ViewHandler } from "./ViewHandler";
@@ -6,6 +6,6 @@ export type LocalFunc = (items: AnyObject[]) => any;
6
6
  declare function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFunc: LocalFunc): Promise<{
7
7
  unsubscribe: () => any;
8
8
  }>;
9
- declare function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFunc: undefined, table_rules: TableRule | undefined, localParams: LocalParams): Promise<string>;
9
+ declare function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFunc: undefined, table_rules: TableRule | undefined, localParams: LocalParams): Promise<SubscriptionChannels>;
10
10
  export { subscribe };
11
11
  //# sourceMappingURL=subscribe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAc,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC;AAEpD,iBAAe,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC,CAAA;AAC/I,iBAAe,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,GAAG,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAsFzL,OAAO,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAc,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC;AAEpD,iBAAe,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC,CAAA;AAC/I,iBAAe,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,GAAG,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAqFvM,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -42,24 +42,23 @@ async function subscribe(filter, params, localFunc, table_rules, localParams) {
42
42
  throttle,
43
43
  last_throttled: 0,
44
44
  };
45
+ const pubSubManager = await this.dboBuilder.getPubSubManager();
45
46
  if (!localFunc) {
46
47
  const { socket } = localParams ?? {};
47
- const pubSubManager = await this.dboBuilder.getPubSubManager();
48
48
  return pubSubManager.addSub({
49
49
  ...commonSubOpts,
50
50
  socket,
51
51
  func: undefined,
52
52
  socket_id: socket?.id,
53
- }).then(channelName => ({ channelName }));
53
+ });
54
54
  }
55
55
  else {
56
- const pubSubManager = await this.dboBuilder.getPubSubManager();
57
56
  pubSubManager.addSub({
58
57
  ...commonSubOpts,
59
58
  socket: undefined,
60
59
  func: localFunc,
61
60
  socket_id: undefined,
62
- }).then(channelName => ({ channelName }));
61
+ });
63
62
  const unsubscribe = async () => {
64
63
  const pubSubManager = await this.dboBuilder.getPubSubManager();
65
64
  pubSubManager.removeLocalSub(this.name, condition, localFunc);
@@ -1,4 +1,4 @@
1
- import { AnyObject, SubscribeParams } from "prostgles-types";
1
+ import { AnyObject, SubscribeParams, SubscriptionChannels } from "prostgles-types";
2
2
  import { Filter, LocalParams, parseError } from "../DboBuilder";
3
3
  import { TableRule } from "../PublishParser";
4
4
  import { omitKeys } from "../PubSubManager/PubSubManager";
@@ -8,8 +8,8 @@ import { getSubscribeRelatedTables } from "./getSubscribeRelatedTables";
8
8
  export type LocalFunc = (items: AnyObject[]) => any;
9
9
 
10
10
  async function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFunc: LocalFunc): Promise<{ unsubscribe: () => any }>
11
- async function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFunc: undefined, table_rules: TableRule | undefined, localParams: LocalParams): Promise<string>
12
- async function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFunc?: LocalFunc, table_rules?: TableRule, localParams?: LocalParams): Promise<{ unsubscribe: () => any } | string>
11
+ async function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFunc: undefined, table_rules: TableRule | undefined, localParams: LocalParams): Promise<SubscriptionChannels>
12
+ async function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFunc?: LocalFunc, table_rules?: TableRule, localParams?: LocalParams): Promise<{ unsubscribe: () => any } | SubscriptionChannels>
13
13
  {
14
14
 
15
15
  try {
@@ -60,27 +60,26 @@ async function subscribe(this: ViewHandler, filter: Filter, params: SubscribePar
60
60
  last_throttled: 0,
61
61
  } as const;
62
62
 
63
+ const pubSubManager = await this.dboBuilder.getPubSubManager();
63
64
  if (!localFunc) {
64
65
 
65
66
  const { socket } = localParams ?? {};
66
- const pubSubManager = await this.dboBuilder.getPubSubManager();
67
67
  return pubSubManager.addSub({
68
68
  ...commonSubOpts,
69
69
  socket,
70
70
  func: undefined,
71
71
  socket_id: socket?.id,
72
- }).then(channelName => ({ channelName })) as any;
73
-
72
+ });
73
+
74
74
  } else {
75
75
 
76
- const pubSubManager = await this.dboBuilder.getPubSubManager();
77
76
  pubSubManager.addSub({
78
77
  ...commonSubOpts,
79
78
  socket: undefined,
80
79
  func: localFunc,
81
80
  socket_id: undefined,
82
- }).then(channelName => ({ channelName }));
83
-
81
+ });
82
+
84
83
  const unsubscribe = async () => {
85
84
  const pubSubManager = await this.dboBuilder.getPubSubManager();
86
85
  pubSubManager.removeLocalSub(this.name, condition, localFunc)
@@ -1 +1 @@
1
- {"version":3,"file":"DboBuilder.d.ts","sourceRoot":"","sources":["DboBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DboBuilder.d.ts","sourceRoot":"","sources":["DboBuilder.ts"],"names":[],"mappings":"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"}
package/lib/DboBuilder.js CHANGED
@@ -73,12 +73,12 @@ function canBeUsedAsIsInTypescript(str) {
73
73
  if (!str)
74
74
  return false;
75
75
  const isAlphaNumericOrUnderline = str.match(/^[a-z0-9_]+$/i);
76
- const startsWithCharOrUnderscore = str[0].match(/^[a-z_]+$/i);
76
+ const startsWithCharOrUnderscore = str[0]?.match(/^[a-z_]+$/i);
77
77
  return Boolean(isAlphaNumericOrUnderline && startsWithCharOrUnderscore);
78
78
  }
79
79
  function escapeTSNames(str, capitalize = false) {
80
80
  let res = str;
81
- res = (capitalize ? str[0].toUpperCase() : str[0]) + str.slice(1);
81
+ res = (capitalize ? str[0]?.toUpperCase() : str[0]) + str.slice(1);
82
82
  if (canBeUsedAsIsInTypescript(res))
83
83
  return res;
84
84
  return JSON.stringify(res);
@@ -103,8 +103,9 @@ function makeErrorFromPGError(err, localParams, view, allowedKeys) {
103
103
  if (constraint) {
104
104
  const cols = view.columns.filter(c => (!allowedKeys || allowedKeys.includes(c.name)) &&
105
105
  constraint.conkey.includes(c.ordinal_position));
106
- if (cols.length) {
107
- errObject.column = cols[0].name;
106
+ const [firstCol] = cols;
107
+ if (firstCol) {
108
+ errObject.column = firstCol.name;
108
109
  errObject.columns = cols.map(c => c.name);
109
110
  }
110
111
  }
package/lib/DboBuilder.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  import * as Bluebird from "bluebird";
8
8
 
9
9
  import * as pgPromise from 'pg-promise';
10
- import { canRunSQL, runSQL } from "./DboBuilder/runSQL";
10
+ import { runSQL } from "./DboBuilder/runSQL";
11
11
  import pg = require('pg-promise/typescript/pg-subset');
12
12
  import {
13
13
  ColumnInfo, SQLOptions,
@@ -17,10 +17,9 @@ import {
17
17
  TableInfo as TInfo,
18
18
  SQLHandler,
19
19
  AnyObject,
20
- SQLResult,
21
- Select,
20
+ SQLResult,
22
21
  JoinMaker,
23
- isObject, isDefined, getKeys, ProstglesError, _PG_geometric, EXISTS_KEY
22
+ isObject, getKeys, ProstglesError, _PG_geometric, EXISTS_KEY
24
23
  } from "prostgles-types";
25
24
 
26
25
  export type SortItem = {
@@ -207,13 +206,13 @@ function snakify(str: string, capitalize = false): string {
207
206
  function canBeUsedAsIsInTypescript(str: string): boolean {
208
207
  if (!str) return false;
209
208
  const isAlphaNumericOrUnderline = str.match(/^[a-z0-9_]+$/i);
210
- const startsWithCharOrUnderscore = str[0].match(/^[a-z_]+$/i);
209
+ const startsWithCharOrUnderscore = str[0]?.match(/^[a-z_]+$/i);
211
210
  return Boolean(isAlphaNumericOrUnderline && startsWithCharOrUnderscore);
212
211
  }
213
212
 
214
213
  export function escapeTSNames(str: string, capitalize = false): string {
215
214
  let res = str;
216
- res = (capitalize ? str[0].toUpperCase() : str[0]) + str.slice(1);
215
+ res = (capitalize ? str[0]?.toUpperCase() : str[0]) + str.slice(1);
217
216
  if (canBeUsedAsIsInTypescript(res)) return res;
218
217
  return JSON.stringify(res);
219
218
  }
@@ -227,11 +226,6 @@ export type Aggregation = {
227
226
 
228
227
  export type Filter = AnyObject | { $and: Filter[] } | { $or: Filter[] };
229
228
 
230
- type SelectFunc = {
231
- alias: string;
232
- getQuery: (alias: string, tableAlias?: string) => string;
233
- }
234
-
235
229
  export type JoinInfo = {
236
230
  expectOne?: boolean,
237
231
  paths: {
@@ -355,8 +349,9 @@ export function makeErrorFromPGError(err: any, localParams?: LocalParams, view?:
355
349
  (!allowedKeys || allowedKeys.includes(c.name)) &&
356
350
  constraint.conkey.includes(c.ordinal_position)
357
351
  );
358
- if (cols.length) {
359
- errObject.column = cols[0].name;
352
+ const [firstCol] = cols;
353
+ if (firstCol) {
354
+ errObject.column = firstCol.name;
360
355
  errObject.columns = cols.map(c => c.name);
361
356
  }
362
357
  }
@@ -590,16 +585,16 @@ export class DboBuilder {
590
585
  this.joinGraph = {};
591
586
  this.joins.forEach(({ tables }) => {
592
587
  const _t = tables.slice().sort(),
593
- t1 = _t[0],
594
- t2 = _t[1];
588
+ t1 = _t[0]!,
589
+ t2 = _t[1]!;
595
590
 
596
591
  if (t1 === t2) return;
597
592
 
598
593
  this.joinGraph![t1] ??= {};
599
- this.joinGraph![t1][t2] = 1;
594
+ this.joinGraph![t1]![t2] = 1;
600
595
 
601
596
  this.joinGraph![t2] ??= {};
602
- this.joinGraph![t2][t1] = 1;
597
+ this.joinGraph![t2]![t1] = 1;
603
598
  });
604
599
  const tables = Array.from(new Set(this.joins.flatMap(t => t.tables)));
605
600
  this.joinPaths = [];
@@ -734,9 +729,8 @@ export class DboBuilder {
734
729
  dbTX.sql = this.runSQL;
735
730
  }
736
731
  getKeys(dbTX).map(k => {
737
- dbTX[k].dbTX = dbTX;
738
- });
739
-
732
+ dbTX[k]!.dbTX = dbTX;
733
+ });
740
734
  dbTX.sql = (q, args, opts, localP) => this.runSQL(q, args, opts, { tx: { dbTX, t }, ...(localP ?? {}) })
741
735
 
742
736
  return cb(dbTX, t);
@@ -1315,7 +1309,7 @@ async function getInferredJoins2(schema: TableSchema[]): Promise<Join[]> {
1315
1309
  tov.columns.map(col => {
1316
1310
  if (col.references) {
1317
1311
  col.references.forEach(r => {
1318
- const joinCols = r.cols.map((c, i) => ({ col1: c, col2: r.fcols[i] }));
1312
+ const joinCols = r.cols.map((c, i) => ({ col1: c, col2: r.fcols[i]! }));
1319
1313
  let type: Join["type"] = "one-many";
1320
1314
  const ftablePkeys = schema.find(_tov => _tov.name === r.ftable)?.columns.filter(fcol => fcol.is_pkey);
1321
1315
  if (ftablePkeys?.length && ftablePkeys.every(fkey => r.fcols.includes(fkey.name))) {
@@ -613,7 +613,7 @@ const getFileTypeFromFilename = (fileName) => {
613
613
  const nameParts = fileName.split(".");
614
614
  if (nameParts.length < 2)
615
615
  return undefined;
616
- const nameExt = nameParts[nameParts.length - 1].toLowerCase(), mime = (0, prostgles_types_1.getKeys)(prostgles_types_1.CONTENT_TYPE_TO_EXT).find(k => prostgles_types_1.CONTENT_TYPE_TO_EXT[k].includes(nameExt));
616
+ const nameExt = nameParts.at(-1).toLowerCase(), mime = (0, prostgles_types_1.getKeys)(prostgles_types_1.CONTENT_TYPE_TO_EXT).find(k => prostgles_types_1.CONTENT_TYPE_TO_EXT[k].includes(nameExt));
617
617
  if (!mime)
618
618
  return undefined;
619
619
  return {
@@ -202,7 +202,7 @@ export default class FileManager {
202
202
  const tableConfig = config.referencedTables?.[tableName];
203
203
 
204
204
  if(tableConfig && isObject(tableConfig) && tableConfig.referenceColumns[colName]){
205
- const colConfig = tableConfig.referenceColumns[colName];
205
+ const colConfig = tableConfig.referenceColumns[colName]!;
206
206
  if(colConfig.maxFileSizeMB){
207
207
  const actualBufferSize = Buffer.byteLength(buffer);
208
208
  if((actualBufferSize/1e6) > colConfig.maxFileSizeMB){
@@ -551,7 +551,7 @@ export default class FileManager {
551
551
  if(!this.dbo[refTable]) throw `Referenced table (${refTable}) from fileTable.referencedTables prostgles init config does not exist`;
552
552
  const cols = await (this.dbo[refTable] as TableHandler).getColumns();
553
553
 
554
- const tableConfig = referencedTables[refTable];
554
+ const tableConfig = referencedTables[refTable]!;
555
555
  if(typeof tableConfig !== "string"){
556
556
 
557
557
  for await (const colName of getKeys(tableConfig.referenceColumns)){
@@ -595,7 +595,7 @@ export default class FileManager {
595
595
  console.error(`Could not make link table for ${refTable}. ${pKeyFields} must have exactly one primary key column. Current pkeys: ${pKeyFields.map(f => f.name)}`);
596
596
  }
597
597
 
598
- const pkField = pKeyFields[0];
598
+ const pkField = pKeyFields[0]!;
599
599
  const refType = referencedTables[refTable];
600
600
 
601
601
  if(!this.dbo[lookupTableName]){
@@ -612,7 +612,7 @@ export default class FileManager {
612
612
  console.log(`Created ${action}`);
613
613
 
614
614
  } else {
615
- const cols = await this.dbo[lookupTableName].getColumns!();
615
+ const cols = await this.dbo[lookupTableName]!.getColumns!();
616
616
  const badCols = cols.filter(c => !c.references);
617
617
  await Promise.all(badCols.map(async badCol => {
618
618
  console.error(
@@ -741,7 +741,7 @@ export const getFileTypeFromFilename = (fileName: string): { mime: ALLOWED_CONTE
741
741
 
742
742
  if(nameParts.length < 2) return undefined;
743
743
 
744
- const nameExt = nameParts[nameParts.length - 1].toLowerCase(),
744
+ const nameExt = nameParts.at(-1)!.toLowerCase(),
745
745
  mime = getKeys(CONTENT_TYPE_TO_EXT).find(k => (CONTENT_TYPE_TO_EXT[k] as readonly string[]).includes(nameExt));
746
746
 
747
747
  if(!mime) return undefined;
package/lib/Filtering.ts CHANGED
@@ -41,7 +41,7 @@ export const parseFilterItem = (args: ParseFilterItemArgs): string => {
41
41
  .join(" AND ")
42
42
  }
43
43
 
44
- const fKey: string = fKeys[0];
44
+ const fKey: string = fKeys[0]!;
45
45
 
46
46
  /* Exists filter */
47
47
  if(EXISTS_KEYS.find(k => k in _f)){
@@ -17,7 +17,7 @@ export function validate<T>(obj: T, key: keyof T, rawFieldType: JSONB.FieldType)
17
17
  if ("type" in fieldType && fieldType.type) {
18
18
  if (typeof fieldType.type !== "string") {
19
19
  getKeys(fieldType.type).forEach(subKey => {
20
- validate(val, subKey as any, (fieldType.type as JSONB.ObjectType["type"])[subKey])
20
+ validate(val, subKey as any, (fieldType.type as JSONB.ObjectType["type"])[subKey]!)
21
21
  });
22
22
  }
23
23
  err += fieldType.type;
@@ -35,7 +35,7 @@ export function validate<T>(obj: T, key: keyof T, rawFieldType: JSONB.FieldType)
35
35
 
36
36
  export function validateSchema<S extends JSONB.ObjectType["type"]>(schema: S, obj: JSONB.GetObjectType<S>, objName?: string, optional = false) {
37
37
  if ((!schema || isEmpty(schema)) && !optional) throw new Error(`Expecting ${objName} to be defined`);
38
- getKeys(schema).forEach(k => validate(obj as any, k, schema[k]));
38
+ getKeys(schema).forEach(k => validate(obj as any, k, schema[k]!));
39
39
  }
40
40
 
41
41
 
@@ -67,7 +67,7 @@ export function getJSONBSchemaTSTypes(schema: JSONB.JSONBSchema, colOpts: ColOpt
67
67
  const { type } = fieldType;
68
68
  const spacing = isOneOf ? " " : " ";
69
69
  let objDef = ` {${spacing}` + getKeys(type).map(k => {
70
- const fieldType = getFieldTypeObj(type[k]);
70
+ const fieldType = getFieldTypeObj(type[k]!);
71
71
  return `${spacing}${k}${fieldType.optional ? "?" : ""}: ` + addSemicolonIfMissing(getFieldType(fieldType, true, undefined, depth + 1));
72
72
  }).join(" ") + `${spacing}}`;
73
73
  if(!isOneOf){
package/lib/Prostgles.js CHANGED
@@ -616,7 +616,7 @@ class Prostgles {
616
616
  const joinTables2 = [];
617
617
  if (this.opts.joins) {
618
618
  const _joinTables2 = this.dboBuilder.getJoinPaths()
619
- .filter(jp => ![jp.t1, jp.t2].find(t => !schema[t] || !schema[t].findOne)).map(jp => [jp.t1, jp.t2].sort());
619
+ .filter(jp => ![jp.t1, jp.t2].find(t => !schema[t] || !schema[t]?.findOne)).map(jp => [jp.t1, jp.t2].sort());
620
620
  _joinTables2.map(jt => {
621
621
  if (!joinTables2.find(_jt => _jt.join() === jt.join())) {
622
622
  joinTables2.push(jt);
package/lib/Prostgles.ts CHANGED
@@ -804,7 +804,7 @@ export class Prostgles {
804
804
  const clientInfo = await this.authHandler.getClientInfo({ socket });
805
805
  const valid_table_command_rules = await this.publishParser.getValidatedRequestRule({ tableName, command, localParams: { socket } }, clientInfo);
806
806
  if (valid_table_command_rules) {
807
- const res = await this.dbo[tableName][command]!(param1, param2, param3, valid_table_command_rules, { socket, isRemoteRequest: true });
807
+ const res = await this.dbo[tableName]![command]!(param1, param2, param3, valid_table_command_rules, { socket, isRemoteRequest: true });
808
808
  cb(null, res);
809
809
  } else throw `Invalid OR disallowed request: ${tableName}.${command} `;
810
810
 
@@ -837,7 +837,7 @@ export class Prostgles {
837
837
  cb("Disallowed/missing method " + JSON.stringify(method));
838
838
  } else {
839
839
  try {
840
- const methodDef = methods[method];
840
+ const methodDef = methods[method]!;
841
841
  const onRun = (typeof methodDef === "function" || typeof (methodDef as any).then === "function")? (methodDef as Function) : methodDef.run;
842
842
  const res = await onRun(...params);
843
843
  cb(null, res);
@@ -919,7 +919,7 @@ export class Prostgles {
919
919
  if (this.opts.joins) {
920
920
  const _joinTables2 = this.dboBuilder.getJoinPaths()
921
921
  .filter(jp =>
922
- ![jp.t1, jp.t2].find(t => !schema[t] || !schema[t].findOne)
922
+ ![jp.t1, jp.t2].find(t => !schema[t] || !schema[t]?.findOne)
923
923
  ).map(jp => [jp.t1, jp.t2].sort());
924
924
  _joinTables2.map(jt => {
925
925
  if (!joinTables2.find(_jt => _jt.join() === jt.join())) {
@@ -142,7 +142,14 @@ export declare class PubSubManager {
142
142
  removeLocalSub(tableName: string, conditionRaw: string, func: (items: object[]) => any): void;
143
143
  getSyncs(table_name: string, condition: string): SyncParams[];
144
144
  notifListener: any;
145
- pushSubData(sub: Subscription, err?: any): true | Promise<unknown>;
145
+ getSubData: (sub: Subscription) => Promise<{
146
+ data: any[];
147
+ err?: undefined;
148
+ } | {
149
+ data?: undefined;
150
+ err: any;
151
+ }>;
152
+ pushSubData: any;
146
153
  upsertSocket(socket: any): void;
147
154
  syncTimeout?: ReturnType<typeof setTimeout>;
148
155
  syncData(sync: SyncParams, clientData: ClientExpressData | undefined, source: "trigger" | "client"): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"PubSubManager.d.ts","sourceRoot":"","sources":["PubSubManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PubSubManager.d.ts","sourceRoot":"","sources":["PubSubManager.ts"],"names":[],"mappings":"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"}