n8n 1.115.1 → 1.116.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.
Files changed (221) hide show
  1. package/dist/active-workflow-manager.js +5 -3
  2. package/dist/active-workflow-manager.js.map +1 -1
  3. package/dist/build.tsbuildinfo +1 -1
  4. package/dist/chat/chat-execution-manager.js +1 -1
  5. package/dist/chat/chat-execution-manager.js.map +1 -1
  6. package/dist/commands/import/credentials.js.map +1 -1
  7. package/dist/constants.d.ts +1 -1
  8. package/dist/constants.js +2 -2
  9. package/dist/constants.js.map +1 -1
  10. package/dist/controllers/ai.controller.js +3 -3
  11. package/dist/controllers/ai.controller.js.map +1 -1
  12. package/dist/controllers/dynamic-node-parameters.controller.js +29 -7
  13. package/dist/controllers/dynamic-node-parameters.controller.js.map +1 -1
  14. package/dist/controllers/posthog.controller.d.ts +17 -0
  15. package/dist/controllers/posthog.controller.js +131 -0
  16. package/dist/controllers/posthog.controller.js.map +1 -0
  17. package/dist/controllers/users.controller.d.ts +2 -2
  18. package/dist/credentials/credentials.service.js.map +1 -1
  19. package/dist/credentials-helper.js.map +1 -1
  20. package/dist/environments.ee/source-control/source-control-import.service.ee.d.ts +10 -4
  21. package/dist/environments.ee/source-control/source-control-import.service.ee.js +69 -9
  22. package/dist/environments.ee/source-control/source-control-import.service.ee.js.map +1 -1
  23. package/dist/environments.ee/source-control/source-control-status.service.ee.d.ts +10 -1
  24. package/dist/environments.ee/source-control/source-control-status.service.ee.js +112 -2
  25. package/dist/environments.ee/source-control/source-control-status.service.ee.js.map +1 -1
  26. package/dist/environments.ee/source-control/source-control.controller.ee.d.ts +10 -0
  27. package/dist/environments.ee/source-control/source-control.service.ee.d.ts +5 -0
  28. package/dist/environments.ee/source-control/types/exportable-project.d.ts +5 -2
  29. package/dist/environments.ee/source-control/types/resource-owner.d.ts +4 -2
  30. package/dist/environments.ee/variables/variables.service.ee.js +3 -1
  31. package/dist/environments.ee/variables/variables.service.ee.js.map +1 -1
  32. package/dist/events/relays/telemetry.event-relay.d.ts +1 -1
  33. package/dist/events/relays/telemetry.event-relay.js +2 -1
  34. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  35. package/dist/interfaces.d.ts +1 -0
  36. package/dist/modules/chat-hub/chat-hub.controller.d.ts +17 -0
  37. package/dist/modules/chat-hub/chat-hub.controller.js +106 -0
  38. package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -0
  39. package/dist/modules/chat-hub/chat-hub.module.d.ts +8 -0
  40. package/dist/modules/chat-hub/chat-hub.module.js +78 -0
  41. package/dist/modules/chat-hub/chat-hub.module.js.map +1 -0
  42. package/dist/modules/chat-hub/chat-hub.service.d.ts +34 -0
  43. package/dist/modules/chat-hub/chat-hub.service.js +549 -0
  44. package/dist/modules/chat-hub/chat-hub.service.js.map +1 -0
  45. package/dist/modules/chat-hub/chat-hub.settings.controller.d.ts +16 -0
  46. package/dist/modules/chat-hub/chat-hub.settings.controller.js +66 -0
  47. package/dist/modules/chat-hub/chat-hub.settings.controller.js.map +1 -0
  48. package/dist/modules/chat-hub/chat-hub.settings.service.d.ts +7 -0
  49. package/dist/modules/chat-hub/chat-hub.settings.service.js +36 -0
  50. package/dist/modules/chat-hub/chat-hub.settings.service.js.map +1 -0
  51. package/dist/modules/chat-hub/chat-hub.types.d.ts +17 -0
  52. package/dist/modules/chat-hub/chat-hub.types.js +3 -0
  53. package/dist/modules/chat-hub/chat-hub.types.js.map +1 -0
  54. package/dist/modules/chat-hub/dto/chat-message-request.dto.d.ts +9 -0
  55. package/dist/modules/chat-hub/dto/chat-message-request.dto.js +12 -0
  56. package/dist/modules/chat-hub/dto/chat-message-request.dto.js.map +1 -0
  57. package/dist/modules/chat-hub/dto/chat-models-request.dto.d.ts +7 -0
  58. package/dist/modules/chat-hub/dto/chat-models-request.dto.js +9 -0
  59. package/dist/modules/chat-hub/dto/chat-models-request.dto.js.map +1 -0
  60. package/dist/modules/chat-hub/dto/update-chat-settings.dto.d.ts +8 -0
  61. package/dist/modules/chat-hub/dto/update-chat-settings.dto.js +11 -0
  62. package/dist/modules/chat-hub/dto/update-chat-settings.dto.js.map +1 -0
  63. package/dist/modules/data-table/data-table-aggregate.controller.d.ts +14 -0
  64. package/dist/modules/data-table/{data-store-aggregate.controller.js → data-table-aggregate.controller.js} +21 -21
  65. package/dist/modules/data-table/{data-store-aggregate.controller.js.map → data-table-aggregate.controller.js.map} +1 -1
  66. package/dist/modules/data-table/{data-store-aggregate.service.d.ts → data-table-aggregate.service.d.ts} +6 -6
  67. package/dist/modules/data-table/{data-store-aggregate.service.js → data-table-aggregate.service.js} +11 -11
  68. package/dist/modules/data-table/{data-store-aggregate.service.js.map → data-table-aggregate.service.js.map} +1 -1
  69. package/dist/modules/data-table/{data-store-column.repository.d.ts → data-table-column.repository.d.ts} +7 -7
  70. package/dist/modules/data-table/{data-store-column.repository.js → data-table-column.repository.js} +23 -23
  71. package/dist/modules/data-table/data-table-column.repository.js.map +1 -0
  72. package/dist/modules/data-table/data-table-ddl.service.d.ts +10 -0
  73. package/dist/modules/data-table/data-table-ddl.service.js +56 -0
  74. package/dist/modules/data-table/data-table-ddl.service.js.map +1 -0
  75. package/dist/modules/data-table/data-table-proxy.service.d.ts +20 -0
  76. package/dist/modules/data-table/{data-store-proxy.service.js → data-table-proxy.service.js} +34 -34
  77. package/dist/modules/data-table/{data-store-proxy.service.js.map → data-table-proxy.service.js.map} +1 -1
  78. package/dist/modules/data-table/data-table-rows.repository.d.ts +31 -0
  79. package/dist/modules/data-table/{data-store-rows.repository.js → data-table-rows.repository.js} +39 -68
  80. package/dist/modules/data-table/data-table-rows.repository.js.map +1 -0
  81. package/dist/modules/data-table/{data-store-size-validator.service.d.ts → data-table-size-validator.service.d.ts} +4 -2
  82. package/dist/modules/data-table/{data-store-size-validator.service.js → data-table-size-validator.service.js} +20 -11
  83. package/dist/modules/data-table/data-table-size-validator.service.js.map +1 -0
  84. package/dist/modules/data-table/data-table.controller.d.ts +55 -0
  85. package/dist/modules/data-table/{data-store.controller.js → data-table.controller.js} +119 -119
  86. package/dist/modules/data-table/{data-store.controller.js.map → data-table.controller.js.map} +1 -1
  87. package/dist/modules/data-table/data-table.module.d.ts +2 -2
  88. package/dist/modules/data-table/data-table.module.js +18 -18
  89. package/dist/modules/data-table/data-table.module.js.map +1 -1
  90. package/dist/modules/data-table/data-table.repository.d.ts +34 -0
  91. package/dist/modules/data-table/{data-store.repository.js → data-table.repository.js} +44 -44
  92. package/dist/modules/data-table/data-table.repository.js.map +1 -0
  93. package/dist/modules/data-table/data-table.service.d.ts +62 -0
  94. package/dist/modules/data-table/data-table.service.js +331 -0
  95. package/dist/modules/data-table/data-table.service.js.map +1 -0
  96. package/dist/modules/data-table/{data-store.types.d.ts → data-table.types.d.ts} +1 -1
  97. package/dist/modules/data-table/{data-store.types.js → data-table.types.js} +1 -1
  98. package/dist/modules/data-table/data-table.types.js.map +1 -0
  99. package/dist/modules/data-table/errors/data-table-column-name-conflict.error.d.ts +4 -0
  100. package/dist/modules/data-table/errors/data-table-column-name-conflict.error.js +13 -0
  101. package/dist/modules/data-table/errors/{data-store-column-name-conflict.error.js.map → data-table-column-name-conflict.error.js.map} +1 -1
  102. package/dist/modules/data-table/errors/data-table-column-not-found.error.d.ts +4 -0
  103. package/dist/modules/data-table/errors/data-table-column-not-found.error.js +13 -0
  104. package/dist/modules/data-table/errors/{data-store-column-not-found.error.js.map → data-table-column-not-found.error.js.map} +1 -1
  105. package/dist/modules/data-table/errors/{data-store-name-conflict.error.d.ts → data-table-name-conflict.error.d.ts} +1 -1
  106. package/dist/modules/data-table/errors/data-table-name-conflict.error.js +13 -0
  107. package/dist/modules/data-table/errors/{data-store-name-conflict.error.js.map → data-table-name-conflict.error.js.map} +1 -1
  108. package/dist/modules/data-table/errors/data-table-not-found.error.d.ts +4 -0
  109. package/dist/modules/data-table/errors/data-table-not-found.error.js +13 -0
  110. package/dist/modules/data-table/errors/data-table-not-found.error.js.map +1 -0
  111. 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
  112. package/dist/modules/data-table/errors/{data-store-system-column-name-conflict.error.js → data-table-system-column-name-conflict.error.js} +4 -4
  113. 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
  114. package/dist/modules/data-table/errors/{data-store-validation.error.d.ts → data-table-validation.error.d.ts} +1 -1
  115. package/dist/modules/data-table/errors/data-table-validation.error.js +13 -0
  116. package/dist/modules/data-table/errors/{data-store-validation.error.js.map → data-table-validation.error.js.map} +1 -1
  117. package/dist/modules/data-table/utils/sql-utils.d.ts +11 -16
  118. package/dist/modules/data-table/utils/sql-utils.js +53 -45
  119. package/dist/modules/data-table/utils/sql-utils.js.map +1 -1
  120. package/dist/modules/insights/database/entities/insights-by-period.js.map +1 -1
  121. package/dist/modules/insights/database/entities/insights-raw.js.map +1 -1
  122. package/dist/modules/insights/database/repositories/insights-by-period-query.helper.d.ts +6 -0
  123. package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js +76 -0
  124. package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js.map +1 -0
  125. package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +1 -3
  126. package/dist/modules/insights/database/repositories/insights-by-period.repository.js +8 -58
  127. package/dist/modules/insights/database/repositories/insights-by-period.repository.js.map +1 -1
  128. package/dist/modules/insights/insights.controller.js +3 -1
  129. package/dist/modules/insights/insights.controller.js.map +1 -1
  130. package/dist/modules/insights/insights.service.js +1 -1
  131. package/dist/modules/insights/insights.service.js.map +1 -1
  132. package/dist/modules/mcp/dto/update-workflow-availability.dto.d.ts +8 -0
  133. package/dist/modules/mcp/dto/update-workflow-availability.dto.js +11 -0
  134. package/dist/modules/mcp/dto/update-workflow-availability.dto.js.map +1 -0
  135. package/dist/modules/mcp/mcp.controller.js +1 -1
  136. package/dist/modules/mcp/mcp.settings.controller.d.ts +12 -1
  137. package/dist/modules/mcp/mcp.settings.controller.js +55 -4
  138. package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
  139. package/dist/modules/mcp/tools/get-workflow-details.tool.js +1 -1
  140. package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
  141. package/dist/public-api/v1/handlers/variables/variables.handler.d.ts +1 -2
  142. package/dist/public-api/v1/handlers/variables/variables.handler.js +7 -1
  143. package/dist/public-api/v1/handlers/variables/variables.handler.js.map +1 -1
  144. package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +1 -1
  145. package/dist/public-api/v1/openapi.yml +44 -5
  146. package/dist/requests.d.ts +8 -1
  147. package/dist/scaling/job-processor.d.ts +1 -1
  148. package/dist/scaling/job-processor.js +4 -1
  149. package/dist/scaling/job-processor.js.map +1 -1
  150. package/dist/server.js +1 -0
  151. package/dist/server.js.map +1 -1
  152. package/dist/services/credentials-tester.service.d.ts +1 -1
  153. package/dist/services/credentials-tester.service.js +11 -4
  154. package/dist/services/credentials-tester.service.js.map +1 -1
  155. package/dist/services/dynamic-node-parameters.service.js +1 -1
  156. package/dist/services/frontend.service.js +1 -0
  157. package/dist/services/frontend.service.js.map +1 -1
  158. package/dist/services/import.service.d.ts +3 -1
  159. package/dist/services/import.service.js +8 -2
  160. package/dist/services/import.service.js.map +1 -1
  161. package/dist/services/project.service.ee.js +4 -4
  162. package/dist/services/project.service.ee.js.map +1 -1
  163. package/dist/services/public-api-key.service.js.map +1 -1
  164. package/dist/task-runners/task-broker/task-broker-ws-server.js +1 -1
  165. package/dist/task-runners/task-broker/task-broker-ws-server.js.map +1 -1
  166. package/dist/telemetry/index.d.ts +2 -0
  167. package/dist/telemetry/index.js +11 -2
  168. package/dist/telemetry/index.js.map +1 -1
  169. package/dist/utils/compression.util.js +2 -1
  170. package/dist/utils/compression.util.js.map +1 -1
  171. package/dist/wait-tracker.js +2 -1
  172. package/dist/wait-tracker.js.map +1 -1
  173. package/dist/webhooks/live-webhooks.d.ts +1 -1
  174. package/dist/webhooks/live-webhooks.js +7 -3
  175. package/dist/webhooks/live-webhooks.js.map +1 -1
  176. package/dist/webhooks/test-webhooks.d.ts +2 -2
  177. package/dist/webhooks/test-webhooks.js +8 -5
  178. package/dist/webhooks/test-webhooks.js.map +1 -1
  179. package/dist/webhooks/waiting-webhooks.d.ts +1 -1
  180. package/dist/webhooks/waiting-webhooks.js +5 -3
  181. package/dist/webhooks/waiting-webhooks.js.map +1 -1
  182. package/dist/webhooks/webhook-helpers.js +4 -2
  183. package/dist/webhooks/webhook-helpers.js.map +1 -1
  184. package/dist/workflow-execute-additional-data.d.ts +7 -1
  185. package/dist/workflow-execute-additional-data.js +2 -2
  186. package/dist/workflow-execute-additional-data.js.map +1 -1
  187. package/dist/workflow-helpers.d.ts +3 -2
  188. package/dist/workflow-helpers.js +27 -5
  189. package/dist/workflow-helpers.js.map +1 -1
  190. package/dist/workflow-runner.js +5 -1
  191. package/dist/workflow-runner.js.map +1 -1
  192. package/dist/workflows/workflow-execution.service.d.ts +2 -1
  193. package/dist/workflows/workflow-execution.service.js +7 -2
  194. package/dist/workflows/workflow-execution.service.js.map +1 -1
  195. package/dist/workflows/workflow-finder.service.d.ts +1 -1
  196. package/dist/workflows/workflow.service.ee.js.map +1 -1
  197. package/dist/workflows/workflows.controller.d.ts +4 -4
  198. package/dist/workflows/workflows.controller.js.map +1 -1
  199. package/package.json +17 -17
  200. package/dist/modules/data-table/data-store-aggregate.controller.d.ts +0 -14
  201. package/dist/modules/data-table/data-store-column.repository.js.map +0 -1
  202. package/dist/modules/data-table/data-store-proxy.service.d.ts +0 -20
  203. package/dist/modules/data-table/data-store-rows.repository.d.ts +0 -40
  204. package/dist/modules/data-table/data-store-rows.repository.js.map +0 -1
  205. package/dist/modules/data-table/data-store-size-validator.service.js.map +0 -1
  206. package/dist/modules/data-table/data-store.controller.d.ts +0 -60
  207. package/dist/modules/data-table/data-store.repository.d.ts +0 -34
  208. package/dist/modules/data-table/data-store.repository.js.map +0 -1
  209. package/dist/modules/data-table/data-store.service.d.ts +0 -64
  210. package/dist/modules/data-table/data-store.service.js +0 -323
  211. package/dist/modules/data-table/data-store.service.js.map +0 -1
  212. package/dist/modules/data-table/data-store.types.js.map +0 -1
  213. package/dist/modules/data-table/errors/data-store-column-name-conflict.error.d.ts +0 -4
  214. package/dist/modules/data-table/errors/data-store-column-name-conflict.error.js +0 -13
  215. package/dist/modules/data-table/errors/data-store-column-not-found.error.d.ts +0 -4
  216. package/dist/modules/data-table/errors/data-store-column-not-found.error.js +0 -13
  217. package/dist/modules/data-table/errors/data-store-name-conflict.error.js +0 -13
  218. package/dist/modules/data-table/errors/data-store-not-found.error.d.ts +0 -4
  219. package/dist/modules/data-table/errors/data-store-not-found.error.js +0 -13
  220. package/dist/modules/data-table/errors/data-store-not-found.error.js.map +0 -1
  221. package/dist/modules/data-table/errors/data-store-validation.error.js +0 -13
