@n8n/db 1.32.2 → 1.34.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 (207) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/connection/db-connection.d.ts +1 -0
  3. package/dist/connection/db-connection.js +28 -2
  4. package/dist/connection/db-connection.js.map +1 -1
  5. package/dist/entities/agent-eval-dataset.ee.d.ts +12 -0
  6. package/dist/entities/agent-eval-dataset.ee.js +50 -0
  7. package/dist/entities/agent-eval-dataset.ee.js.map +1 -0
  8. package/dist/entities/agent-eval-rating.ee.d.ts +13 -0
  9. package/dist/entities/agent-eval-rating.ee.js +47 -0
  10. package/dist/entities/agent-eval-rating.ee.js.map +1 -0
  11. package/dist/entities/agent-eval-result.ee.d.ts +22 -0
  12. package/dist/entities/agent-eval-result.ee.js +79 -0
  13. package/dist/entities/agent-eval-result.ee.js.map +1 -0
  14. package/dist/entities/agent-eval-run.ee.d.ts +21 -0
  15. package/dist/entities/agent-eval-run.ee.js +75 -0
  16. package/dist/entities/agent-eval-run.ee.js.map +1 -0
  17. package/dist/entities/binary-data-file.d.ts +1 -1
  18. package/dist/entities/binary-data-file.js +6 -1
  19. package/dist/entities/binary-data-file.js.map +1 -1
  20. package/dist/entities/credentials-entity.d.ts +2 -0
  21. package/dist/entities/credentials-entity.js +4 -0
  22. package/dist/entities/credentials-entity.js.map +1 -1
  23. package/dist/entities/execution-entity.js +1 -1
  24. package/dist/entities/execution-entity.js.map +1 -1
  25. package/dist/entities/index.d.ts +21 -3
  26. package/dist/entities/index.js +34 -2
  27. package/dist/entities/index.js.map +1 -1
  28. package/dist/entities/instance-credential-assignment.d.ts +8 -0
  29. package/dist/entities/instance-credential-assignment.js +35 -0
  30. package/dist/entities/instance-credential-assignment.js.map +1 -0
  31. package/dist/entities/scheduled-job.d.ts +4 -0
  32. package/dist/entities/scheduled-job.js +15 -4
  33. package/dist/entities/scheduled-job.js.map +1 -1
  34. package/dist/entities/scheduled-task.d.ts +1 -0
  35. package/dist/entities/scheduled-task.js +6 -1
  36. package/dist/entities/scheduled-task.js.map +1 -1
  37. package/dist/entities/types-db.d.ts +2 -1
  38. package/dist/entities/types-db.js.map +1 -1
  39. package/dist/entities/workflow-publication-trigger-status.js.map +1 -1
  40. package/dist/entities/workflow-review-request-author.ee.d.ts +4 -0
  41. package/dist/entities/workflow-review-request-author.ee.js +28 -0
  42. package/dist/entities/workflow-review-request-author.ee.js.map +1 -0
  43. package/dist/entities/workflow-review-request-reviewer.ee.d.ts +4 -0
  44. package/dist/entities/workflow-review-request-reviewer.ee.js +29 -0
  45. package/dist/entities/workflow-review-request-reviewer.ee.js.map +1 -0
  46. package/dist/entities/workflow-review-request-workflow.ee.d.ts +6 -0
  47. package/dist/entities/workflow-review-request-workflow.ee.js +41 -0
  48. package/dist/entities/workflow-review-request-workflow.ee.js.map +1 -0
  49. package/dist/entities/workflow-review-request.ee.d.ts +26 -0
  50. package/dist/entities/workflow-review-request.ee.js +69 -0
  51. package/dist/entities/workflow-review-request.ee.js.map +1 -0
  52. package/dist/index.d.ts +2 -0
  53. package/dist/index.js +3 -1
  54. package/dist/index.js.map +1 -1
  55. package/dist/migrations/common/1630330987096-UpdateWorkflowCredentials.js.map +1 -1
  56. package/dist/migrations/common/1784000000052-CreateWorkflowReviewRequestTables.d.ts +11 -0
  57. package/dist/migrations/common/1784000000052-CreateWorkflowReviewRequestTables.js +138 -0
  58. package/dist/migrations/common/1784000000052-CreateWorkflowReviewRequestTables.js.map +1 -0
  59. package/dist/migrations/common/1784815940110-AddStoredAtToAgentExecution.d.ts +5 -0
  60. package/dist/migrations/common/1784815940110-AddStoredAtToAgentExecution.js +18 -0
  61. package/dist/migrations/common/1784815940110-AddStoredAtToAgentExecution.js.map +1 -0
  62. package/dist/migrations/common/1784815940111-AddInstanceCredentials.d.ts +5 -0
  63. package/dist/migrations/common/1784815940111-AddInstanceCredentials.js +36 -0
  64. package/dist/migrations/common/1784815940111-AddInstanceCredentials.js.map +1 -0
  65. package/dist/migrations/common/1784815940112-CreateAgentEvalTables.d.ts +5 -0
  66. package/dist/migrations/common/1784815940112-CreateAgentEvalTables.js +87 -0
  67. package/dist/migrations/common/1784815940112-CreateAgentEvalTables.js.map +1 -0
  68. package/dist/migrations/common/1784897791636-AddAvailableInMcpToAgents.d.ts +5 -0
  69. package/dist/migrations/common/1784897791636-AddAvailableInMcpToAgents.js +17 -0
  70. package/dist/migrations/common/1784897791636-AddAvailableInMcpToAgents.js.map +1 -0
  71. package/dist/migrations/common/1785162364001-AddIsFirstPartyToOAuthClients.d.ts +5 -0
  72. package/dist/migrations/common/1785162364001-AddIsFirstPartyToOAuthClients.js +19 -0
  73. package/dist/migrations/common/1785162364001-AddIsFirstPartyToOAuthClients.js.map +1 -0
  74. package/dist/migrations/common/1785186578138-AddAgentFileStorageColumns.d.ts +7 -0
  75. package/dist/migrations/common/1785186578138-AddAgentFileStorageColumns.js +55 -0
  76. package/dist/migrations/common/1785186578138-AddAgentFileStorageColumns.js.map +1 -0
  77. package/dist/migrations/common/1785247194306-CrashStaleEnqueuedExecutions.d.ts +4 -0
  78. package/dist/migrations/common/1785247194306-CrashStaleEnqueuedExecutions.js +32 -0
  79. package/dist/migrations/common/1785247194306-CrashStaleEnqueuedExecutions.js.map +1 -0
  80. package/dist/migrations/common/1785247194307-AddMisfirePolicyToScheduler.d.ts +8 -0
  81. package/dist/migrations/common/1785247194307-AddMisfirePolicyToScheduler.js +71 -0
  82. package/dist/migrations/common/1785247194307-AddMisfirePolicyToScheduler.js.map +1 -0
  83. package/dist/migrations/common/1785255306000-CreateAgentChatAttachmentsTable.d.ts +6 -0
  84. package/dist/migrations/common/1785255306000-CreateAgentChatAttachmentsTable.js +56 -0
  85. package/dist/migrations/common/1785255306000-CreateAgentChatAttachmentsTable.js.map +1 -0
  86. package/dist/migrations/common/1785500832626-AddSetupCompletedAtToAgents.d.ts +5 -0
  87. package/dist/migrations/common/1785500832626-AddSetupCompletedAtToAgents.js +17 -0
  88. package/dist/migrations/common/1785500832626-AddSetupCompletedAtToAgents.js.map +1 -0
  89. package/dist/migrations/postgresdb/1785162364000-ChangeInstalledNodeVersionType.d.ts +4 -0
  90. package/dist/migrations/postgresdb/1785162364000-ChangeInstalledNodeVersionType.js +10 -0
  91. package/dist/migrations/postgresdb/1785162364000-ChangeInstalledNodeVersionType.js.map +1 -0
  92. package/dist/migrations/postgresdb/index.js +24 -0
  93. package/dist/migrations/postgresdb/index.js.map +1 -1
  94. package/dist/migrations/sqlite/1784897791636-AddAvailableInMcpToAgents.d.ts +4 -0
  95. package/dist/migrations/sqlite/1784897791636-AddAvailableInMcpToAgents.js +12 -0
  96. package/dist/migrations/sqlite/1784897791636-AddAvailableInMcpToAgents.js.map +1 -0
  97. package/dist/migrations/sqlite/1785162364000-ChangeInstalledNodeVersionType.d.ts +4 -0
  98. package/dist/migrations/sqlite/1785162364000-ChangeInstalledNodeVersionType.js +38 -0
  99. package/dist/migrations/sqlite/1785162364000-ChangeInstalledNodeVersionType.js.map +1 -0
  100. package/dist/migrations/sqlite/1785162364001-AddIsFirstPartyToOAuthClients.d.ts +6 -0
  101. package/dist/migrations/sqlite/1785162364001-AddIsFirstPartyToOAuthClients.js +22 -0
  102. package/dist/migrations/sqlite/1785162364001-AddIsFirstPartyToOAuthClients.js.map +1 -0
  103. package/dist/migrations/sqlite/1785247194307-AddMisfirePolicyToScheduler.d.ts +4 -0
  104. package/dist/migrations/sqlite/1785247194307-AddMisfirePolicyToScheduler.js +12 -0
  105. package/dist/migrations/sqlite/1785247194307-AddMisfirePolicyToScheduler.js.map +1 -0
  106. package/dist/migrations/sqlite/1785500832626-AddSetupCompletedAtToAgents.d.ts +4 -0
  107. package/dist/migrations/sqlite/1785500832626-AddSetupCompletedAtToAgents.js +12 -0
  108. package/dist/migrations/sqlite/1785500832626-AddSetupCompletedAtToAgents.js.map +1 -0
  109. package/dist/migrations/sqlite/index.js +24 -0
  110. package/dist/migrations/sqlite/index.js.map +1 -1
  111. package/dist/repositories/agent-eval-dataset.repository.ee.d.ts +28 -0
  112. package/dist/repositories/agent-eval-dataset.repository.ee.js +62 -0
  113. package/dist/repositories/agent-eval-dataset.repository.ee.js.map +1 -0
  114. package/dist/repositories/agent-eval-rating.repository.ee.d.ts +18 -0
  115. package/dist/repositories/agent-eval-rating.repository.ee.js +71 -0
  116. package/dist/repositories/agent-eval-rating.repository.ee.js.map +1 -0
  117. package/dist/repositories/agent-eval-result.repository.ee.d.ts +27 -0
  118. package/dist/repositories/agent-eval-result.repository.ee.js +84 -0
  119. package/dist/repositories/agent-eval-result.repository.ee.js.map +1 -0
  120. package/dist/repositories/agent-eval-run.repository.ee.d.ts +24 -0
  121. package/dist/repositories/agent-eval-run.repository.ee.js +99 -0
  122. package/dist/repositories/agent-eval-run.repository.ee.js.map +1 -0
  123. package/dist/repositories/base-repository.d.ts +6 -0
  124. package/dist/repositories/base-repository.js +19 -0
  125. package/dist/repositories/base-repository.js.map +1 -0
  126. package/dist/repositories/binary-data.repository.d.ts +2 -0
  127. package/dist/repositories/binary-data.repository.js +9 -0
  128. package/dist/repositories/binary-data.repository.js.map +1 -1
  129. package/dist/repositories/credentials.repository.d.ts +22 -4
  130. package/dist/repositories/credentials.repository.js +84 -10
  131. package/dist/repositories/credentials.repository.js.map +1 -1
  132. package/dist/repositories/evaluation-collection.repository.d.ts +1 -0
  133. package/dist/repositories/evaluation-collection.repository.js +5 -0
  134. package/dist/repositories/evaluation-collection.repository.js.map +1 -1
  135. package/dist/repositories/execution.repository.d.ts +1 -0
  136. package/dist/repositories/execution.repository.js +10 -5
  137. package/dist/repositories/execution.repository.js.map +1 -1
  138. package/dist/repositories/index.d.ts +10 -0
  139. package/dist/repositories/index.js +22 -1
  140. package/dist/repositories/index.js.map +1 -1
  141. package/dist/repositories/instance-credential-assignment.repository.d.ts +17 -0
  142. package/dist/repositories/instance-credential-assignment.repository.js +96 -0
  143. package/dist/repositories/instance-credential-assignment.repository.js.map +1 -0
  144. package/dist/repositories/role.repository.d.ts +1 -0
  145. package/dist/repositories/role.repository.js +24 -0
  146. package/dist/repositories/role.repository.js.map +1 -1
  147. package/dist/repositories/scheduled-job.repository.d.ts +5 -2
  148. package/dist/repositories/scheduled-job.repository.js +15 -0
  149. package/dist/repositories/scheduled-job.repository.js.map +1 -1
  150. package/dist/repositories/scheduled-task.repository.d.ts +11 -0
  151. package/dist/repositories/scheduled-task.repository.js +85 -2
  152. package/dist/repositories/scheduled-task.repository.js.map +1 -1
  153. package/dist/repositories/settings.repository.d.ts +6 -2
  154. package/dist/repositories/settings.repository.js +8 -1
  155. package/dist/repositories/settings.repository.js.map +1 -1
  156. package/dist/repositories/shared-workflow.repository.d.ts +1 -0
  157. package/dist/repositories/shared-workflow.repository.js +7 -0
  158. package/dist/repositories/shared-workflow.repository.js.map +1 -1
  159. package/dist/repositories/tag.repository.d.ts +1 -0
  160. package/dist/repositories/tag.repository.js +6 -0
  161. package/dist/repositories/tag.repository.js.map +1 -1
  162. package/dist/repositories/test-case-execution.repository.ee.d.ts +5 -2
  163. package/dist/repositories/test-case-execution.repository.ee.js +3 -2
  164. package/dist/repositories/test-case-execution.repository.ee.js.map +1 -1
  165. package/dist/repositories/user.repository.d.ts +5 -0
  166. package/dist/repositories/user.repository.js +19 -0
  167. package/dist/repositories/user.repository.js.map +1 -1
  168. package/dist/repositories/webhook.repository.d.ts +2 -0
  169. package/dist/repositories/webhook.repository.js +6 -0
  170. package/dist/repositories/webhook.repository.js.map +1 -1
  171. package/dist/repositories/workflow-publication-outbox.repository.d.ts +3 -3
  172. package/dist/repositories/workflow-publication-outbox.repository.js +73 -53
  173. package/dist/repositories/workflow-publication-outbox.repository.js.map +1 -1
  174. package/dist/repositories/workflow-publish-history.repository.d.ts +2 -0
  175. package/dist/repositories/workflow-publish-history.repository.js +47 -0
  176. package/dist/repositories/workflow-publish-history.repository.js.map +1 -1
  177. package/dist/repositories/workflow-review-request-author.repository.d.ts +20 -0
  178. package/dist/repositories/workflow-review-request-author.repository.js +61 -0
  179. package/dist/repositories/workflow-review-request-author.repository.js.map +1 -0
  180. package/dist/repositories/workflow-review-request-reviewer.repository.d.ts +13 -0
  181. package/dist/repositories/workflow-review-request-reviewer.repository.js +69 -0
  182. package/dist/repositories/workflow-review-request-reviewer.repository.js.map +1 -0
  183. package/dist/repositories/workflow-review-request-workflow.repository.d.ts +29 -0
  184. package/dist/repositories/workflow-review-request-workflow.repository.js +82 -0
  185. package/dist/repositories/workflow-review-request-workflow.repository.js.map +1 -0
  186. package/dist/repositories/workflow-review-request.repository.d.ts +53 -0
  187. package/dist/repositories/workflow-review-request.repository.js +129 -0
  188. package/dist/repositories/workflow-review-request.repository.js.map +1 -0
  189. package/dist/repositories/workflow-statistics.repository.js +1 -1
  190. package/dist/repositories/workflow-statistics.repository.js.map +1 -1
  191. package/dist/repositories/workflow.repository.d.ts +6 -0
  192. package/dist/repositories/workflow.repository.js +6 -0
  193. package/dist/repositories/workflow.repository.js.map +1 -1
  194. package/dist/services/db-lock.service.d.ts +20 -2
  195. package/dist/services/db-lock.service.js +39 -18
  196. package/dist/services/db-lock.service.js.map +1 -1
  197. package/dist/services/transaction.d.ts +15 -0
  198. package/dist/services/transaction.js +16 -0
  199. package/dist/services/transaction.js.map +1 -0
  200. package/dist/services/typeorm-transaction.d.ts +15 -0
  201. package/dist/services/typeorm-transaction.js +70 -0
  202. package/dist/services/typeorm-transaction.js.map +1 -0
  203. package/dist/utils/dialect-time.d.ts +2 -0
  204. package/dist/utils/dialect-time.js +18 -0
  205. package/dist/utils/dialect-time.js.map +1 -1
  206. package/dist/utils/transaction.js.map +1 -1
  207. package/package.json +14 -14
