prostgles-server 4.2.603 → 4.2.604

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 (94) hide show
  1. package/dist/Auth/utils/getSessionUser.d.ts +4 -0
  2. package/dist/Auth/utils/getSessionUser.d.ts.map +1 -0
  3. package/dist/Auth/utils/getSessionUser.js +17 -0
  4. package/dist/Auth/utils/getSessionUser.js.map +1 -0
  5. package/dist/Auth/utils/getSessionUser.spec.d.ts +2 -0
  6. package/dist/Auth/utils/getSessionUser.spec.d.ts.map +1 -0
  7. package/dist/Auth/utils/getSessionUser.spec.js +42 -0
  8. package/dist/Auth/utils/getSessionUser.spec.js.map +1 -0
  9. package/dist/DBSchemaBuilder/getColumnTypescriptDefinition.js +2 -2
  10. package/dist/DBSchemaBuilder/getColumnTypescriptDefinition.js.map +1 -1
  11. package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
  12. package/dist/DboBuilder/TableHandler/TableHandler.js +4 -0
  13. package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
  14. package/dist/DboBuilder/TableHandler/delete.d.ts.map +1 -1
  15. package/dist/DboBuilder/TableHandler/delete.js +4 -1
  16. package/dist/DboBuilder/TableHandler/delete.js.map +1 -1
  17. package/dist/DboBuilder/TableHandler/insert/insert.js +1 -1
  18. package/dist/DboBuilder/TableHandler/insert/insert.js.map +1 -1
  19. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +1 -1
  20. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js.map +1 -1
  21. package/dist/DboBuilder/TableHandler/update.js +1 -1
  22. package/dist/DboBuilder/TableHandler/update.js.map +1 -1
  23. package/dist/DboBuilder/TableHandler/updateBatch.d.ts.map +1 -1
  24. package/dist/DboBuilder/TableHandler/updateBatch.js +4 -1
  25. package/dist/DboBuilder/TableHandler/updateBatch.js.map +1 -1
  26. package/dist/DboBuilder/ViewHandler/count.d.ts.map +1 -1
  27. package/dist/DboBuilder/ViewHandler/count.js +1 -1
  28. package/dist/DboBuilder/ViewHandler/count.js.map +1 -1
  29. package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
  30. package/dist/DboBuilder/ViewHandler/find.js +1 -1
  31. package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
  32. package/dist/DboBuilder/ViewHandler/size.d.ts.map +1 -1
  33. package/dist/DboBuilder/ViewHandler/size.js +1 -1
  34. package/dist/DboBuilder/ViewHandler/size.js.map +1 -1
  35. package/dist/DboBuilder/ViewHandler/subscribe.d.ts.map +1 -1
  36. package/dist/DboBuilder/ViewHandler/subscribe.js +1 -0
  37. package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
  38. package/dist/DboBuilder/dboBuilderUtils.d.ts +1 -1
  39. package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
  40. package/dist/DboBuilder/dboBuilderUtils.js +7 -2
  41. package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
  42. package/dist/PubSubManager/PubSubManager.d.ts +5 -2
  43. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  44. package/dist/PubSubManager/PubSubManager.js +2 -4
  45. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  46. package/dist/PubSubManager/SyncReplication/fetchSyncServerData.d.ts +3 -3
  47. package/dist/PubSubManager/SyncReplication/fetchSyncServerData.d.ts.map +1 -1
  48. package/dist/PubSubManager/SyncReplication/fetchSyncServerData.js +2 -2
  49. package/dist/PubSubManager/SyncReplication/fetchSyncServerData.js.map +1 -1
  50. package/dist/PubSubManager/SyncReplication/getSyncUtilFunctions.d.ts +3 -2
  51. package/dist/PubSubManager/SyncReplication/getSyncUtilFunctions.d.ts.map +1 -1
  52. package/dist/PubSubManager/SyncReplication/getSyncUtilFunctions.js +8 -8
  53. package/dist/PubSubManager/SyncReplication/getSyncUtilFunctions.js.map +1 -1
  54. package/dist/PubSubManager/SyncReplication/syncData.js +1 -0
  55. package/dist/PubSubManager/SyncReplication/syncData.js.map +1 -1
  56. package/dist/PubSubManager/addSub.d.ts.map +1 -1
  57. package/dist/PubSubManager/addSub.js +2 -1
  58. package/dist/PubSubManager/addSub.js.map +1 -1
  59. package/dist/PubSubManager/addSync.d.ts.map +1 -1
  60. package/dist/PubSubManager/addSync.js +2 -0
  61. package/dist/PubSubManager/addSync.js.map +1 -1
  62. package/dist/PubSubManager/init/getPubSubManagerInitQuery.js +4 -4
  63. package/dist/TableConfig/getTableConfigSchemaQueries.js +2 -2
  64. package/dist/TableConfig/getTableConfigSchemaQueries.js.map +1 -1
  65. package/dist/TableConfig/initTableConfig.js +6 -6
  66. package/dist/TableConfig/initTableConfig.js.map +1 -1
  67. package/dist/runClientRequest.d.ts.map +1 -1
  68. package/dist/runClientRequest.js +2 -7
  69. package/dist/runClientRequest.js.map +1 -1
  70. package/lib/Auth/utils/getSessionUser.spec.ts +41 -0
  71. package/lib/Auth/utils/getSessionUser.ts +19 -0
  72. package/lib/DBSchemaBuilder/getColumnTypescriptDefinition.ts +2 -2
  73. package/lib/DboBuilder/TableHandler/TableHandler.ts +9 -1
  74. package/lib/DboBuilder/TableHandler/delete.ts +8 -1
  75. package/lib/DboBuilder/TableHandler/insert/insert.ts +1 -1
  76. package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +1 -1
  77. package/lib/DboBuilder/TableHandler/update.ts +1 -1
  78. package/lib/DboBuilder/TableHandler/updateBatch.ts +4 -1
  79. package/lib/DboBuilder/ViewHandler/count.ts +5 -1
  80. package/lib/DboBuilder/ViewHandler/find.ts +5 -1
  81. package/lib/DboBuilder/ViewHandler/size.ts +5 -1
  82. package/lib/DboBuilder/ViewHandler/subscribe.ts +1 -0
  83. package/lib/DboBuilder/dboBuilderUtils.ts +11 -2
  84. package/lib/PubSubManager/PubSubManager.ts +20 -5
  85. package/lib/PubSubManager/SyncReplication/fetchSyncServerData.ts +4 -4
  86. package/lib/PubSubManager/SyncReplication/getSyncUtilFunctions.ts +16 -8
  87. package/lib/PubSubManager/SyncReplication/syncData.ts +1 -1
  88. package/lib/PubSubManager/addSub.ts +2 -0
  89. package/lib/PubSubManager/addSync.ts +2 -0
  90. package/lib/PubSubManager/init/getPubSubManagerInitQuery.ts +4 -4
  91. package/lib/TableConfig/getTableConfigSchemaQueries.ts +2 -2
  92. package/lib/TableConfig/initTableConfig.ts +6 -6
  93. package/lib/runClientRequest.ts +3 -15
  94. package/package.json +1 -1
