n8n 2.7.3 → 2.8.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 (312) hide show
  1. package/dist/active-workflow-manager.js +0 -1
  2. package/dist/active-workflow-manager.js.map +1 -1
  3. package/dist/auth/auth-handler.registry.d.ts +15 -0
  4. package/dist/auth/auth-handler.registry.js +87 -0
  5. package/dist/auth/auth-handler.registry.js.map +1 -0
  6. package/dist/auth/handlers/email.auth-handler.d.ts +19 -0
  7. package/dist/auth/handlers/email.auth-handler.js +52 -0
  8. package/dist/auth/handlers/email.auth-handler.js.map +1 -0
  9. package/dist/build.tsbuildinfo +1 -1
  10. package/dist/chat/chat-service.types.d.ts +2 -2
  11. package/dist/commands/base-command.js +5 -2
  12. package/dist/commands/base-command.js.map +1 -1
  13. package/dist/commands/start.js +17 -0
  14. package/dist/commands/start.js.map +1 -1
  15. package/dist/controllers/ai.controller.js +2 -0
  16. package/dist/controllers/ai.controller.js.map +1 -1
  17. package/dist/controllers/auth.controller.d.ts +8 -1
  18. package/dist/controllers/auth.controller.js +66 -85
  19. package/dist/controllers/auth.controller.js.map +1 -1
  20. package/dist/controllers/dynamic-node-parameters.controller.d.ts +2 -2
  21. package/dist/controllers/dynamic-node-parameters.controller.js +13 -13
  22. package/dist/controllers/dynamic-node-parameters.controller.js.map +1 -1
  23. package/dist/controllers/e2e.controller.d.ts +4 -0
  24. package/dist/controllers/e2e.controller.js +18 -0
  25. package/dist/controllers/e2e.controller.js.map +1 -1
  26. package/dist/controllers/me.controller.d.ts +2 -2
  27. package/dist/controllers/me.controller.js +1 -1
  28. package/dist/controllers/me.controller.js.map +1 -1
  29. package/dist/controllers/mfa.controller.js +11 -0
  30. package/dist/controllers/mfa.controller.js.map +1 -1
  31. package/dist/controllers/security-settings.controller.d.ts +18 -0
  32. package/dist/controllers/security-settings.controller.js +96 -0
  33. package/dist/controllers/security-settings.controller.js.map +1 -0
  34. package/dist/controllers/users.controller.js.map +1 -1
  35. package/dist/credentials/credentials-finder.service.d.ts +1 -5
  36. package/dist/credentials/credentials-finder.service.js +2 -2
  37. package/dist/credentials/credentials-finder.service.js.map +1 -1
  38. package/dist/eventbus/event-message-classes/event-message-audit.d.ts +4 -0
  39. package/dist/eventbus/event-message-classes/event-message-audit.js.map +1 -1
  40. package/dist/eventbus/event-message-classes/index.d.ts +2 -2
  41. package/dist/eventbus/event-message-classes/index.js +7 -0
  42. package/dist/eventbus/event-message-classes/index.js.map +1 -1
  43. package/dist/events/maps/relay.event-map.d.ts +14 -0
  44. package/dist/events/relays/log-streaming.event-relay.d.ts +2 -0
  45. package/dist/events/relays/log-streaming.event-relay.js +60 -2
  46. package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
  47. package/dist/events/relays/telemetry.event-relay.d.ts +1 -0
  48. package/dist/events/relays/telemetry.event-relay.js +7 -0
  49. package/dist/events/relays/telemetry.event-relay.js.map +1 -1
  50. package/dist/execution-lifecycle/execution-lifecycle-hooks.js +14 -0
  51. package/dist/execution-lifecycle/execution-lifecycle-hooks.js.map +1 -1
  52. package/dist/modules/chat-hub/chat-hub-execution-store.service.d.ts +44 -0
  53. package/dist/modules/chat-hub/chat-hub-execution-store.service.js +159 -0
  54. package/dist/modules/chat-hub/chat-hub-execution-store.service.js.map +1 -0
  55. package/dist/modules/chat-hub/chat-hub-execution-watcher.service.d.ts +25 -0
  56. package/dist/modules/chat-hub/chat-hub-execution-watcher.service.js +205 -0
  57. package/dist/modules/chat-hub/chat-hub-execution-watcher.service.js.map +1 -0
  58. package/dist/modules/chat-hub/chat-hub-execution.service.d.ts +10 -12
  59. package/dist/modules/chat-hub/chat-hub-execution.service.js +93 -187
  60. package/dist/modules/chat-hub/chat-hub-execution.service.js.map +1 -1
  61. package/dist/modules/chat-hub/chat-hub-title.service.js +2 -2
  62. package/dist/modules/chat-hub/chat-hub-title.service.js.map +1 -1
  63. package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +1 -0
  64. package/dist/modules/chat-hub/chat-hub-workflow.service.js +101 -9
  65. package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
  66. package/dist/modules/chat-hub/chat-hub.constants.js +7 -3
  67. package/dist/modules/chat-hub/chat-hub.constants.js.map +1 -1
  68. package/dist/modules/chat-hub/chat-hub.models.service.d.ts +2 -2
  69. package/dist/modules/chat-hub/chat-hub.models.service.js.map +1 -1
  70. package/dist/modules/chat-hub/chat-hub.module.js +7 -0
  71. package/dist/modules/chat-hub/chat-hub.module.js.map +1 -1
  72. package/dist/modules/chat-hub/chat-hub.service.js +3 -6
  73. package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
  74. package/dist/modules/chat-hub/chat-stream-state.service.d.ts +4 -2
  75. package/dist/modules/chat-hub/chat-stream-state.service.js +11 -11
  76. package/dist/modules/chat-hub/chat-stream-state.service.js.map +1 -1
  77. package/dist/modules/chat-hub/chat-stream.service.d.ts +1 -1
  78. package/dist/modules/chat-hub/chat-stream.service.js +1 -1
  79. package/dist/modules/chat-hub/chat-stream.service.js.map +1 -1
  80. package/dist/modules/chat-hub/dto/chat-models-request.dto.d.ts +3 -2
  81. package/dist/modules/chat-hub/dto/chat-models-request.dto.js +1 -2
  82. package/dist/modules/chat-hub/dto/chat-models-request.dto.js.map +1 -1
  83. package/dist/modules/community-packages/community-node-types.service.d.ts +1 -0
  84. package/dist/modules/community-packages/community-node-types.service.js +30 -0
  85. package/dist/modules/community-packages/community-node-types.service.js.map +1 -1
  86. package/dist/modules/data-table/data-table.controller.d.ts +4 -1
  87. package/dist/modules/data-table/data-table.controller.js +23 -2
  88. package/dist/modules/data-table/data-table.controller.js.map +1 -1
  89. package/dist/modules/data-table/middleware/branch-write-access-middleware.d.ts +2 -0
  90. package/dist/modules/data-table/middleware/branch-write-access-middleware.js +15 -0
  91. package/dist/modules/data-table/middleware/branch-write-access-middleware.js.map +1 -0
  92. package/dist/modules/dynamic-credentials.ee/credential-resolvers/identifiers/oauth2-introspection-identifier.d.ts +2 -2
  93. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-web.service.js +2 -2
  94. package/dist/modules/dynamic-credentials.ee/services/dynamic-credential-web.service.js.map +1 -1
  95. package/dist/modules/external-secrets.ee/external-secrets-manager.ee.d.ts +16 -7
  96. package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js +63 -20
  97. package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js.map +1 -1
  98. package/dist/modules/external-secrets.ee/external-secrets-providers.ee.d.ts +2 -0
  99. package/dist/modules/external-secrets.ee/external-secrets-providers.ee.js +8 -0
  100. package/dist/modules/external-secrets.ee/external-secrets-providers.ee.js.map +1 -1
  101. package/dist/modules/external-secrets.ee/external-secrets.controller.ee.d.ts +7 -3
  102. package/dist/modules/external-secrets.ee/external-secrets.module.js +1 -1
  103. package/dist/modules/external-secrets.ee/external-secrets.module.js.map +1 -1
  104. package/dist/modules/external-secrets.ee/external-secrets.service.ee.d.ts +10 -5
  105. package/dist/modules/external-secrets.ee/external-secrets.service.ee.js +7 -45
  106. package/dist/modules/external-secrets.ee/external-secrets.service.ee.js.map +1 -1
  107. package/dist/modules/external-secrets.ee/redaction.service.ee.d.ts +7 -0
  108. package/dist/modules/external-secrets.ee/redaction.service.ee.js +56 -0
  109. package/dist/modules/external-secrets.ee/redaction.service.ee.js.map +1 -0
  110. package/dist/modules/external-secrets.ee/secrets-providers-completions.controller.ee.d.ts +15 -0
  111. package/dist/modules/external-secrets.ee/secrets-providers-completions.controller.ee.js +76 -0
  112. package/dist/modules/external-secrets.ee/secrets-providers-completions.controller.ee.js.map +1 -0
  113. package/dist/modules/external-secrets.ee/secrets-providers-connections.controller.ee.d.ts +10 -12
  114. package/dist/modules/external-secrets.ee/secrets-providers-connections.controller.ee.js +21 -42
  115. package/dist/modules/external-secrets.ee/secrets-providers-connections.controller.ee.js.map +1 -1
  116. package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.d.ts +16 -3
  117. package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.js +60 -5
  118. package/dist/modules/external-secrets.ee/secrets-providers-connections.service.ee.js.map +1 -1
  119. package/dist/modules/external-secrets.ee/secrets-providers-project.controller.ee.d.ts +8 -4
  120. package/dist/modules/external-secrets.ee/secrets-providers-project.controller.ee.js +20 -9
  121. package/dist/modules/external-secrets.ee/secrets-providers-project.controller.ee.js.map +1 -1
  122. package/dist/modules/external-secrets.ee/secrets-providers-types.controller.ee.d.ts +9 -5
  123. package/dist/modules/external-secrets.ee/secrets-providers-types.controller.ee.js +33 -13
  124. package/dist/modules/external-secrets.ee/secrets-providers-types.controller.ee.js.map +1 -1
  125. package/dist/modules/external-secrets.ee/secrets-providers.responses.ee.d.ts +9 -3
  126. package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +3 -3
  127. package/dist/modules/insights/insights.service.d.ts +3 -3
  128. package/dist/modules/ldap.ee/ldap.module.js +1 -4
  129. package/dist/modules/ldap.ee/ldap.module.js.map +1 -1
  130. package/dist/modules/ldap.ee/ldap.service.ee.d.ts +11 -4
  131. package/dist/modules/ldap.ee/ldap.service.ee.js +5 -2
  132. package/dist/modules/ldap.ee/ldap.service.ee.js.map +1 -1
  133. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-syslog.ee.js +1 -1
  134. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-syslog.ee.js.map +1 -1
  135. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js +10 -1
  136. package/dist/modules/log-streaming.ee/destinations/message-event-bus-destination-webhook.ee.js.map +1 -1
  137. package/dist/modules/mcp/dto/approve-consent-request.dto.d.ts +3 -2
  138. package/dist/modules/mcp/dto/approve-consent-request.dto.js +2 -2
  139. package/dist/modules/mcp/dto/approve-consent-request.dto.js.map +1 -1
  140. package/dist/modules/mcp/dto/update-mcp-settings.dto.d.ts +3 -2
  141. package/dist/modules/mcp/dto/update-mcp-settings.dto.js +2 -2
  142. package/dist/modules/mcp/dto/update-mcp-settings.dto.js.map +1 -1
  143. package/dist/modules/mcp/dto/update-workflow-availability.dto.d.ts +3 -2
  144. package/dist/modules/mcp/dto/update-workflow-availability.dto.js +2 -2
  145. package/dist/modules/mcp/dto/update-workflow-availability.dto.js.map +1 -1
  146. package/dist/modules/mcp/mcp.service.d.ts +15 -2
  147. package/dist/modules/mcp/mcp.service.js +66 -3
  148. package/dist/modules/mcp/mcp.service.js.map +1 -1
  149. package/dist/modules/mcp/tools/execute-workflow.tool.d.ts +3 -2
  150. package/dist/modules/mcp/tools/execute-workflow.tool.js +18 -9
  151. package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -1
  152. package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
  153. package/dist/modules/mcp/tools/search-workflows.tool.js +1 -1
  154. package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
  155. package/dist/modules/quick-connect/handlers/quick-connect.handler.d.ts +11 -0
  156. package/dist/modules/quick-connect/handlers/quick-connect.handler.js +26 -0
  157. package/dist/modules/quick-connect/handlers/quick-connect.handler.js.map +1 -0
  158. package/dist/modules/quick-connect/handlers/sample.handler.d.ts +7 -0
  159. package/dist/modules/quick-connect/handlers/sample.handler.js +27 -0
  160. package/dist/modules/quick-connect/handlers/sample.handler.js.map +1 -0
  161. package/dist/modules/quick-connect/quick-connect.config.d.ts +95 -0
  162. package/dist/modules/quick-connect/quick-connect.config.js +48 -0
  163. package/dist/modules/quick-connect/quick-connect.config.js.map +1 -0
  164. package/dist/modules/quick-connect/quick-connect.controller.d.ts +10 -0
  165. package/dist/modules/quick-connect/quick-connect.controller.js +39 -0
  166. package/dist/modules/quick-connect/quick-connect.controller.js.map +1 -0
  167. package/dist/modules/quick-connect/quick-connect.errors.d.ts +5 -0
  168. package/dist/modules/quick-connect/quick-connect.errors.js +12 -0
  169. package/dist/modules/quick-connect/quick-connect.errors.js.map +1 -0
  170. package/dist/modules/quick-connect/quick-connect.module.d.ts +15 -0
  171. package/dist/modules/quick-connect/quick-connect.module.js +70 -0
  172. package/dist/modules/quick-connect/quick-connect.module.js.map +1 -0
  173. package/dist/modules/quick-connect/quick-connect.service.d.ts +17 -0
  174. package/dist/modules/quick-connect/quick-connect.service.js +87 -0
  175. package/dist/modules/quick-connect/quick-connect.service.js.map +1 -0
  176. package/dist/modules/source-control.ee/constants.d.ts +2 -0
  177. package/dist/modules/source-control.ee/constants.js +3 -1
  178. package/dist/modules/source-control.ee/constants.js.map +1 -1
  179. package/dist/modules/source-control.ee/source-control-export.service.ee.d.ts +6 -1
  180. package/dist/modules/source-control.ee/source-control-export.service.ee.js +136 -19
  181. package/dist/modules/source-control.ee/source-control-export.service.ee.js.map +1 -1
  182. package/dist/modules/source-control.ee/source-control-helper.ee.d.ts +10 -2
  183. package/dist/modules/source-control.ee/source-control-helper.ee.js +81 -5
  184. package/dist/modules/source-control.ee/source-control-helper.ee.js.map +1 -1
  185. package/dist/modules/source-control.ee/source-control-import.service.ee.d.ts +15 -1
  186. package/dist/modules/source-control.ee/source-control-import.service.ee.js +209 -3
  187. package/dist/modules/source-control.ee/source-control-import.service.ee.js.map +1 -1
  188. package/dist/modules/source-control.ee/source-control-scoped.service.d.ts +2 -0
  189. package/dist/modules/source-control.ee/source-control-scoped.service.js +8 -0
  190. package/dist/modules/source-control.ee/source-control-scoped.service.js.map +1 -1
  191. package/dist/modules/source-control.ee/source-control-status.service.ee.d.ts +3 -0
  192. package/dist/modules/source-control.ee/source-control-status.service.ee.js +494 -328
  193. package/dist/modules/source-control.ee/source-control-status.service.ee.js.map +1 -1
  194. package/dist/modules/source-control.ee/source-control.controller.ee.d.ts +2 -2
  195. package/dist/modules/source-control.ee/source-control.service.ee.d.ts +1 -1
  196. package/dist/modules/source-control.ee/source-control.service.ee.js +12 -1
  197. package/dist/modules/source-control.ee/source-control.service.ee.js.map +1 -1
  198. package/dist/modules/source-control.ee/types/exportable-data-table.d.ts +20 -0
  199. package/dist/modules/source-control.ee/types/exportable-data-table.js +3 -0
  200. package/dist/modules/source-control.ee/types/exportable-data-table.js.map +1 -0
  201. package/dist/modules/source-control.ee/types/source-control-get-status.d.ts +4 -0
  202. package/dist/modules/source-control.ee/types/source-control-get-status.js.map +1 -1
  203. package/dist/modules/sso-oidc/oidc.service.ee.js +7 -4
  204. package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
  205. package/dist/modules/sso-saml/saml.controller.ee.d.ts +10 -3
  206. package/dist/modules/workflow-index/workflow-index.service.d.ts +4 -2
  207. package/dist/modules/workflow-index/workflow-index.service.js +56 -29
  208. package/dist/modules/workflow-index/workflow-index.service.js.map +1 -1
  209. package/dist/oauth/oauth.service.js +9 -3
  210. package/dist/oauth/oauth.service.js.map +1 -1
  211. package/dist/public-api/types.d.ts +5 -0
  212. package/dist/public-api/v1/handlers/credentials/credentials.handler.d.ts +15 -0
  213. package/dist/public-api/v1/handlers/credentials/credentials.handler.js +37 -0
  214. package/dist/public-api/v1/handlers/credentials/credentials.handler.js.map +1 -1
  215. package/dist/public-api/v1/handlers/credentials/credentials.service.d.ts +8 -0
  216. package/dist/public-api/v1/handlers/credentials/credentials.service.js +13 -0
  217. package/dist/public-api/v1/handlers/credentials/credentials.service.js.map +1 -1
  218. package/dist/public-api/v1/handlers/projects/projects.handler.d.ts +4 -0
  219. package/dist/public-api/v1/handlers/projects/projects.handler.js +57 -0
  220. package/dist/public-api/v1/handlers/projects/projects.handler.js.map +1 -1
  221. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +15 -15
  222. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  223. package/dist/public-api/v1/openapi.yml +185 -31
  224. package/dist/push/abstract.push.js +2 -0
  225. package/dist/push/abstract.push.js.map +1 -1
  226. package/dist/scaling/constants.d.ts +1 -0
  227. package/dist/scaling/constants.js +2 -1
  228. package/dist/scaling/constants.js.map +1 -1
  229. package/dist/scaling/job-processor.d.ts +1 -0
  230. package/dist/scaling/job-processor.js +106 -0
  231. package/dist/scaling/job-processor.js.map +1 -1
  232. package/dist/scaling/pubsub/publisher.service.d.ts +4 -0
  233. package/dist/scaling/pubsub/publisher.service.js +14 -0
  234. package/dist/scaling/pubsub/publisher.service.js.map +1 -1
  235. package/dist/scaling/pubsub/subscriber.service.d.ts +10 -0
  236. package/dist/scaling/pubsub/subscriber.service.js +25 -0
  237. package/dist/scaling/pubsub/subscriber.service.js.map +1 -1
  238. package/dist/scaling/scaling.service.d.ts +1 -0
  239. package/dist/scaling/scaling.service.js +54 -0
  240. package/dist/scaling/scaling.service.js.map +1 -1
  241. package/dist/scaling/scaling.types.d.ts +20 -1
  242. package/dist/server.d.ts +1 -0
  243. package/dist/server.js +1 -0
  244. package/dist/server.js.map +1 -1
  245. package/dist/services/dynamic-node-parameters.service.d.ts +5 -3
  246. package/dist/services/dynamic-node-parameters.service.js +20 -3
  247. package/dist/services/dynamic-node-parameters.service.js.map +1 -1
  248. package/dist/services/folder.service.js +1 -1
  249. package/dist/services/folder.service.js.map +1 -1
  250. package/dist/services/frontend.service.d.ts +1 -0
  251. package/dist/services/frontend.service.js +9 -2
  252. package/dist/services/frontend.service.js.map +1 -1
  253. package/dist/services/rate-limit.service.d.ts +1 -1
  254. package/dist/services/rate-limit.service.js +1 -1
  255. package/dist/services/rate-limit.service.js.map +1 -1
  256. package/dist/services/role.service.d.ts +6 -3
  257. package/dist/services/role.service.js +39 -2
  258. package/dist/services/role.service.js.map +1 -1
  259. package/dist/services/security-settings.service.d.ts +20 -0
  260. package/dist/services/security-settings.service.js +68 -0
  261. package/dist/services/security-settings.service.js.map +1 -0
  262. package/dist/task-runners/task-broker/task-broker-ws-server.d.ts +4 -2
  263. package/dist/task-runners/task-broker/task-broker-ws-server.js +24 -2
  264. package/dist/task-runners/task-broker/task-broker-ws-server.js.map +1 -1
  265. package/dist/task-runners/task-broker/task-broker.service.d.ts +4 -0
  266. package/dist/task-runners/task-broker/task-broker.service.js +19 -0
  267. package/dist/task-runners/task-broker/task-broker.service.js.map +1 -1
  268. package/dist/telemetry/index.js +3 -0
  269. package/dist/telemetry/index.js.map +1 -1
  270. package/dist/webhooks/live-webhooks.js +2 -3
  271. package/dist/webhooks/live-webhooks.js.map +1 -1
  272. package/dist/webhooks/webhook-helpers.js +66 -7
  273. package/dist/webhooks/webhook-helpers.js.map +1 -1
  274. package/dist/workflow-runner.js +8 -2
  275. package/dist/workflow-runner.js.map +1 -1
  276. package/dist/workflows/workflow-finder.service.d.ts +2 -0
  277. package/dist/workflows/workflow-finder.service.js +22 -2
  278. package/dist/workflows/workflow-finder.service.js.map +1 -1
  279. package/dist/workflows/workflow-history/workflow-history-manager.d.ts +3 -1
  280. package/dist/workflows/workflow-history/workflow-history-manager.js +7 -3
  281. package/dist/workflows/workflow-history/workflow-history-manager.js.map +1 -1
  282. package/dist/workflows/workflow-history/workflow-history.controller.d.ts +6 -1
  283. package/dist/workflows/workflow-history/workflow-history.controller.js +24 -0
  284. package/dist/workflows/workflow-history/workflow-history.controller.js.map +1 -1
  285. package/dist/workflows/workflow-history/workflow-history.service.d.ts +7 -3
  286. package/dist/workflows/workflow-history/workflow-history.service.js +41 -4
  287. package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
  288. package/dist/workflows/workflow-sharing.service.d.ts +1 -1
  289. package/dist/workflows/workflow-sharing.service.js +2 -2
  290. package/dist/workflows/workflow-sharing.service.js.map +1 -1
  291. package/dist/workflows/workflow-validation.service.d.ts +4 -2
  292. package/dist/workflows/workflow-validation.service.js +93 -1
  293. package/dist/workflows/workflow-validation.service.js.map +1 -1
  294. package/dist/workflows/workflow.service.d.ts +13 -6
  295. package/dist/workflows/workflow.service.ee.js +11 -4
  296. package/dist/workflows/workflow.service.ee.js.map +1 -1
  297. package/dist/workflows/workflow.service.js +70 -47
  298. package/dist/workflows/workflow.service.js.map +1 -1
  299. package/dist/workflows/workflows.controller.d.ts +3 -3
  300. package/dist/workflows/workflows.controller.js +16 -8
  301. package/dist/workflows/workflows.controller.js.map +1 -1
  302. package/package.json +28 -23
  303. package/templates/form-trigger-completion.handlebars +1 -1
  304. package/dist/auth/index.d.ts +0 -1
  305. package/dist/auth/index.js +0 -18
  306. package/dist/auth/index.js.map +0 -1
  307. package/dist/auth/methods/email.d.ts +0 -2
  308. package/dist/auth/methods/email.js +0 -26
  309. package/dist/auth/methods/email.js.map +0 -1
  310. package/dist/modules/external-secrets.ee/secrets-providers-autocomplete.controller.ee.d.ts +0 -11
  311. package/dist/modules/external-secrets.ee/secrets-providers-autocomplete.controller.ee.js +0 -64
  312. package/dist/modules/external-secrets.ee/secrets-providers-autocomplete.controller.ee.js.map +0 -1
