n8n 1.115.2 → 1.116.1
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/active-workflow-manager.js +5 -3
- package/dist/active-workflow-manager.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chat/chat-execution-manager.js +1 -1
- package/dist/chat/chat-execution-manager.js.map +1 -1
- package/dist/commands/import/credentials.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +2 -2
- package/dist/constants.js.map +1 -1
- package/dist/controllers/ai.controller.js +3 -3
- package/dist/controllers/ai.controller.js.map +1 -1
- package/dist/controllers/dynamic-node-parameters.controller.js +29 -7
- package/dist/controllers/dynamic-node-parameters.controller.js.map +1 -1
- package/dist/controllers/posthog.controller.d.ts +17 -0
- package/dist/controllers/posthog.controller.js +131 -0
- package/dist/controllers/posthog.controller.js.map +1 -0
- package/dist/controllers/users.controller.d.ts +2 -2
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/credentials-helper.js.map +1 -1
- package/dist/environments.ee/source-control/source-control-import.service.ee.d.ts +10 -4
- package/dist/environments.ee/source-control/source-control-import.service.ee.js +69 -9
- package/dist/environments.ee/source-control/source-control-import.service.ee.js.map +1 -1
- package/dist/environments.ee/source-control/source-control-status.service.ee.d.ts +10 -1
- package/dist/environments.ee/source-control/source-control-status.service.ee.js +112 -2
- package/dist/environments.ee/source-control/source-control-status.service.ee.js.map +1 -1
- package/dist/environments.ee/source-control/source-control.controller.ee.d.ts +10 -0
- package/dist/environments.ee/source-control/source-control.service.ee.d.ts +5 -0
- package/dist/environments.ee/source-control/types/exportable-project.d.ts +5 -2
- package/dist/environments.ee/source-control/types/resource-owner.d.ts +4 -2
- package/dist/environments.ee/variables/variables.service.ee.js +3 -1
- package/dist/environments.ee/variables/variables.service.ee.js.map +1 -1
- package/dist/events/relays/telemetry.event-relay.d.ts +1 -1
- package/dist/events/relays/telemetry.event-relay.js +2 -1
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/interfaces.d.ts +1 -0
- package/dist/modules/chat-hub/chat-hub.controller.d.ts +17 -0
- package/dist/modules/chat-hub/chat-hub.controller.js +106 -0
- package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub.module.d.ts +8 -0
- package/dist/modules/chat-hub/chat-hub.module.js +78 -0
- package/dist/modules/chat-hub/chat-hub.module.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub.service.d.ts +34 -0
- package/dist/modules/chat-hub/chat-hub.service.js +549 -0
- package/dist/modules/chat-hub/chat-hub.service.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub.settings.controller.d.ts +16 -0
- package/dist/modules/chat-hub/chat-hub.settings.controller.js +66 -0
- package/dist/modules/chat-hub/chat-hub.settings.controller.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub.settings.service.d.ts +7 -0
- package/dist/modules/chat-hub/chat-hub.settings.service.js +36 -0
- package/dist/modules/chat-hub/chat-hub.settings.service.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub.types.d.ts +17 -0
- package/dist/modules/chat-hub/chat-hub.types.js +3 -0
- package/dist/modules/chat-hub/chat-hub.types.js.map +1 -0
- package/dist/modules/chat-hub/dto/chat-message-request.dto.d.ts +9 -0
- package/dist/modules/chat-hub/dto/chat-message-request.dto.js +12 -0
- package/dist/modules/chat-hub/dto/chat-message-request.dto.js.map +1 -0
- package/dist/modules/chat-hub/dto/chat-models-request.dto.d.ts +7 -0
- package/dist/modules/chat-hub/dto/chat-models-request.dto.js +9 -0
- package/dist/modules/chat-hub/dto/chat-models-request.dto.js.map +1 -0
- package/dist/modules/chat-hub/dto/update-chat-settings.dto.d.ts +8 -0
- package/dist/modules/chat-hub/dto/update-chat-settings.dto.js +11 -0
- package/dist/modules/chat-hub/dto/update-chat-settings.dto.js.map +1 -0
- package/dist/modules/data-table/data-table-aggregate.controller.d.ts +14 -0
- package/dist/modules/data-table/{data-store-aggregate.controller.js → data-table-aggregate.controller.js} +21 -21
- package/dist/modules/data-table/{data-store-aggregate.controller.js.map → data-table-aggregate.controller.js.map} +1 -1
- package/dist/modules/data-table/{data-store-aggregate.service.d.ts → data-table-aggregate.service.d.ts} +6 -6
- package/dist/modules/data-table/{data-store-aggregate.service.js → data-table-aggregate.service.js} +11 -11
- package/dist/modules/data-table/{data-store-aggregate.service.js.map → data-table-aggregate.service.js.map} +1 -1
- package/dist/modules/data-table/{data-store-column.repository.d.ts → data-table-column.repository.d.ts} +7 -7
- package/dist/modules/data-table/{data-store-column.repository.js → data-table-column.repository.js} +23 -23
- package/dist/modules/data-table/data-table-column.repository.js.map +1 -0
- package/dist/modules/data-table/data-table-ddl.service.d.ts +10 -0
- package/dist/modules/data-table/data-table-ddl.service.js +56 -0
- package/dist/modules/data-table/data-table-ddl.service.js.map +1 -0
- package/dist/modules/data-table/data-table-proxy.service.d.ts +20 -0
- package/dist/modules/data-table/{data-store-proxy.service.js → data-table-proxy.service.js} +34 -34
- package/dist/modules/data-table/{data-store-proxy.service.js.map → data-table-proxy.service.js.map} +1 -1
- package/dist/modules/data-table/data-table-rows.repository.d.ts +31 -0
- package/dist/modules/data-table/{data-store-rows.repository.js → data-table-rows.repository.js} +39 -68
- package/dist/modules/data-table/data-table-rows.repository.js.map +1 -0
- package/dist/modules/data-table/{data-store-size-validator.service.d.ts → data-table-size-validator.service.d.ts} +4 -2
- package/dist/modules/data-table/{data-store-size-validator.service.js → data-table-size-validator.service.js} +20 -11
- package/dist/modules/data-table/data-table-size-validator.service.js.map +1 -0
- package/dist/modules/data-table/data-table.controller.d.ts +55 -0
- package/dist/modules/data-table/{data-store.controller.js → data-table.controller.js} +119 -119
- package/dist/modules/data-table/{data-store.controller.js.map → data-table.controller.js.map} +1 -1
- package/dist/modules/data-table/data-table.module.d.ts +2 -2
- package/dist/modules/data-table/data-table.module.js +18 -18
- package/dist/modules/data-table/data-table.module.js.map +1 -1
- package/dist/modules/data-table/data-table.repository.d.ts +34 -0
- package/dist/modules/data-table/{data-store.repository.js → data-table.repository.js} +44 -44
- package/dist/modules/data-table/data-table.repository.js.map +1 -0
- package/dist/modules/data-table/data-table.service.d.ts +62 -0
- package/dist/modules/data-table/data-table.service.js +331 -0
- package/dist/modules/data-table/data-table.service.js.map +1 -0
- package/dist/modules/data-table/{data-store.types.d.ts → data-table.types.d.ts} +1 -1
- package/dist/modules/data-table/{data-store.types.js → data-table.types.js} +1 -1
- package/dist/modules/data-table/data-table.types.js.map +1 -0
- package/dist/modules/data-table/errors/data-table-column-name-conflict.error.d.ts +4 -0
- package/dist/modules/data-table/errors/data-table-column-name-conflict.error.js +13 -0
- package/dist/modules/data-table/errors/{data-store-column-name-conflict.error.js.map → data-table-column-name-conflict.error.js.map} +1 -1
- package/dist/modules/data-table/errors/data-table-column-not-found.error.d.ts +4 -0
- package/dist/modules/data-table/errors/data-table-column-not-found.error.js +13 -0
- package/dist/modules/data-table/errors/{data-store-column-not-found.error.js.map → data-table-column-not-found.error.js.map} +1 -1
- package/dist/modules/data-table/errors/{data-store-name-conflict.error.d.ts → data-table-name-conflict.error.d.ts} +1 -1
- package/dist/modules/data-table/errors/data-table-name-conflict.error.js +13 -0
- package/dist/modules/data-table/errors/{data-store-name-conflict.error.js.map → data-table-name-conflict.error.js.map} +1 -1
- package/dist/modules/data-table/errors/data-table-not-found.error.d.ts +4 -0
- package/dist/modules/data-table/errors/data-table-not-found.error.js +13 -0
- package/dist/modules/data-table/errors/data-table-not-found.error.js.map +1 -0
- package/dist/modules/data-table/errors/{data-store-system-column-name-conflict.error.d.ts → data-table-system-column-name-conflict.error.d.ts} +1 -1
- package/dist/modules/data-table/errors/{data-store-system-column-name-conflict.error.js → data-table-system-column-name-conflict.error.js} +4 -4
- package/dist/modules/data-table/errors/{data-store-system-column-name-conflict.error.js.map → data-table-system-column-name-conflict.error.js.map} +1 -1
- package/dist/modules/data-table/errors/{data-store-validation.error.d.ts → data-table-validation.error.d.ts} +1 -1
- package/dist/modules/data-table/errors/data-table-validation.error.js +13 -0
- package/dist/modules/data-table/errors/{data-store-validation.error.js.map → data-table-validation.error.js.map} +1 -1
- package/dist/modules/data-table/utils/sql-utils.d.ts +11 -16
- package/dist/modules/data-table/utils/sql-utils.js +53 -45
- package/dist/modules/data-table/utils/sql-utils.js.map +1 -1
- package/dist/modules/insights/database/entities/insights-by-period.js.map +1 -1
- package/dist/modules/insights/database/entities/insights-raw.js.map +1 -1
- package/dist/modules/insights/database/repositories/insights-by-period-query.helper.d.ts +6 -0
- package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js +76 -0
- package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js.map +1 -0
- package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +1 -3
- package/dist/modules/insights/database/repositories/insights-by-period.repository.js +8 -58
- package/dist/modules/insights/database/repositories/insights-by-period.repository.js.map +1 -1
- package/dist/modules/insights/insights.controller.js +3 -1
- package/dist/modules/insights/insights.controller.js.map +1 -1
- package/dist/modules/insights/insights.service.js +1 -1
- package/dist/modules/insights/insights.service.js.map +1 -1
- package/dist/modules/mcp/dto/update-workflow-availability.dto.d.ts +8 -0
- package/dist/modules/mcp/dto/update-workflow-availability.dto.js +11 -0
- package/dist/modules/mcp/dto/update-workflow-availability.dto.js.map +1 -0
- package/dist/modules/mcp/mcp.controller.js +1 -1
- package/dist/modules/mcp/mcp.settings.controller.d.ts +12 -1
- package/dist/modules/mcp/mcp.settings.controller.js +55 -4
- package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.js +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
- package/dist/public-api/v1/handlers/variables/variables.handler.d.ts +1 -2
- package/dist/public-api/v1/handlers/variables/variables.handler.js +7 -1
- package/dist/public-api/v1/handlers/variables/variables.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +44 -5
- package/dist/requests.d.ts +8 -1
- package/dist/scaling/job-processor.d.ts +1 -1
- package/dist/scaling/job-processor.js +4 -1
- package/dist/scaling/job-processor.js.map +1 -1
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/services/credentials-tester.service.d.ts +1 -1
- package/dist/services/credentials-tester.service.js +11 -4
- package/dist/services/credentials-tester.service.js.map +1 -1
- package/dist/services/dynamic-node-parameters.service.js +1 -1
- package/dist/services/frontend.service.js +1 -0
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/import.service.d.ts +3 -1
- package/dist/services/import.service.js +8 -2
- package/dist/services/import.service.js.map +1 -1
- package/dist/services/project.service.ee.js +4 -4
- package/dist/services/project.service.ee.js.map +1 -1
- package/dist/services/public-api-key.service.js.map +1 -1
- package/dist/task-runners/task-broker/task-broker-ws-server.js +1 -1
- package/dist/task-runners/task-broker/task-broker-ws-server.js.map +1 -1
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.js +11 -2
- package/dist/telemetry/index.js.map +1 -1
- package/dist/utils/compression.util.js +2 -1
- package/dist/utils/compression.util.js.map +1 -1
- package/dist/wait-tracker.js +2 -1
- package/dist/wait-tracker.js.map +1 -1
- package/dist/webhooks/live-webhooks.d.ts +1 -1
- package/dist/webhooks/live-webhooks.js +7 -3
- package/dist/webhooks/live-webhooks.js.map +1 -1
- package/dist/webhooks/test-webhooks.d.ts +2 -2
- package/dist/webhooks/test-webhooks.js +8 -5
- package/dist/webhooks/test-webhooks.js.map +1 -1
- package/dist/webhooks/waiting-webhooks.d.ts +1 -1
- package/dist/webhooks/waiting-webhooks.js +5 -3
- package/dist/webhooks/waiting-webhooks.js.map +1 -1
- package/dist/webhooks/webhook-helpers.js +4 -2
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/workflow-execute-additional-data.d.ts +7 -1
- package/dist/workflow-execute-additional-data.js +2 -2
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflow-helpers.d.ts +3 -2
- package/dist/workflow-helpers.js +27 -5
- package/dist/workflow-helpers.js.map +1 -1
- package/dist/workflow-runner.js +5 -1
- package/dist/workflow-runner.js.map +1 -1
- package/dist/workflows/workflow-execution.service.d.ts +2 -1
- package/dist/workflows/workflow-execution.service.js +7 -2
- package/dist/workflows/workflow-execution.service.js.map +1 -1
- package/dist/workflows/workflow-finder.service.d.ts +1 -1
- package/dist/workflows/workflow.service.ee.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +4 -4
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +17 -17
- package/dist/modules/data-table/data-store-aggregate.controller.d.ts +0 -14
- package/dist/modules/data-table/data-store-column.repository.js.map +0 -1
- package/dist/modules/data-table/data-store-proxy.service.d.ts +0 -20
- package/dist/modules/data-table/data-store-rows.repository.d.ts +0 -40
- package/dist/modules/data-table/data-store-rows.repository.js.map +0 -1
- package/dist/modules/data-table/data-store-size-validator.service.js.map +0 -1
- package/dist/modules/data-table/data-store.controller.d.ts +0 -60
- package/dist/modules/data-table/data-store.repository.d.ts +0 -34
- package/dist/modules/data-table/data-store.repository.js.map +0 -1
- package/dist/modules/data-table/data-store.service.d.ts +0 -64
- package/dist/modules/data-table/data-store.service.js +0 -323
- package/dist/modules/data-table/data-store.service.js.map +0 -1
- package/dist/modules/data-table/data-store.types.js.map +0 -1
- package/dist/modules/data-table/errors/data-store-column-name-conflict.error.d.ts +0 -4
- package/dist/modules/data-table/errors/data-store-column-name-conflict.error.js +0 -13
- package/dist/modules/data-table/errors/data-store-column-not-found.error.d.ts +0 -4
- package/dist/modules/data-table/errors/data-store-column-not-found.error.js +0 -13
- package/dist/modules/data-table/errors/data-store-name-conflict.error.js +0 -13
- package/dist/modules/data-table/errors/data-store-not-found.error.d.ts +0 -4
- package/dist/modules/data-table/errors/data-store-not-found.error.js +0 -13
- package/dist/modules/data-table/errors/data-store-not-found.error.js.map +0 -1
- package/dist/modules/data-table/errors/data-store-validation.error.js +0 -13
|
@@ -9,12 +9,12 @@ 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.
|
|
12
|
+
exports.DataTableProxyService = void 0;
|
|
13
13
|
exports.isAllowedNode = isAllowedNode;
|
|
14
14
|
const backend_common_1 = require("@n8n/backend-common");
|
|
15
15
|
const di_1 = require("@n8n/di");
|
|
16
|
+
const data_table_service_1 = require("./data-table.service");
|
|
16
17
|
const ownership_service_1 = require("../../services/ownership.service");
|
|
17
|
-
const data_store_service_1 = require("./data-store.service");
|
|
18
18
|
const ALLOWED_NODES = [
|
|
19
19
|
'n8n-nodes-base.dataTable',
|
|
20
20
|
'n8n-nodes-base.dataTableTool',
|
|
@@ -24,9 +24,9 @@ const ALLOWED_NODES = [
|
|
|
24
24
|
function isAllowedNode(s) {
|
|
25
25
|
return ALLOWED_NODES.includes(s);
|
|
26
26
|
}
|
|
27
|
-
let
|
|
28
|
-
constructor(
|
|
29
|
-
this.
|
|
27
|
+
let DataTableProxyService = class DataTableProxyService {
|
|
28
|
+
constructor(dataTableService, ownershipService, logger) {
|
|
29
|
+
this.dataTableService = dataTableService;
|
|
30
30
|
this.ownershipService = ownershipService;
|
|
31
31
|
this.logger = logger;
|
|
32
32
|
this.logger = this.logger.scoped('data-table');
|
|
@@ -40,18 +40,18 @@ let DataStoreProxyService = class DataStoreProxyService {
|
|
|
40
40
|
const homeProject = await this.ownershipService.getWorkflowProjectCached(workflow.id);
|
|
41
41
|
return homeProject.id;
|
|
42
42
|
}
|
|
43
|
-
async
|
|
43
|
+
async getDataTableAggregateProxy(workflow, node, projectId) {
|
|
44
44
|
this.validateRequest(node);
|
|
45
45
|
projectId = projectId ?? (await this.getProjectId(workflow));
|
|
46
46
|
return this.makeAggregateOperations(projectId);
|
|
47
47
|
}
|
|
48
|
-
async
|
|
48
|
+
async getDataTableProxy(workflow, node, dataTableId, projectId) {
|
|
49
49
|
this.validateRequest(node);
|
|
50
50
|
projectId = projectId ?? (await this.getProjectId(workflow));
|
|
51
|
-
return this.
|
|
51
|
+
return this.makeDataTableOperations(projectId, dataTableId);
|
|
52
52
|
}
|
|
53
53
|
makeAggregateOperations(projectId) {
|
|
54
|
-
const
|
|
54
|
+
const dataTableService = this.dataTableService;
|
|
55
55
|
return {
|
|
56
56
|
getProjectId() {
|
|
57
57
|
return projectId;
|
|
@@ -61,60 +61,60 @@ let DataStoreProxyService = class DataStoreProxyService {
|
|
|
61
61
|
...options,
|
|
62
62
|
filter: { projectId, ...(options.filter ?? {}) },
|
|
63
63
|
};
|
|
64
|
-
return await
|
|
64
|
+
return await dataTableService.getManyAndCount(serviceOptions);
|
|
65
65
|
},
|
|
66
|
-
async
|
|
67
|
-
return await
|
|
66
|
+
async createDataTable(options) {
|
|
67
|
+
return await dataTableService.createDataTable(projectId, options);
|
|
68
68
|
},
|
|
69
|
-
async
|
|
70
|
-
return await
|
|
69
|
+
async deleteDataTableAll() {
|
|
70
|
+
return await dataTableService.deleteDataTableByProjectId(projectId);
|
|
71
71
|
},
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
|
-
|
|
75
|
-
const
|
|
74
|
+
makeDataTableOperations(projectId, dataTableId) {
|
|
75
|
+
const dataTableService = this.dataTableService;
|
|
76
76
|
return {
|
|
77
|
-
async
|
|
78
|
-
return await
|
|
77
|
+
async updateDataTable(options) {
|
|
78
|
+
return await dataTableService.updateDataTable(dataTableId, projectId, options);
|
|
79
79
|
},
|
|
80
|
-
async
|
|
81
|
-
return await
|
|
80
|
+
async deleteDataTable() {
|
|
81
|
+
return await dataTableService.deleteDataTable(dataTableId, projectId);
|
|
82
82
|
},
|
|
83
83
|
async getColumns() {
|
|
84
|
-
return await
|
|
84
|
+
return await dataTableService.getColumns(dataTableId, projectId);
|
|
85
85
|
},
|
|
86
86
|
async addColumn(options) {
|
|
87
|
-
return await
|
|
87
|
+
return await dataTableService.addColumn(dataTableId, projectId, options);
|
|
88
88
|
},
|
|
89
89
|
async moveColumn(columnId, options) {
|
|
90
|
-
return await
|
|
90
|
+
return await dataTableService.moveColumn(dataTableId, projectId, columnId, options);
|
|
91
91
|
},
|
|
92
92
|
async deleteColumn(columnId) {
|
|
93
|
-
return await
|
|
93
|
+
return await dataTableService.deleteColumn(dataTableId, projectId, columnId);
|
|
94
94
|
},
|
|
95
95
|
async getManyRowsAndCount(options) {
|
|
96
|
-
return await
|
|
96
|
+
return await dataTableService.getManyRowsAndCount(dataTableId, projectId, options);
|
|
97
97
|
},
|
|
98
98
|
async insertRows(rows, returnType) {
|
|
99
|
-
return await
|
|
99
|
+
return await dataTableService.insertRows(dataTableId, projectId, rows, returnType);
|
|
100
100
|
},
|
|
101
101
|
async updateRows(options) {
|
|
102
|
-
return await
|
|
102
|
+
return await dataTableService.updateRows(dataTableId, projectId, { filter: options.filter, data: options.data }, true, options.dryRun);
|
|
103
103
|
},
|
|
104
104
|
async upsertRow(options) {
|
|
105
|
-
return await
|
|
105
|
+
return await dataTableService.upsertRow(dataTableId, projectId, options, true, options.dryRun);
|
|
106
106
|
},
|
|
107
107
|
async deleteRows(options) {
|
|
108
|
-
return await
|
|
108
|
+
return await dataTableService.deleteRows(dataTableId, projectId, { filter: options.filter }, true, options.dryRun);
|
|
109
109
|
},
|
|
110
110
|
};
|
|
111
111
|
}
|
|
112
112
|
};
|
|
113
|
-
exports.
|
|
114
|
-
exports.
|
|
113
|
+
exports.DataTableProxyService = DataTableProxyService;
|
|
114
|
+
exports.DataTableProxyService = DataTableProxyService = __decorate([
|
|
115
115
|
(0, di_1.Service)(),
|
|
116
|
-
__metadata("design:paramtypes", [
|
|
116
|
+
__metadata("design:paramtypes", [data_table_service_1.DataTableService,
|
|
117
117
|
ownership_service_1.OwnershipService,
|
|
118
118
|
backend_common_1.Logger])
|
|
119
|
-
],
|
|
120
|
-
//# sourceMappingURL=data-
|
|
119
|
+
], DataTableProxyService);
|
|
120
|
+
//# sourceMappingURL=data-table-proxy.service.js.map
|
package/dist/modules/data-table/{data-store-proxy.service.js.map → data-table-proxy.service.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-
|
|
1
|
+
{"version":3,"file":"data-table-proxy.service.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table-proxy.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DataTableFilter, ListDataTableContentQueryDto } from '@n8n/api-types';
|
|
2
|
+
import { DataSource, EntityManager } from '@n8n/typeorm';
|
|
3
|
+
import { DataTableColumnJsType, DataTableRows, DataTableRowReturn, DataTableRowsReturn, DataTableInsertRowsReturnType, DataTableInsertRowsResult, DataTableRowReturnWithState } from 'n8n-workflow';
|
|
4
|
+
import { DataTableColumn } from './data-table-column.entity';
|
|
5
|
+
import { DataTableUserTableName } from './data-table.types';
|
|
6
|
+
export declare class DataTableRowsRepository {
|
|
7
|
+
private dataSource;
|
|
8
|
+
constructor(dataSource: DataSource);
|
|
9
|
+
insertRowsBulk(table: DataTableUserTableName, rows: DataTableRows, columns: DataTableColumn[], trx?: EntityManager): Promise<{
|
|
10
|
+
readonly success: true;
|
|
11
|
+
readonly insertedRows: number;
|
|
12
|
+
}>;
|
|
13
|
+
insertRows<T extends DataTableInsertRowsReturnType>(dataTableId: string, rows: DataTableRows, columns: DataTableColumn[], returnType: T, trx?: EntityManager): Promise<DataTableInsertRowsResult<T>>;
|
|
14
|
+
updateRows<T extends boolean | undefined>(dataTableId: string, data: Record<string, DataTableColumnJsType | null>, filter: DataTableFilter, columns: DataTableColumn[], returnData?: T, trx?: EntityManager): Promise<T extends true ? DataTableRowReturn[] : true>;
|
|
15
|
+
dryRunUpdateRows(dataTableId: string, data: Record<string, DataTableColumnJsType | null>, filter: DataTableFilter, columns: DataTableColumn[], trx?: EntityManager): Promise<DataTableRowReturnWithState[]>;
|
|
16
|
+
dryRunUpsertRow(dataTableId: string, data: Record<string, DataTableColumnJsType | null>, filter: DataTableFilter, columns: DataTableColumn[], trx?: EntityManager): Promise<DataTableRowReturnWithState[]>;
|
|
17
|
+
deleteRows(dataTableId: string, columns: DataTableColumn[], filter: DataTableFilter | undefined, returnData?: boolean, dryRun?: boolean, trx?: EntityManager): Promise<true | DataTableRowReturn[] | DataTableRowReturnWithState[]>;
|
|
18
|
+
private getAffectedRowsForUpdate;
|
|
19
|
+
private prepareUpdateData;
|
|
20
|
+
private toDryRunRows;
|
|
21
|
+
getManyAndCount(dataTableId: string, dto: ListDataTableContentQueryDto, trx?: EntityManager): Promise<{
|
|
22
|
+
count: number;
|
|
23
|
+
data: DataTableRowsReturn;
|
|
24
|
+
}>;
|
|
25
|
+
getManyByIds(dataTableId: string, ids: number[], columns: DataTableColumn[], trx?: EntityManager): Promise<DataTableRowsReturn>;
|
|
26
|
+
private getManyQuery;
|
|
27
|
+
private applyFilters;
|
|
28
|
+
private applySorting;
|
|
29
|
+
private applySortingByField;
|
|
30
|
+
private applyPagination;
|
|
31
|
+
}
|
package/dist/modules/data-table/{data-store-rows.repository.js → data-table-rows.repository.js}
RENAMED
|
@@ -9,13 +9,13 @@ 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.
|
|
12
|
+
exports.DataTableRowsRepository = void 0;
|
|
13
13
|
const db_1 = require("@n8n/db");
|
|
14
14
|
const di_1 = require("@n8n/di");
|
|
15
15
|
const typeorm_1 = require("@n8n/typeorm");
|
|
16
16
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
17
17
|
const sql_utils_1 = require("./utils/sql-utils");
|
|
18
|
-
function getConditionAndParams(filter, index, dbType, tableReference
|
|
18
|
+
function getConditionAndParams(filter, index, dbType, tableReference) {
|
|
19
19
|
const paramName = `filter_${index}`;
|
|
20
20
|
const columnRef = tableReference
|
|
21
21
|
? `${(0, sql_utils_1.quoteIdentifier)(tableReference, dbType)}.${(0, sql_utils_1.quoteIdentifier)(filter.columnName, dbType)}`
|
|
@@ -28,8 +28,7 @@ function getConditionAndParams(filter, index, dbType, tableReference, columns) {
|
|
|
28
28
|
return [`${columnRef} IS NOT NULL`, {}];
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
const
|
|
32
|
-
const value = columnInfo ? (0, sql_utils_1.normalizeValue)(filter.value, columnInfo?.type, dbType) : filter.value;
|
|
31
|
+
const value = filter.value;
|
|
33
32
|
const operators = {
|
|
34
33
|
eq: '=',
|
|
35
34
|
gt: '>',
|
|
@@ -84,7 +83,7 @@ function getConditionAndParams(filter, index, dbType, tableReference, columns) {
|
|
|
84
83
|
}
|
|
85
84
|
throw new Error(`Unsupported filter condition: ${filter.condition}`);
|
|
86
85
|
}
|
|
87
|
-
let
|
|
86
|
+
let DataTableRowsRepository = class DataTableRowsRepository {
|
|
88
87
|
constructor(dataSource) {
|
|
89
88
|
this.dataSource = dataSource;
|
|
90
89
|
}
|
|
@@ -115,7 +114,7 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
115
114
|
for (let h = 0; h < columnNames.length; ++h) {
|
|
116
115
|
const column = columns[h];
|
|
117
116
|
const value = rows[j][column.name] ?? null;
|
|
118
|
-
insertArray[h] = (0, sql_utils_1.
|
|
117
|
+
insertArray[h] = (0, sql_utils_1.normalizeValueForDatabase)(value, column.type, dbType);
|
|
119
118
|
}
|
|
120
119
|
completeRows[j - start] = insertArray;
|
|
121
120
|
}
|
|
@@ -130,12 +129,12 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
130
129
|
return { success: true, insertedRows };
|
|
131
130
|
});
|
|
132
131
|
}
|
|
133
|
-
async insertRows(
|
|
132
|
+
async insertRows(dataTableId, rows, columns, returnType, trx) {
|
|
134
133
|
return await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
135
134
|
const inserted = [];
|
|
136
135
|
const dbType = this.dataSource.options.type;
|
|
137
136
|
const useReturning = dbType === 'postgres' || dbType === 'mariadb';
|
|
138
|
-
const table = (0, sql_utils_1.toTableName)(
|
|
137
|
+
const table = (0, sql_utils_1.toTableName)(dataTableId);
|
|
139
138
|
const escapedColumns = columns.map((c) => this.dataSource.driver.escape(c.name));
|
|
140
139
|
const escapedSystemColumns = n8n_workflow_1.DATA_TABLE_SYSTEM_COLUMNS.map((x) => this.dataSource.driver.escape(x));
|
|
141
140
|
const selectColumns = [...escapedSystemColumns, ...escapedColumns];
|
|
@@ -148,7 +147,7 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
148
147
|
if (!(column.name in completeRow)) {
|
|
149
148
|
completeRow[column.name] = null;
|
|
150
149
|
}
|
|
151
|
-
completeRow[column.name] = (0, sql_utils_1.
|
|
150
|
+
completeRow[column.name] = (0, sql_utils_1.normalizeValueForDatabase)(completeRow[column.name], column.type, dbType);
|
|
152
151
|
}
|
|
153
152
|
const query = em.createQueryBuilder().insert().into(table).values(completeRow);
|
|
154
153
|
if (useReturning) {
|
|
@@ -170,28 +169,28 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
170
169
|
inserted.push(...ids.map((id) => ({ id })));
|
|
171
170
|
continue;
|
|
172
171
|
}
|
|
173
|
-
const insertedRows = await this.getManyByIds(
|
|
172
|
+
const insertedRows = await this.getManyByIds(dataTableId, ids, columns, em);
|
|
174
173
|
inserted.push(...insertedRows);
|
|
175
174
|
}
|
|
176
175
|
return inserted;
|
|
177
176
|
});
|
|
178
177
|
}
|
|
179
|
-
async updateRows(
|
|
178
|
+
async updateRows(dataTableId, data, filter, columns, returnData = false, trx) {
|
|
180
179
|
return await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
181
180
|
const dbType = this.dataSource.options.type;
|
|
182
181
|
const useReturning = dbType === 'postgres';
|
|
183
|
-
const table = (0, sql_utils_1.toTableName)(
|
|
182
|
+
const table = (0, sql_utils_1.toTableName)(dataTableId);
|
|
184
183
|
const escapedColumns = columns.map((c) => this.dataSource.driver.escape(c.name));
|
|
185
184
|
const escapedSystemColumns = n8n_workflow_1.DATA_TABLE_SYSTEM_COLUMNS.map((x) => this.dataSource.driver.escape(x));
|
|
186
185
|
const selectColumns = [...escapedSystemColumns, ...escapedColumns];
|
|
187
186
|
const setData = this.prepareUpdateData(data, columns, dbType);
|
|
188
187
|
let affectedRows = [];
|
|
189
188
|
if (!useReturning && returnData) {
|
|
190
|
-
affectedRows = await this.getAffectedRowsForUpdate(
|
|
189
|
+
affectedRows = await this.getAffectedRowsForUpdate(dataTableId, filter, columns, true, trx);
|
|
191
190
|
}
|
|
192
|
-
setData.updatedAt = (0, sql_utils_1.
|
|
191
|
+
setData.updatedAt = (0, sql_utils_1.normalizeValueForDatabase)(new Date(), 'date', dbType);
|
|
193
192
|
const query = em.createQueryBuilder().update(table);
|
|
194
|
-
this.applyFilters(query, filter, undefined
|
|
193
|
+
this.applyFilters(query, filter, undefined);
|
|
195
194
|
query.set(setData);
|
|
196
195
|
if (useReturning && returnData) {
|
|
197
196
|
query.returning(selectColumns.join(','));
|
|
@@ -204,20 +203,20 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
204
203
|
return (0, sql_utils_1.normalizeRows)((0, sql_utils_1.extractReturningData)(result.raw), columns);
|
|
205
204
|
}
|
|
206
205
|
const ids = affectedRows.map((row) => row.id);
|
|
207
|
-
return await this.getManyByIds(
|
|
206
|
+
return await this.getManyByIds(dataTableId, ids, columns, em);
|
|
208
207
|
});
|
|
209
208
|
}
|
|
210
|
-
async dryRunUpdateRows(
|
|
209
|
+
async dryRunUpdateRows(dataTableId, data, filter, columns, trx) {
|
|
211
210
|
const dbType = this.dataSource.options.type;
|
|
212
|
-
const beforeRows = await this.getAffectedRowsForUpdate(
|
|
211
|
+
const beforeRows = await this.getAffectedRowsForUpdate(dataTableId, filter, columns, false, trx);
|
|
213
212
|
const columnUpdates = this.prepareUpdateData(data, columns, dbType);
|
|
214
213
|
return beforeRows.flatMap((original) => {
|
|
215
214
|
const updated = { ...original, ...columnUpdates, updatedAt: new Date() };
|
|
216
215
|
return this.toDryRunRows(original, updated);
|
|
217
216
|
});
|
|
218
217
|
}
|
|
219
|
-
async dryRunUpsertRow(
|
|
220
|
-
const updateResult = await this.dryRunUpdateRows(
|
|
218
|
+
async dryRunUpsertRow(dataTableId, data, filter, columns, trx) {
|
|
219
|
+
const updateResult = await this.dryRunUpdateRows(dataTableId, data, filter, columns, trx);
|
|
221
220
|
if (updateResult.length > 0) {
|
|
222
221
|
return updateResult;
|
|
223
222
|
}
|
|
@@ -241,7 +240,7 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
241
240
|
if (!shouldReturnData) {
|
|
242
241
|
const query = em.createQueryBuilder().delete().from(table, 'dataTable');
|
|
243
242
|
if (filter) {
|
|
244
|
-
this.applyFilters(query, filter, undefined
|
|
243
|
+
this.applyFilters(query, filter, undefined);
|
|
245
244
|
}
|
|
246
245
|
await query.execute();
|
|
247
246
|
return true;
|
|
@@ -250,7 +249,7 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
250
249
|
if (!useReturning) {
|
|
251
250
|
const selectQuery = em.createQueryBuilder().select('*').from(table, 'dataTable');
|
|
252
251
|
if (filter) {
|
|
253
|
-
this.applyFilters(selectQuery, filter, 'dataTable'
|
|
252
|
+
this.applyFilters(selectQuery, filter, 'dataTable');
|
|
254
253
|
}
|
|
255
254
|
const rawRows = await selectQuery.getRawMany();
|
|
256
255
|
affectedRows = (0, sql_utils_1.normalizeRows)(rawRows, columns);
|
|
@@ -266,7 +265,7 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
266
265
|
deleteQuery.returning(selectColumns.join(','));
|
|
267
266
|
}
|
|
268
267
|
if (filter) {
|
|
269
|
-
this.applyFilters(deleteQuery, filter, undefined
|
|
268
|
+
this.applyFilters(deleteQuery, filter, undefined);
|
|
270
269
|
}
|
|
271
270
|
const result = await deleteQuery.execute();
|
|
272
271
|
if (useReturning) {
|
|
@@ -275,12 +274,12 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
275
274
|
return affectedRows;
|
|
276
275
|
});
|
|
277
276
|
}
|
|
278
|
-
async getAffectedRowsForUpdate(
|
|
277
|
+
async getAffectedRowsForUpdate(dataTableId, filter, columns, idsOnly, trx) {
|
|
279
278
|
return await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
280
|
-
const table = (0, sql_utils_1.toTableName)(
|
|
279
|
+
const table = (0, sql_utils_1.toTableName)(dataTableId);
|
|
281
280
|
const selectColumns = idsOnly ? 'id' : '*';
|
|
282
281
|
const selectQuery = em.createQueryBuilder().select(selectColumns).from(table, 'dataTable');
|
|
283
|
-
this.applyFilters(selectQuery, filter, 'dataTable'
|
|
282
|
+
this.applyFilters(selectQuery, filter, 'dataTable');
|
|
284
283
|
const rawRows = await selectQuery.getRawMany();
|
|
285
284
|
if (idsOnly) {
|
|
286
285
|
return rawRows;
|
|
@@ -292,7 +291,7 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
292
291
|
const setData = { ...data };
|
|
293
292
|
for (const column of columns) {
|
|
294
293
|
if (column.name in setData) {
|
|
295
|
-
setData[column.name] = (0, sql_utils_1.
|
|
294
|
+
setData[column.name] = (0, sql_utils_1.normalizeValueForDatabase)(setData[column.name], column.type, dbType);
|
|
296
295
|
}
|
|
297
296
|
}
|
|
298
297
|
return setData;
|
|
@@ -321,37 +320,9 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
321
320
|
{ ...after, dryRunState: 'after' },
|
|
322
321
|
];
|
|
323
322
|
}
|
|
324
|
-
async
|
|
325
|
-
await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
326
|
-
if (!em.queryRunner) {
|
|
327
|
-
throw new n8n_workflow_1.UnexpectedError('QueryRunner is not available');
|
|
328
|
-
}
|
|
329
|
-
const dslColumns = [new db_1.DslColumn('id').int.autoGenerate2.primary, ...(0, sql_utils_1.toDslColumns)(columns)];
|
|
330
|
-
const createTable = new db_1.CreateTable((0, sql_utils_1.toTableName)(dataStoreId), '', em.queryRunner).withColumns(...dslColumns).withTimestamps;
|
|
331
|
-
await createTable.execute(em.queryRunner);
|
|
332
|
-
});
|
|
333
|
-
}
|
|
334
|
-
async dropTable(dataStoreId, trx) {
|
|
335
|
-
await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
336
|
-
if (!em.queryRunner) {
|
|
337
|
-
throw new n8n_workflow_1.UnexpectedError('QueryRunner is not available');
|
|
338
|
-
}
|
|
339
|
-
await em.queryRunner.dropTable((0, sql_utils_1.toTableName)(dataStoreId), true);
|
|
340
|
-
});
|
|
341
|
-
}
|
|
342
|
-
async addColumn(dataStoreId, column, dbType, trx) {
|
|
343
|
-
await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
344
|
-
await em.query((0, sql_utils_1.addColumnQuery)((0, sql_utils_1.toTableName)(dataStoreId), column, dbType));
|
|
345
|
-
});
|
|
346
|
-
}
|
|
347
|
-
async dropColumnFromTable(dataStoreId, columnName, dbType, trx) {
|
|
348
|
-
await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
349
|
-
await em.query((0, sql_utils_1.deleteColumnQuery)((0, sql_utils_1.toTableName)(dataStoreId), columnName, dbType));
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
async getManyAndCount(dataStoreId, dto, columns, trx) {
|
|
323
|
+
async getManyAndCount(dataTableId, dto, trx) {
|
|
353
324
|
return await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
354
|
-
const [countQuery, query] = this.getManyQuery(
|
|
325
|
+
const [countQuery, query] = this.getManyQuery(dataTableId, dto, em);
|
|
355
326
|
const data = await query.select('*').getRawMany();
|
|
356
327
|
const countResult = await countQuery.select('COUNT(*) as count').getRawOne();
|
|
357
328
|
const count = typeof countResult?.count === 'number'
|
|
@@ -360,9 +331,9 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
360
331
|
return { count: count ?? -1, data };
|
|
361
332
|
}, false);
|
|
362
333
|
}
|
|
363
|
-
async getManyByIds(
|
|
334
|
+
async getManyByIds(dataTableId, ids, columns, trx) {
|
|
364
335
|
return await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
365
|
-
const table = (0, sql_utils_1.toTableName)(
|
|
336
|
+
const table = (0, sql_utils_1.toTableName)(dataTableId);
|
|
366
337
|
const escapedColumns = columns.map((c) => this.dataSource.driver.escape(c.name));
|
|
367
338
|
const escapedSystemColumns = n8n_workflow_1.DATA_TABLE_SYSTEM_COLUMNS.map((x) => this.dataSource.driver.escape(x));
|
|
368
339
|
const selectColumns = [...escapedSystemColumns, ...escapedColumns];
|
|
@@ -378,23 +349,23 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
378
349
|
return (0, sql_utils_1.normalizeRows)(rows, columns);
|
|
379
350
|
}, false);
|
|
380
351
|
}
|
|
381
|
-
getManyQuery(
|
|
352
|
+
getManyQuery(dataTableId, dto, em) {
|
|
382
353
|
const query = em.createQueryBuilder();
|
|
383
354
|
const tableReference = 'dataTable';
|
|
384
|
-
query.from((0, sql_utils_1.toTableName)(
|
|
355
|
+
query.from((0, sql_utils_1.toTableName)(dataTableId), tableReference);
|
|
385
356
|
if (dto.filter) {
|
|
386
|
-
this.applyFilters(query, dto.filter, tableReference
|
|
357
|
+
this.applyFilters(query, dto.filter, tableReference);
|
|
387
358
|
}
|
|
388
359
|
const countQuery = query.clone().select('COUNT(*)');
|
|
389
360
|
this.applySorting(query, dto);
|
|
390
361
|
this.applyPagination(query, dto);
|
|
391
362
|
return [countQuery, query];
|
|
392
363
|
}
|
|
393
|
-
applyFilters(query, filter, tableReference
|
|
364
|
+
applyFilters(query, filter, tableReference) {
|
|
394
365
|
const filters = filter.filters ?? [];
|
|
395
366
|
const filterType = filter.type ?? 'and';
|
|
396
367
|
const dbType = this.dataSource.options.type;
|
|
397
|
-
const conditionsAndParams = filters.map((filter, i) => getConditionAndParams(filter, i, dbType, tableReference
|
|
368
|
+
const conditionsAndParams = filters.map((filter, i) => getConditionAndParams(filter, i, dbType, tableReference));
|
|
398
369
|
if (conditionsAndParams.length === 1) {
|
|
399
370
|
const [condition, params] = conditionsAndParams[0];
|
|
400
371
|
query.andWhere(condition, params);
|
|
@@ -428,9 +399,9 @@ let DataStoreRowsRepository = class DataStoreRowsRepository {
|
|
|
428
399
|
query.take(dto.take);
|
|
429
400
|
}
|
|
430
401
|
};
|
|
431
|
-
exports.
|
|
432
|
-
exports.
|
|
402
|
+
exports.DataTableRowsRepository = DataTableRowsRepository;
|
|
403
|
+
exports.DataTableRowsRepository = DataTableRowsRepository = __decorate([
|
|
433
404
|
(0, di_1.Service)(),
|
|
434
405
|
__metadata("design:paramtypes", [typeorm_1.DataSource])
|
|
435
|
-
],
|
|
436
|
-
//# sourceMappingURL=data-
|
|
406
|
+
], DataTableRowsRepository);
|
|
407
|
+
//# sourceMappingURL=data-table-rows.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-table-rows.repository.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table-rows.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { GlobalConfig } from '@n8n/config';
|
|
2
2
|
import { DataTableSizeStatus, DataTablesSizeData } from 'n8n-workflow';
|
|
3
|
-
|
|
3
|
+
import { Telemetry } from '../../telemetry';
|
|
4
|
+
export declare class DataTableSizeValidator {
|
|
4
5
|
private readonly globalConfig;
|
|
6
|
+
private readonly telemetry;
|
|
5
7
|
private lastCheck;
|
|
6
8
|
private cachedSizeData;
|
|
7
9
|
private pendingCheck;
|
|
8
|
-
constructor(globalConfig: GlobalConfig);
|
|
10
|
+
constructor(globalConfig: GlobalConfig, telemetry: Telemetry);
|
|
9
11
|
private shouldRefresh;
|
|
10
12
|
getCachedSizeData(fetchSizeDataFn: () => Promise<DataTablesSizeData>, now?: Date): Promise<DataTablesSizeData>;
|
|
11
13
|
validateSize(fetchSizeFn: () => Promise<DataTablesSizeData>, now?: Date): Promise<void>;
|
|
@@ -9,13 +9,15 @@ 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.
|
|
12
|
+
exports.DataTableSizeValidator = void 0;
|
|
13
13
|
const config_1 = require("@n8n/config");
|
|
14
14
|
const di_1 = require("@n8n/di");
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
const telemetry_1 = require("../../telemetry");
|
|
16
|
+
const data_table_validation_error_1 = require("./errors/data-table-validation.error");
|
|
17
|
+
let DataTableSizeValidator = class DataTableSizeValidator {
|
|
18
|
+
constructor(globalConfig, telemetry) {
|
|
18
19
|
this.globalConfig = globalConfig;
|
|
20
|
+
this.telemetry = telemetry;
|
|
19
21
|
this.pendingCheck = null;
|
|
20
22
|
}
|
|
21
23
|
shouldRefresh(now) {
|
|
@@ -47,14 +49,20 @@ let DataStoreSizeValidator = class DataStoreSizeValidator {
|
|
|
47
49
|
async validateSize(fetchSizeFn, now = new Date()) {
|
|
48
50
|
const size = await this.getCachedSizeData(fetchSizeFn, now);
|
|
49
51
|
if (size.totalBytes >= this.globalConfig.dataTable.maxSize) {
|
|
50
|
-
|
|
52
|
+
this.telemetry.track('User hit data table storage limit', {
|
|
53
|
+
total_bytes: size.totalBytes,
|
|
54
|
+
max_bytes: this.globalConfig.dataTable.maxSize,
|
|
55
|
+
});
|
|
56
|
+
throw new data_table_validation_error_1.DataTableValidationError(`Data table size limit exceeded: ${this.toMb(size.totalBytes)}MB used, limit is ${this.toMb(this.globalConfig.dataTable.maxSize)}MB`);
|
|
51
57
|
}
|
|
52
58
|
}
|
|
53
59
|
sizeToState(sizeBytes) {
|
|
60
|
+
const warningThreshold = this.globalConfig.dataTable.warningThreshold ??
|
|
61
|
+
Math.floor(0.8 * this.globalConfig.dataTable.maxSize);
|
|
54
62
|
if (sizeBytes >= this.globalConfig.dataTable.maxSize) {
|
|
55
63
|
return 'error';
|
|
56
64
|
}
|
|
57
|
-
else if (sizeBytes >=
|
|
65
|
+
else if (sizeBytes >= warningThreshold) {
|
|
58
66
|
return 'warn';
|
|
59
67
|
}
|
|
60
68
|
return 'ok';
|
|
@@ -72,9 +80,10 @@ let DataStoreSizeValidator = class DataStoreSizeValidator {
|
|
|
72
80
|
this.pendingCheck = null;
|
|
73
81
|
}
|
|
74
82
|
};
|
|
75
|
-
exports.
|
|
76
|
-
exports.
|
|
83
|
+
exports.DataTableSizeValidator = DataTableSizeValidator;
|
|
84
|
+
exports.DataTableSizeValidator = DataTableSizeValidator = __decorate([
|
|
77
85
|
(0, di_1.Service)(),
|
|
78
|
-
__metadata("design:paramtypes", [config_1.GlobalConfig
|
|
79
|
-
]
|
|
80
|
-
|
|
86
|
+
__metadata("design:paramtypes", [config_1.GlobalConfig,
|
|
87
|
+
telemetry_1.Telemetry])
|
|
88
|
+
], DataTableSizeValidator);
|
|
89
|
+
//# sourceMappingURL=data-table-size-validator.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-table-size-validator.service.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table-size-validator.service.ts"],"names":[],"mappings":"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"}
|