@@ -162,11 +162,11 @@ BEGIN
162
162
  END IF;
163
163
 
164
164
  IF length(key) > 0 THEN
165
- RETURN jsonb_extract_path(user_jsonb, key);
165
+ RETURN jsonb_extract_path_text(user_jsonb, key);
166
166
  END IF;
167
167
  RETURN user_jsonb;
168
168
  END;
169
- $$ LANGUAGE plpgsql;
169
+ $$ LANGUAGE plpgsql STABLE PARALLEL SAFE;
170
170
  COMMENT ON FUNCTION prostgles."user" IS 'Used for row level security';
171
171
 
172
172
  CREATE OR REPLACE FUNCTION prostgles.user_id()
@@ -174,7 +174,7 @@ BEGIN
174
174
  BEGIN
175
175
  RETURN prostgles.user('id')::UUID;
176
176
  END;
177
- $$ LANGUAGE plpgsql;
177
+ $$ LANGUAGE plpgsql STABLE PARALLEL SAFE;
178
178
  COMMENT ON FUNCTION prostgles.user_id IS 'Session user id';
179
179
 
180
180
  CREATE OR REPLACE FUNCTION prostgles.user_type()
@@ -182,7 +182,7 @@ BEGIN
182
182
  BEGIN
183
183
  RETURN prostgles.user('type')::TEXT;
184
184
  END;
185
- $$ LANGUAGE plpgsql;
185
+ $$ LANGUAGE plpgsql STABLE PARALLEL SAFE;
186
186
  COMMENT ON FUNCTION prostgles.user_type IS 'Session user type';
187
187
 