@@ -40,11 +40,13 @@ exports.stringContainsExpression = stringContainsExpression;
40
40
  exports.getWorkflowExportPath = getWorkflowExportPath;
41
41
  exports.getProjectExportPath = getProjectExportPath;
42
42
  exports.getCredentialExportPath = getCredentialExportPath;
43
+ exports.getDataTableExportPath = getDataTableExportPath;
43
44
  exports.getVariablesPath = getVariablesPath;
44
45
  exports.getTagsPath = getTagsPath;
45
46
  exports.getFoldersPath = getFoldersPath;
46
47
  exports.readTagAndMappingsFromSourceControlFile = readTagAndMappingsFromSourceControlFile;
47
48
  exports.readFoldersFromSourceControlFile = readFoldersFromSourceControlFile;
49
+ exports.readDataTablesFromSourceControlFile = readDataTablesFromSourceControlFile;
48
50
  exports.sourceControlFoldersExistCheck = sourceControlFoldersExistCheck;
49
51
  exports.isSourceControlLicensed = isSourceControlLicensed;
50
52
  exports.generateSshKeyPair = generateSshKeyPair;
@@ -55,6 +57,9 @@ exports.getTrackingInformationFromPostPushResult = getTrackingInformationFromPos
55
57
  exports.normalizeAndValidateSourceControlledFilePath = normalizeAndValidateSourceControlledFilePath;
