prostgles-server 3.0.154 → 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 (136) 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 +28 -26
  37. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  38. package/dist/PubSubManager/PubSubManager.js +53 -433
  39. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  40. package/dist/PubSubManager/addSub.d.ts +8 -0
  41. package/dist/PubSubManager/addSub.d.ts.map +1 -0
  42. package/dist/PubSubManager/addSub.js +163 -0
  43. package/dist/PubSubManager/addSub.js.map +1 -0
  44. package/dist/PubSubManager/addSync.d.ts +8 -0
  45. package/dist/PubSubManager/addSync.d.ts.map +1 -0
  46. package/dist/PubSubManager/addSync.js +110 -0
  47. package/dist/PubSubManager/addSync.js.map +1 -0
  48. package/dist/PubSubManager/notifListener.d.ts +5 -0
  49. package/dist/PubSubManager/notifListener.d.ts.map +1 -0
  50. package/dist/PubSubManager/notifListener.js +99 -0
  51. package/dist/PubSubManager/notifListener.js.map +1 -0
  52. package/dist/PubSubManager/pushSubData.d.ts +3 -0
  53. package/dist/PubSubManager/pushSubData.d.ts.map +1 -0
  54. package/dist/PubSubManager/pushSubData.js +48 -0
  55. package/dist/PubSubManager/pushSubData.js.map +1 -0
  56. package/dist/PublishParser.d.ts.map +1 -1
  57. package/dist/PublishParser.js +4 -3
  58. package/dist/PublishParser.js.map +1 -1
  59. package/dist/TableConfig/TableConfig.js.map +1 -1
  60. package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
  61. package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
  62. package/lib/AuthHandler.d.ts.map +1 -1
  63. package/lib/AuthHandler.js +6 -3
  64. package/lib/AuthHandler.ts +12 -7
  65. package/lib/DBEventsManager.d.ts.map +1 -1
  66. package/lib/DBEventsManager.js +5 -4
  67. package/lib/DBEventsManager.ts +10 -9
  68. package/lib/DBSchemaBuilder.js +14 -14
  69. package/lib/DBSchemaBuilder.ts +14 -14
  70. package/lib/DboBuilder/QueryBuilder/Functions.js +1 -1
  71. package/lib/DboBuilder/QueryBuilder/Functions.ts +2 -2
  72. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.ts +1 -1
  73. package/lib/DboBuilder/TableHandler.d.ts +1 -5
  74. package/lib/DboBuilder/TableHandler.d.ts.map +1 -1
  75. package/lib/DboBuilder/TableHandler.js +1 -2
  76. package/lib/DboBuilder/TableHandler.ts +3 -3
  77. package/lib/DboBuilder/ViewHandler.d.ts.map +1 -1
  78. package/lib/DboBuilder/ViewHandler.js +10 -8
  79. package/lib/DboBuilder/ViewHandler.ts +22 -20
  80. package/lib/DboBuilder/getCondition.js +1 -1
  81. package/lib/DboBuilder/getCondition.ts +2 -2
  82. package/lib/DboBuilder/insert.js +1 -1
  83. package/lib/DboBuilder/insert.ts +1 -1
  84. package/lib/DboBuilder/insertDataParse.js +4 -3
  85. package/lib/DboBuilder/insertDataParse.ts +15 -13
  86. package/lib/DboBuilder/subscribe.d.ts +2 -2
  87. package/lib/DboBuilder/subscribe.d.ts.map +1 -1
  88. package/lib/DboBuilder/subscribe.js +3 -4
  89. package/lib/DboBuilder/subscribe.ts +8 -9
  90. package/lib/DboBuilder.d.ts.map +1 -1
  91. package/lib/DboBuilder.js +5 -4
  92. package/lib/DboBuilder.ts +15 -21
  93. package/lib/FileManager.js +1 -1
  94. package/lib/FileManager.ts +5 -5
  95. package/lib/Filtering.ts +1 -1
  96. package/lib/JSONBValidation/validation.ts +3 -3
  97. package/lib/Prostgles.js +1 -1
  98. package/lib/Prostgles.ts +3 -3
  99. package/lib/PubSubManager/PubSubManager.d.ts +27 -29
  100. package/lib/PubSubManager/PubSubManager.d.ts.map +1 -1
  101. package/lib/PubSubManager/PubSubManager.js +54 -437
  102. package/lib/PubSubManager/PubSubManager.ts +93 -546
  103. package/lib/PubSubManager/addSub.d.ts +8 -0
  104. package/lib/PubSubManager/addSub.d.ts.map +1 -0
  105. package/lib/PubSubManager/addSub.js +162 -0
  106. package/lib/PubSubManager/addSub.ts +186 -0
  107. package/lib/PubSubManager/addSync.d.ts +8 -0
  108. package/lib/PubSubManager/addSync.d.ts.map +1 -0
  109. package/lib/PubSubManager/addSync.js +109 -0
  110. package/lib/PubSubManager/addSync.ts +127 -0
  111. package/lib/PubSubManager/notifListener.d.ts +5 -0
  112. package/lib/PubSubManager/notifListener.d.ts.map +1 -0
  113. package/lib/PubSubManager/notifListener.js +98 -0
  114. package/lib/PubSubManager/notifListener.ts +124 -0
  115. package/lib/PubSubManager/pushSubData.d.ts +3 -0
  116. package/lib/PubSubManager/pushSubData.d.ts.map +1 -0
  117. package/lib/PubSubManager/pushSubData.js +47 -0
  118. package/lib/PubSubManager/pushSubData.ts +47 -0
  119. package/lib/PublishParser.d.ts.map +1 -1
  120. package/lib/PublishParser.js +4 -3
  121. package/lib/PublishParser.ts +4 -3
  122. package/lib/TableConfig/TableConfig.ts +7 -7
  123. package/lib/TableConfig/getConstraintDefinitionQueries.ts +1 -1
  124. package/lib/TableConfig/getTableColumnQueries.ts +2 -2
  125. package/package.json +2 -2
  126. package/tests/client/PID.txt +1 -1
  127. package/tests/client/package-lock.json +15 -15
  128. package/tests/client/package.json +1 -1
  129. package/tests/client/tsconfig.json +2 -1
  130. package/tests/client_only_queries.js +1 -1
  131. package/tests/client_only_queries.ts +1 -1
  132. package/tests/isomorphic_queries.ts +1 -1
  133. package/tests/server/DBoGenerated.d.ts +2 -2
  134. package/tests/server/package-lock.json +3 -3
  135. package/tests/server/tsconfig.json +2 -1
  136. package/tsconfig.json +1 -1
