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.
- package/dist/Auth/utils/getSessionUser.d.ts +4 -0
- package/dist/Auth/utils/getSessionUser.d.ts.map +1 -0
- package/dist/Auth/utils/getSessionUser.js +17 -0
- package/dist/Auth/utils/getSessionUser.js.map +1 -0
- package/dist/Auth/utils/getSessionUser.spec.d.ts +2 -0
- package/dist/Auth/utils/getSessionUser.spec.d.ts.map +1 -0
- package/dist/Auth/utils/getSessionUser.spec.js +42 -0
- package/dist/Auth/utils/getSessionUser.spec.js.map +1 -0
- package/dist/DBSchemaBuilder/getColumnTypescriptDefinition.js +2 -2
- package/dist/DBSchemaBuilder/getColumnTypescriptDefinition.js.map +1 -1
- package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/TableHandler.js +4 -0
- package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
- package/dist/DboBuilder/TableHandler/delete.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/delete.js +4 -1
- package/dist/DboBuilder/TableHandler/delete.js.map +1 -1
- package/dist/DboBuilder/TableHandler/insert/insert.js +1 -1
- package/dist/DboBuilder/TableHandler/insert/insert.js.map +1 -1
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +1 -1
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js.map +1 -1
- package/dist/DboBuilder/TableHandler/update.js +1 -1
- package/dist/DboBuilder/TableHandler/update.js.map +1 -1
- package/dist/DboBuilder/TableHandler/updateBatch.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/updateBatch.js +4 -1
- package/dist/DboBuilder/TableHandler/updateBatch.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/count.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/count.js +1 -1
- package/dist/DboBuilder/ViewHandler/count.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/find.js +1 -1
- package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/size.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/size.js +1 -1
- package/dist/DboBuilder/ViewHandler/size.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/subscribe.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/subscribe.js +1 -0
- package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
- package/dist/DboBuilder/dboBuilderUtils.d.ts +1 -1
- package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
- package/dist/DboBuilder/dboBuilderUtils.js +7 -2
- package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
- package/dist/PubSubManager/PubSubManager.d.ts +5 -2
- package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.js +2 -4
- package/dist/PubSubManager/PubSubManager.js.map +1 -1
- package/dist/PubSubManager/SyncReplication/fetchSyncServerData.d.ts +3 -3
- package/dist/PubSubManager/SyncReplication/fetchSyncServerData.d.ts.map +1 -1
- package/dist/PubSubManager/SyncReplication/fetchSyncServerData.js +2 -2
- package/dist/PubSubManager/SyncReplication/fetchSyncServerData.js.map +1 -1
- package/dist/PubSubManager/SyncReplication/getSyncUtilFunctions.d.ts +3 -2
- package/dist/PubSubManager/SyncReplication/getSyncUtilFunctions.d.ts.map +1 -1
- package/dist/PubSubManager/SyncReplication/getSyncUtilFunctions.js +8 -8
- package/dist/PubSubManager/SyncReplication/getSyncUtilFunctions.js.map +1 -1
- package/dist/PubSubManager/SyncReplication/syncData.js +1 -0
- package/dist/PubSubManager/SyncReplication/syncData.js.map +1 -1
- package/dist/PubSubManager/addSub.d.ts.map +1 -1
- package/dist/PubSubManager/addSub.js +2 -1
- package/dist/PubSubManager/addSub.js.map +1 -1
- package/dist/PubSubManager/addSync.d.ts.map +1 -1
- package/dist/PubSubManager/addSync.js +2 -0
- package/dist/PubSubManager/addSync.js.map +1 -1
- package/dist/PubSubManager/init/getPubSubManagerInitQuery.js +4 -4
- package/dist/TableConfig/getTableConfigSchemaQueries.js +2 -2
- package/dist/TableConfig/getTableConfigSchemaQueries.js.map +1 -1
- package/dist/TableConfig/initTableConfig.js +6 -6
- package/dist/TableConfig/initTableConfig.js.map +1 -1
- package/dist/runClientRequest.d.ts.map +1 -1
- package/dist/runClientRequest.js +2 -7
- package/dist/runClientRequest.js.map +1 -1
- package/lib/Auth/utils/getSessionUser.spec.ts +41 -0
- package/lib/Auth/utils/getSessionUser.ts +19 -0
- package/lib/DBSchemaBuilder/getColumnTypescriptDefinition.ts +2 -2
- package/lib/DboBuilder/TableHandler/TableHandler.ts +9 -1
- package/lib/DboBuilder/TableHandler/delete.ts +8 -1
- package/lib/DboBuilder/TableHandler/insert/insert.ts +1 -1
- package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +1 -1
- package/lib/DboBuilder/TableHandler/update.ts +1 -1
- package/lib/DboBuilder/TableHandler/updateBatch.ts +4 -1
- package/lib/DboBuilder/ViewHandler/count.ts +5 -1
- package/lib/DboBuilder/ViewHandler/find.ts +5 -1
- package/lib/DboBuilder/ViewHandler/size.ts +5 -1
- package/lib/DboBuilder/ViewHandler/subscribe.ts +1 -0
- package/lib/DboBuilder/dboBuilderUtils.ts +11 -2
- package/lib/PubSubManager/PubSubManager.ts +20 -5
- package/lib/PubSubManager/SyncReplication/fetchSyncServerData.ts +4 -4
- package/lib/PubSubManager/SyncReplication/getSyncUtilFunctions.ts +16 -8
- package/lib/PubSubManager/SyncReplication/syncData.ts +1 -1
- package/lib/PubSubManager/addSub.ts +2 -0
- package/lib/PubSubManager/addSync.ts +2 -0
- package/lib/PubSubManager/init/getPubSubManagerInitQuery.ts +4 -4
- package/lib/TableConfig/getTableConfigSchemaQueries.ts +2 -2
- package/lib/TableConfig/initTableConfig.ts +6 -6
- package/lib/runClientRequest.ts +3 -15
- 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
|
|
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
|
|
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, ...
|
|
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
|
|
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 (
|
|
176
|
-
queries.push(
|
|
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 (
|
|
184
|
+
if (tableColumnDefinition?.isCreate) {
|
|
185
185
|
queries.push(...(constraintDefs?.map((c) => c.alterQuery) ?? []));
|
|
186
|
-
} else if (
|
|
186
|
+
} else if (tableColumnDefinition) {
|
|
187
187
|
const fullSchema = await getFutureTableSchema({
|
|
188
188
|
db: this.db,
|
|
189
189
|
tableName,
|
|
190
|
-
columnDefs:
|
|
190
|
+
columnDefs: tableColumnDefinition.columnDefs,
|
|
191
191
|
constraintDefs,
|
|
192
192
|
});
|
|
193
193
|
const futureCons = fullSchema.constraints.map((nc) => ({
|
package/lib/runClientRequest.ts
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import type { SQLRequest, TableHandler
|
|
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
|
|
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 },
|