@n8n/db 1.25.0 → 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build.tsbuildinfo +1 -1
- package/dist/connection/db-connection-monitor.d.ts +25 -0
- package/dist/connection/db-connection-monitor.js +166 -0
- package/dist/connection/db-connection-monitor.js.map +1 -0
- package/dist/connection/db-connection-options.js +7 -0
- package/dist/connection/db-connection-options.js.map +1 -1
- package/dist/connection/db-connection.d.ts +1 -4
- package/dist/connection/db-connection.js +8 -45
- package/dist/connection/db-connection.js.map +1 -1
- package/dist/entities/credentials-entity.d.ts +1 -1
- package/dist/entities/index.d.ts +2 -3
- package/dist/entities/index.js +2 -1
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/types-db.d.ts +23 -2
- package/dist/entities/types-db.js +22 -1
- package/dist/entities/types-db.js.map +1 -1
- package/dist/entities/user.d.ts +1 -1
- package/dist/entities/workflow-entity.js.map +1 -1
- package/dist/entities/workflow-publication-outbox.d.ts +8 -1
- package/dist/entities/workflow-publication-outbox.js +10 -3
- package/dist/entities/workflow-publication-outbox.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/migrations/common/1690000000030-RemoveResetPasswordColumns.js +4 -5
- package/dist/migrations/common/1690000000030-RemoveResetPasswordColumns.js.map +1 -1
- package/dist/migrations/common/1690000000040-AddMfaColumns.js +4 -2
- package/dist/migrations/common/1690000000040-AddMfaColumns.js.map +1 -1
- package/dist/migrations/common/1693491613982-ExecutionSoftDelete.js +4 -2
- package/dist/migrations/common/1693491613982-ExecutionSoftDelete.js.map +1 -1
- package/dist/migrations/common/1693554410387-DisallowOrphanExecutions.js +2 -2
- package/dist/migrations/common/1693554410387-DisallowOrphanExecutions.js.map +1 -1
- package/dist/migrations/common/1695128658538-AddWorkflowMetadata.js +2 -2
- package/dist/migrations/common/1695128658538-AddWorkflowMetadata.js.map +1 -1
- package/dist/migrations/common/1695829275184-ModifyWorkflowHistoryNodesAndConnections.js +4 -4
- package/dist/migrations/common/1695829275184-ModifyWorkflowHistoryNodesAndConnections.js.map +1 -1
- package/dist/migrations/common/1705429061930-DropRoleMapping.js +6 -6
- package/dist/migrations/common/1705429061930-DropRoleMapping.js.map +1 -1
- package/dist/migrations/common/1712044305787-RemoveNodesAccess.js +1 -1
- package/dist/migrations/common/1712044305787-RemoveNodesAccess.js.map +1 -1
- package/dist/migrations/common/1714133768519-CreateProject.js +2 -2
- package/dist/migrations/common/1714133768519-CreateProject.js.map +1 -1
- package/dist/migrations/common/1714133768521-MakeExecutionStatusNonNullable.js +3 -1
- package/dist/migrations/common/1714133768521-MakeExecutionStatusNonNullable.js.map +1 -1
- package/dist/migrations/common/1724951148974-AddApiKeysTable.js +1 -1
- package/dist/migrations/common/1724951148974-AddApiKeysTable.js.map +1 -1
- package/dist/migrations/common/1727427440136-SeparateExecutionCreationFromStart.js +4 -6
- package/dist/migrations/common/1727427440136-SeparateExecutionCreationFromStart.js.map +1 -1
- package/dist/migrations/common/1729607673464-UpdateProcessedDataValueColumnToText.js +2 -2
- package/dist/migrations/common/1729607673464-UpdateProcessedDataValueColumnToText.js.map +1 -1
- package/dist/migrations/common/1729607673469-AddProjectIcons.js +2 -2
- package/dist/migrations/common/1729607673469-AddProjectIcons.js.map +1 -1
- package/dist/migrations/common/1731404028106-AddDescriptionToTestDefinition.js +4 -2
- package/dist/migrations/common/1731404028106-AddDescriptionToTestDefinition.js.map +1 -1
- package/dist/migrations/common/1742918400000-AddScopesColumnToApiKeys.js +2 -2
- package/dist/migrations/common/1742918400000-AddScopesColumnToApiKeys.js.map +1 -1
- package/dist/migrations/common/1750252139168-LinkRoleToUserTable.js +4 -2
- package/dist/migrations/common/1750252139168-LinkRoleToUserTable.js.map +1 -1
- package/dist/migrations/common/1750252139170-RemoveOldRoleColumn.js +4 -2
- package/dist/migrations/common/1750252139170-RemoveOldRoleColumn.js.map +1 -1
- package/dist/migrations/common/1752669793000-AddInputsOutputsToTestCaseExecution.js +6 -2
- package/dist/migrations/common/1752669793000-AddInputsOutputsToTestCaseExecution.js.map +1 -1
- package/dist/migrations/common/1756906557570-AddTimestampsToRoleAndRoleIndexes.js +1 -1
- package/dist/migrations/common/1756906557570-AddTimestampsToRoleAndRoleIndexes.js.map +1 -1
- package/dist/migrations/common/1758731786132-AddAudienceColumnToApiKey.js +2 -4
- package/dist/migrations/common/1758731786132-AddAudienceColumnToApiKey.js.map +1 -1
- package/dist/migrations/common/1760020000000-CreateChatHubAgentTable.js +4 -4
- package/dist/migrations/common/1760020000000-CreateChatHubAgentTable.js.map +1 -1
- package/dist/migrations/common/1760965142113-DropUnusedChatHubColumns.js +6 -4
- package/dist/migrations/common/1760965142113-DropUnusedChatHubColumns.js.map +1 -1
- package/dist/migrations/common/1761773155024-AddAttachmentsToChatHubMessages.js +2 -2
- package/dist/migrations/common/1761773155024-AddAttachmentsToChatHubMessages.js.map +1 -1
- package/dist/migrations/common/1761830340990-AddToolsColumnToChatHubTables.js +4 -4
- package/dist/migrations/common/1761830340990-AddToolsColumnToChatHubTables.js.map +1 -1
- package/dist/migrations/common/1762177736257-AddWorkflowDescriptionColumn.js +4 -2
- package/dist/migrations/common/1762177736257-AddWorkflowDescriptionColumn.js.map +1 -1
- package/dist/migrations/common/1762763704614-BackfillMissingWorkflowHistoryRecords.js +3 -1
- package/dist/migrations/common/1762763704614-BackfillMissingWorkflowHistoryRecords.js.map +1 -1
- package/dist/migrations/common/1762847206508-AddWorkflowHistoryAutoSaveFields.js +4 -2
- package/dist/migrations/common/1762847206508-AddWorkflowHistoryAutoSaveFields.js.map +1 -1
- package/dist/migrations/common/1763047800000-AddActiveVersionIdColumn.js +6 -2
- package/dist/migrations/common/1763047800000-AddActiveVersionIdColumn.js.map +1 -1
- package/dist/migrations/common/1764276827837-AddCreatorIdToProjectTable.js +2 -4
- package/dist/migrations/common/1764276827837-AddCreatorIdToProjectTable.js.map +1 -1
- package/dist/migrations/common/1765459448000-AddResolvableFieldsToCredentials.js +2 -6
- package/dist/migrations/common/1765459448000-AddResolvableFieldsToCredentials.js.map +1 -1
- package/dist/migrations/common/1765788427674-AddIconToAgentTable.js +2 -2
- package/dist/migrations/common/1765788427674-AddIconToAgentTable.js.map +1 -1
- package/dist/migrations/common/1766068346315-AddChatMessageIndices.js +2 -2
- package/dist/migrations/common/1766068346315-AddChatMessageIndices.js.map +1 -1
- package/dist/migrations/common/1769000000000-AddPublishedVersionIdToWorkflowDependency.js +6 -2
- package/dist/migrations/common/1769000000000-AddPublishedVersionIdToWorkflowDependency.js.map +1 -1
- package/dist/migrations/common/1770000000000-CreateChatHubToolsTable.js +8 -4
- package/dist/migrations/common/1770000000000-CreateChatHubToolsTable.js.map +1 -1
- package/dist/migrations/common/1771500000002-AddFilesColumnToChatHubAgents.js +4 -2
- package/dist/migrations/common/1771500000002-AddFilesColumnToChatHubAgents.js.map +1 -1
- package/dist/migrations/common/1772000000000-AddSuggestedPromptsToAgentTable.js +4 -2
- package/dist/migrations/common/1772000000000-AddSuggestedPromptsToAgentTable.js.map +1 -1
- package/dist/migrations/common/1772619247761-AddRoleColumnToProjectSecretsProviderAccess.js +2 -2
- package/dist/migrations/common/1772619247761-AddRoleColumnToProjectSecretsProviderAccess.js.map +1 -1
- package/dist/migrations/common/1772700000000-AddTypeToChatHubSessions.js +2 -2
- package/dist/migrations/common/1772700000000-AddTypeToChatHubSessions.js.map +1 -1
- package/dist/migrations/common/1774280963551-AddRestoreFieldsToWorkflowBuilderSession.js +2 -5
- package/dist/migrations/common/1774280963551-AddRestoreFieldsToWorkflowBuilderSession.js.map +1 -1
- package/dist/migrations/common/1775740765000-ChangeWorkflowPublishHistoryVersionIdToSetNull.js +2 -2
- package/dist/migrations/common/1775740765000-ChangeWorkflowPublishHistoryVersionIdToSetNull.js.map +1 -1
- package/dist/migrations/common/1777045000000-AddTracingContextToExecution.js +4 -2
- package/dist/migrations/common/1777045000000-AddTracingContextToExecution.js.map +1 -1
- package/dist/migrations/common/1777100000000-AddLangsmithIdsToInstanceAiRunSnapshots.js +4 -2
- package/dist/migrations/common/1777100000000-AddLangsmithIdsToInstanceAiRunSnapshots.js.map +1 -1
- package/dist/migrations/common/1778000000000-AddExecutionDeduplicationKey.js +4 -2
- package/dist/migrations/common/1778000000000-AddExecutionDeduplicationKey.js.map +1 -1
- package/dist/migrations/common/1778100002000-AddEvaluationConfigColumnsToTestRun.js +7 -3
- package/dist/migrations/common/1778100002000-AddEvaluationConfigColumnsToTestRun.js.map +1 -1
- package/dist/migrations/common/1778496086558-CreateEvaluationCollection.js +4 -2
- package/dist/migrations/common/1778496086558-CreateEvaluationCollection.js.map +1 -1
- package/dist/migrations/common/1784000000002-DropAgentExecutionWorkingMemory.js +4 -2
- package/dist/migrations/common/1784000000002-DropAgentExecutionWorkingMemory.js.map +1 -1
- package/dist/migrations/common/1784000000006-AddNodeGroupsColumnToWorkflowAndHistory.js +8 -4
- package/dist/migrations/common/1784000000006-AddNodeGroupsColumnToWorkflowAndHistory.js.map +1 -1
- package/dist/migrations/common/1784000000007-CreateInstanceAiCheckpointTable.js +5 -3
- package/dist/migrations/common/1784000000007-CreateInstanceAiCheckpointTable.js.map +1 -1
- package/dist/migrations/common/1784000000011-CreateAgentHistoryTable.js +8 -4
- package/dist/migrations/common/1784000000011-CreateAgentHistoryTable.js.map +1 -1
- package/dist/migrations/common/1784000000014-PersistInstanceAiPendingConfirmations.js +6 -4
- package/dist/migrations/common/1784000000014-PersistInstanceAiPendingConfirmations.js.map +1 -1
- package/dist/migrations/common/1784000000015-AddSourceWorkflowIdToWorkflow.js +6 -2
- package/dist/migrations/common/1784000000015-AddSourceWorkflowIdToWorkflow.js.map +1 -1
- package/dist/migrations/common/1784000000017-AddLastUsedAtToApiKey.js +4 -2
- package/dist/migrations/common/1784000000017-AddLastUsedAtToApiKey.js.map +1 -1
- package/dist/migrations/common/1784000000018-CreateAgentFilesTable.js +4 -2
- package/dist/migrations/common/1784000000018-CreateAgentFilesTable.js.map +1 -1
- package/dist/migrations/common/1784000000019-AddCustomTelemetryTagsToProject.js +4 -2
- package/dist/migrations/common/1784000000019-AddCustomTelemetryTagsToProject.js.map +1 -1
- package/dist/migrations/common/1784000000021-CreateAgentTaskDefinitionTable.js +4 -2
- package/dist/migrations/common/1784000000021-CreateAgentTaskDefinitionTable.js.map +1 -1
- package/dist/migrations/common/1784000000022-AddSubAgentLinkageToAgentExecutionThreads.d.ts +5 -0
- package/dist/migrations/common/1784000000022-AddSubAgentLinkageToAgentExecutionThreads.js +54 -0
- package/dist/migrations/common/1784000000022-AddSubAgentLinkageToAgentExecutionThreads.js.map +1 -0
- package/dist/migrations/common/1784000000023-CreateInstanceAiMcpRegistryConnectionTable.d.ts +5 -0
- package/dist/migrations/common/1784000000023-CreateInstanceAiMcpRegistryConnectionTable.js +31 -0
- package/dist/migrations/common/1784000000023-CreateInstanceAiMcpRegistryConnectionTable.js.map +1 -0
- package/dist/migrations/common/1784000000024-AddResourceToOAuthAuthorizationCodes.d.ts +5 -0
- package/dist/migrations/common/1784000000024-AddResourceToOAuthAuthorizationCodes.js +20 -0
- package/dist/migrations/common/1784000000024-AddResourceToOAuthAuthorizationCodes.js.map +1 -0
- package/dist/migrations/common/1784000000025-MigrateRedactionEnforcementToFloor.d.ts +6 -0
- package/dist/migrations/common/1784000000025-MigrateRedactionEnforcementToFloor.js +54 -0
- package/dist/migrations/common/1784000000025-MigrateRedactionEnforcementToFloor.js.map +1 -0
- package/dist/migrations/common/1784000000026-AddScopeColumnToOAuthTables.d.ts +5 -0
- package/dist/migrations/common/1784000000026-AddScopeColumnToOAuthTables.js +25 -0
- package/dist/migrations/common/1784000000026-AddScopeColumnToOAuthTables.js.map +1 -0
- package/dist/migrations/common/{1784000000020-CreateWorkflowPublicationOutboxTable.d.ts → 1784000000027-CreateWorkflowPublicationOutboxTable.d.ts} +1 -1
- package/dist/migrations/common/{1784000000020-CreateWorkflowPublicationOutboxTable.js → 1784000000027-CreateWorkflowPublicationOutboxTable.js} +5 -5
- package/dist/migrations/common/{1784000000020-CreateWorkflowPublicationOutboxTable.js.map → 1784000000027-CreateWorkflowPublicationOutboxTable.js.map} +1 -1
- package/dist/migrations/common/AddProjectIdToInstanceAiThreadBase.d.ts +11 -0
- package/dist/migrations/common/AddProjectIdToInstanceAiThreadBase.js +77 -0
- package/dist/migrations/common/AddProjectIdToInstanceAiThreadBase.js.map +1 -0
- package/dist/migrations/dsl/index.d.ts +10 -6
- package/dist/migrations/dsl/index.js +6 -6
- package/dist/migrations/dsl/index.js.map +1 -1
- package/dist/migrations/dsl/table.js.map +1 -1
- package/dist/migrations/postgresdb/1758794506893-AddProjectIdToVariableTable.js +4 -2
- package/dist/migrations/postgresdb/1758794506893-AddProjectIdToVariableTable.js.map +1 -1
- package/dist/migrations/postgresdb/1784000000028-AddProjectIdToInstanceAiThread.d.ts +6 -0
- package/dist/migrations/postgresdb/1784000000028-AddProjectIdToInstanceAiThread.js +25 -0
- package/dist/migrations/postgresdb/1784000000028-AddProjectIdToInstanceAiThread.js.map +1 -0
- package/dist/migrations/postgresdb/index.js +14 -2
- package/dist/migrations/postgresdb/index.js.map +1 -1
- package/dist/migrations/sqlite/1764276827837-AddCreatorIdToProjectTable.js +2 -4
- package/dist/migrations/sqlite/1764276827837-AddCreatorIdToProjectTable.js.map +1 -1
- package/dist/migrations/sqlite/1764689448000-AddResolvableFieldsToCredentials.js +2 -6
- package/dist/migrations/sqlite/1764689448000-AddResolvableFieldsToCredentials.js.map +1 -1
- package/dist/migrations/sqlite/1784000000026-AddScopeColumnToOAuthTables.d.ts +4 -0
- package/dist/migrations/sqlite/1784000000026-AddScopeColumnToOAuthTables.js +12 -0
- package/dist/migrations/sqlite/1784000000026-AddScopeColumnToOAuthTables.js.map +1 -0
- package/dist/migrations/sqlite/1784000000028-AddProjectIdToInstanceAiThread.d.ts +8 -0
- package/dist/migrations/sqlite/1784000000028-AddProjectIdToInstanceAiThread.js +47 -0
- package/dist/migrations/sqlite/1784000000028-AddProjectIdToInstanceAiThread.js.map +1 -0
- package/dist/migrations/sqlite/index.js +14 -2
- package/dist/migrations/sqlite/index.js.map +1 -1
- package/dist/repositories/execution-data.repository.d.ts +0 -3
- package/dist/repositories/execution-data.repository.js +0 -11
- package/dist/repositories/execution-data.repository.js.map +1 -1
- package/dist/repositories/execution.repository.d.ts +0 -4
- package/dist/repositories/execution.repository.js +0 -43
- package/dist/repositories/execution.repository.js.map +1 -1
- package/dist/repositories/shared-credentials.repository.d.ts +7 -0
- package/dist/repositories/shared-credentials.repository.js +21 -0
- package/dist/repositories/shared-credentials.repository.js.map +1 -1
- package/dist/repositories/test-run.repository.ee.d.ts +2 -1
- package/dist/repositories/test-run.repository.ee.js +2 -1
- package/dist/repositories/test-run.repository.ee.js.map +1 -1
- package/dist/repositories/workflow-publication-outbox.repository.d.ts +13 -1
- package/dist/repositories/workflow-publication-outbox.repository.js +93 -2
- package/dist/repositories/workflow-publication-outbox.repository.js.map +1 -1
- package/dist/repositories/workflow.repository.d.ts +3 -3
- package/dist/utils/test-utils/mock-entity-manager.d.ts +85 -44
- package/dist/utils/test-utils/mock-entity-manager.js +2 -2
- package/dist/utils/test-utils/mock-entity-manager.js.map +1 -1
- package/dist/utils/test-utils/mock-instance.d.ts +2 -2
- package/dist/utils/test-utils/mock-instance.js +2 -2
- package/dist/utils/test-utils/mock-instance.js.map +1 -1
- package/dist/utils/validators/no-url.validator.js +1 -1
- package/dist/utils/validators/no-url.validator.js.map +1 -1
- package/dist/utils/validators/no-xss.validator.js +1 -1
- package/dist/utils/validators/no-xss.validator.js.map +1 -1
- package/package.json +24 -18
- package/dist/migrations/migration-helpers.test.d.ts +0 -1
- package/dist/migrations/migration-helpers.test.js +0 -64
- package/dist/migrations/migration-helpers.test.js.map +0 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Logger } from '@n8n/backend-common';
|
|
2
|
+
import type { DatabaseConfig } from '@n8n/config';
|
|
3
|
+
import type { DataSource } from '@n8n/typeorm';
|
|
4
|
+
import type { ErrorReporter } from 'n8n-core';
|
|
5
|
+
export declare class DbConnectionMonitor {
|
|
6
|
+
private readonly dataSource;
|
|
7
|
+
private readonly onConnectedChange;
|
|
8
|
+
private readonly databaseConfig;
|
|
9
|
+
private readonly logger;
|
|
10
|
+
private readonly errorReporter;
|
|
11
|
+
private pingTimer;
|
|
12
|
+
private consecutiveFailures;
|
|
13
|
+
private recovering;
|
|
14
|
+
private connected;
|
|
15
|
+
private stopped;
|
|
16
|
+
private stopAbortController;
|
|
17
|
+
constructor(dataSource: DataSource, onConnectedChange: (connected: boolean) => void, databaseConfig: DatabaseConfig, logger: Logger, errorReporter: ErrorReporter, initialConnected?: boolean);
|
|
18
|
+
start(): void;
|
|
19
|
+
stop(): void;
|
|
20
|
+
private scheduleNextPing;
|
|
21
|
+
private ping;
|
|
22
|
+
private recoverDataSource;
|
|
23
|
+
private attachPoolErrorHandler;
|
|
24
|
+
private setConnected;
|
|
25
|
+
}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DbConnectionMonitor = void 0;
|
|
4
|
+
const backend_common_1 = require("@n8n/backend-common");
|
|
5
|
+
const constants_1 = require("@n8n/constants");
|
|
6
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
7
|
+
const promises_1 = require("timers/promises");
|
|
8
|
+
const MAX_PING_FAILURES_BEFORE_RECOVERY = 3;
|
|
9
|
+
const MIN_RECOVERY_BACKOFF_MS = 1_000;
|
|
10
|
+
const MAX_RECOVERY_BACKOFF_MS = 30_000;
|
|
11
|
+
class DbConnectionMonitor {
|
|
12
|
+
constructor(dataSource, onConnectedChange, databaseConfig, logger, errorReporter, initialConnected = true) {
|
|
13
|
+
this.dataSource = dataSource;
|
|
14
|
+
this.onConnectedChange = onConnectedChange;
|
|
15
|
+
this.databaseConfig = databaseConfig;
|
|
16
|
+
this.logger = logger;
|
|
17
|
+
this.errorReporter = errorReporter;
|
|
18
|
+
this.consecutiveFailures = 0;
|
|
19
|
+
this.recovering = false;
|
|
20
|
+
this.stopped = false;
|
|
21
|
+
this.stopAbortController = new AbortController();
|
|
22
|
+
this.connected = initialConnected;
|
|
23
|
+
}
|
|
24
|
+
start() {
|
|
25
|
+
this.attachPoolErrorHandler();
|
|
26
|
+
this.logger.debug(`Database connection monitor started (pingIntervalSeconds=${this.databaseConfig.pingIntervalSeconds}, pingTimeoutMs=${this.databaseConfig.pingTimeoutMs}, recoveryThreshold=${MAX_PING_FAILURES_BEFORE_RECOVERY})`);
|
|
27
|
+
if (!backend_common_1.inTest) {
|
|
28
|
+
this.scheduleNextPing();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
stop() {
|
|
32
|
+
this.stopped = true;
|
|
33
|
+
this.recovering = false;
|
|
34
|
+
this.stopAbortController.abort();
|
|
35
|
+
if (this.pingTimer) {
|
|
36
|
+
clearTimeout(this.pingTimer);
|
|
37
|
+
this.pingTimer = undefined;
|
|
38
|
+
}
|
|
39
|
+
this.logger.debug('Database connection monitor stopped');
|
|
40
|
+
}
|
|
41
|
+
scheduleNextPing() {
|
|
42
|
+
if (!this.stopped) {
|
|
43
|
+
this.pingTimer = setTimeout(async () => await this.ping(), this.databaseConfig.pingIntervalSeconds * constants_1.Time.seconds.toMilliseconds);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async ping() {
|
|
47
|
+
if (this.stopped || !this.dataSource.isInitialized) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (this.recovering) {
|
|
51
|
+
this.scheduleNextPing();
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const abortController = new AbortController();
|
|
55
|
+
try {
|
|
56
|
+
await Promise.race([
|
|
57
|
+
this.dataSource.query('SELECT 1'),
|
|
58
|
+
(0, promises_1.setTimeout)(this.databaseConfig.pingTimeoutMs, undefined, {
|
|
59
|
+
signal: abortController.signal,
|
|
60
|
+
}).then(() => {
|
|
61
|
+
throw new n8n_workflow_1.OperationalError('Database connection timed out');
|
|
62
|
+
}),
|
|
63
|
+
]);
|
|
64
|
+
if (!this.connected) {
|
|
65
|
+
this.logger.info('Database connection recovered');
|
|
66
|
+
}
|
|
67
|
+
this.setConnected(true);
|
|
68
|
+
this.consecutiveFailures = 0;
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
this.setConnected(false);
|
|
73
|
+
this.consecutiveFailures += 1;
|
|
74
|
+
this.logger.warn(`Database ping failed (${this.consecutiveFailures}/${MAX_PING_FAILURES_BEFORE_RECOVERY}): ${(0, n8n_workflow_1.ensureError)(error).message}`);
|
|
75
|
+
if (!(error instanceof n8n_workflow_1.OperationalError)) {
|
|
76
|
+
this.errorReporter.error(error);
|
|
77
|
+
}
|
|
78
|
+
if (this.consecutiveFailures >= MAX_PING_FAILURES_BEFORE_RECOVERY) {
|
|
79
|
+
this.logger.warn(`Triggering database connection recovery after ${this.consecutiveFailures} consecutive ping failures`);
|
|
80
|
+
void this.recoverDataSource();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
finally {
|
|
84
|
+
abortController.abort();
|
|
85
|
+
this.scheduleNextPing();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
async recoverDataSource() {
|
|
89
|
+
if (this.recovering || this.stopped) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
this.recovering = true;
|
|
93
|
+
try {
|
|
94
|
+
const recoveryStart = Date.now();
|
|
95
|
+
let attempt = 0;
|
|
96
|
+
let recovered = false;
|
|
97
|
+
while (!recovered && !this.stopped) {
|
|
98
|
+
attempt += 1;
|
|
99
|
+
this.logger.warn(`Attempting to recover database connection (attempt ${attempt})`);
|
|
100
|
+
try {
|
|
101
|
+
if (this.dataSource.isInitialized) {
|
|
102
|
+
await this.dataSource.destroy();
|
|
103
|
+
}
|
|
104
|
+
if (this.stopped) {
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
await this.dataSource.initialize();
|
|
108
|
+
this.attachPoolErrorHandler();
|
|
109
|
+
this.setConnected(true);
|
|
110
|
+
this.consecutiveFailures = 0;
|
|
111
|
+
recovered = true;
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
const wrapped = (0, n8n_workflow_1.ensureError)(error);
|
|
115
|
+
this.errorReporter.error(wrapped);
|
|
116
|
+
const backoff = Math.min(MIN_RECOVERY_BACKOFF_MS * 2 ** (attempt - 1), MAX_RECOVERY_BACKOFF_MS);
|
|
117
|
+
this.logger.warn(`Recovery attempt ${attempt} failed: ${wrapped.message}. Retrying in ${backoff}ms`);
|
|
118
|
+
try {
|
|
119
|
+
await (0, promises_1.setTimeout)(backoff, undefined, {
|
|
120
|
+
signal: this.stopAbortController.signal,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (recovered) {
|
|
128
|
+
this.logger.info(`Database connection recovered after ${attempt} attempt(s) in ${Date.now() - recoveryStart}ms`);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
this.logger.warn(`Database connection recovery aborted after ${attempt} attempt(s) (monitor stopped)`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
this.errorReporter.error((0, n8n_workflow_1.ensureError)(error));
|
|
136
|
+
}
|
|
137
|
+
finally {
|
|
138
|
+
this.recovering = false;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
attachPoolErrorHandler() {
|
|
142
|
+
if (this.dataSource.options.type !== 'postgres') {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const driver = this.dataSource.driver;
|
|
146
|
+
const pool = driver.master;
|
|
147
|
+
if (!pool || typeof pool.on !== 'function') {
|
|
148
|
+
this.logger.warn('Skipping Postgres pool error listener: driver.master is unavailable (TypeORM internals may have changed)');
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
pool.on('error', (cause) => {
|
|
152
|
+
this.setConnected(false);
|
|
153
|
+
this.logger.warn(`Postgres pool client error: ${(0, n8n_workflow_1.ensureError)(cause).message}`);
|
|
154
|
+
});
|
|
155
|
+
this.logger.debug('Attached pool error listener to Postgres driver');
|
|
156
|
+
}
|
|
157
|
+
setConnected(connected) {
|
|
158
|
+
if (this.connected === connected) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
this.connected = connected;
|
|
162
|
+
this.onConnectedChange(connected);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
exports.DbConnectionMonitor = DbConnectionMonitor;
|
|
166
|
+
//# sourceMappingURL=db-connection-monitor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-connection-monitor.js","sourceRoot":"","sources":["../../src/connection/db-connection-monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -109,6 +109,13 @@ let DbConnectionOptions = class DbConnectionOptions {
|
|
|
109
109
|
ssl,
|
|
110
110
|
extra: {
|
|
111
111
|
idleTimeoutMillis: postgresConfig.idleTimeoutMs,
|
|
112
|
+
keepAlive: postgresConfig.keepAlive,
|
|
113
|
+
keepAliveInitialDelayMillis: postgresConfig.keepAliveInitialDelayMs,
|
|
114
|
+
...(postgresConfig.maxConnectionLifetimeMs > 0
|
|
115
|
+
? {
|
|
116
|
+
maxLifetimeSeconds: Math.max(1, Math.round(postgresConfig.maxConnectionLifetimeMs / 1000)),
|
|
117
|
+
}
|
|
118
|
+
: {}),
|
|
112
119
|
},
|
|
113
120
|
};
|
|
114
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-connection-options.js","sourceRoot":"","sources":["../../src/connection/db-connection-options.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAAqD;AACrD,wCAAqE;AACrE,gCAAkC;AAIlC,+CAAyC;AAEzC,gDAAwB;AAExB,0CAAuC;AACvC,yDAA8D;AAC9D,iDAAwD;AACxD,gDAA6C;AAGtC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC/B,YACkB,MAAsB,EACtB,sBAA8C,EAC9C,cAA8B;QAF9B,WAAM,GAAN,MAAM,CAAgB;QACtB,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,mBAAc,GAAd,cAAc,CAAgB;IAC7C,CAAC;IAEJ,oBAAoB;QACnB,OAAO;YACN,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ;YACzC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;YACjC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;YACjC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;YACrC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ;SACzC,CAAC;IACH,CAAC;IAED,UAAU;QACT,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACrC,QAAQ,MAAM,EAAE,CAAC;YAChB,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAC1C,KAAK,YAAY;gBAChB,OAAO,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAC5C;gBACC,MAAM,IAAI,wBAAS,CAAC,uCAAuC,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACtF,CAAC;IACF,CAAC;IAEO,gBAAgB;QACvB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1E,IAAI,aAAa,GAAkB,aAAa,CAAC,OAAO,CAAC;QACzD,IAAI,aAAa,EAAE,CAAC;YACnB,MAAM,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChE,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;gBAC7B,aAAa,GAAG,aAAa,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACP,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;YAC3D,CAAC;QACF,CAAC;QAED,OAAO;YACN,YAAY;YACZ,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YACvE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,yBAAW,CAAC;YACvC,mBAAmB,EAAE,GAAG,YAAY,YAAY;YAChD,aAAa,EAAE,KAAK;YACpB,WAAW,EAAE,KAAK;YAClB,qBAAqB,EAAE,aAAa,CAAC,qBAAqB;YAC1D,OAAO,EAAE,aAAa;SACtB,CAAC;IACH,CAAC;IAEO,0BAA0B;QACjC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAElD,OAAO;YACN,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,MAAM;YACtB,cAAc,EAAE,KAAK;YACrB,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC1B,QAAQ,EAAE,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC;YACxD,UAAU,EAAE,yBAAgB;SAC5B,CAAC;IACH,CAAC;IAEO,4BAA4B;QACnC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACnD,MAAM,EACL,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,GACzF,GAAG,cAAc,CAAC;QAEnB,IAAI,GAAG,GAAyB,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;QAC3D,IAAI,KAAK,KAAK,EAAE,IAAI,OAAO,KAAK,EAAE,IAAI,MAAM,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/E,GAAG,GAAG;gBACL,EAAE,EAAE,KAAK,IAAI,SAAS;gBACtB,IAAI,EAAE,OAAO,IAAI,SAAS;gBAC1B,GAAG,EAAE,MAAM,IAAI,SAAS;gBACxB,kBAAkB,EAAE,qBAAqB;aACzC,CAAC;QACH,CAAC;QAED,OAAO;YACN,IAAI,EAAE,UAAU;YAChB,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC1B,GAAG,IAAI,CAAC,oBAAoB,EAAE;YAC9B,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,UAAU,EAAE,+BAAkB;YAC9B,gBAAgB,EAAE,cAAc,CAAC,mBAAmB;YACpD,gBAAgB,EAAE,cAAc,CAAC,kBAAkB;YACnD,GAAG;YACH,KAAK,EAAE;gBACN,iBAAiB,EAAE,cAAc,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"db-connection-options.js","sourceRoot":"","sources":["../../src/connection/db-connection-options.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,15 +12,12 @@ export declare class DbConnection {
|
|
|
12
12
|
private readonly databaseConfig;
|
|
13
13
|
private readonly logger;
|
|
14
14
|
private dataSource;
|
|
15
|
-
private
|
|
16
|
-
timeout: number;
|
|
15
|
+
private monitor;
|
|
17
16
|
readonly connectionState: ConnectionState;
|
|
18
17
|
constructor(errorReporter: ErrorReporter, connectionOptions: DbConnectionOptions, databaseConfig: DatabaseConfig, logger: Logger);
|
|
19
18
|
get options(): import("@n8n/typeorm").DataSourceOptions;
|
|
20
19
|
init(): Promise<void>;
|
|
21
20
|
migrate(): Promise<void>;
|
|
22
21
|
close(): Promise<void>;
|
|
23
|
-
private scheduleNextPing;
|
|
24
|
-
private ping;
|
|
25
22
|
}
|
|
26
23
|
export {};
|
|
@@ -12,13 +12,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.DbConnection = void 0;
|
|
13
13
|
const backend_common_1 = require("@n8n/backend-common");
|
|
14
14
|
const config_1 = require("@n8n/config");
|
|
15
|
-
const constants_1 = require("@n8n/constants");
|
|
16
15
|
const decorators_1 = require("@n8n/decorators");
|
|
17
16
|
const di_1 = require("@n8n/di");
|
|
18
17
|
const typeorm_1 = require("@n8n/typeorm");
|
|
19
18
|
const n8n_core_1 = require("n8n-core");
|
|
20
19
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
21
|
-
const
|
|
20
|
+
const db_connection_monitor_1 = require("./db-connection-monitor");
|
|
22
21
|
const db_connection_options_1 = require("./db-connection-options");
|
|
23
22
|
const migration_helpers_1 = require("../migrations/migration-helpers");
|
|
24
23
|
let DbConnection = class DbConnection {
|
|
@@ -33,9 +32,6 @@ let DbConnection = class DbConnection {
|
|
|
33
32
|
};
|
|
34
33
|
this.dataSource = new typeorm_1.DataSource(this.options);
|
|
35
34
|
di_1.Container.set(typeorm_1.DataSource, this.dataSource);
|
|
36
|
-
this.timeout = process.env.N8N_DB_PING_TIMEOUT
|
|
37
|
-
? Number.parseInt(process.env.N8N_DB_PING_TIMEOUT)
|
|
38
|
-
: 5000;
|
|
39
35
|
}
|
|
40
36
|
get options() {
|
|
41
37
|
return this.connectionOptions.getOptions();
|
|
@@ -44,6 +40,9 @@ let DbConnection = class DbConnection {
|
|
|
44
40
|
const { connectionState, options } = this;
|
|
45
41
|
if (connectionState.connected)
|
|
46
42
|
return;
|
|
43
|
+
if (process.env.N8N_DB_PING_TIMEOUT) {
|
|
44
|
+
this.logger.warn('N8N_DB_PING_TIMEOUT is deprecated, use DB_PING_TIMEOUT_MS instead. The legacy variable will be removed in a future release.');
|
|
45
|
+
}
|
|
47
46
|
try {
|
|
48
47
|
await this.dataSource.initialize();
|
|
49
48
|
}
|
|
@@ -59,8 +58,8 @@ let DbConnection = class DbConnection {
|
|
|
59
58
|
throw error;
|
|
60
59
|
}
|
|
61
60
|
connectionState.connected = true;
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
this.monitor = new db_connection_monitor_1.DbConnectionMonitor(this.dataSource, (connected) => (this.connectionState.connected = connected), this.databaseConfig, this.logger, this.errorReporter, connectionState.connected);
|
|
62
|
+
this.monitor.start();
|
|
64
63
|
}
|
|
65
64
|
async migrate() {
|
|
66
65
|
const { dataSource, connectionState } = this;
|
|
@@ -69,49 +68,13 @@ let DbConnection = class DbConnection {
|
|
|
69
68
|
connectionState.migrated = true;
|
|
70
69
|
}
|
|
71
70
|
async close() {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
this.pingTimer = undefined;
|
|
75
|
-
}
|
|
71
|
+
this.monitor?.stop();
|
|
72
|
+
this.monitor = undefined;
|
|
76
73
|
if (this.dataSource.isInitialized) {
|
|
77
74
|
await this.dataSource.destroy();
|
|
78
75
|
this.connectionState.connected = false;
|
|
79
76
|
}
|
|
80
77
|
}
|
|
81
|
-
scheduleNextPing() {
|
|
82
|
-
this.pingTimer = setTimeout(async () => await this.ping(), this.databaseConfig.pingIntervalSeconds * constants_1.Time.seconds.toMilliseconds);
|
|
83
|
-
}
|
|
84
|
-
async ping() {
|
|
85
|
-
if (!this.dataSource.isInitialized)
|
|
86
|
-
return;
|
|
87
|
-
const abortController = new AbortController();
|
|
88
|
-
try {
|
|
89
|
-
await Promise.race([
|
|
90
|
-
this.dataSource.query('SELECT 1'),
|
|
91
|
-
(0, promises_1.setTimeout)(this.timeout, undefined, { signal: abortController.signal }).then(() => {
|
|
92
|
-
throw new n8n_workflow_1.OperationalError('Database connection timed out');
|
|
93
|
-
}),
|
|
94
|
-
]);
|
|
95
|
-
if (!this.connectionState.connected) {
|
|
96
|
-
this.logger.info('Database connection recovered');
|
|
97
|
-
}
|
|
98
|
-
this.connectionState.connected = true;
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
this.connectionState.connected = false;
|
|
103
|
-
if (error instanceof n8n_workflow_1.OperationalError) {
|
|
104
|
-
this.logger.warn(error.message);
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
this.errorReporter.error(error);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
finally {
|
|
111
|
-
abortController.abort();
|
|
112
|
-
this.scheduleNextPing();
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
78
|
};
|
|
116
79
|
exports.DbConnection = DbConnection;
|
|
117
80
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-connection.js","sourceRoot":"","sources":["../../src/connection/db-connection.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"db-connection.js","sourceRoot":"","sources":["../../src/connection/db-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,5 +11,5 @@ export declare class CredentialsEntity extends WithTimestampsAndStringId impleme
|
|
|
11
11
|
isResolvable: boolean;
|
|
12
12
|
resolvableAllowFallback: boolean;
|
|
13
13
|
resolverId: string | null;
|
|
14
|
-
toJSON(): Omit<this, "
|
|
14
|
+
toJSON(): Omit<this, "shared" | "toJSON" | "generateId" | "setUpdateDate">;
|
|
15
15
|
}
|
package/dist/entities/index.d.ts
CHANGED
|
@@ -39,13 +39,12 @@ import { WebhookEntity } from './webhook-entity';
|
|
|
39
39
|
import { WorkflowDependency } from './workflow-dependency-entity';
|
|
40
40
|
import { WorkflowEntity } from './workflow-entity';
|
|
41
41
|
import { WorkflowHistory } from './workflow-history';
|
|
42
|
-
import { WorkflowPublicationOutbox } from './workflow-publication-outbox';
|
|
43
|
-
import type { WorkflowPublicationOutboxStatus } from './workflow-publication-outbox';
|
|
42
|
+
import { WorkflowPublicationOutbox, WorkflowPublicationOutboxStatus } from './workflow-publication-outbox';
|
|
44
43
|
import { WorkflowPublishHistory } from './workflow-publish-history';
|
|
45
44
|
import { WorkflowPublishedVersion } from './workflow-published-version';
|
|
46
45
|
import { WorkflowStatistics } from './workflow-statistics';
|
|
47
46
|
import { WorkflowTagMapping } from './workflow-tag-mapping';
|
|
48
|
-
export { InvalidAuthToken, AiBuilderTemporaryWorkflow, ProcessedData, Settings, Variables, ApiKey, BinaryDataFile, SourceTypeSchema, type SourceType, type ExecutionDataStorageLocation, WebhookEntity, AuthIdentity, CredentialsEntity, CredentialDependency, type CredentialDependencyType, DeploymentKey, EvaluationCollection, EvaluationConfig, Folder, Project, ProjectRelation, RoleMappingRule, Role, Scope, SharedCredentials, SharedWorkflow, TagEntity, User, WorkflowDependency, WorkflowEntity, WorkflowStatistics, WorkflowTagMapping, FolderTagMapping, AuthProviderSyncHistory, WorkflowHistory, WorkflowPublicationOutbox,
|
|
47
|
+
export { InvalidAuthToken, AiBuilderTemporaryWorkflow, ProcessedData, Settings, Variables, ApiKey, BinaryDataFile, SourceTypeSchema, type SourceType, type ExecutionDataStorageLocation, WebhookEntity, AuthIdentity, CredentialsEntity, CredentialDependency, type CredentialDependencyType, DeploymentKey, EvaluationCollection, EvaluationConfig, Folder, Project, ProjectRelation, RoleMappingRule, Role, Scope, SharedCredentials, SharedWorkflow, TagEntity, User, WorkflowDependency, WorkflowEntity, WorkflowStatistics, WorkflowTagMapping, FolderTagMapping, AuthProviderSyncHistory, WorkflowHistory, WorkflowPublicationOutbox, WorkflowPublicationOutboxStatus, WorkflowPublishedVersion, WorkflowPublishHistory, ExecutionData, ExecutionMetadata, AnnotationTagEntity, ExecutionAnnotation, AnnotationTagMapping, TestRun, TestCaseExecution, ExecutionEntity, ProjectSecretsProviderAccess, type SecretsProviderAccessRole, SecretsProviderConnection, };
|
|
49
48
|
export declare const entities: {
|
|
50
49
|
InvalidAuthToken: typeof InvalidAuthToken;
|
|
51
50
|
AiBuilderTemporaryWorkflow: typeof AiBuilderTemporaryWorkflow;
|
package/dist/entities/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.entities = exports.SecretsProviderConnection = exports.ProjectSecretsProviderAccess = exports.ExecutionEntity = exports.TestCaseExecution = exports.TestRun = exports.AnnotationTagMapping = exports.ExecutionAnnotation = exports.AnnotationTagEntity = exports.ExecutionMetadata = exports.ExecutionData = exports.WorkflowPublishHistory = exports.WorkflowPublishedVersion = exports.WorkflowPublicationOutbox = exports.WorkflowHistory = exports.AuthProviderSyncHistory = exports.FolderTagMapping = exports.WorkflowTagMapping = exports.WorkflowStatistics = exports.WorkflowEntity = exports.WorkflowDependency = exports.User = exports.TagEntity = exports.SharedWorkflow = exports.SharedCredentials = exports.Scope = exports.Role = exports.RoleMappingRule = exports.ProjectRelation = exports.Project = exports.Folder = exports.EvaluationConfig = exports.EvaluationCollection = exports.DeploymentKey = exports.CredentialDependency = exports.CredentialsEntity = exports.AuthIdentity = exports.WebhookEntity = exports.SourceTypeSchema = exports.BinaryDataFile = exports.ApiKey = exports.Variables = exports.Settings = exports.ProcessedData = exports.AiBuilderTemporaryWorkflow = exports.InvalidAuthToken = void 0;
|
|
3
|
+
exports.entities = exports.SecretsProviderConnection = exports.ProjectSecretsProviderAccess = exports.ExecutionEntity = exports.TestCaseExecution = exports.TestRun = exports.AnnotationTagMapping = exports.ExecutionAnnotation = exports.AnnotationTagEntity = exports.ExecutionMetadata = exports.ExecutionData = exports.WorkflowPublishHistory = exports.WorkflowPublishedVersion = exports.WorkflowPublicationOutboxStatus = exports.WorkflowPublicationOutbox = exports.WorkflowHistory = exports.AuthProviderSyncHistory = exports.FolderTagMapping = exports.WorkflowTagMapping = exports.WorkflowStatistics = exports.WorkflowEntity = exports.WorkflowDependency = exports.User = exports.TagEntity = exports.SharedWorkflow = exports.SharedCredentials = exports.Scope = exports.Role = exports.RoleMappingRule = exports.ProjectRelation = exports.Project = exports.Folder = exports.EvaluationConfig = exports.EvaluationCollection = exports.DeploymentKey = exports.CredentialDependency = exports.CredentialsEntity = exports.AuthIdentity = exports.WebhookEntity = exports.SourceTypeSchema = exports.BinaryDataFile = exports.ApiKey = exports.Variables = exports.Settings = exports.ProcessedData = exports.AiBuilderTemporaryWorkflow = exports.InvalidAuthToken = void 0;
|
|
4
4
|
const ai_builder_temporary_workflow_1 = require("./ai-builder-temporary-workflow");
|
|
5
5
|
Object.defineProperty(exports, "AiBuilderTemporaryWorkflow", { enumerable: true, get: function () { return ai_builder_temporary_workflow_1.AiBuilderTemporaryWorkflow; } });
|
|
6
6
|
const annotation_tag_entity_ee_1 = require("./annotation-tag-entity.ee");
|
|
@@ -82,6 +82,7 @@ const workflow_history_1 = require("./workflow-history");
|
|
|
82
82
|
Object.defineProperty(exports, "WorkflowHistory", { enumerable: true, get: function () { return workflow_history_1.WorkflowHistory; } });
|
|
83
83
|
const workflow_publication_outbox_1 = require("./workflow-publication-outbox");
|
|
84
84
|
Object.defineProperty(exports, "WorkflowPublicationOutbox", { enumerable: true, get: function () { return workflow_publication_outbox_1.WorkflowPublicationOutbox; } });
|
|
85
|
+
Object.defineProperty(exports, "WorkflowPublicationOutboxStatus", { enumerable: true, get: function () { return workflow_publication_outbox_1.WorkflowPublicationOutboxStatus; } });
|
|
85
86
|
const workflow_publish_history_1 = require("./workflow-publish-history");
|
|
86
87
|
Object.defineProperty(exports, "WorkflowPublishHistory", { enumerable: true, get: function () { return workflow_publish_history_1.WorkflowPublishHistory; } });
|
|
87
88
|
const workflow_published_version_1 = require("./workflow-published-version");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":";;;AAAA,mFAA6E;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -255,8 +255,29 @@ export type FolderWithWorkflowAndSubFolderCountAndPath = FolderWithWorkflowAndSu
|
|
|
255
255
|
path?: string[];
|
|
256
256
|
};
|
|
257
257
|
export type TestRunFinalResult = 'success' | 'error' | 'warning';
|
|
258
|
-
export
|
|
259
|
-
|
|
258
|
+
export declare const TestRunErrorCode: {
|
|
259
|
+
readonly TEST_CASES_NOT_FOUND: "TEST_CASES_NOT_FOUND";
|
|
260
|
+
readonly INTERRUPTED: "INTERRUPTED";
|
|
261
|
+
readonly UNKNOWN_ERROR: "UNKNOWN_ERROR";
|
|
262
|
+
readonly EVALUATION_TRIGGER_NOT_FOUND: "EVALUATION_TRIGGER_NOT_FOUND";
|
|
263
|
+
readonly EVALUATION_TRIGGER_NOT_CONFIGURED: "EVALUATION_TRIGGER_NOT_CONFIGURED";
|
|
264
|
+
readonly EVALUATION_TRIGGER_DISABLED: "EVALUATION_TRIGGER_DISABLED";
|
|
265
|
+
readonly EVALUATION_CONFIG_NOT_FOUND: "EVALUATION_CONFIG_NOT_FOUND";
|
|
266
|
+
readonly COMPILATION_FAILED: "COMPILATION_FAILED";
|
|
267
|
+
readonly SET_OUTPUTS_NODE_NOT_CONFIGURED: "SET_OUTPUTS_NODE_NOT_CONFIGURED";
|
|
268
|
+
readonly SET_METRICS_NODE_NOT_FOUND: "SET_METRICS_NODE_NOT_FOUND";
|
|
269
|
+
readonly SET_METRICS_NODE_NOT_CONFIGURED: "SET_METRICS_NODE_NOT_CONFIGURED";
|
|
270
|
+
readonly CANT_FETCH_TEST_CASES: "CANT_FETCH_TEST_CASES";
|
|
271
|
+
};
|
|
272
|
+
export type TestRunErrorCode = (typeof TestRunErrorCode)[keyof typeof TestRunErrorCode];
|
|
273
|
+
export declare const TestCaseExecutionErrorCode: {
|
|
274
|
+
readonly NO_METRICS_COLLECTED: "NO_METRICS_COLLECTED";
|
|
275
|
+
readonly MOCKED_NODE_NOT_FOUND: "MOCKED_NODE_NOT_FOUND";
|
|
276
|
+
readonly FAILED_TO_EXECUTE_WORKFLOW: "FAILED_TO_EXECUTE_WORKFLOW";
|
|
277
|
+
readonly INVALID_METRICS: "INVALID_METRICS";
|
|
278
|
+
readonly UNKNOWN_ERROR: "UNKNOWN_ERROR";
|
|
279
|
+
};
|
|
280
|
+
export type TestCaseExecutionErrorCode = (typeof TestCaseExecutionErrorCode)[keyof typeof TestCaseExecutionErrorCode];
|
|
260
281
|
export type AggregatedTestRunMetrics = Record<string, number | boolean>;
|
|
261
282
|
export type MockedNodeItem = {
|
|
262
283
|
name?: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StatisticsNames = void 0;
|
|
3
|
+
exports.TestCaseExecutionErrorCode = exports.TestRunErrorCode = exports.StatisticsNames = void 0;
|
|
4
4
|
exports.isAuthProviderType = isAuthProviderType;
|
|
5
5
|
exports.isAuthenticatedRequest = isAuthenticatedRequest;
|
|
6
6
|
const zod_1 = require("zod");
|
|
@@ -16,6 +16,27 @@ const ALL_AUTH_PROVIDERS = zod_1.z.enum(['ldap', 'email', 'saml', 'oidc', 'token
|
|
|
16
16
|
function isAuthProviderType(value) {
|
|
17
17
|
return ALL_AUTH_PROVIDERS.safeParse(value).success;
|
|
18
18
|
}
|
|
19
|
+
exports.TestRunErrorCode = {
|
|
20
|
+
TEST_CASES_NOT_FOUND: 'TEST_CASES_NOT_FOUND',
|
|
21
|
+
INTERRUPTED: 'INTERRUPTED',
|
|
22
|
+
UNKNOWN_ERROR: 'UNKNOWN_ERROR',
|
|
23
|
+
EVALUATION_TRIGGER_NOT_FOUND: 'EVALUATION_TRIGGER_NOT_FOUND',
|
|
24
|
+
EVALUATION_TRIGGER_NOT_CONFIGURED: 'EVALUATION_TRIGGER_NOT_CONFIGURED',
|
|
25
|
+
EVALUATION_TRIGGER_DISABLED: 'EVALUATION_TRIGGER_DISABLED',
|
|
26
|
+
EVALUATION_CONFIG_NOT_FOUND: 'EVALUATION_CONFIG_NOT_FOUND',
|
|
27
|
+
COMPILATION_FAILED: 'COMPILATION_FAILED',
|
|
28
|
+
SET_OUTPUTS_NODE_NOT_CONFIGURED: 'SET_OUTPUTS_NODE_NOT_CONFIGURED',
|
|
29
|
+
SET_METRICS_NODE_NOT_FOUND: 'SET_METRICS_NODE_NOT_FOUND',
|
|
30
|
+
SET_METRICS_NODE_NOT_CONFIGURED: 'SET_METRICS_NODE_NOT_CONFIGURED',
|
|
31
|
+
CANT_FETCH_TEST_CASES: 'CANT_FETCH_TEST_CASES',
|
|
32
|
+
};
|
|
33
|
+
exports.TestCaseExecutionErrorCode = {
|
|
34
|
+
NO_METRICS_COLLECTED: 'NO_METRICS_COLLECTED',
|
|
35
|
+
MOCKED_NODE_NOT_FOUND: 'MOCKED_NODE_NOT_FOUND',
|
|
36
|
+
FAILED_TO_EXECUTE_WORKFLOW: 'FAILED_TO_EXECUTE_WORKFLOW',
|
|
37
|
+
INVALID_METRICS: 'INVALID_METRICS',
|
|
38
|
+
UNKNOWN_ERROR: 'UNKNOWN_ERROR',
|
|
39
|
+
};
|
|
19
40
|
function isAuthenticatedRequest(req) {
|
|
20
41
|
return 'user' in req && req.user !== null;
|
|
21
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-db.js","sourceRoot":"","sources":["../../src/entities/types-db.ts"],"names":[],"mappings":";;;AAkUA,gDAEC;
|
|
1
|
+
{"version":3,"file":"types-db.js","sourceRoot":"","sources":["../../src/entities/types-db.ts"],"names":[],"mappings":";;;AAkUA,gDAEC;AAwID,wDAEC;AA5bD,6BAAwB;AAoSxB,IAAkB,eAMjB;AAND,WAAkB,eAAe;IAChC,2DAAwC,CAAA;IACxC,uDAAoC,CAAA;IACpC,mDAAgC,CAAA;IAChC,+CAA4B,CAAA;IAC5B,6CAA0B,CAAA;AAC3B,CAAC,EANiB,eAAe,+BAAf,eAAe,QAMhC;AAED,MAAM,kBAAkB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAIvF,SAAgB,kBAAkB,CAAC,KAAa;IAC/C,OAAO,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC;AAaY,QAAA,gBAAgB,GAAG;IAC/B,oBAAoB,EAAE,sBAAsB;IAC5C,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;IAC9B,4BAA4B,EAAE,8BAA8B;IAC5D,iCAAiC,EAAE,mCAAmC;IACtE,2BAA2B,EAAE,6BAA6B;IAC1D,2BAA2B,EAAE,6BAA6B;IAC1D,kBAAkB,EAAE,oBAAoB;IACxC,+BAA+B,EAAE,iCAAiC;IAClE,0BAA0B,EAAE,4BAA4B;IACxD,+BAA+B,EAAE,iCAAiC;IAClE,qBAAqB,EAAE,uBAAuB;CACrC,CAAC;AAIE,QAAA,0BAA0B,GAAG;IACzC,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,uBAAuB;IAC9C,0BAA0B,EAAE,4BAA4B;IACxD,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;CACrB,CAAC;AAoGX,SAAgB,sBAAsB,CAAC,GAAoB;IAC1D,OAAO,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;AAC3C,CAAC"}
|
package/dist/entities/user.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export declare class User extends WithTimestamps implements IUser, AuthPrincipal
|
|
|
30
30
|
lastActiveAt?: Date | null;
|
|
31
31
|
isPending: boolean;
|
|
32
32
|
computeIsPending(): void;
|
|
33
|
-
toJSON(): Omit<this, "
|
|
33
|
+
toJSON(): Omit<this, "toJSON" | "setUpdateDate" | "password" | "mfaSecret" | "mfaRecoveryCodes" | "preUpsertHook" | "computeIsPending" | "createPersonalProjectName" | "toIUser">;
|
|
34
34
|
createPersonalProjectName(): string;
|
|
35
35
|
toIUser(): IUser;
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-entity.js","sourceRoot":"","sources":["../../src/entities/workflow-entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CASsB;AACtB,qDAAyC;AAIzC,uDAAkF;AAQlF,wDAAgE;AAGzD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,2CAAyB;
|
|
1
|
+
{"version":3,"file":"workflow-entity.js","sourceRoot":"","sources":["../../src/entities/workflow-entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { WithTimestamps } from './abstract-entity';
|
|
2
|
-
export
|
|
2
|
+
export declare const WorkflowPublicationOutboxStatus: {
|
|
3
|
+
readonly Pending: "pending";
|
|
4
|
+
readonly InProgress: "in_progress";
|
|
5
|
+
readonly Completed: "completed";
|
|
6
|
+
readonly PartialSuccess: "partial_success";
|
|
7
|
+
readonly Failed: "failed";
|
|
8
|
+
};
|
|
9
|
+
export type WorkflowPublicationOutboxStatus = (typeof WorkflowPublicationOutboxStatus)[keyof typeof WorkflowPublicationOutboxStatus];
|
|
3
10
|
export declare class WorkflowPublicationOutbox extends WithTimestamps {
|
|
4
11
|
id: number;
|
|
5
12
|
workflowId: string;
|
|
@@ -9,9 +9,16 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.WorkflowPublicationOutbox = void 0;
|
|
12
|
+
exports.WorkflowPublicationOutbox = exports.WorkflowPublicationOutboxStatus = void 0;
|
|
13
13
|
const typeorm_1 = require("@n8n/typeorm");
|
|
14
14
|
const abstract_entity_1 = require("./abstract-entity");
|
|
15
|
+
exports.WorkflowPublicationOutboxStatus = {
|
|
16
|
+
Pending: 'pending',
|
|
17
|
+
InProgress: 'in_progress',
|
|
18
|
+
Completed: 'completed',
|
|
19
|
+
PartialSuccess: 'partial_success',
|
|
20
|
+
Failed: 'failed',
|
|
21
|
+
};
|
|
15
22
|
let WorkflowPublicationOutbox = class WorkflowPublicationOutbox extends abstract_entity_1.WithTimestamps {
|
|
16
23
|
};
|
|
17
24
|
exports.WorkflowPublicationOutbox = WorkflowPublicationOutbox;
|
|
@@ -37,9 +44,9 @@ __decorate([
|
|
|
37
44
|
], WorkflowPublicationOutbox.prototype, "errorMessage", void 0);
|
|
38
45
|
exports.WorkflowPublicationOutbox = WorkflowPublicationOutbox = __decorate([
|
|
39
46
|
(0, typeorm_1.Entity)({ name: 'workflow_publication_outbox' }),
|
|
40
|
-
(0, typeorm_1.Index)('
|
|
47
|
+
(0, typeorm_1.Index)('IDX_workflow_publication_outbox_active_workflow_status', ['workflowId', 'status'], {
|
|
41
48
|
unique: true,
|
|
42
|
-
where:
|
|
49
|
+
where: `status IN ('${exports.WorkflowPublicationOutboxStatus.Pending}', '${exports.WorkflowPublicationOutboxStatus.InProgress}')`,
|
|
43
50
|
})
|
|
44
51
|
], WorkflowPublicationOutbox);
|
|
45
52
|
//# sourceMappingURL=workflow-publication-outbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-publication-outbox.js","sourceRoot":"","sources":["../../src/entities/workflow-publication-outbox.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA6E;AAE7E,uDAAmD;
|
|
1
|
+
{"version":3,"file":"workflow-publication-outbox.js","sourceRoot":"","sources":["../../src/entities/workflow-publication-outbox.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA6E;AAE7E,uDAAmD;AAEtC,QAAA,+BAA+B,GAAG;IAC9C,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,iBAAiB;IACjC,MAAM,EAAE,QAAQ;CACP,CAAC;AAUJ,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,gCAAc;CAe5D,CAAA;AAfY,8DAAyB;AAErC;IADC,IAAA,gCAAsB,GAAE;;qDACd;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;6DACrB;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;qEACb;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;yDACA;AAGxC;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+DACb;oCAdhB,yBAAyB;IALrC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;IAC/C,IAAA,eAAK,EAAC,wDAAwD,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE;QAC1F,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,eAAe,uCAA+B,CAAC,OAAO,OAAO,uCAA+B,CAAC,UAAU,IAAI;KAClH,CAAC;GACW,yBAAyB,CAerC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,6 +24,6 @@ export { DbConnection } from './connection/db-connection';
|
|
|
24
24
|
export { DbConnectionOptions } from './connection/db-connection-options';
|
|
25
25
|
export { AuthRolesService } from './services/auth.roles.service';
|
|
26
26
|
export { DbLock, DbLockService } from './services/db-lock.service';
|
|
27
|
-
export { In, Like, Not, DataSource } from '@n8n/typeorm';
|
|
27
|
+
export { In, Like, MoreThanOrEqual, Not, DataSource } from '@n8n/typeorm';
|
|
28
28
|
export type { FindManyOptions, FindOptionsWhere } from '@n8n/typeorm';
|
|
29
29
|
export type { EntityManager } from '@n8n/typeorm';
|