56
58
  exports.hasOwnerChanged = hasOwnerChanged;
57
59
  exports.isWorkflowModified = isWorkflowModified;
60
+ exports.isDataTableModified = isDataTableModified;
61
+ exports.isValidDataTableColumnType = isValidDataTableColumnType;
62
+ exports.areSameCredentials = areSameCredentials;
58
63
  const backend_common_1 = require("@n8n/backend-common");
59
64
  const di_1 = require("@n8n/di");
60
65
  const crypto_1 = require("crypto");
@@ -77,6 +82,9 @@ function getProjectExportPath(projectId, projectExportFolder) {
77
82
  function getCredentialExportPath(credentialId, credentialExportFolder) {
78
83
  return (0, backend_common_1.safeJoinPath)(credentialExportFolder, `${credentialId}.json`);
79
84
  }
85
+ function getDataTableExportPath(dataTableId, dataTableExportFolder) {
86
+ return (0, backend_common_1.safeJoinPath)(dataTableExportFolder, `${dataTableId}.json`);
87
+ }
80
88
  function getVariablesPath(gitFolder) {
81
89
  return (0, backend_common_1.safeJoinPath)(gitFolder, constants_1.SOURCE_CONTROL_VARIABLES_EXPORT_FILE);
82
90
  }
@@ -97,6 +105,12 @@ async function readTagAndMappingsFromSourceControlFile(file) {
97
105
  throw error;
98
106
  }
99
107
  }
