prostgles-server 4.2.187 → 4.2.188
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/.eslintignore +2 -1
- package/.eslintrc.json +2 -0
- package/dist/Auth/AuthHandler.d.ts +18 -11
- package/dist/Auth/AuthHandler.d.ts.map +1 -1
- package/dist/Auth/AuthHandler.js +94 -120
- package/dist/Auth/AuthHandler.js.map +1 -1
- package/dist/Auth/AuthTypes.d.ts +78 -71
- package/dist/Auth/AuthTypes.d.ts.map +1 -1
- package/dist/Auth/{setEmailProvider.d.ts → authProviders/setEmailProvider.d.ts} +1 -1
- package/dist/Auth/authProviders/setEmailProvider.d.ts.map +1 -0
- package/dist/Auth/authProviders/setEmailProvider.js +27 -0
- package/dist/Auth/authProviders/setEmailProvider.js.map +1 -0
- package/dist/Auth/authProviders/setOAuthProviders.d.ts +5 -0
- package/dist/Auth/authProviders/setOAuthProviders.d.ts.map +1 -0
- package/dist/Auth/authProviders/setOAuthProviders.js +78 -0
- package/dist/Auth/authProviders/setOAuthProviders.js.map +1 -0
- package/dist/Auth/endpoints/getConfirmEmailRequestHandler.d.ts +7 -0
- package/dist/Auth/endpoints/getConfirmEmailRequestHandler.d.ts.map +1 -0
- package/dist/Auth/endpoints/getConfirmEmailRequestHandler.js +29 -0
- package/dist/Auth/endpoints/getConfirmEmailRequestHandler.js.map +1 -0
- package/dist/Auth/endpoints/getRegisterRequestHandler.d.ts +7 -0
- package/dist/Auth/endpoints/getRegisterRequestHandler.d.ts.map +1 -0
- package/dist/Auth/endpoints/getRegisterRequestHandler.js +74 -0
- package/dist/Auth/endpoints/getRegisterRequestHandler.js.map +1 -0
- package/dist/Auth/setAuthProviders.d.ts.map +1 -1
- package/dist/Auth/setAuthProviders.js +4 -74
- package/dist/Auth/setAuthProviders.js.map +1 -1
- package/dist/Auth/setupAuthRoutes.d.ts.map +1 -1
- package/dist/Auth/setupAuthRoutes.js +23 -33
- package/dist/Auth/setupAuthRoutes.js.map +1 -1
- package/dist/Auth/utils/checkDmarc.d.ts +2 -0
- package/dist/Auth/utils/checkDmarc.d.ts.map +1 -0
- package/dist/Auth/utils/checkDmarc.js +22 -0
- package/dist/Auth/utils/checkDmarc.js.map +1 -0
- package/dist/Auth/utils/getClientRequestIPsInfo.d.ts +3 -0
- package/dist/Auth/utils/getClientRequestIPsInfo.d.ts.map +1 -0
- package/dist/Auth/utils/getClientRequestIPsInfo.js +29 -0
- package/dist/Auth/utils/getClientRequestIPsInfo.js.map +1 -0
- package/dist/Auth/utils/getReturnUrl.d.ts +3 -0
- package/dist/Auth/utils/getReturnUrl.d.ts.map +1 -0
- package/dist/Auth/utils/getReturnUrl.js +15 -0
- package/dist/Auth/utils/getReturnUrl.js.map +1 -0
- package/dist/Auth/utils/getSafeReturnURL.d.ts.map +1 -0
- package/dist/Auth/utils/getSafeReturnURL.js.map +1 -0
- package/dist/DBEventsManager.d.ts.map +1 -1
- package/dist/DBEventsManager.js +4 -5
- package/dist/DBEventsManager.js.map +1 -1
- package/dist/DBSchemaBuilder.js +1 -1
- package/dist/DBSchemaBuilder.js.map +1 -1
- package/dist/DboBuilder/DboBuilder.d.ts +0 -1
- package/dist/DboBuilder/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder/DboBuilder.js +3 -12
- 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.map +1 -1
- package/dist/DboBuilder/QueryBuilder/Functions.js +38 -76
- package/dist/DboBuilder/QueryBuilder/Functions.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.js +4 -12
- package/dist/DboBuilder/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts.map +1 -1
- package/dist/DboBuilder/QueryBuilder/getNewQuery.js +23 -33
- 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 +6 -6
- package/dist/DboBuilder/QueryBuilder/getSelectQuery.js.map +1 -1
- package/dist/DboBuilder/QueryStreamer.d.ts.map +1 -1
- package/dist/DboBuilder/QueryStreamer.js +13 -19
- 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 +7 -16
- 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 +7 -5
- 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 +5 -8
- 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 +10 -15
- package/dist/DboBuilder/TableHandler/insert.js.map +1 -1
- package/dist/DboBuilder/TableHandler/insertTest.js +1 -1
- package/dist/DboBuilder/TableHandler/insertTest.js.map +1 -1
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +1 -1
- package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js.map +1 -1
- package/dist/DboBuilder/TableHandler/update.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/update.js +5 -9
- package/dist/DboBuilder/TableHandler/update.js.map +1 -1
- package/dist/DboBuilder/TableHandler/updateFile.d.ts +1 -1
- package/dist/DboBuilder/TableHandler/updateFile.d.ts.map +1 -1
- package/dist/DboBuilder/TableHandler/updateFile.js +7 -9
- 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 +1 -1
- package/dist/DboBuilder/TableHandler/upsert.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/ViewHandler.js +11 -13
- package/dist/DboBuilder/ViewHandler/ViewHandler.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/count.js +1 -1
- package/dist/DboBuilder/ViewHandler/count.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/find.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/find.js +20 -27
- 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 +4 -10
- package/dist/DboBuilder/ViewHandler/getExistsCondition.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getInfo.js +2 -2
- package/dist/DboBuilder/ViewHandler/getInfo.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js +6 -22
- package/dist/DboBuilder/ViewHandler/getTableJoinQuery.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseFieldFilter.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseFieldFilter.js +6 -10
- package/dist/DboBuilder/ViewHandler/parseFieldFilter.js.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseJoinPath.d.ts.map +1 -1
- package/dist/DboBuilder/ViewHandler/parseJoinPath.js +8 -11
- 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 +7 -12
- 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 +6 -10
- package/dist/DboBuilder/ViewHandler/prepareWhere.js.map +1 -1
- package/dist/DboBuilder/dboBuilderUtils.d.ts.map +1 -1
- package/dist/DboBuilder/dboBuilderUtils.js +8 -23
- package/dist/DboBuilder/dboBuilderUtils.js.map +1 -1
- package/dist/DboBuilder/getColumns.d.ts.map +1 -1
- package/dist/DboBuilder/getColumns.js +19 -26
- package/dist/DboBuilder/getColumns.js.map +1 -1
- package/dist/DboBuilder/getCondition.d.ts.map +1 -1
- package/dist/DboBuilder/getCondition.js +7 -9
- package/dist/DboBuilder/getCondition.js.map +1 -1
- package/dist/DboBuilder/getSubscribeRelatedTables.js +2 -2
- package/dist/DboBuilder/getSubscribeRelatedTables.js.map +1 -1
- package/dist/DboBuilder/getTablesForSchemaPostgresSQL.d.ts.map +1 -1
- package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js +14 -15
- package/dist/DboBuilder/getTablesForSchemaPostgresSQL.js.map +1 -1
- package/dist/DboBuilder/insertNestedRecords.d.ts.map +1 -1
- package/dist/DboBuilder/insertNestedRecords.js +26 -40
- package/dist/DboBuilder/insertNestedRecords.js.map +1 -1
- package/dist/DboBuilder/parseUpdateRules.js +1 -1
- package/dist/DboBuilder/parseUpdateRules.js.map +1 -1
- package/dist/DboBuilder/prepareShortestJoinPaths.d.ts.map +1 -1
- package/dist/DboBuilder/prepareShortestJoinPaths.js +12 -18
- package/dist/DboBuilder/prepareShortestJoinPaths.js.map +1 -1
- package/dist/DboBuilder/runSQL.d.ts +1 -1
- package/dist/DboBuilder/runSQL.d.ts.map +1 -1
- package/dist/DboBuilder/runSQL.js +14 -27
- package/dist/DboBuilder/runSQL.js.map +1 -1
- package/dist/DboBuilder/uploadFile.d.ts +1 -1
- package/dist/DboBuilder/uploadFile.d.ts.map +1 -1
- package/dist/DboBuilder/uploadFile.js +4 -11
- package/dist/DboBuilder/uploadFile.js.map +1 -1
- package/dist/FileManager/FileManager.d.ts.map +1 -1
- package/dist/FileManager/FileManager.js +11 -13
- package/dist/FileManager/FileManager.js.map +1 -1
- package/dist/FileManager/initFileManager.d.ts.map +1 -1
- package/dist/FileManager/initFileManager.js +60 -62
- package/dist/FileManager/initFileManager.js.map +1 -1
- package/dist/FileManager/uploadStream.js +2 -2
- package/dist/FileManager/uploadStream.js.map +1 -1
- package/dist/Filtering.d.ts +1 -1
- package/dist/Filtering.d.ts.map +1 -1
- package/dist/Filtering.js +12 -35
- package/dist/Filtering.js.map +1 -1
- package/dist/JSONBValidation/validation.d.ts.map +1 -1
- package/dist/JSONBValidation/validation.js +20 -26
- package/dist/JSONBValidation/validation.js.map +1 -1
- package/dist/Logging.d.ts +1 -0
- package/dist/Logging.d.ts.map +1 -1
- package/dist/PostgresNotifListenManager.d.ts.map +1 -1
- package/dist/PostgresNotifListenManager.js +1 -5
- 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 +18 -33
- package/dist/Prostgles.js.map +1 -1
- package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.js +8 -13
- package/dist/PubSubManager/PubSubManager.js.map +1 -1
- package/dist/PubSubManager/addSub.d.ts.map +1 -1
- package/dist/PubSubManager/addSub.js +1 -1
- package/dist/PubSubManager/addSub.js.map +1 -1
- package/dist/PubSubManager/addSync.d.ts.map +1 -1
- package/dist/PubSubManager/addSync.js +4 -7
- package/dist/PubSubManager/addSync.js.map +1 -1
- package/dist/PubSubManager/getCreatePubSubManagerError.js +6 -6
- package/dist/PubSubManager/getCreatePubSubManagerError.js.map +1 -1
- package/dist/PubSubManager/initPubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/initPubSubManager.js +2 -3
- package/dist/PubSubManager/initPubSubManager.js.map +1 -1
- package/dist/PubSubManager/pushSubData.d.ts.map +1 -1
- package/dist/PubSubManager/pushSubData.js +0 -2
- package/dist/PubSubManager/pushSubData.js.map +1 -1
- package/dist/PublishParser/PublishParser.d.ts.map +1 -1
- package/dist/PublishParser/PublishParser.js +8 -13
- package/dist/PublishParser/PublishParser.js.map +1 -1
- package/dist/PublishParser/getFileTableRules.js +1 -1
- package/dist/PublishParser/getFileTableRules.js.map +1 -1
- package/dist/PublishParser/getSchemaFromPublish.d.ts.map +1 -1
- package/dist/PublishParser/getSchemaFromPublish.js +6 -13
- package/dist/PublishParser/getSchemaFromPublish.js.map +1 -1
- package/dist/PublishParser/getTableRulesWithoutFileTable.d.ts.map +1 -1
- package/dist/PublishParser/getTableRulesWithoutFileTable.js +14 -19
- package/dist/PublishParser/getTableRulesWithoutFileTable.js.map +1 -1
- package/dist/RestApi.d.ts +1 -1
- package/dist/RestApi.d.ts.map +1 -1
- package/dist/RestApi.js +2 -2
- package/dist/RestApi.js.map +1 -1
- package/dist/SchemaWatch/SchemaWatch.d.ts.map +1 -1
- package/dist/SchemaWatch/SchemaWatch.js +2 -2
- package/dist/SchemaWatch/SchemaWatch.js.map +1 -1
- package/dist/SyncReplication.d.ts.map +1 -1
- package/dist/SyncReplication.js +31 -41
- package/dist/SyncReplication.js.map +1 -1
- package/dist/TableConfig/TableConfig.d.ts.map +1 -1
- package/dist/TableConfig/TableConfig.js +7 -9
- package/dist/TableConfig/TableConfig.js.map +1 -1
- package/dist/TableConfig/getConstraintDefinitionQueries.d.ts.map +1 -1
- package/dist/TableConfig/getConstraintDefinitionQueries.js +1 -6
- package/dist/TableConfig/getConstraintDefinitionQueries.js.map +1 -1
- package/dist/TableConfig/getFutureTableSchema.d.ts.map +1 -1
- package/dist/TableConfig/getFutureTableSchema.js +16 -28
- package/dist/TableConfig/getFutureTableSchema.js.map +1 -1
- package/dist/TableConfig/getTableColumnQueries.d.ts.map +1 -1
- package/dist/TableConfig/getTableColumnQueries.js +5 -9
- package/dist/TableConfig/getTableColumnQueries.js.map +1 -1
- package/dist/TableConfig/initTableConfig.d.ts.map +1 -1
- package/dist/TableConfig/initTableConfig.js +22 -25
- package/dist/TableConfig/initTableConfig.js.map +1 -1
- package/dist/initProstgles.js +1 -1
- package/dist/initProstgles.js.map +1 -1
- package/dist/onSocketConnected.d.ts.map +1 -1
- package/dist/onSocketConnected.js +2 -4
- package/dist/onSocketConnected.js.map +1 -1
- package/dist/runClientRequest.d.ts.map +1 -1
- package/dist/runClientRequest.js +14 -13
- package/dist/runClientRequest.js.map +1 -1
- package/lib/Auth/AuthHandler.ts +117 -137
- package/lib/Auth/AuthTypes.ts +97 -81
- package/lib/Auth/authProviders/setEmailProvider.ts +29 -0
- package/lib/Auth/authProviders/setOAuthProviders.ts +97 -0
- package/lib/Auth/endpoints/getConfirmEmailRequestHandler.ts +39 -0
- package/lib/Auth/endpoints/getRegisterRequestHandler.ts +83 -0
- package/lib/Auth/setAuthProviders.ts +8 -111
- package/lib/Auth/setupAuthRoutes.ts +105 -148
- package/lib/Auth/utils/checkDmarc.ts +19 -0
- package/lib/Auth/utils/getClientRequestIPsInfo.ts +25 -0
- package/lib/Auth/utils/getReturnUrl.ts +13 -0
- package/lib/DBEventsManager.ts +12 -26
- package/lib/DBSchemaBuilder.ts +1 -1
- package/lib/DboBuilder/DboBuilder.ts +23 -52
- package/lib/DboBuilder/DboBuilderTypes.ts +9 -23
- package/lib/DboBuilder/QueryBuilder/Functions.ts +86 -188
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.ts +11 -36
- package/lib/DboBuilder/QueryBuilder/getNewQuery.ts +102 -129
- package/lib/DboBuilder/QueryBuilder/getSelectQuery.ts +14 -27
- package/lib/DboBuilder/QueryStreamer.ts +26 -57
- package/lib/DboBuilder/TableHandler/DataValidator.ts +58 -90
- package/lib/DboBuilder/TableHandler/TableHandler.ts +19 -45
- package/lib/DboBuilder/TableHandler/delete.ts +9 -18
- package/lib/DboBuilder/TableHandler/insert.ts +18 -31
- package/lib/DboBuilder/TableHandler/insertTest.ts +1 -1
- package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +8 -19
- package/lib/DboBuilder/TableHandler/update.ts +17 -46
- package/lib/DboBuilder/TableHandler/updateFile.ts +18 -21
- package/lib/DboBuilder/TableHandler/upsert.ts +7 -24
- package/lib/DboBuilder/ViewHandler/ViewHandler.ts +13 -15
- package/lib/DboBuilder/ViewHandler/count.ts +1 -1
- package/lib/DboBuilder/ViewHandler/find.ts +28 -35
- package/lib/DboBuilder/ViewHandler/getExistsCondition.ts +8 -30
- package/lib/DboBuilder/ViewHandler/getInfo.ts +2 -2
- package/lib/DboBuilder/ViewHandler/getTableJoinQuery.ts +16 -32
- package/lib/DboBuilder/ViewHandler/parseFieldFilter.ts +9 -16
- package/lib/DboBuilder/ViewHandler/parseJoinPath.ts +26 -44
- package/lib/DboBuilder/ViewHandler/prepareSortItems.ts +58 -82
- package/lib/DboBuilder/ViewHandler/prepareWhere.ts +14 -27
- package/lib/DboBuilder/dboBuilderUtils.ts +19 -46
- package/lib/DboBuilder/getColumns.ts +24 -46
- package/lib/DboBuilder/getCondition.ts +18 -30
- package/lib/DboBuilder/getSubscribeRelatedTables.ts +2 -2
- package/lib/DboBuilder/getTablesForSchemaPostgresSQL.ts +44 -62
- package/lib/DboBuilder/insertNestedRecords.ts +67 -135
- package/lib/DboBuilder/parseUpdateRules.ts +1 -1
- package/lib/DboBuilder/prepareShortestJoinPaths.ts +23 -58
- package/lib/DboBuilder/runSQL.ts +41 -76
- package/lib/DboBuilder/uploadFile.ts +26 -37
- package/lib/FileManager/FileManager.ts +27 -58
- package/lib/FileManager/initFileManager.ts +68 -76
- package/lib/FileManager/uploadStream.ts +2 -2
- package/lib/Filtering.ts +30 -87
- package/lib/JSONBValidation/validation.ts +36 -75
- package/lib/Logging.ts +1 -1
- package/lib/PostgresNotifListenManager.ts +11 -35
- package/lib/Prostgles.ts +42 -100
- package/lib/PubSubManager/PubSubManager.ts +30 -66
- package/lib/PubSubManager/addSub.ts +11 -18
- package/lib/PubSubManager/addSync.ts +5 -12
- package/lib/PubSubManager/getCreatePubSubManagerError.ts +9 -9
- package/lib/PubSubManager/initPubSubManager.ts +7 -13
- package/lib/PubSubManager/pushSubData.ts +1 -7
- package/lib/PublishParser/PublishParser.ts +8 -12
- package/lib/PublishParser/getFileTableRules.ts +1 -1
- package/lib/PublishParser/getSchemaFromPublish.ts +26 -42
- package/lib/PublishParser/getTableRulesWithoutFileTable.ts +22 -37
- package/lib/RestApi.ts +4 -12
- package/lib/SchemaWatch/SchemaWatch.ts +11 -24
- package/lib/SyncReplication.ts +96 -190
- package/lib/TableConfig/TableConfig.ts +16 -38
- package/lib/TableConfig/getConstraintDefinitionQueries.ts +2 -8
- package/lib/TableConfig/getFutureTableSchema.ts +20 -34
- package/lib/TableConfig/getTableColumnQueries.ts +13 -35
- package/lib/TableConfig/initTableConfig.ts +40 -64
- package/lib/initProstgles.ts +1 -1
- package/lib/onSocketConnected.ts +8 -12
- package/lib/runClientRequest.ts +31 -54
- package/package.json +2 -2
- package/dist/Auth/getSafeReturnURL.d.ts.map +0 -1
- package/dist/Auth/getSafeReturnURL.js.map +0 -1
- package/dist/Auth/setEmailProvider.d.ts.map +0 -1
- package/dist/Auth/setEmailProvider.js +0 -133
- package/dist/Auth/setEmailProvider.js.map +0 -1
- package/dist/DboBuilder/runTransaction.d.ts +0 -9
- package/dist/DboBuilder/runTransaction.d.ts.map +0 -1
- package/dist/DboBuilder/runTransaction.js +0 -49
- package/dist/DboBuilder/runTransaction.js.map +0 -1
- package/lib/Auth/setEmailProvider.ts +0 -132
- package/lib/DboBuilder/QueryBuilder/prepareHaving.ts +0 -27
- package/lib/DboBuilder/runTransaction.ts +0 -61
- package/lib/SchemaWatch/createSchemaWatchEventTrigger.ts +0 -3
- /package/dist/Auth/{getSafeReturnURL.d.ts → utils/getSafeReturnURL.d.ts} +0 -0
- /package/dist/Auth/{getSafeReturnURL.js → utils/getSafeReturnURL.js} +0 -0
- /package/lib/Auth/{getSafeReturnURL.ts → utils/getSafeReturnURL.ts} +0 -0
|
@@ -24,9 +24,6 @@ export const getConstraintDefinitionQueries = ({
|
|
|
24
24
|
}: Args): ConstraintDef[] | undefined => {
|
|
25
25
|
if ("constraints" in tableConf && tableConf.constraints) {
|
|
26
26
|
const { constraints } = tableConf;
|
|
27
|
-
if (!constraints) {
|
|
28
|
-
return undefined;
|
|
29
|
-
}
|
|
30
27
|
|
|
31
28
|
if (Array.isArray(constraints)) {
|
|
32
29
|
return constraints.map((c) => ({
|
|
@@ -38,9 +35,7 @@ export const getConstraintDefinitionQueries = ({
|
|
|
38
35
|
return constraintNames.map((constraintName) => {
|
|
39
36
|
const _cnstr = constraints[constraintName]!;
|
|
40
37
|
const constraintDef =
|
|
41
|
-
typeof _cnstr === "string"
|
|
42
|
-
? _cnstr
|
|
43
|
-
: `${_cnstr.type} (${_cnstr.content})`;
|
|
38
|
+
typeof _cnstr === "string" ? _cnstr : `${_cnstr.type} (${_cnstr.content})`;
|
|
44
39
|
|
|
45
40
|
/** Drop constraints with the same name */
|
|
46
41
|
// const existingConstraint = constraints.some(c => c.conname === constraintName);
|
|
@@ -97,8 +92,7 @@ export const getColConstraintsQuery = ({
|
|
|
97
92
|
`;
|
|
98
93
|
if (table) query += `\nAND "table" = ${asValue(table)}`;
|
|
99
94
|
if (column) query += `\nAND cols @> ARRAY[${asValue(column)}]`;
|
|
100
|
-
if (types?.length)
|
|
101
|
-
query += `\nAND type IN (${types.map((v) => asValue(v)).join(", ")})`;
|
|
95
|
+
if (types?.length) query += `\nAND type IN (${types.map((v) => asValue(v)).join(", ")})`;
|
|
102
96
|
return query;
|
|
103
97
|
};
|
|
104
98
|
export const getColConstraints = ({
|
|
@@ -2,11 +2,7 @@ import { asName } from "prostgles-types";
|
|
|
2
2
|
import { pgp } from "../DboBuilder/DboBuilder";
|
|
3
3
|
import { DB } from "../Prostgles";
|
|
4
4
|
import { ColumnMinimalInfo, getTableColumns } from "./getColumnDefinitionQuery";
|
|
5
|
-
import {
|
|
6
|
-
ColConstraint,
|
|
7
|
-
ConstraintDef,
|
|
8
|
-
getColConstraints,
|
|
9
|
-
} from "./getConstraintDefinitionQueries";
|
|
5
|
+
import { ColConstraint, ConstraintDef, getColConstraints } from "./getConstraintDefinitionQueries";
|
|
10
6
|
|
|
11
7
|
type Args = {
|
|
12
8
|
db: DB;
|
|
@@ -32,25 +28,23 @@ export const getFutureTableSchema = async ({
|
|
|
32
28
|
|
|
33
29
|
let constraints: ColConstraint[] = [];
|
|
34
30
|
let cols: ColumnMinimalInfo[] = [];
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
/** 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 */
|
|
42
|
-
// const tableEsc = asName(tableName.slice(0, 12) + (await t.oneOrNone(`SELECT md5(now()::text) as md5`)).md5);
|
|
31
|
+
const txMode = new TransactionMode({
|
|
32
|
+
tiLevel: isolationLevel.serializable,
|
|
33
|
+
});
|
|
34
|
+
await db.tx({ mode: txMode }, async (t) => {
|
|
35
|
+
/** 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 */
|
|
36
|
+
// const tableEsc = asName(tableName.slice(0, 12) + (await t.oneOrNone(`SELECT md5(now()::text) as md5`)).md5);
|
|
43
37
|
|
|
44
|
-
|
|
38
|
+
const tableEsc = asName(tableName);
|
|
45
39
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
const consQueries = constraintDefs
|
|
41
|
+
.map(
|
|
42
|
+
(c) =>
|
|
43
|
+
`ALTER TABLE ${tableEsc} ADD ${c.name ? ` CONSTRAINT ${asName(c.name)}` : ""} ${c.content};`
|
|
44
|
+
)
|
|
45
|
+
.join("\n");
|
|
52
46
|
|
|
53
|
-
|
|
47
|
+
const query = `
|
|
54
48
|
DROP TABLE IF EXISTS ${tableEsc} CASCADE;
|
|
55
49
|
CREATE TABLE ${tableEsc} (
|
|
56
50
|
${columnDefs.join(",\n")}
|
|
@@ -58,21 +52,13 @@ export const getFutureTableSchema = async ({
|
|
|
58
52
|
${consQueries}
|
|
59
53
|
`;
|
|
60
54
|
|
|
61
|
-
|
|
55
|
+
await t.any(query);
|
|
62
56
|
|
|
63
|
-
|
|
64
|
-
|
|
57
|
+
constraints = await getColConstraints({ db: t, table: tableName });
|
|
58
|
+
cols = await getTableColumns({ db: t, table: tableName });
|
|
65
59
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
});
|
|
69
|
-
} catch (e: any) {
|
|
70
|
-
if (e instanceof Error && e.message === ROLLBACK) {
|
|
71
|
-
// Ignore
|
|
72
|
-
} else {
|
|
73
|
-
throw e;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
60
|
+
return t.any("ROLLBACK");
|
|
61
|
+
});
|
|
76
62
|
|
|
77
63
|
return { cols, constraints };
|
|
78
64
|
};
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getKeys,
|
|
3
|
-
asName as _asName,
|
|
4
|
-
isObject,
|
|
5
|
-
asName,
|
|
6
|
-
getObjectEntries,
|
|
7
|
-
} from "prostgles-types";
|
|
1
|
+
import { getKeys, asName as _asName, isObject, asName, getObjectEntries } from "prostgles-types";
|
|
8
2
|
import { DB, DBHandlerServer } from "../Prostgles";
|
|
9
3
|
import { validate_jsonb_schema_sql } from "../JSONBValidation/validate_jsonb_schema_sql";
|
|
10
|
-
import {
|
|
11
|
-
getColumnDefinitionQuery,
|
|
12
|
-
getTableColumns,
|
|
13
|
-
} from "./getColumnDefinitionQuery";
|
|
4
|
+
import { getColumnDefinitionQuery, getTableColumns } from "./getColumnDefinitionQuery";
|
|
14
5
|
import { TableConfig } from "./TableConfig";
|
|
15
6
|
import { getFutureTableSchema } from "./getFutureTableSchema";
|
|
16
7
|
|
|
@@ -51,9 +42,7 @@ export const getTableColumnQueries = async ({
|
|
|
51
42
|
|
|
52
43
|
const hasJSONBValidation = getKeys(tableConf.columns).some((c) => {
|
|
53
44
|
const cConf = tableConf.columns?.[c];
|
|
54
|
-
return (
|
|
55
|
-
cConf && isObject(cConf) && (cConf.jsonbSchema || cConf.jsonbSchemaType)
|
|
56
|
-
);
|
|
45
|
+
return cConf && isObject(cConf) && (cConf.jsonbSchema || cConf.jsonbSchemaType);
|
|
57
46
|
});
|
|
58
47
|
|
|
59
48
|
/** Must install validation function */
|
|
@@ -61,10 +50,7 @@ export const getTableColumnQueries = async ({
|
|
|
61
50
|
try {
|
|
62
51
|
await db.any(validate_jsonb_schema_sql);
|
|
63
52
|
} catch (err: any) {
|
|
64
|
-
console.error(
|
|
65
|
-
"Could not install the jsonb validation function due to error: ",
|
|
66
|
-
err,
|
|
67
|
-
);
|
|
53
|
+
console.error("Could not install the jsonb validation function due to error: ", err);
|
|
68
54
|
throw err;
|
|
69
55
|
}
|
|
70
56
|
}
|
|
@@ -97,7 +83,7 @@ export const getTableColumnQueries = async ({
|
|
|
97
83
|
const ALTERQ = `ALTER TABLE ${asName(tableName)}`;
|
|
98
84
|
if (!tableHandler) {
|
|
99
85
|
newColumnDefs.push(...colDefs.map((c) => c.def));
|
|
100
|
-
} else
|
|
86
|
+
} else {
|
|
101
87
|
const currCols = await getTableColumns({ db, table: tableName });
|
|
102
88
|
|
|
103
89
|
/** Add new columns */
|
|
@@ -118,43 +104,35 @@ export const getTableColumnQueries = async ({
|
|
|
118
104
|
droppedColNames.push(c.column_name);
|
|
119
105
|
} else if (newCol.nullable !== c.nullable) {
|
|
120
106
|
alteredColQueries.push(
|
|
121
|
-
`${ALTERQ} ALTER COLUMN ${asName(c.column_name)} ${newCol.nullable ? "DROP" : "SET"} NOT NULL
|
|
107
|
+
`${ALTERQ} ALTER COLUMN ${asName(c.column_name)} ${newCol.nullable ? "DROP" : "SET"} NOT NULL;`
|
|
122
108
|
);
|
|
123
109
|
} else if (newCol.udt_name !== c.udt_name) {
|
|
124
110
|
alteredColQueries.push(
|
|
125
|
-
`${ALTERQ} ALTER COLUMN ${asName(c.column_name)} TYPE ${newCol.udt_name} USING ${asName(c.column_name)}::${newCol.udt_name}
|
|
111
|
+
`${ALTERQ} ALTER COLUMN ${asName(c.column_name)} TYPE ${newCol.udt_name} USING ${asName(c.column_name)}::${newCol.udt_name};`
|
|
126
112
|
);
|
|
127
113
|
} else if (newCol.column_default !== c.column_default) {
|
|
128
114
|
const colConfig = colDefs.find((cd) => cd.name === c.column_name);
|
|
129
115
|
if (
|
|
130
|
-
["serial", "bigserial"].some((t) =>
|
|
131
|
-
colConfig?.def.toLowerCase().includes(` ${t}`),
|
|
132
|
-
) &&
|
|
116
|
+
["serial", "bigserial"].some((t) => colConfig?.def.toLowerCase().includes(` ${t}`)) &&
|
|
133
117
|
c.column_default?.toLowerCase().includes("nextval")
|
|
134
118
|
) {
|
|
135
119
|
/** Ignore SERIAL/BIGSERIAL <> nextval mismatch */
|
|
136
120
|
} else {
|
|
137
121
|
alteredColQueries.push(
|
|
138
|
-
`${ALTERQ} ALTER COLUMN ${asName(c.column_name)} ${newCol.column_default === null ? "DROP DEFAULT" : `SET DEFAULT ${newCol.column_default}`}
|
|
122
|
+
`${ALTERQ} ALTER COLUMN ${asName(c.column_name)} ${newCol.column_default === null ? "DROP DEFAULT" : `SET DEFAULT ${newCol.column_default}`};`
|
|
139
123
|
);
|
|
140
124
|
}
|
|
141
125
|
}
|
|
142
126
|
});
|
|
143
127
|
}
|
|
144
128
|
|
|
145
|
-
if (
|
|
146
|
-
!tableHandler ||
|
|
147
|
-
tableConf.dropIfExists ||
|
|
148
|
-
tableConf.dropIfExistsCascade
|
|
149
|
-
) {
|
|
129
|
+
if (!tableHandler || tableConf.dropIfExists || tableConf.dropIfExistsCascade) {
|
|
150
130
|
isCreate = true;
|
|
151
131
|
const DROPQ = `DROP TABLE IF EXISTS ${asName(tableName)}`;
|
|
152
132
|
fullQuery = [
|
|
153
|
-
...(tableConf.dropIfExists
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
? [`${DROPQ} CASCADE;`]
|
|
157
|
-
: []),
|
|
133
|
+
...(tableConf.dropIfExists ? [`${DROPQ};`]
|
|
134
|
+
: tableConf.dropIfExistsCascade ? [`${DROPQ} CASCADE;`]
|
|
135
|
+
: []),
|
|
158
136
|
`CREATE TABLE ${asName(tableName)} (`,
|
|
159
137
|
columnDefs.join(", \n"),
|
|
160
138
|
`);`,
|
|
@@ -55,9 +55,8 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
55
55
|
throw "pgp missing";
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
const MAX_IDENTIFIER_LENGTH = +(
|
|
59
|
-
|
|
60
|
-
).max_identifier_length;
|
|
58
|
+
const MAX_IDENTIFIER_LENGTH = +((await this.db.one("SHOW max_identifier_length;")) as any)
|
|
59
|
+
.max_identifier_length;
|
|
61
60
|
if (!Number.isFinite(MAX_IDENTIFIER_LENGTH))
|
|
62
61
|
throw `Could not obtain a valid max_identifier_length`;
|
|
63
62
|
const asName = (v: string) => {
|
|
@@ -81,9 +80,7 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
81
80
|
`);
|
|
82
81
|
migrations = { version, table: versionTableName };
|
|
83
82
|
const maxVersion = +(
|
|
84
|
-
await this.db.oneOrNone(
|
|
85
|
-
`SELECT MAX(id) as v FROM ${asName(versionTableName)}`,
|
|
86
|
-
)
|
|
83
|
+
await this.db.oneOrNone(`SELECT MAX(id) as v FROM ${asName(versionTableName)}`)
|
|
87
84
|
).v;
|
|
88
85
|
const latestVersion = Number.isFinite(maxVersion) ? maxVersion : undefined;
|
|
89
86
|
|
|
@@ -91,7 +88,7 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
91
88
|
const isLatest = (
|
|
92
89
|
await this.db.oneOrNone(
|
|
93
90
|
`SELECT table_config = \${table_config} as v FROM ${asName(versionTableName)} WHERE id = \${version}`,
|
|
94
|
-
{ version, table_config: this.config }
|
|
91
|
+
{ version, table_config: this.config }
|
|
95
92
|
)
|
|
96
93
|
).v;
|
|
97
94
|
if (isLatest) {
|
|
@@ -115,10 +112,7 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
115
112
|
for (const [tableNameRaw, tableConf] of Object.entries(this.config)) {
|
|
116
113
|
const tableName = asName(tableNameRaw);
|
|
117
114
|
|
|
118
|
-
if (
|
|
119
|
-
"isLookupTable" in tableConf &&
|
|
120
|
-
Object.keys(tableConf.isLookupTable?.values).length
|
|
121
|
-
) {
|
|
115
|
+
if ("isLookupTable" in tableConf && Object.keys(tableConf.isLookupTable.values).length) {
|
|
122
116
|
const { dropIfExists = false, dropIfExistsCascade = false } = tableConf;
|
|
123
117
|
const isDropped = dropIfExists || dropIfExistsCascade;
|
|
124
118
|
|
|
@@ -128,24 +122,26 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
128
122
|
queries.push(`DROP TABLE IF EXISTS ${tableName};`);
|
|
129
123
|
}
|
|
130
124
|
|
|
131
|
-
const rows = Object.entries(tableConf.isLookupTable
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
125
|
+
const rows = Object.entries(tableConf.isLookupTable.values).map(([id, otherColumns]) => ({
|
|
126
|
+
id,
|
|
127
|
+
...otherColumns,
|
|
128
|
+
}));
|
|
129
|
+
const lookupTableHandler = this.dbo[tableNameRaw];
|
|
135
130
|
const columnNames = Object.keys(rows[0]!).filter((k) => k !== "id");
|
|
136
131
|
if (isDropped || !lookupTableHandler) {
|
|
137
132
|
queries.push(
|
|
138
133
|
`CREATE TABLE IF NOT EXISTS ${tableName} (
|
|
139
134
|
id TEXT PRIMARY KEY
|
|
140
135
|
${columnNames.length ? ", " + columnNames.map((k) => asName(k) + " TEXT ").join(", ") : ""}
|
|
141
|
-
)
|
|
136
|
+
);`
|
|
142
137
|
);
|
|
143
138
|
}
|
|
144
139
|
if (rows.length) {
|
|
145
|
-
const existingValues: { id: any }[] =
|
|
146
|
-
?
|
|
140
|
+
const existingValues: { id: any }[] =
|
|
141
|
+
!lookupTableHandler ?
|
|
142
|
+
[]
|
|
147
143
|
: await this.db.any(
|
|
148
|
-
`SELECT id FROM ${tableName} WHERE id IN (${rows.map((r) => asValue(r.id)).join(", ")})
|
|
144
|
+
`SELECT id FROM ${tableName} WHERE id IN (${rows.map((r) => asValue(r.id)).join(", ")});`
|
|
149
145
|
);
|
|
150
146
|
rows
|
|
151
147
|
.filter((r) => !existingValues.some((ev) => ev.id === r.id))
|
|
@@ -156,8 +152,8 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
156
152
|
this.prostgles.pgp!.as.format(
|
|
157
153
|
`INSERT INTO ${tableName} (${allColumns.map((t) => asName(t)).join(", ")}) ` +
|
|
158
154
|
" VALUES (${values:csv});",
|
|
159
|
-
{ values }
|
|
160
|
-
)
|
|
155
|
+
{ values }
|
|
156
|
+
)
|
|
161
157
|
);
|
|
162
158
|
});
|
|
163
159
|
}
|
|
@@ -177,14 +173,14 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
177
173
|
|
|
178
174
|
/* isLookupTable table has already been created */
|
|
179
175
|
const coldef =
|
|
180
|
-
"isLookupTable" in tableConf
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
176
|
+
"isLookupTable" in tableConf ? undefined : (
|
|
177
|
+
await getTableColumnQueries({
|
|
178
|
+
db: this.db,
|
|
179
|
+
tableConf,
|
|
180
|
+
tableHandler,
|
|
181
|
+
tableName,
|
|
182
|
+
})
|
|
183
|
+
);
|
|
188
184
|
|
|
189
185
|
if (coldef) {
|
|
190
186
|
queries.push(coldef.fullQuery);
|
|
@@ -220,9 +216,7 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
220
216
|
currCons.forEach((c) => {
|
|
221
217
|
if (
|
|
222
218
|
!futureCons.some(
|
|
223
|
-
(nc) =>
|
|
224
|
-
nc.definition === c.definition &&
|
|
225
|
-
(!nc.isNamed || nc.name === c.name),
|
|
219
|
+
(nc) => nc.definition === c.definition && (!nc.isNamed || nc.name === c.name)
|
|
226
220
|
)
|
|
227
221
|
) {
|
|
228
222
|
queries.push(`${ALTER_TABLE_Q} DROP CONSTRAINT ${asName(c.name)};`);
|
|
@@ -234,9 +228,7 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
234
228
|
if (c.name && !currCons.some((cc) => cc.name === c.name)) {
|
|
235
229
|
const fc = futureCons.find((nc) => nc.name === c.name);
|
|
236
230
|
if (fc) {
|
|
237
|
-
queries.push(
|
|
238
|
-
`${ALTER_TABLE_Q} ADD CONSTRAINT ${asName(c.name)} ${c.content};`,
|
|
239
|
-
);
|
|
231
|
+
queries.push(`${ALTER_TABLE_Q} ADD CONSTRAINT ${asName(c.name)} ${c.content};`);
|
|
240
232
|
}
|
|
241
233
|
}
|
|
242
234
|
});
|
|
@@ -261,14 +253,8 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
261
253
|
*/
|
|
262
254
|
const currIndexes = await getPGIndexes(this.db, tableName, "public");
|
|
263
255
|
Object.entries(tableConf.indexes).forEach(
|
|
264
|
-
([
|
|
265
|
-
|
|
266
|
-
{ columns, concurrently, replace, unique, using, where = "" },
|
|
267
|
-
]) => {
|
|
268
|
-
if (
|
|
269
|
-
replace ||
|
|
270
|
-
(typeof replace !== "boolean" && tableConf.replaceUniqueIndexes)
|
|
271
|
-
) {
|
|
256
|
+
([indexName, { columns, concurrently, replace, unique, using, where = "" }]) => {
|
|
257
|
+
if (replace || (typeof replace !== "boolean" && tableConf.replaceUniqueIndexes)) {
|
|
272
258
|
queries.push(`DROP INDEX IF EXISTS ${asName(indexName)};`);
|
|
273
259
|
}
|
|
274
260
|
if (!currIndexes.some((idx) => idx.indexname === indexName)) {
|
|
@@ -283,10 +269,10 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
283
269
|
where && `WHERE ${where}`,
|
|
284
270
|
]
|
|
285
271
|
.filter((v) => v)
|
|
286
|
-
.join(" ") + ";"
|
|
272
|
+
.join(" ") + ";"
|
|
287
273
|
);
|
|
288
274
|
}
|
|
289
|
-
}
|
|
275
|
+
}
|
|
290
276
|
);
|
|
291
277
|
}
|
|
292
278
|
|
|
@@ -303,7 +289,7 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
303
289
|
ORDER BY event_object_table
|
|
304
290
|
`,
|
|
305
291
|
{ tableName },
|
|
306
|
-
{ returnType: "rows" }
|
|
292
|
+
{ returnType: "rows" }
|
|
307
293
|
)) as { trigger_name: string }[];
|
|
308
294
|
|
|
309
295
|
// const existingTriggerFuncs = await this.dbo.sql!(`
|
|
@@ -338,24 +324,15 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
338
324
|
|
|
339
325
|
const triggerActionNameParsed = asName(triggerActionName);
|
|
340
326
|
if (isDropped) {
|
|
341
|
-
queries.push(
|
|
342
|
-
`DROP TRIGGER IF EXISTS ${triggerActionNameParsed} ON ${tableName};`,
|
|
343
|
-
);
|
|
327
|
+
queries.push(`DROP TRIGGER IF EXISTS ${triggerActionNameParsed} ON ${tableName};`);
|
|
344
328
|
}
|
|
345
329
|
|
|
346
|
-
if (
|
|
347
|
-
isDropped ||
|
|
348
|
-
!existingTriggers.some((t) => t.trigger_name === triggerActionName)
|
|
349
|
-
) {
|
|
330
|
+
if (isDropped || !existingTriggers.some((t) => t.trigger_name === triggerActionName)) {
|
|
350
331
|
addFuncDef();
|
|
351
|
-
const newTableName =
|
|
352
|
-
|
|
353
|
-
const oldTableName =
|
|
354
|
-
action !== "insert" ? "OLD TABLE AS old_table" : "";
|
|
332
|
+
const newTableName = action !== "delete" ? "NEW TABLE AS new_table" : "";
|
|
333
|
+
const oldTableName = action !== "insert" ? "OLD TABLE AS old_table" : "";
|
|
355
334
|
const transitionTables =
|
|
356
|
-
trigger.forEach === "row"
|
|
357
|
-
? ""
|
|
358
|
-
: `REFERENCING ${newTableName} ${oldTableName}`;
|
|
335
|
+
trigger.forEach === "row" ? "" : `REFERENCING ${newTableName} ${oldTableName}`;
|
|
359
336
|
queries.push(`
|
|
360
337
|
CREATE TRIGGER ${triggerActionNameParsed}
|
|
361
338
|
${trigger.type} ${action} ON ${tableName}
|
|
@@ -381,9 +358,7 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
381
358
|
if (err.position) {
|
|
382
359
|
const pos = +err.position;
|
|
383
360
|
if (Number.isInteger(pos)) {
|
|
384
|
-
return Promise.reject(
|
|
385
|
-
err.toString() + "\n At:" + q.slice(pos - 50, pos + 50),
|
|
386
|
-
);
|
|
361
|
+
return Promise.reject(err.toString() + "\n At:" + q.slice(pos - 50, pos + 50));
|
|
387
362
|
}
|
|
388
363
|
}
|
|
389
364
|
|
|
@@ -393,10 +368,11 @@ export const initTableConfig = async function (this: TableConfigurator<any>) {
|
|
|
393
368
|
|
|
394
369
|
if (migrations) {
|
|
395
370
|
await this.db.any(
|
|
396
|
-
`INSERT INTO ${migrations.table}(id, table_config) VALUES (${asValue(migrations.version)}, ${asValue(this.config)}) ON CONFLICT DO NOTHING
|
|
371
|
+
`INSERT INTO ${migrations.table}(id, table_config) VALUES (${asValue(migrations.version)}, ${asValue(this.config)}) ON CONFLICT DO NOTHING;`
|
|
397
372
|
);
|
|
398
373
|
}
|
|
399
374
|
this.initialising = false;
|
|
375
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
400
376
|
if (changedSchema && !failedQueries.length) {
|
|
401
377
|
if (!this.prevInitQueryHistory) {
|
|
402
378
|
this.prevInitQueryHistory = queryHistory;
|
package/lib/initProstgles.ts
CHANGED
|
@@ -250,7 +250,7 @@ export const initProstgles = async function (
|
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
252
|
this.fileManager?.destroy();
|
|
253
|
-
this.dboBuilder
|
|
253
|
+
this.dboBuilder.destroy();
|
|
254
254
|
this.authHandler?.destroy();
|
|
255
255
|
await this.tableConfigurator?.destroy();
|
|
256
256
|
this.dbo = undefined;
|
package/lib/onSocketConnected.ts
CHANGED
|
@@ -36,11 +36,9 @@ export async function onSocketConnected(this: Prostgles, socket: PRGLIOSocket) {
|
|
|
36
36
|
});
|
|
37
37
|
} catch (error) {
|
|
38
38
|
const connectionError =
|
|
39
|
-
error instanceof Error
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
? error
|
|
43
|
-
: JSON.stringify(error);
|
|
39
|
+
error instanceof Error ? error.message
|
|
40
|
+
: typeof error === "string" ? error
|
|
41
|
+
: JSON.stringify(error);
|
|
44
42
|
socket.emit(CHANNELS.CONNECTION, { connectionError });
|
|
45
43
|
socket.disconnect();
|
|
46
44
|
return;
|
|
@@ -54,7 +52,7 @@ export async function onSocketConnected(this: Prostgles, socket: PRGLIOSocket) {
|
|
|
54
52
|
args: SocketRequestParams,
|
|
55
53
|
cb = (..._callback: any[]) => {
|
|
56
54
|
/* Empty */
|
|
57
|
-
}
|
|
55
|
+
}
|
|
58
56
|
) => {
|
|
59
57
|
runClientRequest
|
|
60
58
|
.bind(this)({ ...args, type: "socket", socket })
|
|
@@ -64,15 +62,13 @@ export async function onSocketConnected(this: Prostgles, socket: PRGLIOSocket) {
|
|
|
64
62
|
.catch((err) => {
|
|
65
63
|
cb(err);
|
|
66
64
|
});
|
|
67
|
-
}
|
|
65
|
+
}
|
|
68
66
|
);
|
|
69
67
|
|
|
70
68
|
socket.on("disconnect", () => {
|
|
71
69
|
this.dbEventsManager?.removeNotice(socket);
|
|
72
70
|
this.dbEventsManager?.removeNotify(undefined, socket);
|
|
73
|
-
this.connectedSockets = this.connectedSockets.filter(
|
|
74
|
-
(s) => s.id !== socket.id,
|
|
75
|
-
);
|
|
71
|
+
this.connectedSockets = this.connectedSockets.filter((s) => s.id !== socket.id);
|
|
76
72
|
this.dboBuilder.queryStreamer.onDisconnect(socket.id);
|
|
77
73
|
this.opts.onLog?.({
|
|
78
74
|
type: "disconnect",
|
|
@@ -96,7 +92,7 @@ export async function onSocketConnected(this: Prostgles, socket: PRGLIOSocket) {
|
|
|
96
92
|
{ method, params }: SocketMethodRequest,
|
|
97
93
|
cb = (..._callback: any) => {
|
|
98
94
|
/* Empty */
|
|
99
|
-
}
|
|
95
|
+
}
|
|
100
96
|
) => {
|
|
101
97
|
runClientMethod
|
|
102
98
|
.bind(this)({
|
|
@@ -111,7 +107,7 @@ export async function onSocketConnected(this: Prostgles, socket: PRGLIOSocket) {
|
|
|
111
107
|
.catch((err) => {
|
|
112
108
|
makeSocketError(cb, err);
|
|
113
109
|
});
|
|
114
|
-
}
|
|
110
|
+
}
|
|
115
111
|
);
|
|
116
112
|
|
|
117
113
|
this.pushSocketSchema(socket);
|