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
|
@@ -7,16 +7,18 @@ const validate_jsonb_schema_sql_1 = require("../JSONBValidation/validate_jsonb_s
|
|
|
7
7
|
/**
|
|
8
8
|
* Column create statement for a given config
|
|
9
9
|
*/
|
|
10
|
-
const getColumnDefinitionQuery = async ({ colConf: colConfRaw, column, db, table }) => {
|
|
10
|
+
const getColumnDefinitionQuery = async ({ colConf: colConfRaw, column, db, table, }) => {
|
|
11
11
|
const colConf = typeof colConfRaw === "string" ? { sqlDefinition: colConfRaw } : colConfRaw;
|
|
12
12
|
const colNameEsc = (0, prostgles_types_1.asName)(column);
|
|
13
13
|
const getColTypeDef = (colConf, pgType) => {
|
|
14
14
|
const { nullable, defaultValue } = colConf;
|
|
15
15
|
return `${pgType} ${!nullable ? " NOT NULL " : ""} ${defaultValue ? ` DEFAULT ${(0, PubSubManager_1.asValue)(defaultValue)} ` : ""}`;
|
|
16
16
|
};
|
|
17
|
-
const jsonbSchema =
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
const jsonbSchema = "jsonbSchema" in colConf && colConf.jsonbSchema
|
|
18
|
+
? { jsonbSchema: colConf.jsonbSchema, jsonbSchemaType: undefined }
|
|
19
|
+
: "jsonbSchemaType" in colConf && colConf.jsonbSchemaType
|
|
20
|
+
? { jsonbSchema: undefined, jsonbSchemaType: colConf.jsonbSchemaType }
|
|
21
|
+
: undefined;
|
|
20
22
|
if ("references" in colConf && colConf.references) {
|
|
21
23
|
const { tableName: lookupTable, columnName: lookupCol = "id" } = colConf.references;
|
|
22
24
|
return ` ${colNameEsc} ${getColTypeDef(colConf.references, "TEXT")} REFERENCES ${lookupTable} (${lookupCol}) `;
|
|
@@ -41,13 +43,18 @@ const getColumnDefinitionQuery = async ({ colConf: colConfRaw, column, db, table
|
|
|
41
43
|
else if (jsonbSchema) {
|
|
42
44
|
const jsonbSchemaStr = (0, PubSubManager_1.asValue)({
|
|
43
45
|
...(0, prostgles_types_1.pickKeys)(colConf, ["enum", "nullable", "info"]),
|
|
44
|
-
...(jsonbSchema.jsonbSchemaType
|
|
46
|
+
...(jsonbSchema.jsonbSchemaType
|
|
47
|
+
? { type: jsonbSchema.jsonbSchemaType }
|
|
48
|
+
: jsonbSchema.jsonbSchema),
|
|
45
49
|
}) + "::TEXT";
|
|
46
50
|
/** Validate default value against jsonbSchema */
|
|
47
51
|
const validationQuery = `SELECT ${validate_jsonb_schema_sql_1.VALIDATE_SCHEMA_FUNCNAME}(${jsonbSchemaStr}, ${(0, PubSubManager_1.asValue)(colConf.defaultValue) + "::JSONB"}, ${(0, PubSubManager_1.asValue)({ table, column })}) as v`;
|
|
48
52
|
if (colConf.defaultValue) {
|
|
49
53
|
const failedDefault = (err) => {
|
|
50
|
-
return {
|
|
54
|
+
return {
|
|
55
|
+
msg: `Default value (${colConf.defaultValue}) for ${table}.${column} does not satisfy the jsonb constraint check: ${validationQuery}`,
|
|
56
|
+
err,
|
|
57
|
+
};
|
|
51
58
|
};
|
|
52
59
|
try {
|
|
53
60
|
const row = await db.oneOrNone(validationQuery);
|
|
@@ -64,8 +71,12 @@ const getColumnDefinitionQuery = async ({ colConf: colConfRaw, column, db, table
|
|
|
64
71
|
else if ("enum" in colConf) {
|
|
65
72
|
if (!colConf.enum?.length)
|
|
66
73
|
throw new Error("colConf.enum Must not be empty");
|
|
67
|
-
const type = colConf.enum.every(v => Number.isFinite(v))
|
|
68
|
-
|
|
74
|
+
const type = colConf.enum.every((v) => Number.isFinite(v))
|
|
75
|
+
? "NUMERIC"
|
|
76
|
+
: "TEXT";
|
|
77
|
+
const checks = colConf.enum
|
|
78
|
+
.map((v) => `${colNameEsc} = ${(0, PubSubManager_1.asValue)(v)}`)
|
|
79
|
+
.join(" OR ");
|
|
69
80
|
return ` ${colNameEsc} ${type} ${colConf.nullable ? "" : "NOT NULL"} ${"defaultValue" in colConf ? ` DEFAULT ${(0, PubSubManager_1.asValue)(colConf.defaultValue)}` : ""} CHECK(${checks})`;
|
|
70
81
|
}
|
|
71
82
|
else {
|
|
@@ -74,7 +85,7 @@ const getColumnDefinitionQuery = async ({ colConf: colConfRaw, column, db, table
|
|
|
74
85
|
}
|
|
75
86
|
};
|
|
76
87
|
exports.getColumnDefinitionQuery = getColumnDefinitionQuery;
|
|
77
|
-
const getTableColumns = ({ db, table }) => {
|
|
88
|
+
const getTableColumns = ({ db, table, }) => {
|
|
78
89
|
return db.manyOrNone(`
|
|
79
90
|
SELECT table_name,
|
|
80
91
|
table_schema, column_name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getColumnDefinitionQuery.js","sourceRoot":"","sources":["../../lib/TableConfig/getColumnDefinitionQuery.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAEnD,kEAAyD;AACzD,4FAAwF;AAWxF;;GAEG;AACI,MAAM,wBAAwB,GAAG,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"getColumnDefinitionQuery.js","sourceRoot":"","sources":["../../lib/TableConfig/getColumnDefinitionQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export type ConstraintDef = {
|
|
|
13
13
|
content: string;
|
|
14
14
|
alterQuery: string;
|
|
15
15
|
};
|
|
16
|
-
export declare const getConstraintDefinitionQueries: ({ tableConf, tableName }: Args) => ConstraintDef[] | undefined;
|
|
16
|
+
export declare const getConstraintDefinitionQueries: ({ tableConf, tableName, }: Args) => ConstraintDef[] | undefined;
|
|
17
17
|
export type ColConstraint = {
|
|
18
18
|
name: string;
|
|
19
19
|
table: string;
|
|
@@ -28,7 +28,7 @@ type ColConstraintsArgs = {
|
|
|
28
28
|
column?: string;
|
|
29
29
|
types?: ColConstraint["type"][];
|
|
30
30
|
};
|
|
31
|
-
export declare const getColConstraintsQuery: ({ column, table, types }: Omit<ColConstraintsArgs, "db">) => string;
|
|
32
|
-
export declare const getColConstraints: ({ db, column, table, types }: ColConstraintsArgs) => Promise<ColConstraint[]>;
|
|
31
|
+
export declare const getColConstraintsQuery: ({ column, table, types, }: Omit<ColConstraintsArgs, "db">) => string;
|
|
32
|
+
export declare const getColConstraints: ({ db, column, table, types, }: ColConstraintsArgs) => Promise<ColConstraint[]>;
|
|
33
33
|
export {};
|
|
34
34
|
//# sourceMappingURL=getConstraintDefinitionQueries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getConstraintDefinitionQueries.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getConstraintDefinitionQueries.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"getConstraintDefinitionQueries.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getConstraintDefinitionQueries.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAEhC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,eAAO,MAAM,8BAA8B,8BAGxC,IAAI,KAAG,aAAa,EAAE,GAAG,SAiC3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC5B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,KAAK,kBAAkB,GAAG;IACxB,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;CACjC,CAAC;AACF,eAAO,MAAM,sBAAsB,8BAIhC,KAAK,kBAAkB,EAAE,IAAI,CAAC,WA0BhC,CAAC;AACF,eAAO,MAAM,iBAAiB,kCAK3B,kBAAkB,KAAG,QAAQ,aAAa,EAAE,CAE9C,CAAC"}
|
|
@@ -3,20 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getColConstraints = exports.getColConstraintsQuery = exports.getConstraintDefinitionQueries = void 0;
|
|
4
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
5
|
const PubSubManager_1 = require("../PubSubManager/PubSubManager");
|
|
6
|
-
const getConstraintDefinitionQueries = ({ tableConf, tableName }) => {
|
|
6
|
+
const getConstraintDefinitionQueries = ({ tableConf, tableName, }) => {
|
|
7
7
|
if ("constraints" in tableConf && tableConf.constraints) {
|
|
8
8
|
const { constraints } = tableConf;
|
|
9
9
|
if (!constraints) {
|
|
10
10
|
return undefined;
|
|
11
11
|
}
|
|
12
12
|
if (Array.isArray(constraints)) {
|
|
13
|
-
return constraints.map(c => ({
|
|
13
|
+
return constraints.map((c) => ({
|
|
14
|
+
content: c,
|
|
15
|
+
alterQuery: `ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)} ADD ${c}`,
|
|
16
|
+
}));
|
|
14
17
|
}
|
|
15
18
|
else {
|
|
16
19
|
const constraintNames = Object.keys(constraints);
|
|
17
|
-
return constraintNames.map(constraintName => {
|
|
20
|
+
return constraintNames.map((constraintName) => {
|
|
18
21
|
const _cnstr = constraints[constraintName];
|
|
19
|
-
const constraintDef = typeof _cnstr === "string"
|
|
22
|
+
const constraintDef = typeof _cnstr === "string"
|
|
23
|
+
? _cnstr
|
|
24
|
+
: `${_cnstr.type} (${_cnstr.content})`;
|
|
20
25
|
/** Drop constraints with the same name */
|
|
21
26
|
// const existingConstraint = constraints.some(c => c.conname === constraintName);
|
|
22
27
|
// if(existingConstraint){
|
|
@@ -29,7 +34,7 @@ const getConstraintDefinitionQueries = ({ tableConf, tableName }) => {
|
|
|
29
34
|
}
|
|
30
35
|
};
|
|
31
36
|
exports.getConstraintDefinitionQueries = getConstraintDefinitionQueries;
|
|
32
|
-
const getColConstraintsQuery = ({ column, table, types }) => {
|
|
37
|
+
const getColConstraintsQuery = ({ column, table, types, }) => {
|
|
33
38
|
let query = `
|
|
34
39
|
SELECT *
|
|
35
40
|
FROM (
|
|
@@ -55,11 +60,11 @@ const getColConstraintsQuery = ({ column, table, types }) => {
|
|
|
55
60
|
if (column)
|
|
56
61
|
query += `\nAND cols @> ARRAY[${(0, PubSubManager_1.asValue)(column)}]`;
|
|
57
62
|
if (types?.length)
|
|
58
|
-
query += `\nAND type IN (${types.map(v => (0, PubSubManager_1.asValue)(v)).join(", ")})`;
|
|
63
|
+
query += `\nAND type IN (${types.map((v) => (0, PubSubManager_1.asValue)(v)).join(", ")})`;
|
|
59
64
|
return query;
|
|
60
65
|
};
|
|
61
66
|
exports.getColConstraintsQuery = getColConstraintsQuery;
|
|
62
|
-
const getColConstraints = ({ db, column, table, types }) => {
|
|
67
|
+
const getColConstraints = ({ db, column, table, types, }) => {
|
|
63
68
|
return db.manyOrNone((0, exports.getColConstraintsQuery)({ column, table, types }));
|
|
64
69
|
};
|
|
65
70
|
exports.getColConstraints = getColConstraints;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getConstraintDefinitionQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getConstraintDefinitionQueries.ts"],"names":[],"mappings":";;;AACA,qDAAyC;AAEzC,kEAAyD;AAiBlD,MAAM,8BAA8B,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"getConstraintDefinitionQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getConstraintDefinitionQueries.ts"],"names":[],"mappings":";;;AACA,qDAAyC;AAEzC,kEAAyD;AAiBlD,MAAM,8BAA8B,GAAG,CAAC,EAC7C,SAAS,EACT,SAAS,GACJ,EAA+B,EAAE;IACtC,IAAI,aAAa,IAAI,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,OAAO,EAAE,CAAC;gBACV,UAAU,EAAE,eAAe,IAAA,wBAAM,EAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;aACxD,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,CAAC;YACN,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAE,CAAC;gBAC5C,MAAM,aAAa,GACjB,OAAO,MAAM,KAAK,QAAQ;oBACxB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO,GAAG,CAAC;gBAE3C,0CAA0C;gBAC1C,kFAAkF;gBAClF,0BAA0B;gBAC1B,6GAA6G;gBAC7G,IAAI;gBAEJ,MAAM,UAAU,GAAG,eAAe,IAAA,wBAAM,EAAC,SAAS,CAAC,mBAAmB,IAAA,wBAAM,EAAC,cAAc,CAAC,IAAI,aAAa,GAAG,CAAC;gBAEjH,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YACtE,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AApCW,QAAA,8BAA8B,kCAoCzC;AAgBK,MAAM,sBAAsB,GAAG,CAAC,EACrC,MAAM,EACN,KAAK,EACL,KAAK,GAC0B,EAAE,EAAE;IACnC,IAAI,KAAK,GAAG;;;;;;;;;;;;;;;;;;;GAmBX,CAAC;IACF,IAAI,KAAK;QAAE,KAAK,IAAI,mBAAmB,IAAA,uBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;IACxD,IAAI,MAAM;QAAE,KAAK,IAAI,uBAAuB,IAAA,uBAAO,EAAC,MAAM,CAAC,GAAG,CAAC;IAC/D,IAAI,KAAK,EAAE,MAAM;QACf,KAAK,IAAI,kBAAkB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,uBAAO,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACxE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AA9BW,QAAA,sBAAsB,0BA8BjC;AACK,MAAM,iBAAiB,GAAG,CAAC,EAChC,EAAE,EACF,MAAM,EACN,KAAK,EACL,KAAK,GACc,EAA4B,EAAE;IACjD,OAAO,EAAE,CAAC,UAAU,CAAC,IAAA,8BAAsB,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC,CAAC;AAPW,QAAA,iBAAiB,qBAO5B"}
|
|
@@ -11,7 +11,7 @@ type Args = {
|
|
|
11
11
|
* Given a table name, column definitions and constraint definitions,
|
|
12
12
|
* returns structured resulting column definitions and constraints of the table
|
|
13
13
|
*/
|
|
14
|
-
export declare const getFutureTableSchema: ({ columnDefs, tableName, constraintDefs, db }: Args) => Promise<{
|
|
14
|
+
export declare const getFutureTableSchema: ({ columnDefs, tableName, constraintDefs, db, }: Args) => Promise<{
|
|
15
15
|
constraints: ColConstraint[];
|
|
16
16
|
cols: ColumnMinimalInfo[];
|
|
17
17
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFutureTableSchema.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAChF,OAAO,
|
|
1
|
+
{"version":3,"file":"getFutureTableSchema.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EACL,aAAa,EACb,aAAa,EAEd,MAAM,kCAAkC,CAAC;AAE1C,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,mDAK9B,IAAI;iBACQ,aAAa,EAAE;UACtB,iBAAiB,EAAE;EAiD1B,CAAC"}
|
|
@@ -9,20 +9,22 @@ const getConstraintDefinitionQueries_1 = require("./getConstraintDefinitionQueri
|
|
|
9
9
|
* Given a table name, column definitions and constraint definitions,
|
|
10
10
|
* returns structured resulting column definitions and constraints of the table
|
|
11
11
|
*/
|
|
12
|
-
const getFutureTableSchema = async ({ columnDefs, tableName, constraintDefs = [], db }) => {
|
|
12
|
+
const getFutureTableSchema = async ({ columnDefs, tableName, constraintDefs = [], db, }) => {
|
|
13
13
|
const { TransactionMode, isolationLevel } = DboBuilder_1.pgp.txMode;
|
|
14
14
|
let constraints = [];
|
|
15
15
|
let cols = [];
|
|
16
16
|
const ROLLBACK = "Rollback";
|
|
17
17
|
try {
|
|
18
18
|
const txMode = new TransactionMode({
|
|
19
|
-
tiLevel: isolationLevel.serializable
|
|
19
|
+
tiLevel: isolationLevel.serializable,
|
|
20
20
|
});
|
|
21
21
|
await db.tx({ mode: txMode }, async (t) => {
|
|
22
22
|
/** To prevent deadlocks we use a random table name -> Not feasible because named constraints cannot be recreated without dropping the existing ones from actual table */
|
|
23
|
-
// const tableEsc = asName(tableName.slice(0, 12) + (await t.oneOrNone(`SELECT md5(now()::text) as md5`)).md5);
|
|
23
|
+
// const tableEsc = asName(tableName.slice(0, 12) + (await t.oneOrNone(`SELECT md5(now()::text) as md5`)).md5);
|
|
24
24
|
const tableEsc = (0, prostgles_types_1.asName)(tableName);
|
|
25
|
-
const consQueries = constraintDefs
|
|
25
|
+
const consQueries = constraintDefs
|
|
26
|
+
.map((c) => `ALTER TABLE ${tableEsc} ADD ${c.name ? ` CONSTRAINT ${(0, prostgles_types_1.asName)(c.name)}` : ""} ${c.content};`)
|
|
27
|
+
.join("\n");
|
|
26
28
|
const query = `
|
|
27
29
|
DROP TABLE IF EXISTS ${tableEsc} CASCADE;
|
|
28
30
|
CREATE TABLE ${tableEsc} (
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFutureTableSchema.js","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":";;;AAAA,qDAAyC;AACzC,yDAA+C;AAE/C,yEAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"getFutureTableSchema.js","sourceRoot":"","sources":["../../lib/TableConfig/getFutureTableSchema.ts"],"names":[],"mappings":";;;AAAA,qDAAyC;AACzC,yDAA+C;AAE/C,yEAAgF;AAChF,qFAI0C;AAS1C;;;GAGG;AACI,MAAM,oBAAoB,GAAG,KAAK,EAAE,EACzC,UAAU,EACV,SAAS,EACT,cAAc,GAAG,EAAE,EACnB,EAAE,GACG,EAGJ,EAAE;IACH,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,gBAAG,CAAC,MAAM,CAAC;IAEvD,IAAI,WAAW,GAAoB,EAAE,CAAC;IACtC,IAAI,IAAI,GAAwB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,UAAU,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,OAAO,EAAE,cAAc,CAAC,YAAY;SACrC,CAAC,CAAC;QACH,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACxC,yKAAyK;YACzK,+GAA+G;YAE/G,MAAM,QAAQ,GAAG,IAAA,wBAAM,EAAC,SAAS,CAAC,CAAC;YAEnC,MAAM,WAAW,GAAG,cAAc;iBAC/B,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,eAAe,QAAQ,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,IAAA,wBAAM,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,CAC/F;iBACA,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,KAAK,GAAG;+BACW,QAAQ;uBAChB,QAAQ;YACnB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;;UAExB,WAAW;OACd,CAAC;YAEF,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEnB,WAAW,GAAG,MAAM,IAAA,kDAAiB,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,IAAI,GAAG,MAAM,IAAA,0CAAe,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAE1D,eAAe;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjD,SAAS;QACX,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAC/B,CAAC,CAAC;AAxDW,QAAA,oBAAoB,wBAwD/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPGIndexes.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getPGIndexes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,KAAK,OAAO,GAAG;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AACF,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"getPGIndexes.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getPGIndexes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,KAAK,OAAO,GAAG;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC;AACF,eAAO,MAAM,YAAY,sBAEZ,MAAM,UACT,MAAM,KACb,QAAQ,OAAO,EAAE,CAoCnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPGIndexes.js","sourceRoot":"","sources":["../../lib/TableConfig/getPGIndexes.ts"],"names":[],"mappings":";;;AAeO,MAAM,YAAY,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"getPGIndexes.js","sourceRoot":"","sources":["../../lib/TableConfig/getPGIndexes.ts"],"names":[],"mappings":";;;AAeO,MAAM,YAAY,GAAG,KAAK,EAC/B,EAAM,EACN,SAAiB,EACjB,MAAc,EACM,EAAE;IACtB,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiChB,CAAC;IACJ,OAAO,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC;AAxCW,QAAA,YAAY,gBAwCvB"}
|
|
@@ -10,7 +10,7 @@ type Args = {
|
|
|
10
10
|
* Given a tableHandler, table name, column definitions and constraint definitions,
|
|
11
11
|
* returns the queries to align any existing table with the given column definitions
|
|
12
12
|
*/
|
|
13
|
-
export declare const getTableColumnQueries: ({ db, tableConf, tableName, tableHandler }: Args) => Promise<{
|
|
13
|
+
export declare const getTableColumnQueries: ({ db, tableConf, tableName, tableHandler, }: Args) => Promise<{
|
|
14
14
|
columnDefs: string[];
|
|
15
15
|
newColumnDefs: string[];
|
|
16
16
|
fullQuery: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTableColumnQueries.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getTableColumnQueries.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAMnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;CACnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,gDAK/B,IAAI;gBAGW,MAAM,EAAE;mBACL,MAAM,EAAE;eACZ,MAAM;cACP,OAAO;cAyItB,CAAC"}
|
|
@@ -9,7 +9,7 @@ const getFutureTableSchema_1 = require("./getFutureTableSchema");
|
|
|
9
9
|
* Given a tableHandler, table name, column definitions and constraint definitions,
|
|
10
10
|
* returns the queries to align any existing table with the given column definitions
|
|
11
11
|
*/
|
|
12
|
-
const getTableColumnQueries = async ({ db, tableConf, tableName, tableHandler }) => {
|
|
12
|
+
const getTableColumnQueries = async ({ db, tableConf, tableName, tableHandler, }) => {
|
|
13
13
|
let newColumnDefs = [];
|
|
14
14
|
const droppedColNames = [];
|
|
15
15
|
const alteredColQueries = [];
|
|
@@ -18,9 +18,9 @@ const getTableColumnQueries = async ({ db, tableConf, tableName, tableHandler })
|
|
|
18
18
|
if (!("columns" in tableConf && tableConf.columns)) {
|
|
19
19
|
return undefined;
|
|
20
20
|
}
|
|
21
|
-
const hasJSONBValidation = (0, prostgles_types_1.getKeys)(tableConf.columns).some(c => {
|
|
21
|
+
const hasJSONBValidation = (0, prostgles_types_1.getKeys)(tableConf.columns).some((c) => {
|
|
22
22
|
const cConf = tableConf.columns?.[c];
|
|
23
|
-
return cConf && (0, prostgles_types_1.isObject)(cConf) && (cConf.jsonbSchema || cConf.jsonbSchemaType);
|
|
23
|
+
return (cConf && (0, prostgles_types_1.isObject)(cConf) && (cConf.jsonbSchema || cConf.jsonbSchemaType));
|
|
24
24
|
});
|
|
25
25
|
/** Must install validation function */
|
|
26
26
|
if (hasJSONBValidation) {
|
|
@@ -39,27 +39,39 @@ const getTableColumnQueries = async ({ db, tableConf, tableName, tableHandler })
|
|
|
39
39
|
const colDefs = [];
|
|
40
40
|
for (const [colName, colConf] of columns) {
|
|
41
41
|
/* Get column definition */
|
|
42
|
-
const colDef = await (0, getColumnDefinitionQuery_1.getColumnDefinitionQuery)({
|
|
42
|
+
const colDef = await (0, getColumnDefinitionQuery_1.getColumnDefinitionQuery)({
|
|
43
|
+
colConf,
|
|
44
|
+
column: colName.toString(),
|
|
45
|
+
db,
|
|
46
|
+
table: tableName,
|
|
47
|
+
});
|
|
43
48
|
if (colDef) {
|
|
44
49
|
colDefs.push({ name: colName.toString(), def: colDef });
|
|
45
50
|
}
|
|
46
51
|
}
|
|
47
|
-
const columnDefs = colDefs.map(c => c.def);
|
|
52
|
+
const columnDefs = colDefs.map((c) => c.def);
|
|
48
53
|
if (!colDefs.length) {
|
|
49
54
|
return undefined;
|
|
50
55
|
}
|
|
51
56
|
const ALTERQ = `ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)}`;
|
|
52
57
|
if (!tableHandler) {
|
|
53
|
-
newColumnDefs.push(...colDefs.map(c => c.def));
|
|
58
|
+
newColumnDefs.push(...colDefs.map((c) => c.def));
|
|
54
59
|
}
|
|
55
60
|
else if (tableHandler) {
|
|
56
61
|
const currCols = await (0, getColumnDefinitionQuery_1.getTableColumns)({ db, table: tableName });
|
|
57
62
|
/** Add new columns */
|
|
58
|
-
newColumnDefs = colDefs
|
|
63
|
+
newColumnDefs = colDefs
|
|
64
|
+
.filter((nc) => !tableHandler.columns?.some((c) => nc.name === c.name))
|
|
65
|
+
.map((c) => c.def);
|
|
59
66
|
/** Altered/Dropped columns */
|
|
60
|
-
const { cols: futureCols } = await (0, getFutureTableSchema_1.getFutureTableSchema)({
|
|
61
|
-
|
|
62
|
-
|
|
67
|
+
const { cols: futureCols } = await (0, getFutureTableSchema_1.getFutureTableSchema)({
|
|
68
|
+
tableName,
|
|
69
|
+
columnDefs,
|
|
70
|
+
constraintDefs: [],
|
|
71
|
+
db,
|
|
72
|
+
});
|
|
73
|
+
currCols.forEach((c) => {
|
|
74
|
+
const newCol = futureCols.find((nc) => nc.column_name === c.column_name);
|
|
63
75
|
if (!newCol) {
|
|
64
76
|
droppedColNames.push(c.column_name);
|
|
65
77
|
}
|
|
@@ -70,8 +82,9 @@ const getTableColumnQueries = async ({ db, tableConf, tableName, tableHandler })
|
|
|
70
82
|
alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} TYPE ${newCol.udt_name} USING ${(0, prostgles_types_1.asName)(c.column_name)}::${newCol.udt_name};`);
|
|
71
83
|
}
|
|
72
84
|
else if (newCol.column_default !== c.column_default) {
|
|
73
|
-
const colConfig = colDefs.find(cd => cd.name === c.column_name);
|
|
74
|
-
if (["serial", "bigserial"].some(t => colConfig?.def.toLowerCase().includes(` ${t}`)) &&
|
|
85
|
+
const colConfig = colDefs.find((cd) => cd.name === c.column_name);
|
|
86
|
+
if (["serial", "bigserial"].some((t) => colConfig?.def.toLowerCase().includes(` ${t}`)) &&
|
|
87
|
+
c.column_default?.toLowerCase().includes("nextval")) {
|
|
75
88
|
/** Ignore SERIAL/BIGSERIAL <> nextval mismatch */
|
|
76
89
|
}
|
|
77
90
|
else {
|
|
@@ -80,20 +93,26 @@ const getTableColumnQueries = async ({ db, tableConf, tableName, tableHandler })
|
|
|
80
93
|
}
|
|
81
94
|
});
|
|
82
95
|
}
|
|
83
|
-
if (!tableHandler ||
|
|
96
|
+
if (!tableHandler ||
|
|
97
|
+
tableConf.dropIfExists ||
|
|
98
|
+
tableConf.dropIfExistsCascade) {
|
|
84
99
|
isCreate = true;
|
|
85
100
|
const DROPQ = `DROP TABLE IF EXISTS ${(0, prostgles_types_1.asName)(tableName)}`;
|
|
86
|
-
fullQuery =
|
|
87
|
-
...(tableConf.dropIfExists
|
|
101
|
+
fullQuery = [
|
|
102
|
+
...(tableConf.dropIfExists
|
|
103
|
+
? [`${DROPQ};`]
|
|
104
|
+
: tableConf.dropIfExistsCascade
|
|
105
|
+
? [`${DROPQ} CASCADE;`]
|
|
106
|
+
: []),
|
|
88
107
|
`CREATE TABLE ${(0, prostgles_types_1.asName)(tableName)} (`,
|
|
89
108
|
columnDefs.join(", \n"),
|
|
90
|
-
`)
|
|
91
|
-
].join("\n")
|
|
109
|
+
`);`,
|
|
110
|
+
].join("\n");
|
|
92
111
|
}
|
|
93
112
|
else {
|
|
94
113
|
fullQuery = [
|
|
95
|
-
...droppedColNames.map(c => `${ALTERQ} DROP COLUMN ${(0, prostgles_types_1.asName)(c)};`),
|
|
96
|
-
...newColumnDefs.map(c => `${ALTERQ} ADD COLUMN ${c};`),
|
|
114
|
+
...droppedColNames.map((c) => `${ALTERQ} DROP COLUMN ${(0, prostgles_types_1.asName)(c)};`),
|
|
115
|
+
...newColumnDefs.map((c) => `${ALTERQ} ADD COLUMN ${c};`),
|
|
97
116
|
...alteredColQueries,
|
|
98
117
|
].join("\n");
|
|
99
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTableColumnQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"getTableColumnQueries.js","sourceRoot":"","sources":["../../lib/TableConfig/getTableColumnQueries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initTableConfig.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/initTableConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initTableConfig.d.ts","sourceRoot":"","sources":["../../lib/TableConfig/initTableConfig.ts"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,MAAM,eAAe,CAAC;AAS9C,eAAO,MAAM,eAAe,SAAyB,kBAAkB,GAAG,CAAC,uBAqZ1E,CAAC"}
|