prostgles-server 4.2.507 → 4.2.509

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 (149) hide show
  1. package/dist/DBSchemaBuilder/DBSchemaBuilder.d.ts +2 -2
  2. package/dist/DBSchemaBuilder/DBSchemaBuilder.d.ts.map +1 -1
  3. package/dist/DBSchemaBuilder/DBSchemaBuilder.spec.js +0 -4
  4. package/dist/DBSchemaBuilder/DBSchemaBuilder.spec.js.map +1 -1
  5. package/dist/DboBuilder/DboBuilder.d.ts +4 -5
  6. package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
  7. package/dist/DboBuilder/DboBuilder.js +13 -22
  8. package/dist/DboBuilder/DboBuilder.js.map +1 -1
  9. package/dist/DboBuilder/DboBuilderTypes.d.ts +15 -23
  10. package/dist/DboBuilder/DboBuilderTypes.d.ts.map +1 -1
  11. package/dist/DboBuilder/DboBuilderTypes.js.map +1 -1
  12. package/dist/DboBuilder/TableHandler/DataValidator.js +1 -1
  13. package/dist/DboBuilder/TableHandler/DataValidator.js.map +1 -1
  14. package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
  15. package/dist/DboBuilder/TableHandler/TableHandler.js +9 -8
  16. package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
  17. package/dist/DboBuilder/TableHandler/insert/insert.d.ts.map +1 -1
  18. package/dist/DboBuilder/TableHandler/insert/insert.js +1 -1
  19. package/dist/DboBuilder/TableHandler/insert/insert.js.map +1 -1
  20. package/dist/DboBuilder/TableHandler/insert/insertRowWithNestedRecords.js +2 -2
  21. package/dist/DboBuilder/TableHandler/insert/insertRowWithNestedRecords.js.map +1 -1
  22. package/dist/DboBuilder/TableHandler/insertTest.d.ts.map +1 -1
  23. package/dist/DboBuilder/TableHandler/insertTest.js +1 -1
  24. package/dist/DboBuilder/TableHandler/insertTest.js.map +1 -1
  25. package/dist/DboBuilder/TableHandler/updateFile.js +1 -1
  26. package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
  27. package/dist/DboBuilder/TableRules/{getValidatedRules.d.ts → getValidatedTableRules.d.ts} +2 -2
  28. package/dist/DboBuilder/TableRules/getValidatedTableRules.d.ts.map +1 -0
  29. package/dist/DboBuilder/TableRules/{getValidatedRules.js → getValidatedTableRules.js} +5 -13
  30. package/dist/DboBuilder/TableRules/getValidatedTableRules.js.map +1 -0
  31. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts +3 -7
  32. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
  33. package/dist/DboBuilder/ViewHandler/ViewHandler.js +2 -35
  34. package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
  35. package/dist/DboBuilder/ViewHandler/getInfo.d.ts.map +1 -1
  36. package/dist/DboBuilder/ViewHandler/getInfo.js +20 -16
  37. package/dist/DboBuilder/ViewHandler/getInfo.js.map +1 -1
  38. package/dist/DboBuilder/ViewHandler/getValidatedSubscribeOptions.d.ts +2 -2
  39. package/dist/DboBuilder/ViewHandler/getValidatedSubscribeOptions.d.ts.map +1 -1
  40. package/dist/DboBuilder/ViewHandler/getValidatedSubscribeOptions.js +2 -2
  41. package/dist/DboBuilder/ViewHandler/getValidatedSubscribeOptions.js.map +1 -1
  42. package/dist/DboBuilder/ViewHandler/subscribe.js +1 -1
  43. package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
  44. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  45. package/dist/DboBuilder/getColumns.js +0 -2
  46. package/dist/DboBuilder/getColumns.js.map +1 -1
  47. package/dist/FileManager/FileManager.d.ts.map +1 -1
  48. package/dist/FileManager/FileManager.js +3 -3
  49. package/dist/FileManager/FileManager.js.map +1 -1
  50. package/dist/FileManager/initFileManager.js +1 -1
  51. package/dist/FileManager/initFileManager.js.map +1 -1
  52. package/dist/Prostgles.d.ts +1 -1
  53. package/dist/Prostgles.d.ts.map +1 -1
  54. package/dist/Prostgles.js +9 -1
  55. package/dist/Prostgles.js.map +1 -1
  56. package/dist/PubSubManager/PubSubManager.d.ts +5 -7
  57. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  58. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  59. package/dist/PubSubManager/PubSubManagerUtils.d.ts +1 -0
  60. package/dist/PubSubManager/PubSubManagerUtils.d.ts.map +1 -1
  61. package/dist/PubSubManager/PubSubManagerUtils.js +2 -1
  62. package/dist/PubSubManager/PubSubManagerUtils.js.map +1 -1
  63. package/dist/PubSubManager/addSync.d.ts.map +1 -1
  64. package/dist/PubSubManager/addSync.js +5 -5
  65. package/dist/PubSubManager/addSync.js.map +1 -1
  66. package/dist/PubSubManager/addTrigger.js +1 -1
  67. package/dist/PubSubManager/addTrigger.js.map +1 -1
  68. package/dist/PublishParser/PublishParser.d.ts +1 -2
  69. package/dist/PublishParser/PublishParser.d.ts.map +1 -1
  70. package/dist/PublishParser/PublishParser.js +23 -12
  71. package/dist/PublishParser/PublishParser.js.map +1 -1
  72. package/dist/PublishParser/getDBSchemaTable.d.ts +6 -0
  73. package/dist/PublishParser/getDBSchemaTable.d.ts.map +1 -0
  74. package/dist/PublishParser/getDBSchemaTable.js +58 -0
  75. package/dist/PublishParser/getDBSchemaTable.js.map +1 -0
  76. package/dist/PublishParser/getSchemaFromPublish.d.ts +1 -2
  77. package/dist/PublishParser/getSchemaFromPublish.d.ts.map +1 -1
  78. package/dist/PublishParser/getSchemaFromPublish.js +39 -104
  79. package/dist/PublishParser/getSchemaFromPublish.js.map +1 -1
  80. package/dist/PublishParser/getTableRulesWithoutFileTable.d.ts.map +1 -1
  81. package/dist/PublishParser/getTableRulesWithoutFileTable.js +58 -127
  82. package/dist/PublishParser/getTableRulesWithoutFileTable.js.map +1 -1
  83. package/dist/PublishParser/publishTypesAndUtils.d.ts +31 -140
  84. package/dist/PublishParser/publishTypesAndUtils.d.ts.map +1 -1
  85. package/dist/PublishParser/publishTypesAndUtils.js +18 -118
  86. package/dist/PublishParser/publishTypesAndUtils.js.map +1 -1
  87. package/dist/SyncReplication.d.ts.map +1 -1
  88. package/dist/SyncReplication.js +4 -6
  89. package/dist/SyncReplication.js.map +1 -1
  90. package/dist/TableConfig/TableConfig.d.ts +12 -5
  91. package/dist/TableConfig/TableConfig.d.ts.map +1 -1
  92. package/dist/TableConfig/TableConfig.js +16 -9
  93. package/dist/TableConfig/TableConfig.js.map +1 -1
  94. package/dist/TableConfig/getCreateSchemaQueries.d.ts +4 -9
  95. package/dist/TableConfig/getCreateSchemaQueries.d.ts.map +1 -1
  96. package/dist/TableConfig/getCreateSchemaQueries.js.map +1 -1
  97. package/dist/TableConfig/getTableColumnQueries.js +1 -1
  98. package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
  99. package/dist/TableConfig/getTableConfigSchemaQueries.d.ts +4 -9
  100. package/dist/TableConfig/getTableConfigSchemaQueries.d.ts.map +1 -1
  101. package/dist/WebsocketAPI/getClientSchema.d.ts.map +1 -1
  102. package/dist/WebsocketAPI/getClientSchema.js +3 -3
  103. package/dist/WebsocketAPI/getClientSchema.js.map +1 -1
  104. package/dist/index.js.map +1 -1
  105. package/dist/initProstgles.d.ts +2 -3
  106. package/dist/initProstgles.d.ts.map +1 -1
  107. package/dist/initProstgles.js.map +1 -1
  108. package/dist/runClientRequest.d.ts.map +1 -1
  109. package/dist/runClientRequest.js +4 -8
  110. package/dist/runClientRequest.js.map +1 -1
  111. package/lib/DBSchemaBuilder/DBSchemaBuilder.spec.ts +1 -5
  112. package/lib/DBSchemaBuilder/DBSchemaBuilder.ts +2 -8
  113. package/lib/DboBuilder/DboBuilder.ts +18 -26
  114. package/lib/DboBuilder/DboBuilderTypes.ts +70 -59
  115. package/lib/DboBuilder/TableHandler/DataValidator.ts +1 -1
  116. package/lib/DboBuilder/TableHandler/TableHandler.ts +10 -14
  117. package/lib/DboBuilder/TableHandler/insert/insert.ts +1 -7
  118. package/lib/DboBuilder/TableHandler/insert/insertRowWithNestedRecords.ts +3 -3
  119. package/lib/DboBuilder/TableHandler/insertTest.ts +5 -5
  120. package/lib/DboBuilder/TableHandler/updateFile.ts +1 -1
  121. package/lib/DboBuilder/TableRules/{getValidatedRules.ts → getValidatedTableRules.ts} +3 -10
  122. package/lib/DboBuilder/ViewHandler/ViewHandler.ts +7 -41
  123. package/lib/DboBuilder/ViewHandler/getInfo.ts +24 -20
  124. package/lib/DboBuilder/ViewHandler/getValidatedSubscribeOptions.ts +4 -4
  125. package/lib/DboBuilder/ViewHandler/subscribe.ts +1 -1
  126. package/lib/DboBuilder/getColumns.ts +4 -14
  127. package/lib/FileManager/FileManager.ts +5 -6
  128. package/lib/FileManager/initFileManager.ts +1 -1
  129. package/lib/Prostgles.ts +10 -1
  130. package/lib/PubSubManager/PubSubManager.ts +12 -13
  131. package/lib/PubSubManager/PubSubManagerUtils.ts +1 -0
  132. package/lib/PubSubManager/addSync.ts +4 -7
  133. package/lib/PubSubManager/addTrigger.ts +1 -1
  134. package/lib/PublishParser/PublishParser.ts +30 -17
  135. package/lib/PublishParser/getDBSchemaTable.ts +73 -0
  136. package/lib/PublishParser/getSchemaFromPublish.ts +56 -147
  137. package/lib/PublishParser/getTableRulesWithoutFileTable.ts +74 -162
  138. package/lib/PublishParser/publishTypesAndUtils.ts +41 -167
  139. package/lib/SyncReplication.ts +6 -8
  140. package/lib/TableConfig/TableConfig.ts +25 -11
  141. package/lib/TableConfig/getCreateSchemaQueries.ts +8 -8
  142. package/lib/TableConfig/getTableColumnQueries.ts +1 -1
  143. package/lib/WebsocketAPI/getClientSchema.ts +5 -3
  144. package/lib/index.ts +1 -1
  145. package/lib/initProstgles.ts +2 -3
  146. package/lib/runClientRequest.ts +4 -6
  147. package/package.json +2 -2
  148. package/dist/DboBuilder/TableRules/getValidatedRules.d.ts.map +0 -1
  149. package/dist/DboBuilder/TableRules/getValidatedRules.js.map +0 -1
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDBSchemaTable = void 0;
4
+ const prostgles_types_1 = require("prostgles-types");
5
+ const dboBuilderUtils_1 = require("../DboBuilder/dboBuilderUtils");
6
+ const Prostgles_1 = require("../Prostgles");
7
+ const prostgles_types_2 = require("prostgles-types");
8
+ const getDBSchemaTable = async (publishParser, tableHandler, parsedTableRule, clientReq, scope) => {
9
+ const tableName = tableHandler.name;
10
+ if ((0, prostgles_types_1.getObjectEntries)(parsedTableRule).every(([_ruleName, ruleOptions]) => !ruleOptions)) {
11
+ throw new Error("At least one of the rules must be defined for " + tableName);
12
+ }
13
+ const info = await tableHandler.getInfo(undefined, undefined, undefined, parsedTableRule, {
14
+ ...clientReq,
15
+ isRemoteRequest: {},
16
+ });
17
+ const columns = await tableHandler.getColumns(undefined, undefined, undefined, parsedTableRule, {
18
+ ...clientReq,
19
+ isRemoteRequest: {},
20
+ });
21
+ const allowedCommands = (0, prostgles_types_2.getAllowedTableMethods)(info);
22
+ for (const method of allowedCommands) {
23
+ if (method === "getInfo" || method === "getColumns") {
24
+ continue;
25
+ }
26
+ try {
27
+ publishParser.validateRequestRule({
28
+ tableName,
29
+ command: method,
30
+ clientReq,
31
+ }, parsedTableRule, scope);
32
+ }
33
+ catch (e) {
34
+ console.error(`${tableName}.${method}`, e);
35
+ throw {
36
+ ...(0, dboBuilderUtils_1.getErrorAsObject)(e),
37
+ publishPath: `publish.${tableName}.${method}`,
38
+ };
39
+ }
40
+ /** Crucial in ensuring the published client tableHandler methods work without issues */
41
+ if (publishParser.prostgles.opts.testRulesOnConnect && (0, prostgles_types_1.includes)(Prostgles_1.TABLE_METHODS, method)) {
42
+ await tableHandler.dboBuilder.dboMap.get(tableName)?.[method](
43
+ //@ts-expect-error
44
+ method === "insertMany" ? [] : {}, {}, undefined, parsedTableRule, {
45
+ ...clientReq,
46
+ isRemoteRequest: {},
47
+ testRule: true,
48
+ });
49
+ }
50
+ }
51
+ return {
52
+ ...info,
53
+ name: tableHandler.name,
54
+ columns,
55
+ };
56
+ };
57
+ exports.getDBSchemaTable = getDBSchemaTable;
58
+ //# sourceMappingURL=getDBSchemaTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDBSchemaTable.js","sourceRoot":"","sources":["../../lib/PublishParser/getDBSchemaTable.ts"],"names":[],"mappings":";;;AAAA,qDAAiF;AAEjF,mEAAiE;AAEjE,4CAA6C;AAE7C,qDAAyD;AAElD,MAAM,gBAAgB,GAAG,KAAK,EACnC,aAA4B,EAC5B,YAA0B,EAC1B,eAAgC,EAChC,SAA4B,EAC5B,KAAkC,EACV,EAAE;IAC1B,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IAEpC,IAAI,IAAA,kCAAgB,EAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QACxF,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,SAAS,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE;QACxF,GAAG,SAAS;QACZ,eAAe,EAAE,EAAE;KACpB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE;QAC9F,GAAG,SAAS;QACZ,eAAe,EAAE,EAAE;KACpB,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,IAAA,wCAAsB,EAAC,IAAI,CAAC,CAAC;IACrD,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YACpD,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,aAAa,CAAC,mBAAmB,CAC/B;gBACE,SAAS;gBACT,OAAO,EAAE,MAAM;gBACf,SAAS;aACV,EACD,eAAe,EACf,KAAK,CACN,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3C,MAAM;gBACJ,GAAG,IAAA,kCAAgB,EAAC,CAAC,CAAC;gBACtB,WAAW,EAAE,WAAW,SAAS,IAAI,MAAM,EAAE;aAC9C,CAAC;QACJ,CAAC;QACD,wFAAwF;QACxF,IAAI,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAA,0BAAQ,EAAC,yBAAa,EAAE,MAAM,CAAC,EAAE,CAAC;YACvF,MAAM,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC;YAC3D,kBAAkB;YAClB,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EACjC,EAAE,EACF,SAAS,EACT,eAAe,EACf;gBACE,GAAG,SAAS;gBACZ,eAAe,EAAE,EAAE;gBACnB,QAAQ,EAAE,IAAI;aACf,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,IAAI;QACP,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,OAAO;KACgB,CAAC;AAC5B,CAAC,CAAC;AAhEW,QAAA,gBAAgB,oBAgE3B"}
@@ -1,4 +1,4 @@
1
- import type { DBSchemaTable, TableSchemaErrors, TableSchemaForClient } from "prostgles-types";
1
+ import type { DBSchemaTable, TableSchemaErrors } from "prostgles-types";
2
2
  import type { AuthClientRequest, AuthResultWithSID } from "../Auth/AuthTypes";