108
+ function isErrnoException(error) {
109
+ return (typeof error === 'object' &&
110
+ error !== null &&
111
+ 'code' in error &&
112
+ typeof error.code === 'string');
113
+ }
100
114
  async function readFoldersFromSourceControlFile(file) {
101
115
  try {
102
116
  return (0, n8n_workflow_1.jsonParse)(await (0, promises_1.readFile)(file, { encoding: 'utf8' }), {
@@ -104,12 +118,25 @@ async function readFoldersFromSourceControlFile(file) {
104
118
  });
105
119
  }
106
120
  catch (error) {
107
- if (error.code === 'ENOENT') {
121
+ if (isErrnoException(error) && error.code === 'ENOENT') {
108
122
  return { folders: [] };
109
123
  }
110
124
  throw error;
111
125
  }
112
126
  }
127
+ async function readDataTablesFromSourceControlFile(file) {
128
+ try {
129
+ return (0, n8n_workflow_1.jsonParse)(await (0, promises_1.readFile)(file, { encoding: 'utf8' }), {
130
+ fallbackValue: [],
131
+ });
132
+ }
133
+ catch (error) {
134
+ if (isErrnoException(error) && error.code === 'ENOENT') {
135
+ return [];
136
+ }
137
+ throw error;
138
+ }
139
+ }
113
140
  function sourceControlFoldersExistCheck(folders, createIfNotExists = true) {
114
141
  let existed = true;
115
142
  folders.forEach((folder) => {
@@ -183,9 +210,12 @@ function getRepoType(repoUrl) {
183
210
  return 'other';
184
211
  }
185
212
  function filterSourceControlledFilesUniqueIds(files) {
186
- return (files.filter((file, index, self) => {
213
+ if (!files || !Array.isArray(files)) {
214
+ return [];
215
+ }
216
+ return files.filter((file, index, self) => {
187
217
  return self.findIndex((f) => f.id === file.id) === index;
188
- }) || []);
218
+ });
189
219
  }
190
220
  function getTrackingInformationFromPullResult(userId, result) {
191
221
  const uniques = filterSourceControlledFilesUniqueIds(result);
@@ -228,10 +258,23 @@ function normalizeAndValidateSourceControlledFilePath(gitFolderPath, filePath) {
228
258
  return normalizedPath;
229
259
  }
230
260
  function hasOwnerChanged(owner1, owner2) {
231
- if (owner1?.type !== 'team' && owner2?.type !== 'team') {
261
+ if (!owner1 || !owner2) {
262
+ const existingOwner = owner1 || owner2;
263
+ if (!existingOwner)
264
+ return false;
265
+ if (typeof existingOwner === 'string')
266
+ return false;
267
+ return existingOwner.type === 'team';
268
+ }
269
+ if (typeof owner1 === 'string') {
270
+ return false;
271
+ }
272
+ if (owner1.type !== 'team' && owner2.type !== 'team') {
232
273
  return false;
233
274
  }
234
- return owner1?.projectId !== owner2?.projectId;
275
+ const owner1TeamId = 'teamId' in owner1 ? owner1.teamId : owner1.projectId;
276
+ const owner2TeamId = 'teamId' in owner2 ? owner2.teamId : owner2.projectId;
277
+ return owner1TeamId !== owner2TeamId;
235
278
  }
236
279
  function isWorkflowModified(local, remote) {
237
280
  const hasVersionIdChanged = remote.versionId !== local.versionId;
@@ -239,4 +282,37 @@ function isWorkflowModified(local, remote) {
239
282
  const ownerChanged = hasOwnerChanged(remote.owner, local.owner);
240
283
  return hasVersionIdChanged || hasParentFolderIdChanged || ownerChanged;
241
284
  }
285
+ function areDataTableColumnsEqual(localColumns, remoteColumns) {
286
+ if (localColumns.length !== remoteColumns.length) {
287
+ return false;
288
+ }
289
+ const sortedLocal = [...localColumns].sort((a, b) => a.id.localeCompare(b.id));
290
+ const sortedRemote = [...remoteColumns].sort((a, b) => a.id.localeCompare(b.id));
291
+ return sortedLocal.every((localCol, idx) => {
292
+ const remoteCol = sortedRemote[idx];
293
+ return (localCol.id === remoteCol.id &&
294
+ localCol.name === remoteCol.name &&
295
+ localCol.type === remoteCol.type &&
296
+ localCol.index === remoteCol.index);
297
+ });
298
+ }
299
+ function isDataTableModified(localDt, remoteDt) {
300
+ if (localDt.name !== remoteDt.name) {
301
+ return true;
302
+ }
303
+ const ownerChanged = hasOwnerChanged(remoteDt.ownedBy, localDt.ownedBy);
304
+ if (ownerChanged) {
305
+ return true;
306
+ }
307
+ return !areDataTableColumnsEqual(localDt.columns, remoteDt.columns);
308
+ }
309
+ function isValidDataTableColumnType(type) {
310
+ return ['string', 'number', 'boolean', 'date'].includes(type);
311
+ }
312
+ function areSameCredentials(credA, credB) {
313
+ return (credA.name === credB.name &&
314
+ credA.type === credB.type &&
315
+ !hasOwnerChanged(credA.ownedBy, credB.ownedBy) &&
316
+ Boolean(credA.isGlobal) === Boolean(credB.isGlobal));
317
+ }
242
318
  //# sourceMappingURL=source-control-helper.ee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"source-control-helper.ee.js","sourceRoot":"","sources":["../../../src/modules/source-control.ee/source-control-helper.ee.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-control-helper.ee.js","sourceRoot":"","sources":["../../../src/modules/source-control.ee/source-control-helper.ee.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@ import type { SourceControlledFile } from '@n8n/api-types';
2
2
  import { Logger } from '@n8n/backend-common';
3
3
  import type { TagEntity, User, Variables } from '@n8n/db';
4
4
  import { CredentialsRepository, FolderRepository, ProjectRelationRepository, ProjectRepository, SharedCredentialsRepository, SharedWorkflowRepository, TagRepository, UserRepository, VariablesRepository, WorkflowRepository, WorkflowTagMapping, WorkflowTagMappingRepository } from '@n8n/db';
5
+ import { DataTableRepository } from '../../modules/data-table/data-table.repository';
6
+ import { DataTableColumnRepository } from '../../modules/data-table/data-table-column.repository';
7
+ import { DataTableDDLService } from '../../modules/data-table/data-table-ddl.service';
5
8
  import { ErrorReporter, InstanceSettings } from 'n8n-core';
6
9
  import { type AutoPublishMode } from 'n8n-workflow';
7
10
  import { CredentialsService } from '../../credentials/credentials.service';
@@ -10,6 +13,7 @@ import { WorkflowHistoryService } from '../../workflows/workflow-history/workflo
10
13
  import { WorkflowService } from '../../workflows/workflow.service';
11
14
  import { SourceControlScopedService } from './source-control-scoped.service';
12
15
  import type { StatusExportableCredential } from './types/exportable-credential';
16
+ import type { ExportableDataTable, StatusExportableDataTable } from './types/exportable-data-table';
13
17
  import type { ExportableFolder } from './types/exportable-folders';
14
18
  import type { ExportableProjectWithFileName } from './types/exportable-project';
15
19
  import type { ExportableTags } from './types/exportable-tags';
@@ -37,11 +41,15 @@ export declare class SourceControlImportService {
37
41
  private readonly folderRepository;
38
42
  private readonly sourceControlScopedService;
39
43
  private readonly workflowHistoryService;
44
+ private readonly dataTableRepository;
45
+ private readonly dataTableColumnRepository;
46
+ private readonly dataTableDDLService;
40
47
  private gitFolder;
41
48
  private workflowExportFolder;
42
49
  private credentialExportFolder;
43
50
  private projectExportFolder;
44
- constructor(logger: Logger, errorReporter: ErrorReporter, variablesService: VariablesService, credentialsRepository: CredentialsRepository, projectRepository: ProjectRepository, projectRelationRepository: ProjectRelationRepository, tagRepository: TagRepository, sharedWorkflowRepository: SharedWorkflowRepository, sharedCredentialsRepository: SharedCredentialsRepository, userRepository: UserRepository, variablesRepository: VariablesRepository, workflowRepository: WorkflowRepository, workflowTagMappingRepository: WorkflowTagMappingRepository, workflowService: WorkflowService, credentialsService: CredentialsService, tagService: TagService, folderRepository: FolderRepository, instanceSettings: InstanceSettings, sourceControlScopedService: SourceControlScopedService, workflowHistoryService: WorkflowHistoryService);
51
+ private dataTableExportFolder;
52
+ constructor(logger: Logger, errorReporter: ErrorReporter, variablesService: VariablesService, credentialsRepository: CredentialsRepository, projectRepository: ProjectRepository, projectRelationRepository: ProjectRelationRepository, tagRepository: TagRepository, sharedWorkflowRepository: SharedWorkflowRepository, sharedCredentialsRepository: SharedCredentialsRepository, userRepository: UserRepository, variablesRepository: VariablesRepository, workflowRepository: WorkflowRepository, workflowTagMappingRepository: WorkflowTagMappingRepository, workflowService: WorkflowService, credentialsService: CredentialsService, tagService: TagService, folderRepository: FolderRepository, instanceSettings: InstanceSettings, sourceControlScopedService: SourceControlScopedService, workflowHistoryService: WorkflowHistoryService, dataTableRepository: DataTableRepository, dataTableColumnRepository: DataTableColumnRepository, dataTableDDLService: DataTableDDLService);
45
53
  getRemoteVersionIdsFromFiles(context: SourceControlContext): Promise<SourceControlWorkflowVersionId[]>;
46
54
  getAllLocalVersionIdsFromDb(): Promise<SourceControlWorkflowVersionId[]>;
47
55
  getLocalVersionIdsFromDb(context: SourceControlContext): Promise<SourceControlWorkflowVersionId[]>;
@@ -49,6 +57,8 @@ export declare class SourceControlImportService {
49
57
  getLocalCredentialsFromDb(context: SourceControlContext): Promise<StatusExportableCredential[]>;
50
58
  getRemoteVariablesFromFile(): Promise<ExportableVariable[]>;
51
59
  getLocalGlobalVariablesFromDb(): Promise<Variables[]>;
60
+ getRemoteDataTablesFromFiles(): Promise<ExportableDataTable[]>;
61
+ getLocalDataTablesFromDb(): Promise<StatusExportableDataTable[]>;
52
62
  getRemoteFoldersAndMappingsFromFile(context: SourceControlContext): Promise<{
53
63
  folders: ExportableFolder[];
54
64
  }>;
@@ -93,6 +103,9 @@ export declare class SourceControlImportService {
93
103
  }): Promise<{
94
104
  imported: string[];
95
105
  } | undefined>;
106
+ importDataTablesFromWorkFolder(candidates: SourceControlledFile[], userId: string): Promise<{
107
+ imported: string[];
108
+ } | undefined>;
96
109
  importTeamProjectsFromWorkFolder(candidates: SourceControlledFile[], pullingUserId: string): Promise<{
97
110
  id: string;
98
111
  name: string;
@@ -100,6 +113,7 @@ export declare class SourceControlImportService {
100
113
  deleteWorkflowsNotInWorkfolder(user: User, candidates: SourceControlledFile[]): Promise<void>;
101
114
  deleteCredentialsNotInWorkfolder(user: User, candidates: SourceControlledFile[]): Promise<void>;
102
115
  deleteVariablesNotInWorkfolder(candidates: SourceControlledFile[]): Promise<void>;
116
+ deleteDataTablesNotInWorkFolder(candidates: SourceControlledFile[]): Promise<void>;
103
117
  deleteTagsNotInWorkfolder(candidates: SourceControlledFile[]): Promise<void>;
104
118
  deleteFoldersNotInWorkfolder(candidates: SourceControlledFile[]): Promise<void>;
105
119
  deleteTeamProjectsNotInWorkfolder(candidates: SourceControlledFile[]): Promise<void>;
@@ -15,6 +15,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.SourceControlImportService = void 0;
16
16
  const backend_common_1 = require("@n8n/backend-common");
17
17
  const db_1 = require("@n8n/db");
18
+ const data_table_repository_1 = require("../../modules/data-table/data-table.repository");
19
+ const data_table_column_repository_1 = require("../../modules/data-table/data-table-column.repository");
20
+ const data_table_column_entity_1 = require("../../modules/data-table/data-table-column.entity");
21
+ const data_table_ddl_service_1 = require("../../modules/data-table/data-table-ddl.service");
18
22
  const di_1 = require("@n8n/di");
19
23
  const permissions_1 = require("@n8n/permissions");
20
24
  const typeorm_1 = require("@n8n/typeorm");
@@ -68,7 +72,7 @@ const getOwnerFromProject = (remoteOwnerProject) => {
68
72
  return owner;
69
73
  };
70
74
  let SourceControlImportService = class SourceControlImportService {
71
- constructor(logger, errorReporter, variablesService, credentialsRepository, projectRepository, projectRelationRepository, tagRepository, sharedWorkflowRepository, sharedCredentialsRepository, userRepository, variablesRepository, workflowRepository, workflowTagMappingRepository, workflowService, credentialsService, tagService, folderRepository, instanceSettings, sourceControlScopedService, workflowHistoryService) {
75
+ constructor(logger, errorReporter, variablesService, credentialsRepository, projectRepository, projectRelationRepository, tagRepository, sharedWorkflowRepository, sharedCredentialsRepository, userRepository, variablesRepository, workflowRepository, workflowTagMappingRepository, workflowService, credentialsService, tagService, folderRepository, instanceSettings, sourceControlScopedService, workflowHistoryService, dataTableRepository, dataTableColumnRepository, dataTableDDLService) {
72
76
  this.logger = logger;
73
77
  this.errorReporter = errorReporter;
74
78
  this.variablesService = variablesService;
@@ -88,10 +92,14 @@ let SourceControlImportService = class SourceControlImportService {
88
92
  this.folderRepository = folderRepository;
89
93
  this.sourceControlScopedService = sourceControlScopedService;
90
94
  this.workflowHistoryService = workflowHistoryService;
95
+ this.dataTableRepository = dataTableRepository;
96
+ this.dataTableColumnRepository = dataTableColumnRepository;
97
+ this.dataTableDDLService = dataTableDDLService;
91
98
  this.gitFolder = path_1.default.join(instanceSettings.n8nFolder, constants_1.SOURCE_CONTROL_GIT_FOLDER);
92
99
  this.workflowExportFolder = path_1.default.join(this.gitFolder, constants_1.SOURCE_CONTROL_WORKFLOW_EXPORT_FOLDER);
93
100
  this.credentialExportFolder = path_1.default.join(this.gitFolder, constants_1.SOURCE_CONTROL_CREDENTIAL_EXPORT_FOLDER);
94
101
  this.projectExportFolder = path_1.default.join(this.gitFolder, constants_1.SOURCE_CONTROL_PROJECT_EXPORT_FOLDER);
102
+ this.dataTableExportFolder = path_1.default.join(this.gitFolder, constants_1.SOURCE_CONTROL_DATATABLES_EXPORT_FOLDER);
95
103
  }
96
104
  async getRemoteVersionIdsFromFiles(context) {
97
105
  const remoteWorkflowFiles = await (0, fast_glob_1.default)('*.json', {
@@ -333,6 +341,81 @@ let SourceControlImportService = class SourceControlImportService {
333
341
  async getLocalGlobalVariablesFromDb() {
334
342
  return await this.variablesService.getAllCached({ globalOnly: true });
335
343
  }
344
+ async getRemoteDataTablesFromFiles() {
345
+ const dataTableFiles = await (0, fast_glob_1.default)('*.json', {
346
+ cwd: this.dataTableExportFolder,
347
+ absolute: true,
348
+ });
349
+ if (dataTableFiles.length === 0) {
350
+ return [];
351
+ }
352
+ const remoteTables = await Promise.all(dataTableFiles.map(async (file) => {
353
+ this.logger.debug(`Parsing data table file ${file}`);
354
+ const fileContent = await (0, promises_1.readFile)(file, { encoding: 'utf8' });
355
+ try {
356
+ return (0, n8n_workflow_2.jsonParse)(fileContent);
357
+ }
358
+ catch (error) {
359
+ this.logger.warn(`Failed to parse data table from file ${file}: invalid JSON format`);
360
+ return undefined;
361
+ }
362
+ }));
363
+ return remoteTables.filter((table) => !!table);
364
+ }
365
+ async getLocalDataTablesFromDb() {
366
+ try {
367
+ const dataTables = await this.dataTableRepository.find({
368
+ relations: [
369
+ 'columns',
370
+ 'project',
371
+ 'project.projectRelations',
372
+ 'project.projectRelations.role',
373
+ ],
374
+ });
375
+ return dataTables.map((table) => {
376
+ let ownedBy = null;
377
+ if (table.project?.type === 'personal') {
378
+ const ownerRelation = table.project.projectRelations?.find((pr) => pr.role.slug === permissions_1.PROJECT_OWNER_ROLE_SLUG);
379
+ if (ownerRelation) {
380
+ ownedBy = {
381
+ type: 'personal',
382
+ projectId: table.project.id,
383
+ projectName: table.project.name,
384
+ };
385
+ }
386
+ }
387
+ else if (table.project?.type === 'team') {
388
+ ownedBy = {
389
+ type: 'team',
390
+ projectId: table.project.id,
391
+ projectName: table.project.name,
392
+ };
393
+ }
394
+ return {
395
+ id: table.id,
396
+ name: table.name,
397
+ columns: (table.columns || [])
398
+ .sort((a, b) => a.index - b.index)
399
+ .map((col) => ({
400
+ id: col.id,
401
+ name: col.name,
402
+ type: col.type,
403
+ index: col.index,
404
+ })),
405
+ ownedBy,
406
+ filename: (0, source_control_helper_ee_1.getDataTableExportPath)(table.id, this.dataTableExportFolder),
407
+ createdAt: table.createdAt.toISOString(),
408
+ updatedAt: table.updatedAt.toISOString(),
409
+ };
410
+ });
411
+ }
412
+ catch (error) {
413
+ if (error instanceof Error && error.message.includes('No metadata for "DataTable"')) {
414
+ return [];
415
+ }
416
+ throw error;
417
+ }
418
+ }
336
419
  async getRemoteFoldersAndMappingsFromFile(context) {
337
420
  const foldersFile = await (0, fast_glob_1.default)(constants_1.SOURCE_CONTROL_FOLDERS_EXPORT_FILE, {
338
421
  cwd: this.gitFolder,
@@ -801,6 +884,118 @@ let SourceControlImportService = class SourceControlImportService {
801
884
  }
802
885
  return await this.importVariables(importedVariables, valueOverrides);
803
886
  }
887
+ async importDataTablesFromWorkFolder(candidates, userId) {
888
+ if (candidates.length === 0) {
889
+ return;
890
+ }
891
+ const dbType = this.dataTableRepository.manager.connection.options.type;
892
+ const pullingUserPersonalProject = await this.projectRepository.getPersonalProjectForUserOrFail(userId);
893
+ const result = { imported: [] };
894
+ for (const candidate of candidates) {
895
+ try {
896
+ this.logger.debug(`Importing data table from file ${candidate.file}`);
897
+ const dataTable = (0, n8n_workflow_2.jsonParse)(await (0, promises_1.readFile)(candidate.file, { encoding: 'utf8' }));
898
+ if (!dataTable || typeof dataTable !== 'object' || !dataTable.id || !dataTable.name) {
899
+ this.logger.warn(`Failed to parse data table from file ${candidate.file}`);
900
+ continue;
901
+ }
902
+ let targetProject = null;
903
+ if (dataTable.ownedBy) {
904
+ if (dataTable.ownedBy.type === 'personal') {
905
+ const personalEmail = dataTable.ownedBy.personalEmail;
906
+ if (personalEmail) {
907
+ const user = await this.userRepository.findOne({ where: { email: personalEmail } });
908
+ if (user) {
909
+ targetProject = await this.projectRepository.getPersonalProjectForUserOrFail(user.id);
910
+ }
911
+ else {
912
+ this.logger.debug(`User ${personalEmail} not found locally for data table ${dataTable.name}. Using pulling user's personal project as fallback.`);
913
+ targetProject = pullingUserPersonalProject;
914
+ }
915
+ }
916
+ }
917
+ else if (dataTable.ownedBy.type === 'team') {
918
+ targetProject = await this.projectRepository.findOne({
919
+ where: { id: dataTable.ownedBy.teamId },
920
+ });
921
+ if (!targetProject) {
922
+ targetProject = await this.createTeamProject({
923
+ type: 'team',
924
+ teamId: dataTable.ownedBy.teamId,
925
+ teamName: dataTable.ownedBy.teamName,
926
+ });
927
+ }
928
+ }
929
+ }
930
+ if (!targetProject) {
931
+ this.logger.debug(`No owner specified for data table ${dataTable.name}. Using pulling user's personal project.`);
932
+ targetProject = pullingUserPersonalProject;
933
+ }
934
+ const targetProjectId = targetProject.id;
935
+ const existingDataTable = await this.dataTableRepository.findOne({
936
+ where: { id: dataTable.id },
937
+ relations: ['columns'],
938
+ });
939
+ const isNewTable = !existingDataTable;
940
+ await this.dataTableRepository.upsert({
941
+ id: dataTable.id,
942
+ name: dataTable.name,
943
+ projectId: targetProjectId,
944
+ createdAt: dataTable.createdAt,
945
+ updatedAt: dataTable.updatedAt,
946
+ }, ['id']);
947
+ const existingColumns = await this.dataTableColumnRepository.find({
948
+ where: { dataTable: { id: dataTable.id } },
949
+ select: ['id', 'name'],
950
+ });
951
+ const existingColumnIds = new Set(existingColumns.map((c) => c.id));
952
+ const existingColumnNameMap = new Map(existingColumns.map((c) => [c.id, c.name]));
953
+ const importedColumnIds = new Set(dataTable.columns.map((c) => c.id));
954
+ await this.dataTableRepository.manager.transaction(async (trx) => {
955
+ const columnsToDelete = Array.from(existingColumnIds).filter((id) => !importedColumnIds.has(id));
956
+ if (columnsToDelete.length > 0) {
957
+ if (!isNewTable) {
958
+ for (const columnId of columnsToDelete) {
959
+ const columnName = existingColumnNameMap.get(columnId);
960
+ if (columnName) {
961
+ await this.dataTableDDLService.dropColumnFromTable(dataTable.id, columnName, dbType, trx);
962
+ }
963
+ }
964
+ }
965
+ await trx.delete(data_table_column_entity_1.DataTableColumn, { id: (0, typeorm_1.In)(columnsToDelete) });
966
+ }
967
+ const columnEntities = [];
968
+ for (const column of dataTable.columns) {
969
+ if (!(0, source_control_helper_ee_1.isValidDataTableColumnType)(column.type)) {
970
+ this.logger.warn(`Invalid column type "${column.type}" in data table ${dataTable.name}, column ${column.name}. Skipping column.`);
971
+ continue;
972
+ }
973
+ const columnEntity = await trx.save(data_table_column_entity_1.DataTableColumn, {
974
+ id: column.id,
975
+ name: column.name,
976
+ type: column.type,
977
+ index: column.index,
978
+ dataTable: { id: dataTable.id },
979
+ });
980
+ columnEntities.push(columnEntity);
981
+ if (!isNewTable && !existingColumnIds.has(column.id)) {
982
+ await this.dataTableDDLService.addColumn(dataTable.id, columnEntity, dbType, trx);
983
+ }
984
+ }
985
+ if (isNewTable) {
986
+ await this.dataTableDDLService.createTableWithColumns(dataTable.id, columnEntities, trx);
987
+ }
988
+ });
989
+ result.imported.push(dataTable.name);
990
+ }
991
+ catch (error) {
992
+ this.logger.error(`Failed to import data table ${candidate.name}`, {
993
+ error: (0, n8n_workflow_2.ensureError)(error),
994
+ });
995
+ }
996
+ }
997
+ return result;
998
+ }
804
999
  async importTeamProjectsFromWorkFolder(candidates, pullingUserId) {
805
1000
  const importResults = [];
806
1001
  const existingProjectVariables = (await this.variablesService.getAllCached()).filter((v) => v.project);
@@ -869,6 +1064,14 @@ let SourceControlImportService = class SourceControlImportService {
869
1064
  await this.variablesService.delete(candidate.id);
870
1065
  }
871
1066
  }
1067
+ async deleteDataTablesNotInWorkFolder(candidates) {
1068
+ if (candidates.length === 0) {
1069
+ return;
1070
+ }
1071
+ for (const candidate of candidates) {
1072
+ await this.dataTableRepository.deleteDataTable(candidate.id);
1073
+ }
1074
+ }
872
1075
  async deleteTagsNotInWorkfolder(candidates) {
873
1076
  for (const candidate of candidates) {
874
1077
  await this.tagService.delete(candidate.id);
@@ -956,7 +1159,7 @@ let SourceControlImportService = class SourceControlImportService {
956
1159
  const nodesChanged = !(0, isEqual_1.default)(existingVersion.nodes, nodes);
957
1160
  const connectionsChanged = !(0, isEqual_1.default)(existingVersion.connections, connections);
958
1161
  if (nodesChanged || connectionsChanged) {
959
- await this.workflowHistoryService.updateVersion(versionId, id, {
1162
+ await this.workflowHistoryService.updateVersion(id, versionId, {
960
1163
  nodes,
961
1164
  connections,
962
1165
  authors,
@@ -1018,6 +1221,9 @@ exports.SourceControlImportService = SourceControlImportService = __decorate([
1018
1221
  db_1.FolderRepository,
1019
1222
  n8n_core_1.InstanceSettings,
1020
1223
  source_control_scoped_service_1.SourceControlScopedService,
1021
- workflow_history_service_1.WorkflowHistoryService])
1224
+ workflow_history_service_1.WorkflowHistoryService,
1225
+ data_table_repository_1.DataTableRepository,
1226
+ data_table_column_repository_1.DataTableColumnRepository,
1227
+ data_table_ddl_service_1.DataTableDDLService])
1022
1228
  ], SourceControlImportService);
1023
1229
  //# sourceMappingURL=source-control-import.service.ee.js.map