prostgles-server 4.2.183 → 4.2.185
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/.github/workflows/main.yml +15 -15
- package/.prettierignore +2 -0
- package/README.md +1 -1
- package/dist/Auth/AuthHandler.d.ts +1 -1
- package/dist/Auth/AuthHandler.d.ts.map +1 -1
- package/dist/Auth/AuthHandler.js +64 -32
- package/dist/Auth/AuthHandler.js.map +1 -1
- package/dist/Auth/AuthTypes.d.ts +15 -1
- package/dist/Auth/AuthTypes.d.ts.map +1 -1
- package/dist/Auth/getSafeReturnURL.d.ts.map +1 -1
- package/dist/Auth/getSafeReturnURL.js.map +1 -1
- package/dist/Auth/sendEmail.d.ts.map +1 -1
- package/dist/Auth/sendEmail.js +6 -6
- package/dist/Auth/sendEmail.js.map +1 -1
- package/dist/Auth/setAuthProviders.d.ts +1 -1
- package/dist/Auth/setAuthProviders.d.ts.map +1 -1
- package/dist/Auth/setAuthProviders.js +15 -8
- package/dist/Auth/setAuthProviders.js.map +1 -1
- package/dist/Auth/setEmailProvider.d.ts.map +1 -1
- package/dist/Auth/setEmailProvider.js +23 -4
- package/dist/Auth/setEmailProvider.js.map +1 -1
- package/dist/Auth/setupAuthRoutes.d.ts.map +1 -1
- package/dist/Auth/setupAuthRoutes.js +27 -9
- package/dist/Auth/setupAuthRoutes.js.map +1 -1
- package/dist/DBEventsManager.d.ts.map +1 -1
- package/dist/DBEventsManager.js +24 -19
- package/dist/DBEventsManager.js.map +1 -1
- package/dist/DBSchemaBuilder.d.ts.map +1 -1
- package/dist/DBSchemaBuilder.js +18 -5
- package/dist/DBSchemaBuilder.js.map +1 -1
- package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder/DboBuilder.js +7 -2
- package/dist/DboBuilder/DboBuilder.js.map +1 -1
- package/dist/DboBuilder/DboBuilderTypes.d.ts +4 -4
- package/dist/DboBuilder/DboBuilderTypes.d.ts.map +1 -1
- package/dist/DboBuilder/DboBuilderTypes.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/Functions.d.ts +2 -2
- package/dist/DboBuilder/QueryBuilder/Functions.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/Functions.js +293 -173
- package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts +2 -2
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.js +52 -29
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.js +51 -32
- package/dist/DboBuilder/QueryBuilder/getJoinQuery.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getNewQuery.js +48 -25
- package/dist/DboBuilder/QueryBuilder/getNewQuery.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts +1 -1
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.js +32 -23
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.js.map +1 -1
- package/dist/DboBuilder/QueryStreamer.d.ts +2 -2
- package/dist/DboBuilder/QueryStreamer.d.ts.map +1 -1
- package/dist/DboBuilder/QueryStreamer.js +68 -23
- package/dist/DboBuilder/QueryStreamer.js.map +1 -1
- package/dist/DboBuilder/TableHandler/DataValidator.d.ts +1 -1
- package/dist/DboBuilder/TableHandler/DataValidator.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/DataValidator.js +79 -43
- package/dist/DboBuilder/TableHandler/DataValidator.js.map +1 -1
- package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/TableHandler.js +39 -15
- 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 +44 -13
- package/dist/DboBuilder/TableHandler/delete.js.map +1 -1
- package/dist/DboBuilder/TableHandler/insert.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/insert.js +81 -22
- package/dist/DboBuilder/TableHandler/insert.js.map +1 -1
- package/dist/DboBuilder/TableHandler/insertTest.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/insertTest.js.map +1 -1
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts +1 -1
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js +7 -4
- package/dist/DboBuilder/TableHandler/onDeleteFromFileTable.js.map +1 -1
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +24 -5
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js.map +1 -1
- package/dist/DboBuilder/TableHandler/update.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/update.js +16 -4
- 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 +33 -10
- package/dist/DboBuilder/TableHandler/updateBatch.js.map +1 -1
- package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/updateFile.js +24 -6
- package/dist/DboBuilder/TableHandler/updateFile.js.map +1 -1
- package/dist/DboBuilder/TableHandler/upsert.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/upsert.js +22 -6
- package/dist/DboBuilder/TableHandler/upsert.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts +5 -5
- package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/ViewHandler.js +64 -36
- package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/count.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/count.js +21 -7
- 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 +76 -22
- package/dist/DboBuilder/ViewHandler/find.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getExistsCondition.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getExistsCondition.js +19 -10
- package/dist/DboBuilder/ViewHandler/getExistsCondition.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getExistsFilters.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getExistsFilters.js +12 -5
- package/dist/DboBuilder/ViewHandler/getExistsFilters.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getInfo.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getInfo.js +27 -9
- package/dist/DboBuilder/ViewHandler/getInfo.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts +2 -2
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js +42 -23
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseComplexFilter.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseComplexFilter.js +22 -9
- package/dist/DboBuilder/ViewHandler/parseComplexFilter.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts +4 -4
- package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseFieldFilter.js +13 -11
- package/dist/DboBuilder/ViewHandler/parseFieldFilter.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts +1 -1
- package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseJoinPath.js +44 -29
- package/dist/DboBuilder/ViewHandler/parseJoinPath.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/prepareSortItems.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/prepareSortItems.js +36 -27
- package/dist/DboBuilder/ViewHandler/prepareSortItems.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/prepareWhere.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/prepareWhere.js +16 -12
- package/dist/DboBuilder/ViewHandler/prepareWhere.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/size.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/size.js +24 -7
- 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 +40 -12
- package/dist/DboBuilder/ViewHandler/subscribe.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/validateViewRules.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/validateViewRules.js +20 -5
- package/dist/DboBuilder/ViewHandler/validateViewRules.js.map +1 -1
- package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
- package/dist/DboBuilder/dboBuilderUtils.js +18 -7
- package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
- package/dist/DboBuilder/getColumns.d.ts.map +1 -1
- package/dist/DboBuilder/getColumns.js +22 -7
- package/dist/DboBuilder/getColumns.js.map +1 -1
- package/dist/DboBuilder/getCondition.d.ts.map +1 -1
- package/dist/DboBuilder/getCondition.js +43 -30
- package/dist/DboBuilder/getCondition.js.map +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.d.ts.map +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.js +38 -27
- package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
- package/dist/DboBuilder/getTablesForSchemaPostgresSQL.d.ts.map +1 -1
- package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js +9 -9
- package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js.map +1 -1
- package/dist/DboBuilder/insertNestedRecords.d.ts +3 -3
- package/dist/DboBuilder/insertNestedRecords.d.ts.map +1 -1
- package/dist/DboBuilder/insertNestedRecords.js +79 -44
- package/dist/DboBuilder/insertNestedRecords.js.map +1 -1
- package/dist/DboBuilder/parseUpdateRules.d.ts.map +1 -1
- package/dist/DboBuilder/parseUpdateRules.js +38 -14
- package/dist/DboBuilder/parseUpdateRules.js.map +1 -1
- package/dist/DboBuilder/prepareShortestJoinPaths.d.ts.map +1 -1
- package/dist/DboBuilder/prepareShortestJoinPaths.js +56 -31
- package/dist/DboBuilder/prepareShortestJoinPaths.js.map +1 -1
- package/dist/DboBuilder/runSQL.d.ts.map +1 -1
- package/dist/DboBuilder/runSQL.js +41 -21
- package/dist/DboBuilder/runSQL.js.map +1 -1
- package/dist/DboBuilder/runTransaction.d.ts +1 -1
- package/dist/DboBuilder/runTransaction.d.ts.map +1 -1
- package/dist/DboBuilder/runTransaction.js +2 -2
- package/dist/DboBuilder/runTransaction.js.map +1 -1
- package/dist/DboBuilder/sqlErrCodeToMsg.d.ts.map +1 -1
- package/dist/DboBuilder/sqlErrCodeToMsg.js +297 -38
- package/dist/DboBuilder/sqlErrCodeToMsg.js.map +1 -1
- package/dist/DboBuilder/uploadFile.d.ts.map +1 -1
- package/dist/DboBuilder/uploadFile.js +33 -9
- package/dist/DboBuilder/uploadFile.js.map +1 -1
- package/dist/Event_Trigger_Tags.d.ts +1 -1
- package/dist/Event_Trigger_Tags.d.ts.map +1 -1
- package/dist/Event_Trigger_Tags.js +1 -1
- package/dist/Event_Trigger_Tags.js.map +1 -1
- package/dist/FileManager/FileManager.d.ts.map +1 -1
- package/dist/FileManager/FileManager.js +6 -3
- package/dist/FileManager/FileManager.js.map +1 -1
- package/dist/FileManager/getValidatedFileType.d.ts.map +1 -1
- package/dist/FileManager/getValidatedFileType.js +18 -16
- package/dist/FileManager/getValidatedFileType.js.map +1 -1
- package/dist/FileManager/initFileManager.d.ts.map +1 -1
- package/dist/FileManager/initFileManager.js +7 -1
- package/dist/FileManager/initFileManager.js.map +1 -1
- package/dist/FileManager/upload.d.ts +1 -1
- package/dist/FileManager/upload.d.ts.map +1 -1
- package/dist/FileManager/upload.js +3 -3
- package/dist/FileManager/upload.js.map +1 -1
- package/dist/FileManager/uploadStream.d.ts +1 -1
- package/dist/FileManager/uploadStream.d.ts.map +1 -1
- package/dist/FileManager/uploadStream.js +6 -7
- package/dist/FileManager/uploadStream.js.map +1 -1
- package/dist/Filtering.d.ts +3 -3
- package/dist/Filtering.d.ts.map +1 -1
- package/dist/Filtering.js +70 -37
- package/dist/Filtering.js.map +1 -1
- package/dist/JSONBValidation/validate_jsonb_schema_sql.d.ts.map +1 -1
- package/dist/JSONBValidation/validate_jsonb_schema_sql.js +1 -4
- package/dist/JSONBValidation/validate_jsonb_schema_sql.js.map +1 -1
- package/dist/JSONBValidation/validation.d.ts.map +1 -1
- package/dist/JSONBValidation/validation.js +46 -24
- package/dist/JSONBValidation/validation.js.map +1 -1
- package/dist/Logging.d.ts +2 -2
- package/dist/Logging.d.ts.map +1 -1
- package/dist/PostgresNotifListenManager.d.ts.map +1 -1
- package/dist/PostgresNotifListenManager.js +20 -22
- package/dist/PostgresNotifListenManager.js.map +1 -1
- package/dist/Prostgles.d.ts +1 -1
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/Prostgles.js +37 -11
- package/dist/Prostgles.js.map +1 -1
- package/dist/ProstglesTypes.d.ts.map +1 -1
- package/dist/ProstglesTypes.js +6 -1
- package/dist/ProstglesTypes.js.map +1 -1
- package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.js +10 -5
- package/dist/PubSubManager/PubSubManager.js.map +1 -1
- package/dist/PubSubManager/addSub.d.ts.map +1 -1
- package/dist/PubSubManager/addSub.js +4 -6
- package/dist/PubSubManager/addSub.js.map +1 -1
- package/dist/PubSubManager/addSync.d.ts.map +1 -1
- package/dist/PubSubManager/addSync.js +10 -6
- package/dist/PubSubManager/addSync.js.map +1 -1
- package/dist/PubSubManager/getCreatePubSubManagerError.d.ts.map +1 -1
- package/dist/PubSubManager/getCreatePubSubManagerError.js +3 -1
- package/dist/PubSubManager/getCreatePubSubManagerError.js.map +1 -1
- package/dist/PubSubManager/getPubSubManagerInitQuery.d.ts.map +1 -1
- package/dist/PubSubManager/getPubSubManagerInitQuery.js +8 -8
- package/dist/PubSubManager/getPubSubManagerInitQuery.js.map +1 -1
- package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/initPubSubManager.js +7 -9
- package/dist/PubSubManager/initPubSubManager.js.map +1 -1
- package/dist/PubSubManager/notifListener.d.ts.map +1 -1
- package/dist/PubSubManager/notifListener.js +23 -12
- package/dist/PubSubManager/notifListener.js.map +1 -1
- package/dist/PubSubManager/orphanTriggerCheck.d.ts.map +1 -1
- package/dist/PubSubManager/orphanTriggerCheck.js.map +1 -1
- package/dist/PubSubManager/pushSubData.d.ts.map +1 -1
- package/dist/PubSubManager/pushSubData.js +1 -1
- package/dist/PubSubManager/pushSubData.js.map +1 -1
- package/dist/PublishParser/PublishParser.d.ts +1 -1
- package/dist/PublishParser/PublishParser.d.ts.map +1 -1
- package/dist/PublishParser/PublishParser.js +25 -14
- package/dist/PublishParser/PublishParser.js.map +1 -1
- package/dist/PublishParser/getFileTableRules.d.ts.map +1 -1
- package/dist/PublishParser/getFileTableRules.js +23 -16
- package/dist/PublishParser/getFileTableRules.js.map +1 -1
- package/dist/PublishParser/getSchemaFromPublish.d.ts.map +1 -1
- package/dist/PublishParser/getSchemaFromPublish.js +39 -16
- package/dist/PublishParser/getSchemaFromPublish.js.map +1 -1
- package/dist/PublishParser/getTableRulesWithoutFileTable.d.ts.map +1 -1
- package/dist/PublishParser/getTableRulesWithoutFileTable.js +42 -22
- package/dist/PublishParser/getTableRulesWithoutFileTable.js.map +1 -1
- package/dist/PublishParser/publishTypesAndUtils.d.ts.map +1 -1
- package/dist/PublishParser/publishTypesAndUtils.js +5 -1
- package/dist/PublishParser/publishTypesAndUtils.js.map +1 -1
- package/dist/RestApi.d.ts +1 -1
- package/dist/RestApi.d.ts.map +1 -1
- package/dist/RestApi.js +1 -1
- package/dist/RestApi.js.map +1 -1
- package/dist/SchemaWatch/SchemaWatch.d.ts +2 -2
- package/dist/SchemaWatch/SchemaWatch.d.ts.map +1 -1
- package/dist/SchemaWatch/SchemaWatch.js +11 -9
- package/dist/SchemaWatch/SchemaWatch.js.map +1 -1
- package/dist/SchemaWatch/getValidatedWatchSchemaType.d.ts.map +1 -1
- package/dist/SchemaWatch/getValidatedWatchSchemaType.js +3 -3
- package/dist/SchemaWatch/getValidatedWatchSchemaType.js.map +1 -1
- package/dist/SchemaWatch/getWatchSchemaTagList.d.ts.map +1 -1
- package/dist/SchemaWatch/getWatchSchemaTagList.js +12 -6
- package/dist/SchemaWatch/getWatchSchemaTagList.js.map +1 -1
- package/dist/SyncReplication.d.ts.map +1 -1
- package/dist/SyncReplication.js +84 -42
- package/dist/SyncReplication.js.map +1 -1
- package/dist/TableConfig/TableConfig.d.ts +5 -5
- package/dist/TableConfig/TableConfig.d.ts.map +1 -1
- package/dist/TableConfig/TableConfig.js +18 -5
- package/dist/TableConfig/TableConfig.js.map +1 -1
- package/dist/TableConfig/getColumnDefinitionQuery.d.ts +2 -2
- package/dist/TableConfig/getColumnDefinitionQuery.d.ts.map +1 -1
- package/dist/TableConfig/getColumnDefinitionQuery.js +20 -9
- package/dist/TableConfig/getColumnDefinitionQuery.js.map +1 -1
- package/dist/TableConfig/getConstraintDefinitionQueries.d.ts +3 -3
- package/dist/TableConfig/getConstraintDefinitionQueries.d.ts.map +1 -1
- package/dist/TableConfig/getConstraintDefinitionQueries.js +12 -7
- package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
- package/dist/TableConfig/getFutureTableSchema.d.ts +1 -1
- package/dist/TableConfig/getFutureTableSchema.d.ts.map +1 -1
- package/dist/TableConfig/getFutureTableSchema.js +6 -4
- package/dist/TableConfig/getFutureTableSchema.js.map +1 -1
- package/dist/TableConfig/getPGIndexes.d.ts.map +1 -1
- package/dist/TableConfig/getPGIndexes.js.map +1 -1
- package/dist/TableConfig/getTableColumnQueries.d.ts +1 -1
- package/dist/TableConfig/getTableColumnQueries.d.ts.map +1 -1
- package/dist/TableConfig/getTableColumnQueries.js +38 -19
- package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
- package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
- package/dist/TableConfig/initTableConfig.js +91 -43
- package/dist/TableConfig/initTableConfig.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/initProstgles.d.ts.map +1 -1
- package/dist/initProstgles.js +14 -10
- package/dist/initProstgles.js.map +1 -1
- package/dist/onSocketConnected.d.ts.map +1 -1
- package/dist/onSocketConnected.js +38 -16
- package/dist/onSocketConnected.js.map +1 -1
- package/dist/runClientRequest.d.ts.map +1 -1
- package/dist/runClientRequest.js +33 -14
- package/dist/runClientRequest.js.map +1 -1
- package/dist/shortestPath.d.ts.map +1 -1
- package/dist/shortestPath.js +1 -1
- package/dist/shortestPath.js.map +1 -1
- package/dist/typeTests/dboTypeCheck.js.map +1 -1
- package/examples/full-example-typescript/DBoGenerated.d.ts +112 -54
- package/examples/full-example-typescript/DBoGenerated.js +3 -3
- package/examples/full-example-typescript/home.html +28 -26
- package/examples/full-example-typescript/index.d.ts +1 -1
- package/examples/full-example-typescript/index.js +80 -53
- package/examples/full-example-vanilla/home.html +151 -125
- package/examples/server/javascript/index.js +17 -19
- package/lib/Auth/AuthHandler.ts +234 -155
- package/lib/Auth/AuthTypes.ts +27 -4
- package/lib/Auth/getSafeReturnURL.ts +35 -21
- package/lib/Auth/sendEmail.ts +34 -31
- package/lib/Auth/setAuthProviders.ts +94 -71
- package/lib/Auth/setEmailProvider.ts +45 -27
- package/lib/Auth/setupAuthRoutes.ts +164 -100
- package/lib/DBEventsManager.ts +87 -65
- package/lib/DBSchemaBuilder.ts +62 -28
- package/lib/DboBuilder/DboBuilder.ts +45 -21
- package/lib/DboBuilder/DboBuilderTypes.ts +99 -95
- package/lib/DboBuilder/QueryBuilder/Functions.ts +862 -580
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +202 -141
- package/lib/DboBuilder/QueryBuilder/getJoinQuery.ts +199 -124
- package/lib/DboBuilder/QueryBuilder/getNewQuery.ts +209 -148
- package/lib/DboBuilder/QueryBuilder/getSelectQuery.ts +101 -75
- package/lib/DboBuilder/QueryBuilder/prepareHaving.ts +10 -5
- package/lib/DboBuilder/QueryStreamer.ts +207 -100
- package/lib/DboBuilder/TableHandler/DataValidator.ts +253 -148
- package/lib/DboBuilder/TableHandler/TableHandler.ts +155 -60
- package/lib/DboBuilder/TableHandler/delete.ts +82 -29
- package/lib/DboBuilder/TableHandler/insert.ts +177 -81
- package/lib/DboBuilder/TableHandler/insertTest.ts +13 -7
- package/lib/DboBuilder/TableHandler/onDeleteFromFileTable.ts +35 -21
- package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +95 -45
- package/lib/DboBuilder/TableHandler/update.ts +54 -14
- package/lib/DboBuilder/TableHandler/updateBatch.ts +59 -21
- package/lib/DboBuilder/TableHandler/updateFile.ts +57 -26
- package/lib/DboBuilder/TableHandler/upsert.ts +58 -13
- package/lib/DboBuilder/ViewHandler/ViewHandler.ts +264 -121
- package/lib/DboBuilder/ViewHandler/count.ts +56 -25
- package/lib/DboBuilder/ViewHandler/find.ts +153 -68
- package/lib/DboBuilder/ViewHandler/getExistsCondition.ts +59 -32
- package/lib/DboBuilder/ViewHandler/getExistsFilters.ts +31 -19
- package/lib/DboBuilder/ViewHandler/getInfo.ts +47 -16
- package/lib/DboBuilder/ViewHandler/getTableJoinQuery.ts +91 -57
- package/lib/DboBuilder/ViewHandler/parseComplexFilter.ts +51 -29
- package/lib/DboBuilder/ViewHandler/parseFieldFilter.ts +35 -29
- package/lib/DboBuilder/ViewHandler/parseJoinPath.ts +130 -76
- package/lib/DboBuilder/ViewHandler/prepareSortItems.ts +140 -92
- package/lib/DboBuilder/ViewHandler/prepareWhere.ts +66 -26
- package/lib/DboBuilder/ViewHandler/size.ts +56 -22
- package/lib/DboBuilder/ViewHandler/subscribe.ts +122 -46
- package/lib/DboBuilder/ViewHandler/validateViewRules.ts +39 -14
- package/lib/DboBuilder/dboBuilderUtils.ts +41 -18
- package/lib/DboBuilder/getColumns.ts +44 -12
- package/lib/DboBuilder/getCondition.ts +120 -79
- package/lib/DboBuilder/getSubscribeRelatedTables.ts +144 -83
- package/lib/DboBuilder/getTablesForSchemaPostgresSQL.ts +61 -44
- package/lib/DboBuilder/insertNestedRecords.ts +370 -235
- package/lib/DboBuilder/parseUpdateRules.ts +117 -61
- package/lib/DboBuilder/prepareShortestJoinPaths.ts +115 -56
- package/lib/DboBuilder/runSQL.ts +135 -74
- package/lib/DboBuilder/runTransaction.ts +27 -16
- package/lib/DboBuilder/sqlErrCodeToMsg.ts +502 -244
- package/lib/DboBuilder/uploadFile.ts +67 -31
- package/lib/Event_Trigger_Tags.ts +6 -4
- package/lib/FileManager/FileManager.ts +53 -21
- package/lib/FileManager/getValidatedFileType.ts +79 -35
- package/lib/FileManager/initFileManager.ts +21 -9
- package/lib/FileManager/upload.ts +21 -19
- package/lib/FileManager/uploadStream.ts +33 -34
- package/lib/Filtering.ts +249 -197
- package/lib/JSONBValidation/validate_jsonb_schema_sql.ts +2 -7
- package/lib/JSONBValidation/validation.ts +147 -82
- package/lib/Logging.ts +107 -97
- package/lib/PostgresNotifListenManager.ts +96 -63
- package/lib/Prostgles.ts +106 -35
- package/lib/ProstglesTypes.ts +31 -9
- package/lib/PubSubManager/PubSubManager.ts +62 -27
- package/lib/PubSubManager/addSub.ts +56 -37
- package/lib/PubSubManager/addSync.ts +50 -33
- package/lib/PubSubManager/getCreatePubSubManagerError.ts +29 -21
- package/lib/PubSubManager/getPubSubManagerInitQuery.ts +45 -27
- package/lib/PubSubManager/initPubSubManager.ts +27 -18
- package/lib/PubSubManager/notifListener.ts +77 -59
- package/lib/PubSubManager/orphanTriggerCheck.ts +5 -4
- package/lib/PubSubManager/pushSubData.ts +11 -9
- package/lib/PublishParser/PublishParser.ts +102 -44
- package/lib/PublishParser/getFileTableRules.ts +97 -54
- package/lib/PublishParser/getSchemaFromPublish.ts +146 -74
- package/lib/PublishParser/getTableRulesWithoutFileTable.ts +101 -51
- package/lib/PublishParser/publishTypesAndUtils.ts +74 -23
- package/lib/RestApi.ts +10 -2
- package/lib/SchemaWatch/SchemaWatch.ts +52 -34
- package/lib/SchemaWatch/createSchemaWatchEventTrigger.ts +1 -1
- package/lib/SchemaWatch/getValidatedWatchSchemaType.ts +32 -22
- package/lib/SchemaWatch/getWatchSchemaTagList.ts +24 -16
- package/lib/SyncReplication.ts +376 -190
- package/lib/TableConfig/TableConfig.ts +200 -136
- package/lib/TableConfig/getColumnDefinitionQuery.ts +65 -44
- package/lib/TableConfig/getConstraintDefinitionQueries.ts +41 -25
- package/lib/TableConfig/getFutureTableSchema.ts +31 -21
- package/lib/TableConfig/getPGIndexes.ts +7 -4
- package/lib/TableConfig/getTableColumnQueries.ts +101 -54
- package/lib/TableConfig/initTableConfig.ts +192 -101
- package/lib/index.ts +6 -5
- package/lib/initProstgles.ts +57 -51
- package/lib/onSocketConnected.ts +75 -40
- package/lib/runClientRequest.ts +148 -79
- package/lib/shortestPath.ts +80 -76
- package/lib/typeTests/DBoGenerated.d.ts +5 -1
- package/lib/typeTests/dboTypeCheck.ts +8 -8
- package/package.json +1 -1
|
@@ -15,49 +15,62 @@ async function prepareShortestJoinPaths(dboBuilder) {
|
|
|
15
15
|
/* If joins are specified then include inferred joins except the explicit tables */
|
|
16
16
|
}
|
|
17
17
|
else if (Array.isArray(joinConfig)) {
|
|
18
|
-
const joinTables = joinConfig.map(j => j.tables).flat();
|
|
19
|
-
joinConfig = joinConfig.concat(inferredJoins.filter(j => !j.tables.find(t => joinTables.includes(t))));
|
|
18
|
+
const joinTables = joinConfig.map((j) => j.tables).flat();
|
|
19
|
+
joinConfig = joinConfig.concat(inferredJoins.filter((j) => !j.tables.find((t) => joinTables.includes(t))));
|
|
20
20
|
}
|
|
21
21
|
else if (joinConfig) {
|
|
22
|
-
throw new Error("Unexpected joins init param. Expecting 'inferred' OR joinConfig but got: " +
|
|
22
|
+
throw new Error("Unexpected joins init param. Expecting 'inferred' OR joinConfig but got: " +
|
|
23
|
+
JSON.stringify(joinConfig));
|
|
23
24
|
}
|
|
24
25
|
const joins = JSON.parse(JSON.stringify(joinConfig));
|
|
25
26
|
// Validate joins
|
|
26
27
|
try {
|
|
27
|
-
const tovNames = dboBuilder.tablesOrViews.map(t => t.name);
|
|
28
|
+
const tovNames = dboBuilder.tablesOrViews.map((t) => t.name);
|
|
28
29
|
// 2 find incorrect tables
|
|
29
|
-
const missing = joins
|
|
30
|
+
const missing = joins
|
|
31
|
+
.flatMap((j) => j.tables)
|
|
32
|
+
.find((t) => !tovNames.includes(t));
|
|
30
33
|
if (missing) {
|
|
31
34
|
throw "Table not found: " + missing;
|
|
32
35
|
}
|
|
33
36
|
// 3 find incorrect fields
|
|
34
37
|
joins.map(({ tables, on }) => {
|
|
35
38
|
const t1 = tables[0], t2 = tables[1];
|
|
36
|
-
on.map(cond => {
|
|
39
|
+
on.map((cond) => {
|
|
37
40
|
const f1s = Object.keys(cond), f2s = Object.values(cond);
|
|
38
|
-
[
|
|
41
|
+
[
|
|
42
|
+
[t1, f1s],
|
|
43
|
+
[t2, f2s],
|
|
44
|
+
].map((v) => {
|
|
39
45
|
const t = v[0], f = v[1];
|
|
40
|
-
const tov = dboBuilder.tablesOrViews.find(_t => _t.name === t);
|
|
46
|
+
const tov = dboBuilder.tablesOrViews.find((_t) => _t.name === t);
|
|
41
47
|
if (!tov)
|
|
42
48
|
throw "Table not found: " + t;
|
|
43
|
-
const m1 = f.filter(k => !tov.columns.map(c => c.name).includes(k));
|
|
49
|
+
const m1 = f.filter((k) => !tov.columns.map((c) => c.name).includes(k));
|
|
44
50
|
if (m1 && m1.length) {
|
|
45
|
-
throw `Table ${t}(${tov.columns.map(c => c.name).join()}) has no fields named: ${m1.join()}`;
|
|
51
|
+
throw `Table ${t}(${tov.columns.map((c) => c.name).join()}) has no fields named: ${m1.join()}`;
|
|
46
52
|
}
|
|
47
53
|
});
|
|
48
54
|
});
|
|
49
55
|
});
|
|
50
56
|
// 4 find incorrect/missing join types
|
|
51
|
-
const expected_types = " \n\n-> Expecting: " +
|
|
52
|
-
|
|
57
|
+
const expected_types = " \n\n-> Expecting: " +
|
|
58
|
+
ProstglesTypes_1.JOIN_TYPES.map((t) => JSON.stringify(t)).join(` | `);
|
|
59
|
+
const mt = joins.find((j) => !j.type);
|
|
53
60
|
if (mt)
|
|
54
|
-
throw "Join type missing for: " +
|
|
55
|
-
|
|
61
|
+
throw ("Join type missing for: " +
|
|
62
|
+
JSON.stringify(mt, null, 2) +
|
|
63
|
+
expected_types);
|
|
64
|
+
const it = joins.find((j) => !ProstglesTypes_1.JOIN_TYPES.includes(j.type));
|
|
56
65
|
if (it)
|
|
57
|
-
throw "Incorrect join type for: " +
|
|
66
|
+
throw ("Incorrect join type for: " +
|
|
67
|
+
JSON.stringify(it, null, 2) +
|
|
68
|
+
expected_types);
|
|
58
69
|
}
|
|
59
70
|
catch (e) {
|
|
60
|
-
const errMsg = (joinConfig === "inferred" ? "INFERRED " : "") +
|
|
71
|
+
const errMsg = (joinConfig === "inferred" ? "INFERRED " : "") +
|
|
72
|
+
"JOINS VALIDATION ERROR \n-> " +
|
|
73
|
+
e;
|
|
61
74
|
throw errMsg;
|
|
62
75
|
}
|
|
63
76
|
// Make joins graph
|
|
@@ -71,13 +84,13 @@ async function prepareShortestJoinPaths(dboBuilder) {
|
|
|
71
84
|
joinGraph[t2] ??= {};
|
|
72
85
|
joinGraph[t2][t1] = 1;
|
|
73
86
|
});
|
|
74
|
-
const tables = Array.from(new Set(joins.flatMap(t => t.tables)));
|
|
87
|
+
const tables = Array.from(new Set(joins.flatMap((t) => t.tables)));
|
|
75
88
|
const shortestJoinPaths = [];
|
|
76
89
|
tables.forEach((t1, i1) => {
|
|
77
90
|
tables.forEach((t2, i2) => {
|
|
78
91
|
/** Prevent recursion */
|
|
79
92
|
if (t1 === t2 ||
|
|
80
|
-
shortestJoinPaths.some(jp => {
|
|
93
|
+
shortestJoinPaths.some((jp) => {
|
|
81
94
|
if (arrayValuesMatch([jp.t1, jp.t2], [t1, t2])) {
|
|
82
95
|
const spath = (0, shortestPath_1.findShortestPath)(joinGraph, t1, t2);
|
|
83
96
|
if (spath && arrayValuesMatch(spath.path, jp.path)) {
|
|
@@ -90,18 +103,24 @@ async function prepareShortestJoinPaths(dboBuilder) {
|
|
|
90
103
|
const spath = (0, shortestPath_1.findShortestPath)(joinGraph, t1, t2);
|
|
91
104
|
if (!(spath && spath.distance < Infinity))
|
|
92
105
|
return;
|
|
93
|
-
const existing1 = shortestJoinPaths.find(j => j.t1 === t1 && j.t2 === t2);
|
|
106
|
+
const existing1 = shortestJoinPaths.find((j) => j.t1 === t1 && j.t2 === t2);
|
|
94
107
|
if (!existing1) {
|
|
95
108
|
shortestJoinPaths.push({ t1, t2, path: spath.path.slice() });
|
|
96
109
|
}
|
|
97
|
-
const existing2 = shortestJoinPaths.find(j => j.t2 === t1 && j.t1 === t2);
|
|
110
|
+
const existing2 = shortestJoinPaths.find((j) => j.t2 === t1 && j.t1 === t2);
|
|
98
111
|
if (!existing2) {
|
|
99
|
-
shortestJoinPaths.push({
|
|
112
|
+
shortestJoinPaths.push({
|
|
113
|
+
t1: t2,
|
|
114
|
+
t2: t1,
|
|
115
|
+
path: spath.path.slice().reverse(),
|
|
116
|
+
});
|
|
100
117
|
}
|
|
101
118
|
});
|
|
102
119
|
});
|
|
103
120
|
return {
|
|
104
|
-
joins,
|
|
121
|
+
joins,
|
|
122
|
+
shortestJoinPaths,
|
|
123
|
+
joinGraph,
|
|
105
124
|
};
|
|
106
125
|
}
|
|
107
126
|
return {
|
|
@@ -116,7 +135,7 @@ const arrayValuesMatch = (arr1, arr2) => {
|
|
|
116
135
|
async function getInferredJoins2(schema) {
|
|
117
136
|
const joins = [];
|
|
118
137
|
const upsertJoin = (t1, t2, cols, type) => {
|
|
119
|
-
const existingIdx = joins.findIndex(j => arrayValuesMatch(j.tables.slice(0), [t1, t2]));
|
|
138
|
+
const existingIdx = joins.findIndex((j) => arrayValuesMatch(j.tables.slice(0), [t1, t2]));
|
|
120
139
|
const existing = joins[existingIdx];
|
|
121
140
|
const normalCond = cols.reduce((a, v) => ({ ...a, [v.col1]: v.col2 }), {});
|
|
122
141
|
const revertedCond = cols.reduce((a, v) => ({ ...a, [v.col2]: v.col1 }), {});
|
|
@@ -126,7 +145,7 @@ async function getInferredJoins2(schema) {
|
|
|
126
145
|
/** At some point we should add relationship type to EACH JOIN CONDITION GROUP */
|
|
127
146
|
// const fixedType = isLTR? type : type.split("").reverse().join("") as Join["type"];
|
|
128
147
|
/** Avoid duplicates */
|
|
129
|
-
if (!existing.on.some(_cond => JSON.stringify(_cond) === JSON.stringify(cond))) {
|
|
148
|
+
if (!existing.on.some((_cond) => JSON.stringify(_cond) === JSON.stringify(cond))) {
|
|
130
149
|
existing.on.push(cond);
|
|
131
150
|
joins[existingIdx] = existing;
|
|
132
151
|
}
|
|
@@ -135,18 +154,24 @@ async function getInferredJoins2(schema) {
|
|
|
135
154
|
joins.push({
|
|
136
155
|
tables: [t1, t2],
|
|
137
156
|
on: [normalCond],
|
|
138
|
-
type
|
|
157
|
+
type,
|
|
139
158
|
});
|
|
140
159
|
}
|
|
141
160
|
};
|
|
142
|
-
schema.map(tov => {
|
|
143
|
-
tov.columns.map(col => {
|
|
161
|
+
schema.map((tov) => {
|
|
162
|
+
tov.columns.map((col) => {
|
|
144
163
|
if (col.references) {
|
|
145
|
-
col.references.forEach(r => {
|
|
146
|
-
const joinCols = r.cols.map((c, i) => ({
|
|
164
|
+
col.references.forEach((r) => {
|
|
165
|
+
const joinCols = r.cols.map((c, i) => ({
|
|
166
|
+
col1: c,
|
|
167
|
+
col2: r.fcols[i],
|
|
168
|
+
}));
|
|
147
169
|
let type = "one-many";
|
|
148
|
-
const ftablePkeys = schema
|
|
149
|
-
|
|
170
|
+
const ftablePkeys = schema
|
|
171
|
+
.find((_tov) => _tov.name === r.ftable)
|
|
172
|
+
?.columns.filter((fcol) => fcol.is_pkey);
|
|
173
|
+
if (ftablePkeys?.length &&
|
|
174
|
+
ftablePkeys.every((fkey) => r.fcols.includes(fkey.name))) {
|
|
150
175
|
type = "one-one";
|
|
151
176
|
}
|
|
152
177
|
upsertJoin(tov.name, r.ftable, joinCols, type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareShortestJoinPaths.js","sourceRoot":"","sources":["../../lib/DboBuilder/prepareShortestJoinPaths.ts"],"names":[],"mappings":";;;AACA,sDAAqD;AACrD,kDAA0D;AASnD,KAAK,UAAU,wBAAwB,
|
|
1
|
+
{"version":3,"file":"prepareShortestJoinPaths.js","sourceRoot":"","sources":["../../lib/DboBuilder/prepareShortestJoinPaths.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runSQL.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/runSQL.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runSQL.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/runSQL.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,iCAAiC,CAAC;AACjD,OAAO,EACL,SAAS,EACT,UAAU,EAGX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAyB,MAAM,cAAc,CAAC;AAE9E,wBAAsB,MAAM,CAC1B,IAAI,EAAE,UAAU,EAChB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,GAAG,EAAE,EACnC,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,WAAW,CAAC,EAAE,WAAW,gBAqH1B;AA4BD,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,UAAQ,iBAgCjE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,EAAE;;;;;;;;;;;;;;;IAuB1E;AAED,eAAO,MAAM,SAAS,cACT,SAAS,gBACN,WAAW,KACxB,QAAQ,OAAO,CAUjB,CAAC;AAEF,eAAO,MAAM,eAAe,cAAmB,QAAQ,OAAO,CAI7D,CAAC"}
|
|
@@ -5,18 +5,21 @@ const pg_promise_1 = require("pg-promise");
|
|
|
5
5
|
const DboBuilder_1 = require("./DboBuilder");
|
|
6
6
|
async function runSQL(queryWithoutRLS, args, options, localParams) {
|
|
7
7
|
const queryWithRLS = queryWithoutRLS;
|
|
8
|
-
if (queryWithRLS
|
|
9
|
-
|
|
8
|
+
if (queryWithRLS
|
|
9
|
+
?.replace(/\s\s+/g, " ")
|
|
10
|
+
.toLowerCase()
|
|
11
|
+
.includes("create extension pg_stat_statements")) {
|
|
12
|
+
const { shared_preload_libraries } = await this.db.oneOrNone("SHOW shared_preload_libraries");
|
|
10
13
|
if (!(shared_preload_libraries || "").includes("pg_stat_statements")) {
|
|
11
|
-
throw "This query will crash the server (pg_stat_statements must be loaded via shared_preload_libraries). Need to: \n ALTER SYSTEM SET shared_preload_libraries = 'pg_stat_statements' \n" +
|
|
12
|
-
" AND restart server: \n (linux) sudo service postgresql restart\n (mac) brew services restart postgres\n ";
|
|
14
|
+
throw ("This query will crash the server (pg_stat_statements must be loaded via shared_preload_libraries). Need to: \n ALTER SYSTEM SET shared_preload_libraries = 'pg_stat_statements' \n" +
|
|
15
|
+
" AND restart server: \n (linux) sudo service postgresql restart\n (mac) brew services restart postgres\n ");
|
|
13
16
|
}
|
|
14
17
|
}
|
|
15
18
|
await this.cacheDBTypes();
|
|
16
19
|
if (!(await (0, exports.canRunSQL)(this.prostgles, localParams))) {
|
|
17
20
|
throw "Not allowed to run SQL";
|
|
18
21
|
}
|
|
19
|
-
const { returnType, allowListen, hasParams = true } = options || {};
|
|
22
|
+
const { returnType, allowListen, hasParams = true, } = options || {};
|
|
20
23
|
const { socket } = localParams || {};
|
|
21
24
|
const db = localParams?.tx?.t || this.db;
|
|
22
25
|
if (returnType === "stream") {
|
|
@@ -24,7 +27,11 @@ async function runSQL(queryWithoutRLS, args, options, localParams) {
|
|
|
24
27
|
throw "Cannot use stream with localParams transaction";
|
|
25
28
|
if (!socket)
|
|
26
29
|
throw "Only allowed with client socket";
|
|
27
|
-
const streamInfo = await this.queryStreamer.create({
|
|
30
|
+
const streamInfo = await this.queryStreamer.create({
|
|
31
|
+
socket,
|
|
32
|
+
query: DboBuilder_1.pgp.as.format(queryWithRLS, args),
|
|
33
|
+
options,
|
|
34
|
+
});
|
|
28
35
|
return streamInfo;
|
|
29
36
|
}
|
|
30
37
|
else if (returnType === "noticeSubscription") {
|
|
@@ -44,7 +51,8 @@ async function runSQL(queryWithoutRLS, args, options, localParams) {
|
|
|
44
51
|
throw "db is missing";
|
|
45
52
|
}
|
|
46
53
|
let finalQuery = queryWithRLS + "";
|
|
47
|
-
const isNotListenOrNotify =
|
|
54
|
+
const isNotListenOrNotify = returnType === "arrayMode" &&
|
|
55
|
+
!["listen ", "notify "].find((c) => queryWithoutRLS.toLowerCase().trim().startsWith(c));
|
|
48
56
|
if (isNotListenOrNotify) {
|
|
49
57
|
finalQuery = new pg_promise_1.ParameterizedQuery({
|
|
50
58
|
rowMode: "array",
|
|
@@ -55,11 +63,13 @@ async function runSQL(queryWithoutRLS, args, options, localParams) {
|
|
|
55
63
|
let queryResult;
|
|
56
64
|
if (returnType === "default-with-rollback") {
|
|
57
65
|
const ROLLBACK = "Rollback";
|
|
58
|
-
await db
|
|
66
|
+
await db
|
|
67
|
+
.tx(async (t) => {
|
|
59
68
|
queryResult = await t.result(finalQuery, params);
|
|
60
69
|
/** Rollback */
|
|
61
70
|
return Promise.reject(new Error(ROLLBACK));
|
|
62
|
-
})
|
|
71
|
+
})
|
|
72
|
+
.catch((e) => {
|
|
63
73
|
if (!(e instanceof Error && e.message === ROLLBACK))
|
|
64
74
|
throw e;
|
|
65
75
|
});
|
|
@@ -84,7 +94,7 @@ async function runSQL(queryWithoutRLS, args, options, localParams) {
|
|
|
84
94
|
return Object.values(rows?.[0] ?? {})?.[0];
|
|
85
95
|
}
|
|
86
96
|
else if (returnType === "values") {
|
|
87
|
-
return rows.map(r => Object.values(r ?? {})[0]);
|
|
97
|
+
return rows.map((r) => Object.values(r ?? {})[0]);
|
|
88
98
|
}
|
|
89
99
|
else {
|
|
90
100
|
const qres = {
|
|
@@ -97,7 +107,10 @@ async function runSQL(queryWithoutRLS, args, options, localParams) {
|
|
|
97
107
|
}
|
|
98
108
|
exports.runSQL = runSQL;
|
|
99
109
|
const onSQLResult = async function (queryWithoutRLS, { command }, allowListen, localParams) {
|
|
100
|
-
this.prostgles.schemaWatch?.onSchemaChangeFallback?.({
|
|
110
|
+
this.prostgles.schemaWatch?.onSchemaChangeFallback?.({
|
|
111
|
+
command,
|
|
112
|
+
query: queryWithoutRLS,
|
|
113
|
+
});
|
|
101
114
|
if (command === "LISTEN") {
|
|
102
115
|
const { socket } = localParams || {};
|
|
103
116
|
if (!allowListen)
|
|
@@ -113,8 +126,10 @@ async function cacheDBTypes(force = false) {
|
|
|
113
126
|
this.USER_TABLES = undefined;
|
|
114
127
|
this.USER_TABLE_COLUMNS = undefined;
|
|
115
128
|
}
|
|
116
|
-
this.DATA_TYPES ??=
|
|
117
|
-
|
|
129
|
+
this.DATA_TYPES ??=
|
|
130
|
+
(await this.db.any("SELECT oid, typname FROM pg_type")) ?? [];
|
|
131
|
+
this.USER_TABLES ??=
|
|
132
|
+
(await this.db.any(`
|
|
118
133
|
SELECT
|
|
119
134
|
relid,
|
|
120
135
|
relname,
|
|
@@ -130,7 +145,7 @@ async function cacheDBTypes(force = false) {
|
|
|
130
145
|
) c
|
|
131
146
|
ON t.relid = c.table_oid
|
|
132
147
|
GROUP BY relid, relname, schemaname
|
|
133
|
-
`) ?? [];
|
|
148
|
+
`)) ?? [];
|
|
134
149
|
this.USER_TABLE_COLUMNS ??= await this.db.any(`
|
|
135
150
|
SELECT t.relid, t.schemaname,t.relname, c.column_name, c.udt_name, c.ordinal_position
|
|
136
151
|
FROM information_schema.columns c
|
|
@@ -140,8 +155,9 @@ async function cacheDBTypes(force = false) {
|
|
|
140
155
|
}
|
|
141
156
|
exports.cacheDBTypes = cacheDBTypes;
|
|
142
157
|
function getDetailedFieldInfo(fields) {
|
|
143
|
-
return fields?.map(f => {
|
|
144
|
-
const dataType = this.DATA_TYPES.find(dt => +dt.oid === +f.dataTypeID)?.typname ??
|
|
158
|
+
return (fields?.map((f) => {
|
|
159
|
+
const dataType = this.DATA_TYPES.find((dt) => +dt.oid === +f.dataTypeID)?.typname ??
|
|
160
|
+
"text", table = this.USER_TABLES.find((t) => +t.relid === +f.tableID), column = this.USER_TABLE_COLUMNS.find((c) => +c.relid === +f.tableID && c.ordinal_position === f.columnID), tsDataType = (0, DboBuilder_1.postgresToTsType)(dataType);
|
|
145
161
|
return {
|
|
146
162
|
...f,
|
|
147
163
|
tsDataType,
|
|
@@ -149,23 +165,27 @@ function getDetailedFieldInfo(fields) {
|
|
|
149
165
|
udt_name: dataType,
|
|
150
166
|
tableName: table?.relname,
|
|
151
167
|
tableSchema: table?.schemaname,
|
|
152
|
-
columnName: column?.column_name
|
|
168
|
+
columnName: column?.column_name,
|
|
153
169
|
};
|
|
154
|
-
}) ?? [];
|
|
170
|
+
}) ?? []);
|
|
155
171
|
}
|
|
156
172
|
exports.getDetailedFieldInfo = getDetailedFieldInfo;
|
|
157
173
|
const canRunSQL = async (prostgles, localParams) => {
|
|
158
174
|
if (!localParams?.socket || !localParams?.httpReq)
|
|
159
175
|
return true;
|
|
160
176
|
const { socket } = localParams;
|
|
161
|
-
const publishParams = await prostgles.publishParser.getPublishParams({
|
|
177
|
+
const publishParams = await prostgles.publishParser.getPublishParams({
|
|
178
|
+
socket,
|
|
179
|
+
});
|
|
162
180
|
//@ts-ignore
|
|
163
181
|
const res = await prostgles.opts.publishRawSQL?.(publishParams);
|
|
164
|
-
return Boolean(res && typeof res === "boolean" || res === "*");
|
|
182
|
+
return Boolean((res && typeof res === "boolean") || res === "*");
|
|
165
183
|
};
|
|
166
184
|
exports.canRunSQL = canRunSQL;
|
|
167
185
|
const canCreateTables = async (db) => {
|
|
168
|
-
return db
|
|
186
|
+
return db
|
|
187
|
+
.any(`SELECT has_database_privilege(current_database(), 'create') as yes`)
|
|
188
|
+
.then((rows) => rows?.[0].yes === true);
|
|
169
189
|
};
|
|
170
190
|
exports.canCreateTables = canCreateTables;
|
|
171
191
|
//# sourceMappingURL=runSQL.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runSQL.js","sourceRoot":"","sources":["../../lib/DboBuilder/runSQL.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"runSQL.js","sourceRoot":"","sources":["../../lib/DboBuilder/runSQL.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runTransaction.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/runTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAGzB,MAAM,MAAM,IAAI,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"runTransaction.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/runTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAGzB,MAAM,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAC9C,CAAC;AACF,eAAO,MAAM,oBAAoB,YACtB,IAAI,wBACgB,kBAAkB,UACvC,GAAG,YAAY,kBAiBxB,CAAC;AAEF,eAAO,MAAM,6BAA6B,cAC7B,MAAM,UACT,GAAG,YAAY,kBASxB,CAAC"}
|
|
@@ -7,7 +7,7 @@ const runClientTransaction = async (handler, { onSuccess, begin = true }, dbConn
|
|
|
7
7
|
const client = new Client(dbConn);
|
|
8
8
|
try {
|
|
9
9
|
if (begin) {
|
|
10
|
-
await client.query(
|
|
10
|
+
await client.query("BEGIN");
|
|
11
11
|
}
|
|
12
12
|
await handler(client.query);
|
|
13
13
|
if (onSuccess) {
|
|
@@ -15,7 +15,7 @@ const runClientTransaction = async (handler, { onSuccess, begin = true }, dbConn
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
catch (e) {
|
|
18
|
-
await client.query(
|
|
18
|
+
await client.query("ROLLBACK");
|
|
19
19
|
throw e;
|
|
20
20
|
}
|
|
21
21
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runTransaction.js","sourceRoot":"","sources":["../../lib/DboBuilder/runTransaction.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAOf,MAAM,oBAAoB,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"runTransaction.js","sourceRoot":"","sources":["../../lib/DboBuilder/runTransaction.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAOf,MAAM,oBAAoB,GAAG,KAAK,EACvC,OAAa,EACb,EAAE,SAAS,EAAE,KAAK,GAAG,IAAI,EAAsB,EAC/C,MAAuB,EACvB,EAAE;IACF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC;IACV,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,GAAG,EAAE,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AApBW,QAAA,oBAAoB,wBAoB/B;AAEK,MAAM,6BAA6B,GAAG,KAAK,EAChD,SAAiB,EACjB,MAAuB,EACvB,EAAE;IACF,OAAO,IAAA,4BAAoB,EACzB,KAAK,EAAE,KAAK,EAAE,EAAE;QACd,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC,EACD,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EACtC,MAAM,CACP,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,6BAA6B,iCAWxC;AAEF,iCAAiC;AACjC,yIAAyI;AACzI,+BAA+B;AAC/B,wCAAwC;AAExC,UAAU;AACV,kCAAkC;AAClC,mCAAmC;AACnC,qBAAqB;AACrB,uCAAuC;AACvC,QAAQ;AACR,kBAAkB;AAClB,sCAAsC;AACtC,cAAc;AACd,gBAAgB;AAChB,wBAAwB;AACxB,MAAM;AACN,IAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlErrCodeToMsg.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/sqlErrCodeToMsg.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,SAAU,MAAM,
|
|
1
|
+
{"version":3,"file":"sqlErrCodeToMsg.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/sqlErrCodeToMsg.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,SAAU,MAAM,QA+f3C,CAAC"}
|