3
3
  import type { PublishParser } from "./PublishParser";
4
4
  import { type PermissionScope } from "./PublishParser";
@@ -6,7 +6,6 @@ type Args = AuthClientRequest & {
6
6
  userData: AuthResultWithSID | undefined;
7
7
  };
8
8
  export declare function getSchemaFromPublish(this: PublishParser, { userData, ...clientReq }: Args, scope: PermissionScope | undefined): Promise<{
9
- schema: TableSchemaForClient;
10
9
  tables: DBSchemaTable[];
11
10
  tableSchemaErrors: TableSchemaErrors;
12
11
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"getSchemaFromPublish.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/getSchemaFromPublish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,iBAAiB,CAAC;AAE3E,KAAK,IAAI,GAAG,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACzC,CAAC;AAGF,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,aAAa,EACnB,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,EAAE,IAAI,EAChC,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC;IACT,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,CAAC,CAoKD"}
1
+ {"version":3,"file":"getSchemaFromPublish.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/getSchemaFromPublish.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAExE,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,iBAAiB,CAAC;AAG3E,KAAK,IAAI,GAAG,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACzC,CAAC;AAGF,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,aAAa,EACnB,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,EAAE,IAAI,EAChC,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC;IACT,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,CAAC,CAgFD"}
@@ -2,131 +2,66 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getSchemaFromPublish = getSchemaFromPublish;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
- const DboBuilder_1 = require("../DboBuilder/DboBuilder");
6
- const Prostgles_1 = require("../Prostgles");
5
+ const getDBSchemaTable_1 = require("./getDBSchemaTable");
7
6
  const SUBSCRIBE_METHODS = ["subscribe", "subscribeOne", "sync", "unsubscribe", "unsync"];
