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
@@ -42,23 +42,23 @@ var __metadata = (this && this.__metadata) || function (k, v) {
42
42
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
43
  };
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.DataStoreModule = void 0;
45
+ exports.DataTableModule = void 0;
46
46
  const decorators_1 = require("@n8n/decorators");
47
47
  const di_1 = require("@n8n/di");
48
- let DataStoreModule = class DataStoreModule {
48
+ let DataTableModule = class DataTableModule {
49
49
  async init() {
50
- await Promise.resolve().then(() => __importStar(require('./data-store.controller')));
51
- await Promise.resolve().then(() => __importStar(require('./data-store-aggregate.controller')));
52
- const { DataStoreService } = await Promise.resolve().then(() => __importStar(require('./data-store.service')));
53
- await di_1.Container.get(DataStoreService).start();
54
- const { DataStoreAggregateService } = await Promise.resolve().then(() => __importStar(require('./data-store-aggregate.service')));
55
- await di_1.Container.get(DataStoreAggregateService).start();
50
+ await Promise.resolve().then(() => __importStar(require('./data-table.controller')));
51
+ await Promise.resolve().then(() => __importStar(require('./data-table-aggregate.controller')));
52
+ const { DataTableService } = await Promise.resolve().then(() => __importStar(require('./data-table.service')));
53
+ await di_1.Container.get(DataTableService).start();
54
+ const { DataTableAggregateService } = await Promise.resolve().then(() => __importStar(require('./data-table-aggregate.service')));
55
+ await di_1.Container.get(DataTableAggregateService).start();
56
56
  }
57
57
  async shutdown() {
58
- const { DataStoreService } = await Promise.resolve().then(() => __importStar(require('./data-store.service')));
59
- await di_1.Container.get(DataStoreService).shutdown();
60
- const { DataStoreAggregateService } = await Promise.resolve().then(() => __importStar(require('./data-store-aggregate.service')));
61
- await di_1.Container.get(DataStoreAggregateService).start();
58
+ const { DataTableService } = await Promise.resolve().then(() => __importStar(require('./data-table.service')));
59
+ await di_1.Container.get(DataTableService).shutdown();
60
+ const { DataTableAggregateService } = await Promise.resolve().then(() => __importStar(require('./data-table-aggregate.service')));
61
+ await di_1.Container.get(DataTableAggregateService).shutdown();
62
62
  }
63
63
  async entities() {
64
64
  const { DataTable } = await Promise.resolve().then(() => __importStar(require('./data-table.entity')));
@@ -66,18 +66,18 @@ let DataStoreModule = class DataStoreModule {
66
66
  return [DataTable, DataTableColumn];
67
67
  }
68
68
  async context() {
69
- const { DataStoreProxyService } = await Promise.resolve().then(() => __importStar(require('./data-store-proxy.service')));
70
- return { dataStoreProxyProvider: di_1.Container.get(DataStoreProxyService) };
69
+ const { DataTableProxyService } = await Promise.resolve().then(() => __importStar(require('./data-table-proxy.service')));
70
+ return { dataTableProxyProvider: di_1.Container.get(DataTableProxyService) };
71
71
  }
72
72
  };
73
- exports.DataStoreModule = DataStoreModule;
73
+ exports.DataTableModule = DataTableModule;
74
74
  __decorate([
75
75
  (0, decorators_1.OnShutdown)(),
76
76
  __metadata("design:type", Function),
77
77
  __metadata("design:paramtypes", []),
78
78
  __metadata("design:returntype", Promise)
79
- ], DataStoreModule.prototype, "shutdown", null);
80
- exports.DataStoreModule = DataStoreModule = __decorate([
79
+ ], DataTableModule.prototype, "shutdown", null);
80
+ exports.DataTableModule = DataTableModule = __decorate([
81
81
  (0, decorators_1.BackendModule)({ name: 'data-table' })
82
- ], DataStoreModule);
82
+ ], DataTableModule);
83
83
  //# sourceMappingURL=data-table.module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.module.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gDAA4D;AAC5D,gCAAoC;AAG7B,IAAM,eAAe,GAArB,MAAM,eAAe;IAC3B,KAAK,CAAC,IAAI;QACT,wDAAa,yBAAyB,GAAC,CAAC;QACxC,wDAAa,mCAAmC,GAAC,CAAC;QAElD,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;QAClE,MAAM,cAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;QAE9C,MAAM,EAAE,yBAAyB,EAAE,GAAG,wDAAa,gCAAgC,GAAC,CAAC;QACrF,MAAM,cAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;IACxD,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ;QACb,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;QAClE,MAAM,cAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEjD,MAAM,EAAE,yBAAyB,EAAE,GAAG,wDAAa,gCAAgC,GAAC,CAAC;QACrF,MAAM,cAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,MAAM,EAAE,SAAS,EAAE,GAAG,wDAAa,qBAAqB,GAAC,CAAC;QAC1D,MAAM,EAAE,eAAe,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAC;QAEvE,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,EAAE,qBAAqB,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAC;QAE7E,OAAO,EAAE,sBAAsB,EAAE,cAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;IACzE,CAAC;CACD,CAAA;AAjCY,0CAAe;AAarB;IADL,IAAA,uBAAU,GAAE;;;;+CAOZ;0BAnBW,eAAe;IAD3B,IAAA,0BAAa,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;GACzB,eAAe,CAiC3B"}