@@ -77,7 +77,7 @@ class ColSet {
77
77
  * Add conversion functions for PostGIS data
78
78
  */
79
79
  let escapedVal = "";
80
- if (["geometry", "geography"].includes(col.udt_name) && row[key] && isPlainObject(row[key])) {
80
+ if (["geometry", "geography"].includes(col.udt_name) && isObject(row[key])) {
81
81
 
82
82
  const basicFunc = (args: any[]) => {
83
83
  return args.map(arg => asValue(arg)).join(", ")
@@ -86,13 +86,14 @@ class ColSet {
86
86
  type ConvertionFunc = { name: string; getQuery: (args: any[]) => string; }
87
87
  const convertionFuncs: ConvertionFunc[] = [
88
88
  ...[
89
- "ST_GeomFromText",
90
- "ST_Point",
91
- "ST_MakePoint",
92
- "ST_MakePointM",
93
- "ST_PointFromText",
94
- "ST_GeomFromEWKT",
95
- "ST_GeomFromGeoJSON"].map(name => ({
89
+ "ST_GeomFromText",
90
+ "ST_Point",
91
+ "ST_MakePoint",
92
+ "ST_MakePointM",
93
+ "ST_PointFromText",
94
+ "ST_GeomFromEWKT",
95
+ "ST_GeomFromGeoJSON"
96
+ ].map(name => ({
96
97
  name,
97
98
  getQuery: () => `${name}(${basicFunc(funcArgs)})`
98
99
  })),
@@ -103,7 +104,7 @@ class ColSet {
103
104
  ];
104
105
 
105
106
  const dataKeys = Object.keys(row[key]);
106
- const funcName = dataKeys[0];
107
+ const funcName = dataKeys[0]!;
107
108
  const func = convertionFuncs.find(f => f.name === funcName);
108
109
  const funcArgs = row[key]?.[funcName]
109
110
  if (dataKeys.length !== 1 || !func || !Array.isArray(funcArgs)) {
@@ -287,10 +288,10 @@ export class ViewHandler {
287
288
  return on.map(cond => Object.keys(cond).map(lKey => `${leftTable}.${lKey} = ${rightTable}.${cond[lKey]}`).join("\nAND ")).join(" OR ")
288
289
  }
289
290
 
290
- let toOne = true;
291
+ // let toOne = true;
291
292
  const query = this.joins.map(({ tables, on, type }, i) => {
292
293
  if (type.split("-")[1] === "many") {
293
- toOne = false;
294
+ // toOne = false;
294
295
  }
295
296
  const tl = `tl${startAlias + i}`,
296
297
  tr = `tr${startAlias + i}`;
@@ -347,7 +348,7 @@ export class ViewHandler {
347
348
 
348
349
  /* Make the join chain info excluding root table */
349
350
  paths = (path || jp.path).slice(1).map((t2, i, arr) => {
350
- const t1 = i === 0 ? source : arr[i - 1];
351
+ const t1 = i === 0 ? source : arr[i - 1]!;
351
352
 
352
353
  this.joins ??= this.dboBuilder.joins;
353
354
 
@@ -359,8 +360,8 @@ export class ViewHandler {
359
360
 
360
361
  jo.on.map(cond => {
361
362
  const condArr: [string, string][] = [];
362
- Object.keys(cond).map(leftKey => {
363
- const rightKey = cond[leftKey];
363
+ getKeys(cond).map(leftKey => {
364
+ const rightKey = cond[leftKey]!;
364
365
 
365
366
  /* Left table is joining on keys */
366
367
  if (jo.tables[0] === t1) {
@@ -857,7 +858,7 @@ export class ViewHandler {
857
858
  const isNotExists = ["$notExists", "$notExistsJoined"].includes(eConfig.existType);
858
859
 
859
860
  const { f2, tables, isJoined } = eConfig;
860
- const t2 = tables[tables.length - 1];
861
+ const t2 = tables.at(-1)!;
861
862
 
862
863
  tables.forEach(t => {
863
864
  if (!this.dboBuilder.dbo[t]) throw { stack: ["prepareExistCondition()"], message: `Invalid or dissallowed table: ${t}` };
@@ -874,7 +875,7 @@ export class ViewHandler {
874
875
  let joinPaths: JoinInfo["paths"] = [];
875
876
  let expectOne = true;
876
877
  tables.map((t2, depth) => {
877
- const t1 = depth ? tables[depth - 1] : thisTable;
878
+ const t1 = (depth ? tables[depth - 1] : thisTable)!;
878
879
  let exactPaths: string[] | undefined = [t1, t2];
879
880
 
880
881
  if (!depth && eConfig.shortestJoin) exactPaths = undefined;
@@ -889,9 +890,10 @@ export class ViewHandler {
889
890
  function makeJoin(joinInfo: JoinInfo, ji: number) {
890
891
  const { paths } = joinInfo;
891
892
  const jp = paths[ji];
893
+ if(!jp) throw "jp undef";
892
894
 
893
895
  // let prevTable = ji? paths[ji - 1].table : jp.source;
894
- const table = paths[ji].table;
896
+ const table = jp.table;
895
897
  const tableAlias = asName(ji < paths.length - 1 ? `jd${ji}` : table);
896
898
  const prevTableAlias = asName(ji ? `jd${ji - 1}` : thisTable);
897
899
 
@@ -1024,8 +1026,8 @@ export class ViewHandler {
1024
1026
  if (_orderBy && !_orderBy.find(v => typeof v !== "string")) {
1025
1027
  /* [string] */
1026
1028
  _ob = _orderBy.map(key => ({ key, asc: true }));
1027
- } else if (_orderBy.find(v => isPlainObject(v) && Object.keys(v).length)) {
1028
- _ob = _orderBy.map(v => parseOrderObj(v, true)[0]);
1029
+ } else if (_orderBy.find(v => isObject(v) && !isEmpty(v))) {
1030
+ _ob = _orderBy.map(v => parseOrderObj(v, true)[0]!);
1029
1031
  } else return throwErr();
1030
1032
  } else return throwErr();
1031
1033
 
@@ -1090,7 +1092,7 @@ export class ViewHandler {
1090
1092
  /* If no limit then set as the lesser of (100, maxLimit) */
1091
1093
  // } else
1092
1094
  if (_limit !== null && !Number.isInteger(_limit) && p.select.maxLimit !== null) {
1093
- _limit = [100, p.select.maxLimit].filter(Number.isInteger).sort((a, b) => a - b)[0];
1095
+ _limit = [100, p.select.maxLimit].filter(Number.isInteger).sort((a, b) => a - b)[0]!;
1094
1096
  } else {
1095
1097
 
1096
1098
  /* If a limit higher than maxLimit specified throw error */
@@ -21,7 +21,7 @@ async function getCondition(params) {
21
21
  const ERR = "Invalid exists filter. \nExpecting somethibng like: \n | { $exists: { tableName.tableName2: Filter } } \n | { $exists: { \"**.tableName3\": Filter } }\n | { path: string[]; filter: AnyObject }";
22
22
  const SP_WILDCARD = "**";
23
23
  const exists = (0, prostgles_types_1.getKeys)(filter)
24
- .filter(k => prostgles_types_1.EXISTS_KEYS.includes(k) && Object.keys(filter[k] ?? {}).length)
24
+ .filter((k) => prostgles_types_1.EXISTS_KEYS.includes(k) && !!Object.keys(filter[k] ?? {}).length)
25
25
  .map(key => {
26
26
  const isJoined = key.toLowerCase().includes("join");
27
27
  const filterValue = filter[key];
@@ -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){