@@ -0,0 +1,331 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DataTableService = void 0;
13
+ const backend_common_1 = require("@n8n/backend-common");
14
+ const db_1 = require("@n8n/db");
15
+ const di_1 = require("@n8n/di");
16
+ const n8n_workflow_1 = require("n8n-workflow");
17
+ const role_service_1 = require("../../services/role.service");
18
+ const data_table_column_repository_1 = require("./data-table-column.repository");
19
+ const data_table_rows_repository_1 = require("./data-table-rows.repository");
20
+ const data_table_size_validator_service_1 = require("./data-table-size-validator.service");
21
+ const data_table_repository_1 = require("./data-table.repository");
22
+ const data_table_types_1 = require("./data-table.types");
23
+ const data_table_column_not_found_error_1 = require("./errors/data-table-column-not-found.error");
24
+ const data_table_name_conflict_error_1 = require("./errors/data-table-name-conflict.error");
25
+ const data_table_not_found_error_1 = require("./errors/data-table-not-found.error");
26
+ const data_table_validation_error_1 = require("./errors/data-table-validation.error");
27
+ const sql_utils_1 = require("./utils/sql-utils");
28
+ let DataTableService = class DataTableService {
29
+ constructor(dataTableRepository, dataTableColumnRepository, dataTableRowsRepository, logger, dataTableSizeValidator, projectRelationRepository, roleService) {
30
+ this.dataTableRepository = dataTableRepository;
31
+ this.dataTableColumnRepository = dataTableColumnRepository;
32
+ this.dataTableRowsRepository = dataTableRowsRepository;
33
+ this.logger = logger;
34
+ this.dataTableSizeValidator = dataTableSizeValidator;
35
+ this.projectRelationRepository = projectRelationRepository;
36
+ this.roleService = roleService;
37
+ this.logger = this.logger.scoped('data-table');
38
+ }
39
+ async start() { }
40
+ async shutdown() { }
41
+ async createDataTable(projectId, dto) {
42
+ await this.validateUniqueName(dto.name, projectId);
43
+ const result = await this.dataTableRepository.createDataTable(projectId, dto.name, dto.columns);
44
+ this.dataTableSizeValidator.reset();
45
+ return result;
46
+ }
47
+ async updateDataTable(dataTableId, projectId, dto) {
48
+ await this.validateDataTableExists(dataTableId, projectId);
49
+ await this.validateUniqueName(dto.name, projectId);
50
+ await this.dataTableRepository.update({ id: dataTableId }, { name: dto.name });
51
+ return true;
52
+ }
53
+ async transferDataTablesByProjectId(fromProjectId, toProjectId) {
54
+ return await this.dataTableRepository.transferDataTableByProjectId(fromProjectId, toProjectId);
55
+ }
56
+ async deleteDataTableByProjectId(projectId) {
57
+ const result = await this.dataTableRepository.deleteDataTableByProjectId(projectId);
58
+ if (result) {
59
+ this.dataTableSizeValidator.reset();
60
+ }
61
+ return result;
62
+ }
63
+ async deleteDataTableAll() {
64
+ const result = await this.dataTableRepository.deleteDataTableAll();
65
+ if (result) {
66
+ this.dataTableSizeValidator.reset();
67
+ }
68
+ return result;
69
+ }
70
+ async deleteDataTable(dataTableId, projectId) {
71
+ await this.validateDataTableExists(dataTableId, projectId);
72
+ await this.dataTableRepository.deleteDataTable(dataTableId);
73
+ this.dataTableSizeValidator.reset();
74
+ return true;
75
+ }
76
+ async addColumn(dataTableId, projectId, dto) {
77
+ await this.validateDataTableExists(dataTableId, projectId);
78
+ return await this.dataTableColumnRepository.addColumn(dataTableId, dto);
79
+ }
80
+ async moveColumn(dataTableId, projectId, columnId, dto) {
81
+ await this.validateDataTableExists(dataTableId, projectId);
82
+ const existingColumn = await this.validateColumnExists(dataTableId, columnId);
83
+ await this.dataTableColumnRepository.moveColumn(dataTableId, existingColumn, dto.targetIndex);
84
+ return true;
85
+ }
86
+ async deleteColumn(dataTableId, projectId, columnId) {
87
+ await this.validateDataTableExists(dataTableId, projectId);
88
+ const existingColumn = await this.validateColumnExists(dataTableId, columnId);
89
+ await this.dataTableColumnRepository.deleteColumn(dataTableId, existingColumn);
90
+ return true;
91
+ }
92
+ async getManyAndCount(options) {
93
+ return await this.dataTableRepository.getManyAndCount(options);
94
+ }
95
+ async getManyRowsAndCount(dataTableId, projectId, dto) {
96
+ await this.validateDataTableExists(dataTableId, projectId);
97
+ return await this.dataTableColumnRepository.manager.transaction(async (em) => {
98
+ const columns = await this.dataTableColumnRepository.getColumns(dataTableId, em);
99
+ const transformedDto = dto.filter
100
+ ? { ...dto, filter: this.validateAndTransformFilters(dto.filter, columns) }
101
+ : dto;
102
+ const result = await this.dataTableRowsRepository.getManyAndCount(dataTableId, transformedDto, em);
103
+ return {
104
+ count: result.count,
105
+ data: (0, sql_utils_1.normalizeRows)(result.data, columns),
106
+ };
107
+ });
108
+ }
109
+ async getColumns(dataTableId, projectId) {
110
+ await this.validateDataTableExists(dataTableId, projectId);
111
+ return await this.dataTableColumnRepository.getColumns(dataTableId);
112
+ }
113
+ async insertRows(dataTableId, projectId, rows, returnType = 'count') {
114
+ await this.validateDataTableSize();
115
+ await this.validateDataTableExists(dataTableId, projectId);
116
+ const result = await this.dataTableColumnRepository.manager.transaction(async (trx) => {
117
+ const columns = await this.dataTableColumnRepository.getColumns(dataTableId, trx);
118
+ const transformedRows = this.validateAndTransformRows(rows, columns);
119
+ return await this.dataTableRowsRepository.insertRows(dataTableId, transformedRows, columns, returnType, trx);
120
+ });
121
+ this.dataTableSizeValidator.reset();
122
+ return result;
123
+ }
124
+ async upsertRow(dataTableId, projectId, dto, returnData = false, dryRun = false) {
125
+ await this.validateDataTableSize();
126
+ await this.validateDataTableExists(dataTableId, projectId);
127
+ const result = await this.dataTableColumnRepository.manager.transaction(async (trx) => {
128
+ const columns = await this.dataTableColumnRepository.getColumns(dataTableId, trx);
129
+ const { data, filter } = this.validateAndTransformUpdateParams(dto, columns);
130
+ if (dryRun) {
131
+ return await this.dataTableRowsRepository.dryRunUpsertRow(dataTableId, data, filter, columns, trx);
132
+ }
133
+ const updated = await this.dataTableRowsRepository.updateRows(dataTableId, data, filter, columns, true, trx);
134
+ if (updated.length > 0) {
135
+ return returnData ? updated : true;
136
+ }
137
+ const inserted = await this.dataTableRowsRepository.insertRows(dataTableId, [data], columns, returnData ? 'all' : 'id', trx);
138
+ return returnData ? inserted : true;
139
+ });
140
+ if (!dryRun) {
141
+ this.dataTableSizeValidator.reset();
142
+ }
143
+ return result;
144
+ }
145
+ validateAndTransformUpdateParams({ filter, data }, columns) {
146
+ if (columns.length === 0) {
147
+ throw new data_table_validation_error_1.DataTableValidationError('No columns found for this data table or data table not found');
148
+ }
149
+ if (!filter?.filters || filter.filters.length === 0) {
150
+ throw new data_table_validation_error_1.DataTableValidationError('Filter must not be empty');
151
+ }
152
+ if (!data || Object.keys(data).length === 0) {
153
+ throw new data_table_validation_error_1.DataTableValidationError('Data columns must not be empty');
154
+ }
155
+ const [transformedData] = this.validateAndTransformRows([data], columns, false);
156
+ const transformedFilter = this.validateAndTransformFilters(filter, columns);
157
+ return { data: transformedData, filter: transformedFilter };
158
+ }
159
+ async updateRows(dataTableId, projectId, dto, returnData = false, dryRun = false) {
160
+ await this.validateDataTableSize();
161
+ await this.validateDataTableExists(dataTableId, projectId);
162
+ const result = await this.dataTableColumnRepository.manager.transaction(async (trx) => {
163
+ const columns = await this.dataTableColumnRepository.getColumns(dataTableId, trx);
164
+ const { data, filter } = this.validateAndTransformUpdateParams(dto, columns);
165
+ if (dryRun) {
166
+ return await this.dataTableRowsRepository.dryRunUpdateRows(dataTableId, data, filter, columns, trx);
167
+ }
168
+ return await this.dataTableRowsRepository.updateRows(dataTableId, data, filter, columns, returnData, trx);
169
+ });
170
+ if (!dryRun) {
171
+ this.dataTableSizeValidator.reset();
172
+ }
173
+ return result;
174
+ }
175
+ async deleteRows(dataTableId, projectId, dto, returnData = false, dryRun = false) {
176
+ await this.validateDataTableExists(dataTableId, projectId);
177
+ const result = await this.dataTableColumnRepository.manager.transaction(async (trx) => {
178
+ const columns = await this.dataTableColumnRepository.getColumns(dataTableId, trx);
179
+ if (!dto.filter?.filters || dto.filter.filters.length === 0) {
180
+ throw new data_table_validation_error_1.DataTableValidationError('Filter is required for delete operations to prevent accidental deletion of all data');
181
+ }
182
+ const transformedFilter = this.validateAndTransformFilters(dto.filter, columns);
183
+ return await this.dataTableRowsRepository.deleteRows(dataTableId, columns, transformedFilter, returnData, dryRun, trx);
184
+ });
185
+ if (!dryRun) {
186
+ this.dataTableSizeValidator.reset();
187
+ }
188
+ return result;
189
+ }
190
+ validateAndTransformRows(rows, columns, includeSystemColumns = false, skipDateTransform = false) {
191
+ const allColumns = includeSystemColumns
192
+ ? [
193
+ ...Object.entries(n8n_workflow_1.DATA_TABLE_SYSTEM_COLUMN_TYPE_MAP).map(([name, type]) => ({
194
+ name,
195
+ type,
196
+ })),
197
+ ...columns,
198
+ ]
199
+ : columns;
200
+ const columnNames = new Set(allColumns.map((x) => x.name));
201
+ const columnTypeMap = new Map(allColumns.map((x) => [x.name, x.type]));
202
+ return rows.map((row) => {
203
+ const transformedRow = {};
204
+ const keys = Object.keys(row);
205
+ for (const key of keys) {
206
+ if (!columnNames.has(key)) {
207
+ throw new data_table_validation_error_1.DataTableValidationError(`unknown column name '${key}'`);
208
+ }
209
+ transformedRow[key] = this.validateAndTransformCell(row[key], key, columnTypeMap, skipDateTransform);
210
+ }
211
+ return transformedRow;
212
+ });
213
+ }
214
+ validateAndTransformCell(cell, key, columnTypeMap, skipDateTransform = false) {
215
+ if (cell === null)
216
+ return null;
217
+ const columnType = columnTypeMap.get(key);
218
+ if (!columnType)
219
+ return cell;
220
+ const fieldType = data_table_types_1.columnTypeToFieldType[columnType];
221
+ if (!fieldType)
222
+ return cell;
223
+ const validationResult = (0, n8n_workflow_1.validateFieldType)(key, cell, fieldType, {
224
+ strict: false,
225
+ parseStrings: false,
226
+ });
227
+ if (!validationResult.valid) {
228
+ throw new data_table_validation_error_1.DataTableValidationError(`value '${String(cell)}' does not match column type '${columnType}': ${validationResult.errorMessage}`);
229
+ }
230
+ if (columnType === 'date') {
231
+ if (skipDateTransform && cell instanceof Date) {
232
+ return cell;
233
+ }
234
+ try {
235
+ const dateInISO = validationResult.newValue.toUTC().toISO();
236
+ return dateInISO;
237
+ }
238
+ catch {
239
+ throw new data_table_validation_error_1.DataTableValidationError(`value '${String(cell)}' does not match column type 'date'`);
240
+ }
241
+ }
242
+ return validationResult.newValue;
243
+ }
244
+ async validateDataTableExists(dataTableId, projectId) {
245
+ const existingTable = await this.dataTableRepository.findOneBy({
246
+ id: dataTableId,
247
+ project: {
248
+ id: projectId,
249
+ },
250
+ });
251
+ if (!existingTable) {
252
+ throw new data_table_not_found_error_1.DataTableNotFoundError(dataTableId);
253
+ }
254
+ return existingTable;
255
+ }
256
+ async validateColumnExists(dataTableId, columnId) {
257
+ const existingColumn = await this.dataTableColumnRepository.findOneBy({
258
+ id: columnId,
259
+ dataTableId,
260
+ });
261
+ if (existingColumn === null) {
262
+ throw new data_table_column_not_found_error_1.DataTableColumnNotFoundError(dataTableId, columnId);
263
+ }
264
+ return existingColumn;
265
+ }
266
+ async validateUniqueName(name, projectId) {
267
+ const hasNameClash = await this.dataTableRepository.existsBy({
268
+ name,
269
+ projectId,
270
+ });
271
+ if (hasNameClash) {
272
+ throw new data_table_name_conflict_error_1.DataTableNameConflictError(name);
273
+ }
274
+ }
275
+ validateAndTransformFilters(filterObject, columns) {
276
+ const transformedRows = this.validateAndTransformRows(filterObject.filters.map((f) => {
277
+ return {
278
+ [f.columnName]: f.value,
279
+ };
280
+ }), columns, true, true);
281
+ const transformedFilters = filterObject.filters.map((filter, index) => {
282
+ const transformedValue = transformedRows[index][filter.columnName];
283
+ if (['like', 'ilike'].includes(filter.condition)) {
284
+ if (transformedValue === null || transformedValue === undefined) {
285
+ throw new data_table_validation_error_1.DataTableValidationError(`${filter.condition.toUpperCase()} filter value cannot be null or undefined`);
286
+ }
287
+ if (typeof transformedValue !== 'string') {
288
+ throw new data_table_validation_error_1.DataTableValidationError(`${filter.condition.toUpperCase()} filter value must be a string`);
289
+ }
290
+ const valueWithWildcards = transformedValue.includes('%')
291
+ ? transformedValue
292
+ : `%${transformedValue}%`;
293
+ return { ...filter, value: valueWithWildcards };
294
+ }
295
+ if (['gt', 'gte', 'lt', 'lte'].includes(filter.condition)) {
296
+ if (transformedValue === null || transformedValue === undefined) {
297
+ throw new data_table_validation_error_1.DataTableValidationError(`${filter.condition.toUpperCase()} filter value cannot be null or undefined`);
298
+ }
299
+ }
300
+ return { ...filter, value: transformedValue };
301
+ });
302
+ return { ...filterObject, filters: transformedFilters };
303
+ }
304
+ async validateDataTableSize() {
305
+ await this.dataTableSizeValidator.validateSize(async () => await this.dataTableRepository.findDataTablesSize());
306
+ }
307
+ async getDataTablesSize(user) {
308
+ const allSizeData = await this.dataTableSizeValidator.getCachedSizeData(async () => await this.dataTableRepository.findDataTablesSize());
309
+ const roles = await this.roleService.rolesWithScope('project', ['dataTable:listProject']);
310
+ const accessibleProjectIds = await this.projectRelationRepository.getAccessibleProjectsByRoles(user.id, roles);
311
+ const accessibleProjectIdsSet = new Set(accessibleProjectIds);
312
+ const accessibleDataTables = Object.fromEntries(Object.entries(allSizeData.dataTables).filter(([, dataTableInfo]) => accessibleProjectIdsSet.has(dataTableInfo.projectId)));
313
+ return {
314
+ totalBytes: allSizeData.totalBytes,
315
+ quotaStatus: this.dataTableSizeValidator.sizeToState(allSizeData.totalBytes),
316
+ dataTables: accessibleDataTables,
317
+ };
318
+ }
319
+ };
320
+ exports.DataTableService = DataTableService;
321
+ exports.DataTableService = DataTableService = __decorate([
322
+ (0, di_1.Service)(),
323
+ __metadata("design:paramtypes", [data_table_repository_1.DataTableRepository,
324
+ data_table_column_repository_1.DataTableColumnRepository,
325
+ data_table_rows_repository_1.DataTableRowsRepository,
326
+ backend_common_1.Logger,
327
+ data_table_size_validator_service_1.DataTableSizeValidator,
328
+ db_1.ProjectRelationRepository,
329
+ role_service_1.RoleService])
330
+ ], DataTableService);
331
+ //# sourceMappingURL=data-table.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.service.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table.service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import type { FieldTypeMap } from 'n8n-workflow';
2
- export type DataStoreUserTableName = `${string}data_table_user_${string}`;
2
+ export type DataTableUserTableName = `${string}data_table_user_${string}`;
3
3
  export declare const columnTypeToFieldType: Record<string, keyof FieldTypeMap>;