1
+ {"version":3,"file":"data-table.module.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gDAA4D;AAC5D,gCAAoC;AAG7B,IAAM,eAAe,GAArB,MAAM,eAAe;IAC3B,KAAK,CAAC,IAAI;QACT,wDAAa,yBAAyB,GAAC,CAAC;QACxC,wDAAa,mCAAmC,GAAC,CAAC;QAElD,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;QAClE,MAAM,cAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;QAE9C,MAAM,EAAE,yBAAyB,EAAE,GAAG,wDAAa,gCAAgC,GAAC,CAAC;QACrF,MAAM,cAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;IACxD,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ;QACb,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;QAClE,MAAM,cAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEjD,MAAM,EAAE,yBAAyB,EAAE,GAAG,wDAAa,gCAAgC,GAAC,CAAC;QACrF,MAAM,cAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,QAAQ;QACb,MAAM,EAAE,SAAS,EAAE,GAAG,wDAAa,qBAAqB,GAAC,CAAC;QAC1D,MAAM,EAAE,eAAe,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAC;QAEvE,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,EAAE,qBAAqB,EAAE,GAAG,wDAAa,4BAA4B,GAAC,CAAC;QAE7E,OAAO,EAAE,sBAAsB,EAAE,cAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;IACzE,CAAC;CACD,CAAA;AAjCY,0CAAe;AAarB;IADL,IAAA,uBAAU,GAAE;;;;+CAOZ;0BAnBW,eAAe;IAD3B,IAAA,0BAAa,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;GACzB,eAAe,CAiC3B"}
@@ -0,0 +1,34 @@
1
+ import { type DataTableCreateColumnSchema, type ListDataTableQueryDto } from '@n8n/api-types';
2
+ import { GlobalConfig } from '@n8n/config';
3
+ import { DataSource, EntityManager, Repository } from '@n8n/typeorm';
4
+ import type { DataTablesSizeData } from 'n8n-workflow';
5
+ import { DataTableDDLService } from './data-table-ddl.service';
6
+ import { DataTable } from './data-table.entity';
7
+ export declare class DataTableRepository extends Repository<DataTable> {
8
+ private ddlService;
9
+ private readonly globalConfig;
10
+ constructor(dataSource: DataSource, ddlService: DataTableDDLService, globalConfig: GlobalConfig);
11
+ createDataTable(projectId: string, name: string, columns: DataTableCreateColumnSchema[], trx?: EntityManager): Promise<DataTable>;
12
+ deleteDataTable(dataTableId: string, trx?: EntityManager): Promise<boolean>;
13
+ transferDataTableByProjectId(fromProjectId: string, toProjectId: string, trx?: EntityManager): Promise<boolean>;
14
+ deleteDataTableByProjectId(projectId: string, trx?: EntityManager): Promise<boolean>;
15
+ deleteDataTableAll(trx?: EntityManager): Promise<boolean>;
16
+ getManyAndCount(options: Partial<ListDataTableQueryDto>): Promise<{
17
+ count: number;
18
+ data: DataTable[];
19
+ }>;
20
+ getMany(options: Partial<ListDataTableQueryDto>): Promise<DataTable[]>;
21
+ private getManyQuery;
22
+ private applySelections;
23
+ private applyFilters;
24
+ private applySorting;
25
+ private parseSortingParams;
26
+ private applySortingByField;
27
+ private applyPagination;
28
+ private applyDefaultSelect;
29
+ private getDataTableColumnFields;
30
+ private getProjectFields;
31
+ private parseSize;
32
+ findDataTablesSize(): Promise<DataTablesSizeData>;
33
+ private getAllDataTablesSizeMap;
34
+ }
@@ -9,34 +9,34 @@ 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.DataStoreRepository = void 0;
12
+ exports.DataTableRepository = void 0;
13
13
  const api_types_1 = require("@n8n/api-types");