188
188
  CREATE TABLE IF NOT EXISTS prostgles.apps (
@@ -115,7 +115,7 @@ const getTableQueries = async (
115
115
  `);`,
116
116
  ].join("\n");
117
117
 
118
- const dataQuerys = rows.map((row) => {
118
+ const insertQueries = rows.map((row) => {
119
119
  const values = allColumns.map((key) => row[key]);
120
120
  return as.format(
121
121
  `INSERT INTO ${tableName} (${allColumns.map((t) => asName(t)).join(", ")}) ` +
@@ -123,7 +123,7 @@ const getTableQueries = async (
123
123
  { values },
124
124
  );
125
125
  });
126
- const queries = [createQuery, ...dataQuerys];
126
+ const queries = [createQuery, ...insertQueries];
127
127
  return {
128
128
  queries,
129
129
  colDefs,
@@ -162,7 +162,7 @@ export const initTableConfig = async function (this: TableConfigurator) {
162
162
  const ALTER_TABLE_Q = `ALTER TABLE ${asName(tableName)}`;
163
163
 
164
164
  /* isLookupTable table has already been created */
165
- const coldef =
165
+ const tableColumnDefinition =
166
166
  "isLookupTable" in tableConf ? undefined : (
167
167
  await getTableColumnQueries({
168
168
  db: this.db,
@@ -172,8 +172,8 @@ export const initTableConfig = async function (this: TableConfigurator) {
172
172
  })
173
173
  );
174
174
 
175
- if (coldef) {
176
- queries.push(coldef.fullQuery);
175
+ if (tableColumnDefinition) {
176
+ queries.push(tableColumnDefinition.fullQuery);
177
177
  }
178
178
 
179
179
  /** CONSTRAINTS */
@@ -181,13 +181,13 @@ export const initTableConfig = async function (this: TableConfigurator) {
181
181
  tableName,
182
182
  tableConf,
183
183
  });
184
- if (coldef?.isCreate) {
184
+ if (tableColumnDefinition?.isCreate) {
185
185
  queries.push(...(constraintDefs?.map((c) => c.alterQuery) ?? []));
186
- } else if (coldef) {
186
+ } else if (tableColumnDefinition) {
187
187
  const fullSchema = await getFutureTableSchema({
188
188
  db: this.db,
189
189
  tableName,
190
- columnDefs: coldef.columnDefs,
190
+ columnDefs: tableColumnDefinition.columnDefs,
191
191
  constraintDefs,
192
192
  });
193
193
  const futureCons = fullSchema.constraints.map((nc) => ({
@@ -1,16 +1,15 @@
1
- import type { SQLRequest, TableHandler, UserLike } from "prostgles-types";
1
+ import type { SQLRequest, TableHandler } from "prostgles-types";
2
2
  import {
3
3
  ABORTABLE_METHODS,
4
4
  getJSONBObjectSchemaValidationError,
5
5
  getJSONBSchemaValidationErrorAsync,
6
6
  getKeys,
7
- pickKeys,
8
7
  type AnyObject,
9
8
  } from "prostgles-types";
10
9
  import type { AuthClientRequest } from "./Auth/AuthTypes";
10
+ import { getSessionUser } from "./Auth/utils/getSessionUser";
11
11
  import type { LocalParams } from "./DboBuilder/DboBuilder";
12
12
  import type { TableHandler as TableHandlerServer } from "./DboBuilder/TableHandler/TableHandler";
13
- import { parseFieldFilter } from "./DboBuilder/ViewHandler/parseFieldFilter";
14
13
  import { canRunSQL } from "./DboBuilder/runSql/runSQL";
15
14
  import type { Prostgles } from "./Prostgles";
16
15
  import type { ParsedTableRule } from "./PublishParser/publishTypesAndUtils";
@@ -118,18 +117,7 @@ export const runClientRequest = async function (
118
117
  scope,
119
118
  );
120
119
 
121
- const sessionUser: UserLike | undefined =
122
- !clientInfo.user ? undefined : (
123
- {
124
- ...parseFieldFilter(
125
- //@ts-ignore
126
- clientInfo.sessionFields ?? [],
127
- false,
128
- getKeys(clientInfo.user),
129
- ),
130
- ...(pickKeys(clientInfo.user, ["id", "type"]) as UserLike),
131
- }
132
- );
120
+ const sessionUser = getSessionUser(clientInfo);
133
121
  const localParams: LocalParams = {
134
122
  clientReq,
135
123
  isRemoteRequest: { user: sessionUser, clientInfo },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.603",
3
+ "version": "4.2.604",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",