@@ -7,4 +7,4 @@ exports.columnTypeToFieldType = {
7
7
  boolean: 'boolean',
8
8
  date: 'dateTime',
9
9
  };
10
- //# sourceMappingURL=data-store.types.js.map
10
+ //# sourceMappingURL=data-table.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.types.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table.types.ts"],"names":[],"mappings":";;;AAIa,QAAA,qBAAqB,GAAuC;IAExE,MAAM,EAAE,QAAQ;IAEhB,MAAM,EAAE,QAAQ;IAEhB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,UAAU;CAChB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { UserError } from 'n8n-workflow';
2
+ export declare class DataTableColumnNameConflictError extends UserError {
3
+ constructor(columnName: string, dataTableName: string);
4
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataTableColumnNameConflictError = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ class DataTableColumnNameConflictError extends n8n_workflow_1.UserError {
6
+ constructor(columnName, dataTableName) {
7
+ super(`Data table column with name '${columnName}' already exists in data table '${dataTableName}'`, {
8
+ level: 'warning',
9
+ });
10
+ }
11
+ }
12
+ exports.DataTableColumnNameConflictError = DataTableColumnNameConflictError;
13
+ //# sourceMappingURL=data-table-column-name-conflict.error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-store-column-name-conflict.error.js","sourceRoot":"","sources":["../../../../src/modules/data-table/errors/data-store-column-name-conflict.error.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,MAAa,gCAAiC,SAAQ,wBAAS;IAC9D,YAAY,UAAkB,EAAE,aAAqB;QACpD,KAAK,CACJ,gCAAgC,UAAU,mCAAmC,aAAa,GAAG,EAC7F;YACC,KAAK,EAAE,SAAS;SAChB,CACD,CAAC;IACH,CAAC;CACD;AATD,4EASC"}
1
+ {"version":3,"file":"data-table-column-name-conflict.error.js","sourceRoot":"","sources":["../../../../src/modules/data-table/errors/data-table-column-name-conflict.error.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,MAAa,gCAAiC,SAAQ,wBAAS;IAC9D,YAAY,UAAkB,EAAE,aAAqB;QACpD,KAAK,CACJ,gCAAgC,UAAU,mCAAmC,aAAa,GAAG,EAC7F;YACC,KAAK,EAAE,SAAS;SAChB,CACD,CAAC;IACH,CAAC;CACD;AATD,4EASC"}
@@ -0,0 +1,4 @@
1
+ import { UserError } from 'n8n-workflow';
2
+ export declare class DataTableColumnNotFoundError extends UserError {
3
+ constructor(dataTableId: string, columnId: string);
4
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataTableColumnNotFoundError = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ class DataTableColumnNotFoundError extends n8n_workflow_1.UserError {
6
+ constructor(dataTableId, columnId) {
7
+ super(`Could not find the column '${columnId}' in the data table: ${dataTableId}`, {
8
+ level: 'warning',
9
+ });
10
+ }
11
+ }
12
+ exports.DataTableColumnNotFoundError = DataTableColumnNotFoundError;
13
+ //# sourceMappingURL=data-table-column-not-found.error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-store-column-not-found.error.js","sourceRoot":"","sources":["../../../../src/modules/data-table/errors/data-store-column-not-found.error.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,MAAa,4BAA6B,SAAQ,wBAAS;IAC1D,YAAY,WAAmB,EAAE,QAAgB;QAChD,KAAK,CAAC,8BAA8B,QAAQ,wBAAwB,WAAW,EAAE,EAAE;YAClF,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC;IACJ,CAAC;CACD;AAND,oEAMC"}
1
+ {"version":3,"file":"data-table-column-not-found.error.js","sourceRoot":"","sources":["../../../../src/modules/data-table/errors/data-table-column-not-found.error.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,MAAa,4BAA6B,SAAQ,wBAAS;IAC1D,YAAY,WAAmB,EAAE,QAAgB;QAChD,KAAK,CAAC,8BAA8B,QAAQ,wBAAwB,WAAW,EAAE,EAAE;YAClF,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC;IACJ,CAAC;CACD;AAND,oEAMC"}
@@ -1,4 +1,4 @@
1
1
  import { UserError } from 'n8n-workflow';
2
- export declare class DataStoreNameConflictError extends UserError {
2
+ export declare class DataTableNameConflictError extends UserError {
3
3
  constructor(name: string);
4
4
  }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataTableNameConflictError = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ class DataTableNameConflictError extends n8n_workflow_1.UserError {
6
+ constructor(name) {
7
+ super(`Data table with name '${name}' already exists in this project`, {
8
+ level: 'warning',
9
+ });
10
+ }
11
+ }
12
+ exports.DataTableNameConflictError = DataTableNameConflictError;
13
+ //# sourceMappingURL=data-table-name-conflict.error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-store-name-conflict.error.js","sourceRoot":"","sources":["../../../../src/modules/data-table/errors/data-store-name-conflict.error.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,MAAa,0BAA2B,SAAQ,wBAAS;IACxD,YAAY,IAAY;QACvB,KAAK,CAAC,yBAAyB,IAAI,kCAAkC,EAAE;YACtE,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC;IACJ,CAAC;CACD;AAND,gEAMC"}
1
+ {"version":3,"file":"data-table-name-conflict.error.js","sourceRoot":"","sources":["../../../../src/modules/data-table/errors/data-table-name-conflict.error.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,MAAa,0BAA2B,SAAQ,wBAAS;IACxD,YAAY,IAAY;QACvB,KAAK,CAAC,yBAAyB,IAAI,kCAAkC,EAAE;YACtE,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC;IACJ,CAAC;CACD;AAND,gEAMC"}
@@ -0,0 +1,4 @@
1
+ import { UserError } from 'n8n-workflow';
2
+ export declare class DataTableNotFoundError extends UserError {
3
+ constructor(dataTableId: string);
4
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataTableNotFoundError = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ class DataTableNotFoundError extends n8n_workflow_1.UserError {
6
+ constructor(dataTableId) {
7
+ super(`Could not find the data table: '${dataTableId}'`, {
8
+ level: 'warning',
9
+ });
10
+ }
11
+ }
12
+ exports.DataTableNotFoundError = DataTableNotFoundError;
13
+ //# sourceMappingURL=data-table-not-found.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table-not-found.error.js","sourceRoot":"","sources":["../../../../src/modules/data-table/errors/data-table-not-found.error.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,MAAa,sBAAuB,SAAQ,wBAAS;IACpD,YAAY,WAAmB;QAC9B,KAAK,CAAC,mCAAmC,WAAW,GAAG,EAAE;YACxD,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC;IACJ,CAAC;CACD;AAND,wDAMC"}
@@ -1,4 +1,4 @@
1
1
  import { UserError } from 'n8n-workflow';
2
- export declare class DataStoreSystemColumnNameConflictError extends UserError {
2
+ export declare class DataTableSystemColumnNameConflictError extends UserError {
3
3
  constructor(columnName: string, type?: string);
4
4
  }
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataStoreSystemColumnNameConflictError = void 0;
3
+ exports.DataTableSystemColumnNameConflictError = void 0;
4
4
  const n8n_workflow_1 = require("n8n-workflow");
5
- class DataStoreSystemColumnNameConflictError extends n8n_workflow_1.UserError {
5
+ class DataTableSystemColumnNameConflictError extends n8n_workflow_1.UserError {
6
6
  constructor(columnName, type = 'system') {
7
7
  super(`Column name "${columnName}" is reserved as a ${type} column name.`, {
8
8
  level: 'warning',
9
9
  });
10
10
  }
11
11
  }
12
- exports.DataStoreSystemColumnNameConflictError = DataStoreSystemColumnNameConflictError;
13
- //# sourceMappingURL=data-store-system-column-name-conflict.error.js.map
12
+ exports.DataTableSystemColumnNameConflictError = DataTableSystemColumnNameConflictError;
13
+ //# sourceMappingURL=data-table-system-column-name-conflict.error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-store-system-column-name-conflict.error.js","sourceRoot":"","sources":["../../../../src/modules/data-table/errors/data-store-system-column-name-conflict.error.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,MAAa,sCAAuC,SAAQ,wBAAS;IACpE,YAAY,UAAkB,EAAE,OAAe,QAAQ;QACtD,KAAK,CAAC,gBAAgB,UAAU,sBAAsB,IAAI,eAAe,EAAE;YAC1E,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC;IACJ,CAAC;CACD;AAND,wFAMC"}
1
+ {"version":3,"file":"data-table-system-column-name-conflict.error.js","sourceRoot":"","sources":["../../../../src/modules/data-table/errors/data-table-system-column-name-conflict.error.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,MAAa,sCAAuC,SAAQ,wBAAS;IACpE,YAAY,UAAkB,EAAE,OAAe,QAAQ;QACtD,KAAK,CAAC,gBAAgB,UAAU,sBAAsB,IAAI,eAAe,EAAE;YAC1E,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC;IACJ,CAAC;CACD;AAND,wFAMC"}
@@ -1,4 +1,4 @@
1
1
  import { UserError } from 'n8n-workflow';
2
- export declare class DataStoreValidationError extends UserError {
2
+ export declare class DataTableValidationError extends UserError {
3
3
  constructor(msg: string);
4
4
  }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataTableValidationError = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ class DataTableValidationError extends n8n_workflow_1.UserError {
6
+ constructor(msg) {
7
+ super(`Validation error with data table request: ${msg}`, {
8
+ level: 'warning',
9
+ });
10
+ }
11
+ }
12
+ exports.DataTableValidationError = DataTableValidationError;
13
+ //# sourceMappingURL=data-table-validation.error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-store-validation.error.js","sourceRoot":"","sources":["../../../../src/modules/data-table/errors/data-store-validation.error.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,MAAa,wBAAyB,SAAQ,wBAAS;IACtD,YAAY,GAAW;QACtB,KAAK,CAAC,6CAA6C,GAAG,EAAE,EAAE;YACzD,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC;IACJ,CAAC;CACD;AAND,4DAMC"}
1
+ {"version":3,"file":"data-table-validation.error.js","sourceRoot":"","sources":["../../../../src/modules/data-table/errors/data-table-validation.error.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAEzC,MAAa,wBAAyB,SAAQ,wBAAS;IACtD,YAAY,GAAW;QACtB,KAAK,CAAC,6CAA6C,GAAG,EAAE,EAAE;YACzD,KAAK,EAAE,SAAS;SAChB,CAAC,CAAC;IACJ,CAAC;CACD;AAND,4DAMC"}
@@ -1,24 +1,19 @@
1
- import { type DataStoreCreateColumnSchema } from '@n8n/api-types';
1
+ import { type DataTableCreateColumnSchema } from '@n8n/api-types';
2
2
  import { DslColumn } from '@n8n/db';
3
3
  import type { DataSourceOptions } from '@n8n/typeorm';
4
- import type { DataStoreColumnJsType, DataStoreRowReturn, DataStoreRowsReturn } from 'n8n-workflow';
5
- import type { DataStoreUserTableName } from '../data-store.types';
4
+ import type { DataTableColumnJsType, DataTableRawRowsReturn, DataTableRowReturn, DataTableRowsReturn } from 'n8n-workflow';
6
5
  import type { DataTableColumn } from '../data-table-column.entity';
7
- export declare function toDslColumns(columns: DataStoreCreateColumnSchema[]): DslColumn[];
6
+ import type { DataTableUserTableName } from '../data-table.types';
7
+ export declare function toDslColumns(columns: DataTableCreateColumnSchema[]): DslColumn[];
8
8
  export declare function isValidColumnName(name: string): boolean;
9
- export declare function addColumnQuery(tableName: DataStoreUserTableName, column: DataStoreCreateColumnSchema, dbType: DataSourceOptions['type']): string;
10
- export declare function deleteColumnQuery(tableName: DataStoreUserTableName, column: string, dbType: DataSourceOptions['type']): string;
9
+ export declare function addColumnQuery(tableName: DataTableUserTableName, column: DataTableCreateColumnSchema, dbType: DataSourceOptions['type']): string;
10
+ export declare function deleteColumnQuery(tableName: DataTableUserTableName, column: string, dbType: DataSourceOptions['type']): string;
11
11
  export declare function quoteIdentifier(name: string, dbType: DataSourceOptions['type']): string;
12
- export declare function extractReturningData(raw: unknown): DataStoreRowReturn[];
12
+ export declare function extractReturningData(raw: unknown): DataTableRowReturn[];
13
13
  export declare function extractInsertedIds(raw: unknown, dbType: DataSourceOptions['type']): number[];
14
- export declare function normalizeRows(rows: DataStoreRowsReturn, columns: DataTableColumn[]): {
15
- [x: string]: DataStoreColumnJsType;
16
- id: number;
17
- createdAt: Date;
18
- updatedAt: Date;
19
- }[];
20
- export declare function normalizeValue(value: DataStoreColumnJsType, columnType: string | undefined, dbType?: DataSourceOptions['type']): DataStoreColumnJsType;
14
+ export declare function normalizeRows(rows: DataTableRawRowsReturn, columns: DataTableColumn[]): DataTableRowsReturn;
15
+ export declare function normalizeValueForDatabase(value: DataTableColumnJsType, columnType: string | undefined, dbType?: DataSourceOptions['type']): DataTableColumnJsType;
21
16
  export declare function toSqliteGlobFromPercent(input: string): string;
22
17
  export declare function escapeLikeSpecials(input: string): string;
23
- export declare function toTableName(dataStoreId: string): DataStoreUserTableName;
24
- export declare function toTableId(tableName: DataStoreUserTableName): string;
18
+ export declare function toTableName(dataTableId: string): DataTableUserTableName;
19
+ export declare function toTableId(tableName: DataTableUserTableName): string;