14
14
  const config_1 = require("@n8n/config");
15
15
  const db_1 = require("@n8n/db");
16
16
  const di_1 = require("@n8n/di");
17
17
  const typeorm_1 = require("@n8n/typeorm");
18
18
  const n8n_workflow_1 = require("n8n-workflow");
19
- const data_store_rows_repository_1 = require("./data-store-rows.repository");
20
19
  const data_table_column_entity_1 = require("./data-table-column.entity");
20
+ const data_table_ddl_service_1 = require("./data-table-ddl.service");
21
21
  const data_table_entity_1 = require("./data-table.entity");
22
- const data_store_name_conflict_error_1 = require("./errors/data-store-name-conflict.error");
23
- const data_store_validation_error_1 = require("./errors/data-store-validation.error");
22
+ const data_table_name_conflict_error_1 = require("./errors/data-table-name-conflict.error");
23
+ const data_table_validation_error_1 = require("./errors/data-table-validation.error");
24
24
  const sql_utils_1 = require("./utils/sql-utils");
25
- let DataStoreRepository = class DataStoreRepository extends typeorm_1.Repository {
26
- constructor(dataSource, dataStoreRowsRepository, globalConfig) {
25
+ let DataTableRepository = class DataTableRepository extends typeorm_1.Repository {
26
+ constructor(dataSource, ddlService, globalConfig) {
27
27
  super(data_table_entity_1.DataTable, dataSource.manager);
28
- this.dataStoreRowsRepository = dataStoreRowsRepository;
28
+ this.ddlService = ddlService;
29
29
  this.globalConfig = globalConfig;
30
30
  this.parseSize = (bytes) => bytes === null ? 0 : typeof bytes === 'string' ? parseInt(bytes, 10) : bytes;
31
31
  }
32
- async createDataStore(projectId, name, columns, trx) {
32
+ async createDataTable(projectId, name, columns, trx) {
33
33
  return await (0, db_1.withTransaction)(this.manager, trx, async (em) => {
34
34
  if (columns.some((c) => !(0, sql_utils_1.isValidColumnName)(c.name))) {
35
- throw new data_store_validation_error_1.DataStoreValidationError(api_types_1.DATA_STORE_COLUMN_ERROR_MESSAGE);
35
+ throw new data_table_validation_error_1.DataTableValidationError(api_types_1.DATA_TABLE_COLUMN_ERROR_MESSAGE);
36
36
  }
37
- const dataStore = em.create(data_table_entity_1.DataTable, { name, columns, projectId });
38
- await em.insert(data_table_entity_1.DataTable, dataStore);
39
- const dataTableId = dataStore.id;
37
+ const dataTable = em.create(data_table_entity_1.DataTable, { name, columns, projectId });
38
+ await em.insert(data_table_entity_1.DataTable, dataTable);
39
+ const dataTableId = dataTable.id;
40
40
  const columnEntities = columns.map((col, index) => em.create(data_table_column_entity_1.DataTableColumn, {
41
41
  dataTableId,
42
42
  name: col.name,
@@ -46,25 +46,25 @@ let DataStoreRepository = class DataStoreRepository extends typeorm_1.Repository
46
46
  if (columnEntities.length > 0) {
47
47
  await em.insert(data_table_column_entity_1.DataTableColumn, columnEntities);
48
48
  }
49
- await this.dataStoreRowsRepository.createTableWithColumns(dataTableId, columnEntities, em);
49
+ await this.ddlService.createTableWithColumns(dataTableId, columnEntities, em);
50
50
  if (!dataTableId) {
51
- throw new n8n_workflow_1.UnexpectedError('Data store creation failed');
51
+ throw new n8n_workflow_1.UnexpectedError('Data table creation failed');
52
52
  }
53
- const createdDataStore = await em.findOneOrFail(data_table_entity_1.DataTable, {
53
+ const createdDataTable = await em.findOneOrFail(data_table_entity_1.DataTable, {
54
54
  where: { id: dataTableId },
55
55
  relations: ['project', 'columns'],
56
56
  });
57
- return createdDataStore;
57
+ return createdDataTable;
58
58
  });
59
59
  }
60
- async deleteDataStore(dataStoreId, trx) {
60
+ async deleteDataTable(dataTableId, trx) {
61
61
  return await (0, db_1.withTransaction)(this.manager, trx, async (em) => {
62
- await em.delete(data_table_entity_1.DataTable, { id: dataStoreId });
63
- await this.dataStoreRowsRepository.dropTable(dataStoreId, em);
62
+ await em.delete(data_table_entity_1.DataTable, { id: dataTableId });
63
+ await this.ddlService.dropTable(dataTableId, em);
64
64
  return true;
65
65
  });
66
66
  }
67
- async transferDataStoreByProjectId(fromProjectId, toProjectId, trx) {
67
+ async transferDataTableByProjectId(fromProjectId, toProjectId, trx) {
68
68
  if (fromProjectId === toProjectId)
69
69
  return false;
70
70
  return await (0, db_1.withTransaction)(this.manager, trx, async (em) => {
@@ -84,7 +84,7 @@ let DataStoreRepository = class DataStoreRepository extends typeorm_1.Repository
84
84
  projectId: toProjectId,
85
85
  });
86
86
  if (stillHasNameClash) {
87
- throw new data_store_name_conflict_error_1.DataStoreNameConflictError(`Failed to transfer data store "${existing.name}" to the target project "${toProjectId}". A data table with the same name already exists in the target project.`);
87
+ throw new data_table_name_conflict_error_1.DataTableNameConflictError(`Failed to transfer data table "${existing.name}" to the target project "${toProjectId}". A data table with the same name already exists in the target project.`);
88
88
  }
89
89
  }
90
90
  await em.update(data_table_entity_1.DataTable, { id: existing.id }, { name, projectId: toProjectId });
@@ -93,24 +93,24 @@ let DataStoreRepository = class DataStoreRepository extends typeorm_1.Repository
93
93
  return transferred;
94
94
  });
95
95
  }
96
- async deleteDataStoreByProjectId(projectId, trx) {
96
+ async deleteDataTableByProjectId(projectId, trx) {
97
97
  return await (0, db_1.withTransaction)(this.manager, trx, async (em) => {
98
98
  const existingTables = await em.findBy(data_table_entity_1.DataTable, { projectId });
99
99
  let changed = false;
100
100
  for (const match of existingTables) {
101
- const result = await this.deleteDataStore(match.id, em);
101
+ const result = await this.deleteDataTable(match.id, em);
102
102
  changed = changed || result;
103
103
  }
104
104
  return changed;
105
105
  });
106
106
  }
107
- async deleteDataStoreAll(trx) {
107
+ async deleteDataTableAll(trx) {
108
108
  return await (0, db_1.withTransaction)(this.manager, trx, async (em) => {
109
109
  const existingTables = await em.findBy(data_table_entity_1.DataTable, {});
110
110
  let changed = false;
111
111
  for (const match of existingTables) {
112
112
  const result = await em.delete(data_table_entity_1.DataTable, { id: match.id });
113
- await this.dataStoreRowsRepository.dropTable(match.id, em);
113
+ await this.ddlService.dropTable(match.id, em);
114
114
  changed = changed || (result.affected ?? 0) > 0;
115
115
  }
116
116
  return changed;
@@ -126,7 +126,7 @@ let DataStoreRepository = class DataStoreRepository extends typeorm_1.Repository
126
126
  return await query.getMany();
127
127
  }
128
128
  getManyQuery(options) {
129
- const query = this.createQueryBuilder('dataStore');
129
+ const query = this.createQueryBuilder('dataTable');
130
130
  this.applySelections(query);
131
131
  this.applyFilters(query, options.filter);
132
132
  this.applySorting(query, options.sortBy);
@@ -141,14 +141,14 @@ let DataStoreRepository = class DataStoreRepository extends typeorm_1.Repository
141
141
  const content = [filter?.[x]].flat().filter((x) => x !== undefined);
142
142
  if (content.length === 0)
143
143
  continue;
144
- query.andWhere(`dataStore.${x} IN (:...${x}s)`, {
144
+ query.andWhere(`dataTable.${x} IN (:...${x}s)`, {
145
145
  [x + 's']: content.length > 0 ? content : [''],
146
146
  });
147
147
  }
148
148
  if (filter?.name) {
149
149
  const nameFilters = Array.isArray(filter.name) ? filter.name : [filter.name];
150
150
  nameFilters.forEach((name, i) => {
151
- query.andWhere(`LOWER(dataStore.name) LIKE LOWER(:name${i})`, {
151
+ query.andWhere(`LOWER(dataTable.name) LIKE LOWER(:name${i})`, {
152
152
  ['name' + i]: `%${name}%`,
153
153
  });
154
154
  });
@@ -156,7 +156,7 @@ let DataStoreRepository = class DataStoreRepository extends typeorm_1.Repository
156
156
  }
157
157
  applySorting(query, sortBy) {
158
158
  if (!sortBy) {
159
- query.orderBy('dataStore.updatedAt', 'DESC');
159
+ query.orderBy('dataTable.updatedAt', 'DESC');
160
160
  return;
161
161
  }
162
162
  const [field, order] = this.parseSortingParams(sortBy);
@@ -169,11 +169,11 @@ let DataStoreRepository = class DataStoreRepository extends typeorm_1.Repository
169
169
  applySortingByField(query, field, direction) {
170
170
  if (field === 'name') {
171
171
  query
172
- .addSelect('LOWER(dataStore.name)', 'datastore_name_lower')
173
- .orderBy('datastore_name_lower', direction);
172
+ .addSelect('LOWER(dataTable.name)', 'datatable_name_lower')
173
+ .orderBy('datatable_name_lower', direction);
174
174
  }
175
175
  else if (['createdAt', 'updatedAt'].includes(field)) {
176
- query.orderBy(`dataStore.${field}`, direction);
176
+ query.orderBy(`dataTable.${field}`, direction);
177
177
  }
178
178
  }
179
179
  applyPagination(query, options) {
@@ -183,15 +183,15 @@ let DataStoreRepository = class DataStoreRepository extends typeorm_1.Repository
183
183
  }
184
184
  applyDefaultSelect(query) {
185
185
  query
186
- .leftJoinAndSelect('dataStore.project', 'project')
187
- .leftJoinAndSelect('dataStore.columns', 'data_store_column')
186
+ .leftJoinAndSelect('dataTable.project', 'project')
187
+ .leftJoinAndSelect('dataTable.columns', 'data_table_column')
188
188
  .select([
189
- 'dataStore',
190
- ...this.getDataStoreColumnFields('data_store_column'),
189
+ 'dataTable',
190
+ ...this.getDataTableColumnFields('data_table_column'),
191
191
  ...this.getProjectFields('project'),
192
192
  ]);
193
193
  }
194
- getDataStoreColumnFields(alias) {
194
+ getDataTableColumnFields(alias) {
195
195
  return [
196
196
  `${alias}.id`,
197
197
  `${alias}.name`,
@@ -286,19 +286,19 @@ let DataStoreRepository = class DataStoreRepository extends typeorm_1.Repository
286
286
  const sizeMap = new Map();
287
287
  for (const row of result) {
288
288
  if (row.table_bytes !== null && row.table_name) {
289
- const dataStoreId = (0, sql_utils_1.toTableId)(row.table_name);
289
+ const dataTableId = (0, sql_utils_1.toTableId)(row.table_name);
290
290
  const sizeBytes = this.parseSize(row.table_bytes);
291
- sizeMap.set(dataStoreId, (sizeMap.get(dataStoreId) ?? 0) + sizeBytes);
291
+ sizeMap.set(dataTableId, (sizeMap.get(dataTableId) ?? 0) + sizeBytes);
292
292
  }
293
293
  }
294
294
  return sizeMap;
295
295
  }
296
296
  };
297
- exports.DataStoreRepository = DataStoreRepository;
298
- exports.DataStoreRepository = DataStoreRepository = __decorate([
297
+ exports.DataTableRepository = DataTableRepository;
298
+ exports.DataTableRepository = DataTableRepository = __decorate([
299
299
  (0, di_1.Service)(),
300
300
  __metadata("design:paramtypes", [typeorm_1.DataSource,
301
- data_store_rows_repository_1.DataStoreRowsRepository,
301
+ data_table_ddl_service_1.DataTableDDLService,
302
302
  config_1.GlobalConfig])
303
- ], DataStoreRepository);
304
- //# sourceMappingURL=data-store.repository.js.map
303
+ ], DataTableRepository);
304
+ //# sourceMappingURL=data-table.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-table.repository.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { AddDataTableColumnDto, CreateDataTableDto, DeleteDataTableRowsDto, ListDataTableContentQueryDto, MoveDataTableColumnDto, DataTableListOptions, UpsertDataTableRowDto, UpdateDataTableDto, UpdateDataTableRowDto } from '@n8n/api-types';
2
+ import { Logger } from '@n8n/backend-common';
3
+ import { ProjectRelationRepository, type User } from '@n8n/db';
4
+ import type { DataTableFilter, DataTableRow, DataTableRowReturn, DataTableRows, DataTableInsertRowsReturnType, DataTableInsertRowsResult, DataTablesSizeResult, DataTableRowReturnWithState } from 'n8n-workflow';
5
+ import { RoleService } from '../../services/role.service';
6
+ import { DataTableColumn } from './data-table-column.entity';
7
+ import { DataTableColumnRepository } from './data-table-column.repository';
8
+ import { DataTableRowsRepository } from './data-table-rows.repository';
9
+ import { DataTableSizeValidator } from './data-table-size-validator.service';
10
+ import { DataTableRepository } from './data-table.repository';
11
+ export declare class DataTableService {
12
+ private readonly dataTableRepository;
13
+ private readonly dataTableColumnRepository;
14
+ private readonly dataTableRowsRepository;
15
+ private readonly logger;
16
+ private readonly dataTableSizeValidator;
17
+ private readonly projectRelationRepository;
18
+ private readonly roleService;
19
+ constructor(dataTableRepository: DataTableRepository, dataTableColumnRepository: DataTableColumnRepository, dataTableRowsRepository: DataTableRowsRepository, logger: Logger, dataTableSizeValidator: DataTableSizeValidator, projectRelationRepository: ProjectRelationRepository, roleService: RoleService);
20
+ start(): Promise<void>;
21
+ shutdown(): Promise<void>;
22
+ createDataTable(projectId: string, dto: CreateDataTableDto): Promise<import("./data-table.entity").DataTable>;
23
+ updateDataTable(dataTableId: string, projectId: string, dto: UpdateDataTableDto): Promise<boolean>;
24
+ transferDataTablesByProjectId(fromProjectId: string, toProjectId: string): Promise<boolean>;
25
+ deleteDataTableByProjectId(projectId: string): Promise<boolean>;
26
+ deleteDataTableAll(): Promise<boolean>;
27
+ deleteDataTable(dataTableId: string, projectId: string): Promise<boolean>;
28
+ addColumn(dataTableId: string, projectId: string, dto: AddDataTableColumnDto): Promise<DataTableColumn>;
29
+ moveColumn(dataTableId: string, projectId: string, columnId: string, dto: MoveDataTableColumnDto): Promise<boolean>;
30
+ deleteColumn(dataTableId: string, projectId: string, columnId: string): Promise<boolean>;
31
+ getManyAndCount(options: DataTableListOptions): Promise<{
32
+ count: number;
33
+ data: import("./data-table.entity").DataTable[];
34
+ }>;
35
+ getManyRowsAndCount(dataTableId: string, projectId: string, dto: ListDataTableContentQueryDto): Promise<{
36
+ count: number;
37
+ data: import("n8n-workflow").DataTableRowsReturn;
38
+ }>;
39
+ getColumns(dataTableId: string, projectId: string): Promise<DataTableColumn[]>;
40
+ insertRows<T extends DataTableInsertRowsReturnType = 'count'>(dataTableId: string, projectId: string, rows: DataTableRows, returnType?: T): Promise<DataTableInsertRowsResult<T>>;
41
+ upsertRow<T extends boolean | undefined>(dataTableId: string, projectId: string, dto: Omit<UpsertDataTableRowDto, 'returnData' | 'dryRun'>, returnData: true, dryRun?: boolean): Promise<DataTableRowReturn[] | DataTableRowReturnWithState[]>;
42
+ upsertRow(dataTableId: string, projectId: string, dto: Omit<UpsertDataTableRowDto, 'returnData' | 'dryRun'>, returnData?: boolean, dryRun?: true): Promise<DataTableRowReturnWithState[]>;
43
+ upsertRow(dataTableId: string, projectId: string, dto: Omit<UpsertDataTableRowDto, 'returnData' | 'dryRun'>, returnData?: false, dryRun?: false): Promise<true>;
44
+ validateAndTransformUpdateParams({ filter, data }: Pick<UpdateDataTableRowDto, 'filter' | 'data'>, columns: DataTableColumn[]): {
45
+ data: DataTableRow;
46
+ filter: DataTableFilter;
47
+ };
48
+ updateRows<T extends boolean | undefined>(dataTableId: string, projectId: string, dto: Omit<UpdateDataTableRowDto, 'returnData' | 'dryRun'>, returnData: true, dryRun?: boolean): Promise<DataTableRowReturn[] | DataTableRowReturnWithState[]>;
49
+ updateRows(dataTableId: string, projectId: string, dto: Omit<UpdateDataTableRowDto, 'returnData' | 'dryRun'>, returnData?: boolean, dryRun?: true): Promise<DataTableRowReturnWithState[]>;
50
+ updateRows(dataTableId: string, projectId: string, dto: Omit<UpdateDataTableRowDto, 'returnData' | 'dryRun'>, returnData?: false, dryRun?: false): Promise<true>;
51
+ deleteRows(dataTableId: string, projectId: string, dto: Omit<DeleteDataTableRowsDto, 'returnData' | 'dryRun'>, returnData: true, dryRun?: boolean): Promise<DataTableRowReturn[]>;
52
+ deleteRows(dataTableId: string, projectId: string, dto: Omit<DeleteDataTableRowsDto, 'returnData' | 'dryRun'>, returnData?: boolean, dryRun?: true): Promise<DataTableRowReturn[]>;
53
+ deleteRows(dataTableId: string, projectId: string, dto: Omit<DeleteDataTableRowsDto, 'returnData' | 'dryRun'>, returnData?: false, dryRun?: false): Promise<true>;
54
+ private validateAndTransformRows;
55
+ private validateAndTransformCell;
56
+ private validateDataTableExists;
57
+ private validateColumnExists;
58
+ private validateUniqueName;
59
+ private validateAndTransformFilters;
60
+ private validateDataTableSize;
61
+ getDataTablesSize(user: User): Promise<DataTablesSizeResult>;
62
+ }