8
7
  async function getSchemaFromPublish({ userData, ...clientReq }, scope) {
9
- const schema = {};
10
8
  const tableSchemaErrors = {};
11
- let tables = [];
9
+ const tables = [];
10
+ const txKey = !this.prostgles.opts.transactions ? "" : "tx";
12
11
  try {
13
12
  /* Publish tables and views based on socket */
14
13
  const clientInfo = userData ?? (await this.prostgles.authHandler.getSidAndUserFromRequest(clientReq));
15
14
  if (clientInfo === "new-session-redirect") {
16
15
  throw "new-session-redirect";
17
16
  }
18
- let _publish;
17
+ let publish;
19
18
  try {
20
- _publish = await this.getPublishAsObject(clientReq, clientInfo);
19
+ publish = await this.getPublishObject(clientReq, clientInfo);
21
20
  }
22
21
  catch (err) {
23
22
  console.error("Error within then Publish function ", err);
24
23
  throw err;
25
24
  }
26
- if (_publish && Object.keys(_publish).length) {
27
- let txKey = "tx";
28
- if (!this.prostgles.opts.transactions)
29
- txKey = "";
30
- if (typeof this.prostgles.opts.transactions === "string")
31
- txKey = this.prostgles.opts.transactions;
32
- const tableNames = Object.keys(_publish).filter((k) => !txKey || txKey !== k);
33
- const fileTableName = this.prostgles.fileManager?.tableName;
34
- if (fileTableName &&
35
- this.dbo[fileTableName]?.is_media &&
36
- !tableNames.includes(fileTableName)) {
37
- const isReferenced = this.prostgles.dboBuilder.tablesOrViews?.some((t) => t.columns.some((c) => c.references?.some((r) => r.ftable === fileTableName)));
38
- if (isReferenced) {
39
- tableNames.unshift(fileTableName);
40
- }
25
+ if (!publish || !Object.keys(publish).length) {
26
+ return { tables, tableSchemaErrors };
27
+ }
28
+ const tableNames = Object.keys(publish).filter((k) => !txKey || txKey !== k);
29
+ /**
30
+ * Add file table to the list of published tables if it's referenced by other published tables.
31
+ * Access to the file table is controlled through the publish rules of the tables referencing it.
32
+ */
33
+ const fileTableName = this.prostgles.fileManager?.tableName;
34
+ if (fileTableName && this.dbo[fileTableName]?.is_media && !tableNames.includes(fileTableName)) {
35
+ const isReferenced = this.prostgles.dboBuilder.tablesOrViews?.some((t) => t.columns.some((c) => c.references?.some((r) => r.ftable === fileTableName)));
36
+ if (isReferenced) {
37
+ tableNames.unshift(fileTableName);
41
38
  }
42
- await Promise.all(tableNames.map(async (tableName) => {
43
- const { canSubscribe, tablesOrViews } = this.prostgles.dboBuilder;
44
- if (!this.dbo[tableName]) {
45
- const errMsg = [
46
- `Table ${tableName} does not exist`,
47
- `Expecting one of: ${JSON.stringify(tablesOrViews?.map((tov) => tov.name))}`,
48
- ].join("\n");
49
- throw errMsg;
50
- }
51
- const parsedTableRule = await this.getTableRules({ clientReq, tableName }, clientInfo, scope);
52
- if (!parsedTableRule || (0, prostgles_types_1.isEmpty)(parsedTableRule))
53
- return;
54
- if (!(0, prostgles_types_1.isObject)(parsedTableRule)) {
55
- throw `Invalid tableRules for table ${tableName}. Expecting an object`;
56
- }
57
- schema[tableName] = {};
58
- const tableSchema = schema[tableName];
59
- const methods = (0, prostgles_types_1.getKeys)(parsedTableRule).filter((m) => canSubscribe || !(0, prostgles_types_1.includes)(SUBSCRIBE_METHODS, m));
60
- let tableInfo;
61
- let tableColumns;
62
- await Promise.all(methods
63
- .filter((m) => m !== "select")
64
- .map(async (method) => {
65
- if (method === "sync") {
66
- /* Pass sync info */
67
- tableSchema[method] = parsedTableRule[method];
68
- }
69
- else if ((0, prostgles_types_1.includes)((0, prostgles_types_1.getKeys)(parsedTableRule), method) && parsedTableRule[method]) {
70
- //@ts-ignore
71
- tableSchema[method] =
72
- method === "insert" ?
73
- (0, prostgles_types_1.pickKeys)(parsedTableRule[method], ["allowedNestedInserts"])
74
- : {};
75
- /* Test for issues with the common table CRUD methods () */
76
- if ((0, prostgles_types_1.includes)(Prostgles_1.TABLE_METHODS, method)) {
77
- try {
78
- this.validateRequestRule({
79
- tableName,
80
- command: method,
81
- clientReq,
82
- }, parsedTableRule, scope);
83
- if (this.prostgles.opts.testRulesOnConnect) {
84
- await this.dbo[tableName][method]({}, {}, undefined, parsedTableRule, {
85
- ...clientReq,
86
- isRemoteRequest: {},
87
- testRule: true,
88
- });
89
- }
90
- }
91
- catch (e) {
92
- console.error(`${tableName}.${method}`, e);
93
- tableSchemaErrors[tableName] ??= {};
94
- tableSchemaErrors[tableName][method] = {
95
- error: "Internal publish error. Check server logs",
96
- };
97
- throw {
98
- ...(0, DboBuilder_1.getErrorAsObject)(e),
99
- publish_path: `publish.${tableName}.${method}`,
100
- };
101
- }
102
- }
103
- if (method === "getInfo" || method === "getColumns") {
104
- this.validateRequestRule({ tableName, command: method, clientReq }, parsedTableRule, scope);
105
- const res = await this.dbo[tableName][method](undefined, undefined, undefined, parsedTableRule, { ...clientReq, isRemoteRequest: {} });
106
- if (method === "getInfo") {
107
- tableInfo = res;
108
- }
109
- else {
110
- tableColumns = res;
111
- }
112
- }
113
- }
114
- }));
115
- if (tableInfo && tableColumns) {
116
- tables.push({
117
- name: tableName,
118
- info: tableInfo,
119
- columns: tableColumns,
120
- });
121
- }
122
- }));
123
39
  }
40
+ await Promise.all(tableNames.map(async (tableName) => {
41
+ const { tablesOrViews } = this.prostgles.dboBuilder;
42
+ const tableHandler = this.dbo[tableName];
43
+ if (!tableHandler) {
44
+ const errMsg = [
45
+ `Table ${tableName} does not exist`,
46
+ `Expecting one of: ${JSON.stringify(tablesOrViews?.map((tov) => tov.name))}`,
47
+ ].join("\n");
48
+ throw errMsg;
49
+ }
50
+ const parsedTableRule = await this.getTableRules({ clientReq, tableName }, clientInfo, scope);
51
+ if (!parsedTableRule || (0, prostgles_types_1.isEmpty)(parsedTableRule))
52
+ return;
53
+ if (!(0, prostgles_types_1.isObject)(parsedTableRule)) {
54
+ throw `Invalid tableRules for table ${tableName}. Expecting an object`;
55
+ }
56
+ const tableSchema = await (0, getDBSchemaTable_1.getDBSchemaTable)(this, tableHandler, parsedTableRule, clientReq, scope);
57
+ tables.push(tableSchema);
58
+ }));
124
59
  }
125
60
  catch (error) {
126
61
  console.error("Publish error", error);
127
62
  throw error;
128
63
  }
129
- tables = tables.sort((a, b) => a.name.localeCompare(b.name));
130
- return { schema, tables, tableSchemaErrors };
64
+ // tables = tables.sort((a, b) => a.name.localeCompare(b.name));
65
+ return { tables, tableSchemaErrors };
131
66
  }
132
67
  //# sourceMappingURL=getSchemaFromPublish.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSchemaFromPublish.js","sourceRoot":"","sources":["../../lib/PublishParser/getSchemaFromPublish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getSchemaFromPublish.js","sourceRoot":"","sources":["../../lib/PublishParser/getSchemaFromPublish.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTableRulesWithoutFileTable.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/getTableRulesWithoutFileTable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAGnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,wBAAwB,CAAC;AAE7E,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,aAAa,EACnB,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,EAClC,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,gBAAgB,CAAC,EAAE,aAAa,GAC/B,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAmLzC"}
1
+ {"version":3,"file":"getTableRulesWithoutFileTable.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/getTableRulesWithoutFileTable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAElF,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,aAAa,EACnB,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,QAAQ,EAClC,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,gBAAgB,CAAC,EAAE,aAAa,GAC/B,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAiGzC"}
@@ -2,152 +2,83 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTableRulesWithoutFileTable = getTableRulesWithoutFileTable;
4
4
  const prostgles_types_1 = require("prostgles-types");
5
- const PubSubManagerUtils_1 = require("../PubSubManager/PubSubManagerUtils");
6
5
  const publishTypesAndUtils_1 = require("./publishTypesAndUtils");
7
6
  async function getTableRulesWithoutFileTable({ tableName, clientReq }, clientInfo, overridenPublish) {
8
- if (!tableName)
7
+ if (!tableName) {
9
8
  throw new Error("tableName is missing in getTableRules");
10
- const publish = overridenPublish ?? (clientReq && (await this.getPublishAsObject(clientReq, clientInfo)));
9
+ }
10
+ const publish = overridenPublish ?? (clientReq && (await this.getPublishObject(clientReq, clientInfo)));
11
11
  const rawTableRule = publish?.[tableName];
12
12
  if (!rawTableRule || ((0, prostgles_types_1.isObject)(rawTableRule) && Object.values(rawTableRule).every((v) => !v))) {
13
13
  return undefined;
14
14
  }
15
- let parsedTableRule = {};
16
15
  /* Get view or table specific rules */
17
- const tHandler = this.dbo[tableName];
18
- if (!tHandler) {
16
+ const tableHandler = this.dbo[tableName];
17
+ if (!tableHandler) {
19
18
  throw {
20
19
  stack: ["getTableRules()"],
21
20
  message: `${tableName} could not be found in dbo`,
22
21
  };
23
22
  }
24
- const is_view = tHandler.is_view;
23
+ const is_view = tableHandler.is_view;
25
24
  /**
26
25
  * Allow subscribing to a view if it has primary key columns from other tables
27
26
  */
28
- const canSubscribe = !is_view || tHandler.columns.some((c) => c.references);
29
- const MY_RULES = publishTypesAndUtils_1.RULE_TO_METHODS.filter((r) => {
30
- /** Check PG User privileges */
31
- const pgUserIsAllowedThis = tHandler.tableOrViewInfo.privileges[r.sqlRule];
32
- let result = (!is_view || !r.table_only) && pgUserIsAllowedThis;
33
- if (!pgUserIsAllowedThis &&
34
- (0, prostgles_types_1.isObject)(rawTableRule) &&
35
- rawTableRule[r.sqlRule]) {
36
- throw `Your postgres user is not allowed ${r.sqlRule} on table ${tableName}`;
27
+ const canSubscribe = !is_view || tableHandler.columns.some((c) => c.references);
28
+ const isStarOrTrue = (value) => value === "*" || value === true;
29
+ const { privileges } = tableHandler.tableOrViewInfo;
30
+ const tableRulesObject = isStarOrTrue(rawTableRule) ?
31
+ {
32
+ select: privileges.select ? publishTypesAndUtils_1.TABLE_RULE_NO_LIMITS.select : undefined,
33
+ insert: privileges.insert ? publishTypesAndUtils_1.TABLE_RULE_NO_LIMITS.insert : undefined,
34
+ update: privileges.update ? publishTypesAndUtils_1.TABLE_RULE_NO_LIMITS.update : undefined,
35
+ delete: privileges.delete ? publishTypesAndUtils_1.TABLE_RULE_NO_LIMITS.delete : undefined,
36
+ }
37
+ : rawTableRule;
38
+ const selectRule = !tableRulesObject.select ? undefined
39
+ : isStarOrTrue(tableRulesObject.select) ? publishTypesAndUtils_1.TABLE_RULE_NO_LIMITS.select
40
+ : tableRulesObject.select;
41
+ const insertRule = !tableRulesObject.insert ? undefined
42
+ : isStarOrTrue(tableRulesObject.insert) ? publishTypesAndUtils_1.TABLE_RULE_NO_LIMITS.insert
43
+ : tableRulesObject.insert;
44
+ const updateRule = !tableRulesObject.update ? undefined
45
+ : isStarOrTrue(tableRulesObject.update) ? publishTypesAndUtils_1.TABLE_RULE_NO_LIMITS.update
46
+ : tableRulesObject.update;
47
+ const deleteRule = !tableRulesObject.delete ? undefined
48
+ : isStarOrTrue(tableRulesObject.delete) ? publishTypesAndUtils_1.TABLE_RULE_NO_LIMITS.delete
49
+ : tableRulesObject.delete;
50
+ const parsedTableRule = {
51
+ select: selectRule && {
52
+ ...selectRule,
53
+ disableMethods: canSubscribe ?
54
+ selectRule.disableMethods
55
+ : {
56
+ ...selectRule.disableMethods,
57
+ subscribe: 1,
58
+ },
59
+ subscribeThrottle: selectRule.subscribeThrottle ?? 0,
60
+ },
61
+ insert: insertRule,
62
+ update: updateRule,
63
+ delete: deleteRule,
64
+ };
65
+ const cannotBatchUpdate = !parsedTableRule.update ||
66
+ parsedTableRule.update.checkFilter ||
67
+ parsedTableRule.update.postValidate;
68
+ if (cannotBatchUpdate && parsedTableRule.update) {
69
+ parsedTableRule.update.disableMethods = {
70
+ updateBatch: 1,
71
+ };
72
+ }
73
+ (0, prostgles_types_1.getObjectEntries)(parsedTableRule).forEach(([publishCommand, publishValue]) => {
74
+ if (!publishValue) {
75
+ return;
37
76
  }
38
- // TODO: Implement comprehensive canSubscribe check
39
- // if ((r.rule === "subscribe" || r.rule === "sync") && !this.prostgles.isSuperUser) {
40
- // result = false;
41
- // if (isObject(raw_table_rules) && (raw_table_rules as PublishTableRule)[r.rule]) {
42
- // throw `Cannot publish realtime rule ${tableName}.${r.rule}. Superuser is required for this`
43
- // }
44
- // }
45
- if (r.rule === "subscribe" && !canSubscribe) {
46
- result = false;
77
+ const pgUserIsAllowedThisCommand = tableHandler.tableOrViewInfo.privileges[publishCommand];
78
+ if (!pgUserIsAllowedThisCommand) {
79
+ throw `Current postgres user is not allowed ${publishCommand} on table ${tableName}`;
47
80
  }
48
- return result;
49
81
  });
50
- /* All methods allowed. Add no limits for table rules */
51
- if ((0, prostgles_types_1.includes)([true, "*"], rawTableRule)) {
52
- parsedTableRule = {};
53
- MY_RULES.filter((r) => r.no_limits).forEach((r) => {
54
- parsedTableRule[r.rule] = { ...r.no_limits };
55
- });
56
- /** Specific rules allowed */
57
- }
58
- else if ((0, prostgles_types_1.isObject)(rawTableRule) && (0, prostgles_types_1.getKeys)(rawTableRule).length) {
59
- const allRuleKeys = (0, prostgles_types_1.getKeys)(rawTableRule);
60
- const dissallowedRuleKeys = allRuleKeys.filter((m) => !rawTableRule[m]);
61
- MY_RULES.map((r) => {
62
- /** Unless specifically disabled these are allowed */
63
- if (["getInfo", "getColumns"].includes(r.rule) &&
64
- !dissallowedRuleKeys.includes(r.rule)) {
65
- parsedTableRule[r.rule] = r.no_limits;
66
- return;
67
- }
68
- /** Add no_limit values for implied/ fully allowed methods */
69
- if ([true, "*"].includes(rawTableRule[r.rule]) && r.no_limits) {
70
- parsedTableRule[r.rule] = Object.assign({}, r.no_limits);
71
- /** Carry over detailed config */
72
- }
73
- else if ((0, prostgles_types_1.isObject)(rawTableRule[r.rule])) {
74
- parsedTableRule[r.rule] = rawTableRule[r.rule];
75
- }
76
- });
77
- allRuleKeys
78
- .filter((m) => parsedTableRule[m])
79
- .forEach((method) => {
80
- const rule = parsedTableRule[method];
81
- const ruleInfo = MY_RULES.find((r) => r.rule === method || r.methods.includes(method));
82
- if (!ruleInfo) {
83
- let extraInfo = "";
84
- if (is_view &&
85
- publishTypesAndUtils_1.RULE_TO_METHODS.find((r) => r.table_only &&
86
- (r.rule === method || r.methods.includes(method)))) {
87
- extraInfo = "You've specified table rules to a view\n";
88
- }
89
- throw `Invalid rule in publish.${tableName} -> ${method} \n${extraInfo}Expecting any of: ${MY_RULES.flatMap((r) => [r.rule, ...r.methods]).join(", ")}`;
90
- }
91
- /* Check RULES for invalid params */
92
- /* Methods do not have params -> They use them from rules */
93
- if (method === ruleInfo.rule && (0, prostgles_types_1.isObject)(rule)) {
94
- const method_params = Object.keys(rule);
95
- const allowed_params = Object.keys(ruleInfo.allowed_params);
96
- const iparam = method_params.find((p) => !allowed_params.includes(p));
97
- if (iparam) {
98
- throw `Invalid setting in publish.${tableName}.${method} -> ${iparam}. \n Expecting any of: ${allowed_params.join(", ")}`;
99
- }
100
- }
101
- /* Add default params (if missing) */
102
- if (method === "sync") {
103
- if ([true, "*"].includes(parsedTableRule[method])) {
104
- throw "Invalid sync rule. Expecting { id_fields: string[], synced_field: string } ";
105
- }
106
- if (typeof parsedTableRule[method]?.throttle !== "number") {
107
- parsedTableRule[method].throttle = 100;
108
- }
109
- if (typeof parsedTableRule[method]?.batch_size !== "number") {
110
- parsedTableRule[method].batch_size = PubSubManagerUtils_1.DEFAULT_SYNC_BATCH_SIZE;
111
- }
112
- }
113
- /* Enable subscribe if not explicitly disabled OR if VIEW with referenced tables */
114
- const subKey = "subscribe";
115
- if (method === "select" && !dissallowedRuleKeys.includes(subKey)) {
116
- const sr = MY_RULES.find((r) => r.rule === subKey);
117
- if (sr && canSubscribe) {
118
- parsedTableRule[subKey] = { ...sr.no_limits };
119
- parsedTableRule.subscribeOne = { ...sr.no_limits };
120
- }
121
- }
122
- });
123
- }
124
- else {
125
- throw "Unexpected publish";
126
- }
127
- const getImpliedMethods = (tableRules) => {
128
- const res = { ...tableRules };
129
- /* Add implied methods if not specifically dissallowed */
130
- MY_RULES.map((r) => {
131
- /** THIS IS A MESS -> some methods cannot be dissallowed (unsync, unsubscribe...) */
132
- r.methods.forEach((method) => {
133
- const isAllowed = tableRules[r.rule] && tableRules[method] === undefined;
134
- if (isAllowed) {
135
- if (method === "updateBatch" &&
136
- (!tableRules.update || tableRules.update.checkFilter || tableRules.update.postValidate)) {
137
- // not allowed
138
- }
139
- else if (method === "upsert" && (!tableRules.update || !tableRules.insert)) {
140
- // not allowed
141
- }
142
- else {
143
- res[method] ??= true;
144
- }
145
- }
146
- });
147
- });
148
- return res;
149
- };
150
- parsedTableRule = getImpliedMethods(parsedTableRule);
151
82
  return parsedTableRule;
152
83
  }
153
84
  //# sourceMappingURL=getTableRulesWithoutFileTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTableRulesWithoutFileTable.js","sourceRoot":"","sources":["../../lib/PublishParser/getTableRulesWithoutFileTable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getTableRulesWithoutFileTable.js","sourceRoot":"","sources":["../../lib/PublishParser/getTableRulesWithoutFileTable.ts"],"names":[],"mappings":"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"}