@@ -16,6 +16,7 @@ const typeorm_1 = require("@n8n/typeorm");
16
16
  const n8n_workflow_1 = require("n8n-workflow");
17
17
  const workflow_publication_outbox_1 = require("../entities/workflow-publication-outbox");
18
18
  const is_unique_constraint_error_1 = require("../utils/is-unique-constraint-error");
19
+ const SQLITE_ENQUEUE_CHUNK_SIZE = 999;
19
20
  let WorkflowPublicationOutboxRepository = class WorkflowPublicationOutboxRepository extends typeorm_1.Repository {
20
21
  constructor(dataSource, globalConfig) {
21
22
  super(workflow_publication_outbox_1.WorkflowPublicationOutbox, dataSource.manager);
@@ -49,53 +50,6 @@ let WorkflowPublicationOutboxRepository = class WorkflowPublicationOutboxReposit
49
50
  ON CONFLICT ("workflowId", "status") WHERE "status" IN ('${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Pending}', '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.InProgress}')
50
51
  DO UPDATE SET "publishedVersionId" = excluded."publishedVersionId", "updatedAt" = STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')`, [workflowId, publishedVersionId]);
51
52
  }
52
- async enqueueForLeaderHandoff() {
53
- if (this.globalConfig.database.type === 'postgresdb') {
54
- await this.enqueueForLeaderHandoffWithPostgresUpsert();
55
- return;
56
- }
57
- await this.enqueueForLeaderHandoffWithSqliteUpsert();
58
- }
59
- async enqueueForLeaderHandoffWithPostgresUpsert() {
60
- const outboxTableName = this.getTableName('workflow_publication_outbox');
61
- const workflowTableName = this.getTableName('workflow_entity');
62
- const triggerStatusTableName = this.getTableName('workflow_publication_trigger_status');
63
- await this.query(`INSERT INTO ${outboxTableName} ("workflowId", "publishedVersionId", "status")
64
- SELECT w."id", w."activeVersionId", '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Pending}'
65
- FROM ${workflowTableName} w
66
- WHERE w."activeVersionId" IS NOT NULL AND w."isArchived" = false
67
- AND (
68
- -- Enqueue workflows with at least one in-memory trigger
69
- EXISTS (
70
- SELECT 1 FROM ${triggerStatusTableName} ts
71
- WHERE ts."workflowId" = w."id" AND ts."triggerKind" = 'in-memory'
72
- )
73
- -- Enqueue workflows where we have no trigger status data
74
- OR NOT EXISTS (SELECT 1 FROM ${triggerStatusTableName} ts WHERE ts."workflowId" = w."id")
75
- )
76
- ON CONFLICT ("workflowId", "status") WHERE "status" IN ('${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Pending}', '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.InProgress}')
77
- DO UPDATE SET "publishedVersionId" = EXCLUDED."publishedVersionId", "updatedAt" = CURRENT_TIMESTAMP(3)`);
78
- }
79
- async enqueueForLeaderHandoffWithSqliteUpsert() {
80
- const outboxTableName = this.getTableName('workflow_publication_outbox');
81
- const workflowTableName = this.getTableName('workflow_entity');
82
- const triggerStatusTableName = this.getTableName('workflow_publication_trigger_status');
83
- await this.query(`INSERT INTO ${outboxTableName} ("workflowId", "publishedVersionId", "status")
84
- SELECT w."id", w."activeVersionId", '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Pending}'
85
- FROM ${workflowTableName} w
86
- WHERE w."activeVersionId" IS NOT NULL AND w."isArchived" = 0
87
- AND (
88
- -- Enqueue workflows with at least one in-memory trigger
89
- EXISTS (
90
- SELECT 1 FROM ${triggerStatusTableName} ts
91
- WHERE ts."workflowId" = w."id" AND ts."triggerKind" = 'in-memory'
92
- )
93
- -- Enqueue workflows where we have no trigger status data
94
- OR NOT EXISTS (SELECT 1 FROM ${triggerStatusTableName} ts WHERE ts."workflowId" = w."id")
95
- )
96
- ON CONFLICT ("workflowId", "status") WHERE "status" IN ('${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Pending}', '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.InProgress}')
97
- DO UPDATE SET "publishedVersionId" = excluded."publishedVersionId", "updatedAt" = STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')`);
98
- }
99
53
  async enqueueByWorkflowIds(workflowIds) {
100
54
  if (workflowIds.length === 0)
101
55
  return;
@@ -118,13 +72,79 @@ let WorkflowPublicationOutboxRepository = class WorkflowPublicationOutboxReposit
118
72
  async enqueueByWorkflowIdsWithSqliteUpsert(workflowIds) {
119
73
  const outboxTableName = this.getTableName('workflow_publication_outbox');
120
74
  const workflowTableName = this.getTableName('workflow_entity');
121
- const placeholders = workflowIds.map(() => '?').join(', ');
122
- await this.query(`INSERT INTO ${outboxTableName} ("workflowId", "publishedVersionId", "status")
123
- SELECT w."id", COALESCE(w."activeVersionId", '${workflow_publication_outbox_1.UNPUBLISH_VERSION_SENTINEL}'), '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Pending}'
75
+ for (let i = 0; i < workflowIds.length; i += SQLITE_ENQUEUE_CHUNK_SIZE) {
76
+ const chunk = workflowIds.slice(i, i + SQLITE_ENQUEUE_CHUNK_SIZE);
77
+ const placeholders = chunk.map(() => '?').join(', ');
78
+ await this.query(`INSERT INTO ${outboxTableName} ("workflowId", "publishedVersionId", "status")
79
+ SELECT w."id", COALESCE(w."activeVersionId", '${workflow_publication_outbox_1.UNPUBLISH_VERSION_SENTINEL}'), '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Pending}'
80
+ FROM ${workflowTableName} w
81
+ WHERE w."id" IN (${placeholders})
82
+ ON CONFLICT ("workflowId", "status") WHERE "status" IN ('${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Pending}', '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.InProgress}')
83
+ DO NOTHING`, chunk);
84
+ }
85
+ }
86
+ async findVersionSkewedWorkflowIds() {
87
+ const outboxTableName = this.getTableName('workflow_publication_outbox');
88
+ const workflowTableName = this.getTableName('workflow_entity');
89
+ const publishedVersionTableName = this.getTableName('workflow_published_version');
90
+ const rows = await this.query(`SELECT w."id" AS "workflowId"
124
91
  FROM ${workflowTableName} w
125
- WHERE w."id" IN (${placeholders})
126
- ON CONFLICT ("workflowId", "status") WHERE "status" IN ('${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Pending}', '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.InProgress}')
127
- DO NOTHING`, workflowIds);
92
+ LEFT JOIN ${publishedVersionTableName} pv ON pv."workflowId" = w."id"
93
+ WHERE (
94
+ (w."activeVersionId" IS NULL) <> (pv."workflowId" IS NULL)
95
+ OR w."activeVersionId" <> pv."publishedVersionId"
96
+ )
97
+ AND NOT EXISTS (
98
+ SELECT 1 FROM ${outboxTableName} o
99
+ WHERE o."workflowId" = w."id"
100
+ AND o."status" IN ('${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Pending}', '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.InProgress}')
101
+ )`);
102
+ return rows.map((row) => row.workflowId);
103
+ }
104
+ async findTriggerStatusDriftedWorkflowIds() {
105
+ const outboxTableName = this.getTableName('workflow_publication_outbox');
106
+ const workflowTableName = this.getTableName('workflow_entity');
107
+ const triggerStatusTableName = this.getTableName('workflow_publication_trigger_status');
108
+ const rows = await this.query(`SELECT DISTINCT w."id" AS "workflowId"
109
+ FROM ${workflowTableName} w
110
+ INNER JOIN ${triggerStatusTableName} ts ON ts."workflowId" = w."id"
111
+ WHERE w."activeVersionId" IS NOT NULL
112
+ AND ts."versionId" <> w."activeVersionId"
113
+ AND NOT EXISTS (
114
+ SELECT 1 FROM ${outboxTableName} o
115
+ WHERE o."workflowId" = w."id"
116
+ AND o."status" IN ('${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Pending}', '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.InProgress}')
117
+ )
118
+ AND COALESCE((
119
+ SELECT o."status" FROM ${outboxTableName} o
120
+ WHERE o."workflowId" = w."id"
121
+ ORDER BY o."id" DESC LIMIT 1
122
+ ), '') <> '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Failed}'`);
123
+ return rows.map((row) => row.workflowId);
124
+ }
125
+ async findUnreportedPublishedWorkflowIds() {
126
+ const outboxTableName = this.getTableName('workflow_publication_outbox');
127
+ const workflowTableName = this.getTableName('workflow_entity');
128
+ const triggerStatusTableName = this.getTableName('workflow_publication_trigger_status');
129
+ const rows = await this.query(`SELECT w."id" AS "workflowId"
130
+ FROM ${workflowTableName} w
131
+ WHERE w."activeVersionId" IS NOT NULL
132
+ AND w."isArchived" = false
133
+ AND NOT EXISTS (
134
+ SELECT 1 FROM ${triggerStatusTableName} ts
135
+ WHERE ts."workflowId" = w."id"
136
+ )
137
+ AND NOT EXISTS (
138
+ SELECT 1 FROM ${outboxTableName} o
139
+ WHERE o."workflowId" = w."id"
140
+ AND o."status" IN ('${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Pending}', '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.InProgress}')
141
+ )
142
+ AND COALESCE((
143
+ SELECT o."status" FROM ${outboxTableName} o
144
+ WHERE o."workflowId" = w."id"
145
+ ORDER BY o."id" DESC LIMIT 1
146
+ ), '') <> '${workflow_publication_outbox_1.WorkflowPublicationOutboxStatus.Failed}'`);
147
+ return rows.map((row) => row.workflowId);
128
148
  }
129
149
  async claimNextPendingRecord() {
130
150
  if (this.globalConfig.database.type === 'postgresdb') {
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-publication-outbox.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-publication-outbox.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-publication-outbox.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-publication-outbox.repository.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { WorkflowReviewApprovedPublicationState } from '@n8n/api-types';
1
2
  import { DataSource, Repository } from '@n8n/typeorm';
2
3
  import type { EntityManager } from '@n8n/typeorm';
3
4
  import { WorkflowPublishHistory } from '../entities';
@@ -5,5 +6,6 @@ export declare class WorkflowPublishHistoryRepository extends Repository<Workflo
5
6
  constructor(dataSource: DataSource);
6
7
  addRecord({ workflowId, versionId, event, userId, }: Pick<WorkflowPublishHistory, 'event' | 'workflowId' | 'versionId' | 'userId'>, trx?: EntityManager): Promise<void>;
7
8
  getPublishedVersions(workflowId: string): Promise<Array<Pick<WorkflowPublishHistory, 'versionId'>>>;
9
+ getVersionPublicationStates(workflowId: string, versionIds: string[]): Promise<Map<string, WorkflowReviewApprovedPublicationState>>;
8
10
  findActivatedByUserId(workflowId: string): Promise<string | undefined>;
9
11
  }
@@ -34,6 +34,53 @@ let WorkflowPublishHistoryRepository = class WorkflowPublishHistoryRepository ex
34
34
  .where('wph.workflowId = :workflowId', { workflowId })
35
35
  .getMany();
36
36
  }
37
+ async getVersionPublicationStates(workflowId, versionIds) {
38
+ const states = new Map();
39
+ const requested = [...new Set(versionIds)];
40
+ if (requested.length === 0) {
41
+ return states;
42
+ }
43
+ const [versions, activatedVersions, newestActivated] = await Promise.all([
44
+ this.manager.find(entities_1.WorkflowHistory, {
45
+ where: { workflowId, versionId: (0, typeorm_1.In)(requested) },
46
+ select: ['versionId', 'createdAt'],
47
+ }),
48
+ this.manager.find(entities_1.WorkflowPublishHistory, {
49
+ where: { workflowId, versionId: (0, typeorm_1.In)(requested), event: 'activated' },
50
+ select: ['versionId'],
51
+ }),
52
+ this.manager
53
+ .createQueryBuilder(entities_1.WorkflowHistory, 'history')
54
+ .innerJoin(entities_1.WorkflowPublishHistory, 'publishHistory', 'publishHistory.workflowId = history.workflowId AND publishHistory.versionId = history.versionId')
55
+ .where('history.workflowId = :workflowId', { workflowId })
56
+ .andWhere('publishHistory.event = :event', { event: 'activated' })
57
+ .select(['history.versionId', 'history.createdAt'])
58
+ .orderBy('history.createdAt', 'DESC')
59
+ .take(1)
60
+ .getOne(),
61
+ ]);
62
+ const createdAtByVersionId = new Map(versions.map((version) => [version.versionId, version.createdAt]));
63
+ const activatedVersionIds = activatedVersions
64
+ .map((record) => record.versionId)
65
+ .filter((id) => id !== null);
66
+ const activatedVersionIdSet = new Set(activatedVersionIds);
67
+ for (const versionId of requested) {
68
+ const createdAt = createdAtByVersionId.get(versionId);
69
+ if (!createdAt) {
70
+ states.set(versionId, 'unknown');
71
+ }
72
+ else if (activatedVersionIdSet.has(versionId)) {
73
+ states.set(versionId, 'published');
74
+ }
75
+ else if (newestActivated && newestActivated.createdAt > createdAt) {
76
+ states.set(versionId, 'superseded');
77
+ }
78
+ else {
79
+ states.set(versionId, 'not_published');
80
+ }
81
+ }
82
+ return states;
83
+ }
37
84
  async findActivatedByUserId(workflowId) {
38
85
  const record = await this.findOne({
39
86
  select: ['userId'],
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-publish-history.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-publish-history.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAClC,0CAAsD;AAGtD,0CAAqD;AAG9C,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,oBAAkC;IACvF,YAAY,UAAsB;QACjC,KAAK,CAAC,iCAAsB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,SAAS,CACd,EACC,UAAU,EACV,SAAS,EACT,KAAK,EACL,MAAM,GACyE,EAChF,GAAmB;QAEnB,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,iCAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,MAAM,UAAU,CAAC,MAAM,CAAC;YACvB,UAAU;YACV,SAAS;YACT,KAAK;YACL,MAAM;SACN,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACzB,UAAkB;QAElB,OAAO,MAAM,IAAI,CAAC,OAAO;aACvB,kBAAkB,CAAC,iCAAsB,EAAE,KAAK,CAAC;aACjD,MAAM,CAAC,eAAe,CAAC;aACvB,QAAQ,CAAC,IAAI,CAAC;aACd,KAAK,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,CAAC;aACrD,OAAO,EAAE,CAAC;IACb,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YACjC,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE;YACzC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,EAAE,MAAM,IAAI,SAAS,CAAC;IACpC,CAAC;CACD,CAAA;;2CA1CY,gCAAgC;IAD5C,IAAA,YAAO,GAAE;qCAEe,oBAAU;GADtB,gCAAgC,CA0C5C"}
1
+ {"version":3,"file":"workflow-publish-history.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-publish-history.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { EntityManager } from '@n8n/typeorm';
2
+ import { DataSource, Repository } from '@n8n/typeorm';
3
+ import { WorkflowReviewRequestAuthor } from '../entities/workflow-review-request-author.ee';
4
+ export declare class WorkflowReviewRequestAuthorRepository extends Repository<WorkflowReviewRequestAuthor> {
5
+ constructor(dataSource: DataSource);
6
+ addAuthor(input: {
7
+ workflowReviewRequestId: string;
8
+ userId: string;
9
+ }, trx?: EntityManager): Promise<WorkflowReviewRequestAuthor>;
10
+ addAuthorIfMissing(input: {
11
+ workflowReviewRequestId: string;
12
+ userId: string;
13
+ }, trx?: EntityManager): Promise<void>;
14
+ isAuthor(input: {
15
+ workflowReviewRequestId: string;
16
+ userId: string;
17
+ }, trx?: EntityManager): Promise<boolean>;
18
+ findByRequestId(requestId: string): Promise<WorkflowReviewRequestAuthor[]>;
19
+ findByRequestIds(requestIds: string[]): Promise<WorkflowReviewRequestAuthor[]>;
20
+ }
@@ -0,0 +1,61 @@
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.WorkflowReviewRequestAuthorRepository = void 0;
13
+ const di_1 = require("@n8n/di");
14
+ const typeorm_1 = require("@n8n/typeorm");
15
+ const workflow_review_request_author_ee_1 = require("../entities/workflow-review-request-author.ee");
16
+ let WorkflowReviewRequestAuthorRepository = class WorkflowReviewRequestAuthorRepository extends typeorm_1.Repository {
17
+ constructor(dataSource) {
18
+ super(workflow_review_request_author_ee_1.WorkflowReviewRequestAuthor, dataSource.manager);
19
+ }
20
+ async addAuthor(input, trx) {
21
+ const manager = trx ?? this.manager;
22
+ const entity = this.create({
23
+ workflowReviewRequestId: input.workflowReviewRequestId,
24
+ userId: input.userId,
25
+ });
26
+ return await manager.save(workflow_review_request_author_ee_1.WorkflowReviewRequestAuthor, entity);
27
+ }
28
+ async addAuthorIfMissing(input, trx) {
29
+ if (await this.isAuthor(input, trx))
30
+ return;
31
+ await this.addAuthor(input, trx);
32
+ }
33
+ async isAuthor(input, trx) {
34
+ const manager = trx ?? this.manager;
35
+ return await manager.existsBy(workflow_review_request_author_ee_1.WorkflowReviewRequestAuthor, {
36
+ workflowReviewRequestId: input.workflowReviewRequestId,
37
+ userId: input.userId,
38
+ });
39
+ }
40
+ async findByRequestId(requestId) {
41
+ return await this.find({
42
+ where: { workflowReviewRequestId: requestId },
43
+ order: { userId: 'ASC' },
44
+ });
45
+ }
46
+ async findByRequestIds(requestIds) {
47
+ if (requestIds.length === 0) {
48
+ return [];
49
+ }
50
+ return await this.find({
51
+ where: { workflowReviewRequestId: (0, typeorm_1.In)(requestIds) },
52
+ order: { userId: 'ASC' },
53
+ });
54
+ }
55
+ };
56
+ exports.WorkflowReviewRequestAuthorRepository = WorkflowReviewRequestAuthorRepository;
57
+ exports.WorkflowReviewRequestAuthorRepository = WorkflowReviewRequestAuthorRepository = __decorate([
58
+ (0, di_1.Service)(),
59
+ __metadata("design:paramtypes", [typeorm_1.DataSource])
60
+ ], WorkflowReviewRequestAuthorRepository);
61
+ //# sourceMappingURL=workflow-review-request-author.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-review-request-author.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-review-request-author.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAElC,0CAA0D;AAE1D,qGAA4F;AAGrF,IAAM,qCAAqC,GAA3C,MAAM,qCAAsC,SAAQ,oBAAuC;IACjG,YAAY,UAAsB;QACjC,KAAK,CAAC,+DAA2B,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,SAAS,CACd,KAGC,EACD,GAAmB;QAEnB,MAAM,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;YACtD,MAAM,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,CAAC;QAEH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,+DAA2B,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAGD,KAAK,CAAC,kBAAkB,CACvB,KAGC,EACD,GAAmB;QAEnB,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;YAAE,OAAO;QAE5C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,QAAQ,CACb,KAGC,EACD,GAAmB;QAEnB,MAAM,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;QACpC,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,+DAA2B,EAAE;YAC1D,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;YACtD,MAAM,EAAE,KAAK,CAAC,MAAM;SACpB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB;QACtC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,EAAE,uBAAuB,EAAE,SAAS,EAAE;YAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;SACxB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAoB;QAC1C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACX,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,EAAE,uBAAuB,EAAE,IAAA,YAAE,EAAC,UAAU,CAAC,EAAE;YAClD,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;SACxB,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;;gDAjEY,qCAAqC;IADjD,IAAA,YAAO,GAAE;qCAEe,oBAAU;GADtB,qCAAqC,CAiEjD"}
@@ -0,0 +1,13 @@
1
+ import type { EntityManager } from '@n8n/typeorm';
2
+ import { DataSource, Repository } from '@n8n/typeorm';
3
+ import { WorkflowReviewRequestReviewer } from '../entities/workflow-review-request-reviewer.ee';
4
+ export declare class WorkflowReviewRequestReviewerRepository extends Repository<WorkflowReviewRequestReviewer> {
5
+ constructor(dataSource: DataSource);
6
+ addReviewers(input: {
7
+ workflowReviewRequestId: string;
8
+ userIds: string[];
9
+ }, trx?: EntityManager): Promise<WorkflowReviewRequestReviewer[]>;
10
+ setReviewers(requestId: string, userIds: string[]): Promise<WorkflowReviewRequestReviewer[]>;
11
+ findByRequestId(requestId: string): Promise<WorkflowReviewRequestReviewer[]>;
12
+ findByRequestIds(requestIds: string[]): Promise<WorkflowReviewRequestReviewer[]>;
13
+ }
@@ -0,0 +1,69 @@
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.WorkflowReviewRequestReviewerRepository = void 0;
13
+ const di_1 = require("@n8n/di");
14
+ const typeorm_1 = require("@n8n/typeorm");
15
+ const workflow_review_request_reviewer_ee_1 = require("../entities/workflow-review-request-reviewer.ee");
16
+ let WorkflowReviewRequestReviewerRepository = class WorkflowReviewRequestReviewerRepository extends typeorm_1.Repository {
17
+ constructor(dataSource) {
18
+ super(workflow_review_request_reviewer_ee_1.WorkflowReviewRequestReviewer, dataSource.manager);
19
+ }
20
+ async addReviewers(input, trx) {
21
+ const uniqueUserIds = [...new Set(input.userIds)];
22
+ if (uniqueUserIds.length === 0) {
23
+ return [];
24
+ }
25
+ const manager = trx ?? this.manager;
26
+ const entities = uniqueUserIds.map((userId) => this.create({
27
+ workflowReviewRequestId: input.workflowReviewRequestId,
28
+ userId,
29
+ }));
30
+ return await manager.save(workflow_review_request_reviewer_ee_1.WorkflowReviewRequestReviewer, entities);
31
+ }
32
+ async setReviewers(requestId, userIds) {
33
+ const uniqueUserIds = [...new Set(userIds)];
34
+ return await this.manager.transaction(async (tx) => {
35
+ await tx.delete(workflow_review_request_reviewer_ee_1.WorkflowReviewRequestReviewer, {
36
+ workflowReviewRequestId: requestId,
37
+ });
38
+ if (uniqueUserIds.length === 0) {
39
+ return [];
40
+ }
41
+ const entities = uniqueUserIds.map((userId) => this.create({
42
+ workflowReviewRequestId: requestId,
43
+ userId,
44
+ }));
45
+ return await tx.save(workflow_review_request_reviewer_ee_1.WorkflowReviewRequestReviewer, entities);
46
+ });
47
+ }
48
+ async findByRequestId(requestId) {
49
+ return await this.find({
50
+ where: { workflowReviewRequestId: requestId },
51
+ order: { userId: 'ASC' },
52
+ });
53
+ }
54
+ async findByRequestIds(requestIds) {
55
+ if (requestIds.length === 0) {
56
+ return [];
57
+ }
58
+ return await this.find({
59
+ where: { workflowReviewRequestId: (0, typeorm_1.In)(requestIds) },
60
+ order: { userId: 'ASC' },
61
+ });
62
+ }
63
+ };
64
+ exports.WorkflowReviewRequestReviewerRepository = WorkflowReviewRequestReviewerRepository;
65
+ exports.WorkflowReviewRequestReviewerRepository = WorkflowReviewRequestReviewerRepository = __decorate([
66
+ (0, di_1.Service)(),
67
+ __metadata("design:paramtypes", [typeorm_1.DataSource])
68
+ ], WorkflowReviewRequestReviewerRepository);
69
+ //# sourceMappingURL=workflow-review-request-reviewer.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-review-request-reviewer.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-review-request-reviewer.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAElC,0CAA0D;AAE1D,yGAAgG;AAGzF,IAAM,uCAAuC,GAA7C,MAAM,uCAAwC,SAAQ,oBAAyC;IACrG,YAAY,UAAsB;QACjC,KAAK,CAAC,mEAA6B,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAGD,KAAK,CAAC,YAAY,CACjB,KAGC,EACD,GAAmB;QAEnB,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;QACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7C,IAAI,CAAC,MAAM,CAAC;YACX,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;YACtD,MAAM;SACN,CAAC,CACF,CAAC;QAEF,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,mEAA6B,EAAE,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,YAAY,CACjB,SAAiB,EACjB,OAAiB;QAEjB,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAE5C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAClD,MAAM,EAAE,CAAC,MAAM,CAAC,mEAA6B,EAAE;gBAC9C,uBAAuB,EAAE,SAAS;aAClC,CAAC,CAAC;YAEH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,CAAC;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC7C,IAAI,CAAC,MAAM,CAAC;gBACX,uBAAuB,EAAE,SAAS;gBAClC,MAAM;aACN,CAAC,CACF,CAAC;YAEF,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,mEAA6B,EAAE,QAAQ,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB;QACtC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,EAAE,uBAAuB,EAAE,SAAS,EAAE;YAC7C,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;SACxB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAoB;QAC1C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACX,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,EAAE,uBAAuB,EAAE,IAAA,YAAE,EAAC,UAAU,CAAC,EAAE;YAClD,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;SACxB,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;;kDAxEY,uCAAuC;IADnD,IAAA,YAAO,GAAE;qCAEe,oBAAU;GADtB,uCAAuC,CAwEnD"}
@@ -0,0 +1,29 @@
1
+ import type { EntityManager } from '@n8n/typeorm';
2
+ import { DataSource, Repository } from '@n8n/typeorm';
3
+ import { WorkflowReviewRequestWorkflow } from '../entities/workflow-review-request-workflow.ee';
4
+ export type WorkflowReviewRequestLinkedWorkflow = {
5
+ workflowName: string;
6
+ workflowVersionId: string | null;
7
+ };
8
+ export type WorkflowReviewRequestWorkflowDetailRow = {
9
+ workflowId: string;
10
+ workflowName: string;
11
+ workflowVersionId: string | null;
12
+ };
13
+ export declare class WorkflowReviewRequestWorkflowRepository extends Repository<WorkflowReviewRequestWorkflow> {
14
+ constructor(dataSource: DataSource);
15
+ createWorkflowRow(input: {
16
+ id?: string;
17
+ workflowReviewRequestId: string;
18
+ workflowId: string;
19
+ workflowVersionId?: string | null;
20
+ }, trx?: EntityManager): Promise<WorkflowReviewRequestWorkflow>;
21
+ updateWorkflowVersion(input: {
22
+ workflowReviewRequestId: string;
23
+ workflowId: string;
24
+ workflowVersionId: string;
25
+ }, trx?: EntityManager): Promise<void>;
26
+ findByRequestId(requestId: string, trx?: EntityManager): Promise<WorkflowReviewRequestWorkflow[]>;
27
+ findLinkedWorkflowsByRequestIds(requestIds: string[]): Promise<Map<string, WorkflowReviewRequestLinkedWorkflow>>;
28
+ findLinkedWorkflowDetailsByRequestId(requestId: string): Promise<WorkflowReviewRequestWorkflowDetailRow[]>;
29
+ }
@@ -0,0 +1,82 @@
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.WorkflowReviewRequestWorkflowRepository = void 0;
13
+ const di_1 = require("@n8n/di");
14
+ const typeorm_1 = require("@n8n/typeorm");
15
+ const workflow_entity_1 = require("../entities/workflow-entity");
16
+ const workflow_review_request_workflow_ee_1 = require("../entities/workflow-review-request-workflow.ee");
17
+ let WorkflowReviewRequestWorkflowRepository = class WorkflowReviewRequestWorkflowRepository extends typeorm_1.Repository {
18
+ constructor(dataSource) {
19
+ super(workflow_review_request_workflow_ee_1.WorkflowReviewRequestWorkflow, dataSource.manager);
20
+ }
21
+ async createWorkflowRow(input, trx) {
22
+ const manager = trx ?? this.manager;
23
+ const entity = this.create({
24
+ id: input.id,
25
+ workflowReviewRequestId: input.workflowReviewRequestId,
26
+ workflowId: input.workflowId,
27
+ workflowVersionId: input.workflowVersionId ?? null,
28
+ });
29
+ return await manager.save(workflow_review_request_workflow_ee_1.WorkflowReviewRequestWorkflow, entity);
30
+ }
31
+ async updateWorkflowVersion(input, trx) {
32
+ const manager = trx ?? this.manager;
33
+ await manager.update(workflow_review_request_workflow_ee_1.WorkflowReviewRequestWorkflow, {
34
+ workflowReviewRequestId: input.workflowReviewRequestId,
35
+ workflowId: input.workflowId,
36
+ }, { workflowVersionId: input.workflowVersionId });
37
+ }
38
+ async findByRequestId(requestId, trx) {
39
+ const manager = trx ?? this.manager;
40
+ return await manager.find(workflow_review_request_workflow_ee_1.WorkflowReviewRequestWorkflow, {
41
+ where: { workflowReviewRequestId: requestId },
42
+ order: { id: 'ASC' },
43
+ });
44
+ }
45
+ async findLinkedWorkflowsByRequestIds(requestIds) {
46
+ if (requestIds.length === 0) {
47
+ return new Map();
48
+ }
49
+ const rows = await this.createQueryBuilder('wrw')
50
+ .innerJoin(workflow_entity_1.WorkflowEntity, 'workflow', 'workflow.id = wrw.workflowId')
51
+ .select('wrw.workflowReviewRequestId', 'requestId')
52
+ .addSelect('workflow.name', 'workflowName')
53
+ .addSelect('wrw.workflowVersionId', 'workflowVersionId')
54
+ .where('wrw.workflowReviewRequestId IN (:...requestIds)', { requestIds })
55
+ .getRawMany();
56
+ return new Map(rows.map((row) => [
57
+ row.requestId,
58
+ { workflowName: row.workflowName, workflowVersionId: row.workflowVersionId ?? null },
59
+ ]));
60
+ }
61
+ async findLinkedWorkflowDetailsByRequestId(requestId) {
62
+ const rows = await this.createQueryBuilder('wrw')
63
+ .innerJoin(workflow_entity_1.WorkflowEntity, 'workflow', 'workflow.id = wrw.workflowId')
64
+ .select('wrw.workflowId', 'workflowId')
65
+ .addSelect('workflow.name', 'workflowName')
66
+ .addSelect('wrw.workflowVersionId', 'workflowVersionId')
67
+ .where('wrw.workflowReviewRequestId = :requestId', { requestId })
68
+ .orderBy('wrw.id', 'ASC')
69
+ .getRawMany();
70
+ return rows.map((row) => ({
71
+ workflowId: row.workflowId,
72
+ workflowName: row.workflowName,
73
+ workflowVersionId: row.workflowVersionId ?? null,
74
+ }));
75
+ }
76
+ };
77
+ exports.WorkflowReviewRequestWorkflowRepository = WorkflowReviewRequestWorkflowRepository;
78
+ exports.WorkflowReviewRequestWorkflowRepository = WorkflowReviewRequestWorkflowRepository = __decorate([
79
+ (0, di_1.Service)(),
80
+ __metadata("design:paramtypes", [typeorm_1.DataSource])
81
+ ], WorkflowReviewRequestWorkflowRepository);
82
+ //# sourceMappingURL=workflow-review-request-workflow.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-review-request-workflow.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-review-request-workflow.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { EntityManager } from '@n8n/typeorm';
2
+ import { DataSource, Repository } from '@n8n/typeorm';
3
+ import { WorkflowReviewRequest, type WorkflowReviewRequestDecision, type WorkflowReviewRequestState } from '../entities/workflow-review-request.ee';
4
+ export type InboxCursor = {
5
+ createdAt: Date;
6
+ id: string;
7
+ };
8
+ export type FindManyForInboxOptions = {
9
+ projectIds: string[] | null;
10
+ requesterId: string;
11
+ state?: WorkflowReviewRequestState;
12
+ limit: number;
13
+ cursor?: InboxCursor;
14
+ };
15
+ export type WorkflowReviewRequestForWorkflowRow = Pick<WorkflowReviewRequest, 'id' | 'state' | 'decision' | 'updatedById' | 'createdAt' | 'updatedAt'> & {
16
+ workflowVersionId: string | null;
17
+ };
18
+ export type ExistsAnyForInboxOptions = {
19
+ projectIds: string[] | null;
20
+ requesterId: string;
21
+ state?: WorkflowReviewRequestState;
22
+ };
23
+ export type CountByStateForInboxOptions = {
24
+ projectIds: string[] | null;
25
+ requesterId: string;
26
+ };
27
+ export type InboxStateCounts = {
28
+ open: number;
29
+ closed: number;
30
+ };
31
+ export declare class WorkflowReviewRequestRepository extends Repository<WorkflowReviewRequest> {
32
+ constructor(dataSource: DataSource);
33
+ createRequest(input: {
34
+ id?: string;
35
+ projectId: string;
36
+ state?: WorkflowReviewRequestState;
37
+ decision?: WorkflowReviewRequestDecision;
38
+ title: string;
39
+ description?: string | null;
40
+ createdById: string | null;
41
+ updatedById?: string | null;
42
+ }, trx?: EntityManager): Promise<WorkflowReviewRequest>;
43
+ findById(id: string, trx?: EntityManager): Promise<WorkflowReviewRequest | null>;
44
+ findRequestsForWorkflow(workflowId: string, options?: {
45
+ state?: WorkflowReviewRequestState;
46
+ skip?: number;
47
+ take?: number;
48
+ }): Promise<[WorkflowReviewRequestForWorkflowRow[], number]>;
49
+ findOpenRequestForWorkflow(workflowId: string, trx?: EntityManager): Promise<WorkflowReviewRequest | null>;
50
+ findManyForInbox(options: FindManyForInboxOptions): Promise<WorkflowReviewRequest[]>;
51
+ countByStateForInbox(options: CountByStateForInboxOptions): Promise<InboxStateCounts>;
52
+ private applyInboxVisibility;
53
+ }