@n8n/db 1.38.0 → 1.39.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 (110) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/entities/activity-event.d.ts +18 -0
  3. package/dist/entities/activity-event.js +65 -0
  4. package/dist/entities/activity-event.js.map +1 -0
  5. package/dist/entities/execution-entity.d.ts +2 -2
  6. package/dist/entities/execution-entity.js +2 -2
  7. package/dist/entities/execution-entity.js.map +1 -1
  8. package/dist/entities/index.d.ts +6 -2
  9. package/dist/entities/index.js +11 -2
  10. package/dist/entities/index.js.map +1 -1
  11. package/dist/entities/project-pool-settings.ee.d.ts +7 -0
  12. package/dist/entities/project-pool-settings.ee.js +35 -0
  13. package/dist/entities/project-pool-settings.ee.js.map +1 -0
  14. package/dist/entities/scheduled-job.d.ts +11 -3
  15. package/dist/entities/scheduled-job.js +15 -6
  16. package/dist/entities/scheduled-job.js.map +1 -1
  17. package/dist/entities/types-db.d.ts +3 -1
  18. package/dist/entities/types-db.js.map +1 -1
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.js +4 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/migrations/common/1788191436461-CreateAgentBackgroundJobTable.d.ts +5 -0
  23. package/dist/migrations/common/1788191436461-CreateAgentBackgroundJobTable.js +35 -0
  24. package/dist/migrations/common/1788191436461-CreateAgentBackgroundJobTable.js.map +1 -0
  25. package/dist/migrations/common/1788336311704-DropInstanceAiRunSnapshotsTable.d.ts +5 -0
  26. package/dist/migrations/common/1788336311704-DropInstanceAiRunSnapshotsTable.js +22 -0
  27. package/dist/migrations/common/1788336311704-DropInstanceAiRunSnapshotsTable.js.map +1 -0
  28. package/dist/migrations/common/1788359043381-GeneralizeScheduledJobOwner.d.ts +12 -0
  29. package/dist/migrations/common/1788359043381-GeneralizeScheduledJobOwner.js +107 -0
  30. package/dist/migrations/common/1788359043381-GeneralizeScheduledJobOwner.js.map +1 -0
  31. package/dist/migrations/common/1788425788714-CreateActivityEventTable.d.ts +5 -0
  32. package/dist/migrations/common/1788425788714-CreateActivityEventTable.js +49 -0
  33. package/dist/migrations/common/1788425788714-CreateActivityEventTable.js.map +1 -0
  34. package/dist/migrations/common/1788445119183-CreateProjectPoolSettings.d.ts +5 -0
  35. package/dist/migrations/common/1788445119183-CreateProjectPoolSettings.js +20 -0
  36. package/dist/migrations/common/1788445119183-CreateProjectPoolSettings.js.map +1 -0
  37. package/dist/migrations/common/1788445119184-CreateInstanceMonitoringReportTable.d.ts +5 -0
  38. package/dist/migrations/common/1788445119184-CreateInstanceMonitoringReportTable.js +24 -0
  39. package/dist/migrations/common/1788445119184-CreateInstanceMonitoringReportTable.js.map +1 -0
  40. package/dist/migrations/common/1788522448804-CreateAgentWorkflowDependencyTable.d.ts +5 -0
  41. package/dist/migrations/common/1788522448804-CreateAgentWorkflowDependencyTable.js +25 -0
  42. package/dist/migrations/common/1788522448804-CreateAgentWorkflowDependencyTable.js.map +1 -0
  43. package/dist/migrations/postgresdb/index.js +15 -1
  44. package/dist/migrations/postgresdb/index.js.map +1 -1
  45. package/dist/migrations/sqlite/1788359043381-GeneralizeScheduledJobOwner.d.ts +4 -0
  46. package/dist/migrations/sqlite/1788359043381-GeneralizeScheduledJobOwner.js +12 -0
  47. package/dist/migrations/sqlite/1788359043381-GeneralizeScheduledJobOwner.js.map +1 -0
  48. package/dist/migrations/sqlite/index.js +15 -1
  49. package/dist/migrations/sqlite/index.js.map +1 -1
  50. package/dist/repositories/activity-event.repository.d.ts +26 -0
  51. package/dist/repositories/activity-event.repository.js +119 -0
  52. package/dist/repositories/activity-event.repository.js.map +1 -0
  53. package/dist/repositories/base-repository.d.ts +1 -1
  54. package/dist/repositories/base-repository.js +1 -1
  55. package/dist/repositories/base-repository.js.map +1 -1
  56. package/dist/repositories/deployment-key.repository.d.ts +15 -1
  57. package/dist/repositories/deployment-key.repository.js +70 -2
  58. package/dist/repositories/deployment-key.repository.js.map +1 -1
  59. package/dist/repositories/execution.repository.d.ts +2 -0
  60. package/dist/repositories/execution.repository.js +11 -0
  61. package/dist/repositories/execution.repository.js.map +1 -1
  62. package/dist/repositories/folder.repository.d.ts +1 -0
  63. package/dist/repositories/folder.repository.js +9 -0
  64. package/dist/repositories/folder.repository.js.map +1 -1
  65. package/dist/repositories/index.d.ts +5 -3
  66. package/dist/repositories/index.js +9 -2
  67. package/dist/repositories/index.js.map +1 -1
  68. package/dist/repositories/project-pool-settings.repository.ee.d.ts +7 -0
  69. package/dist/repositories/project-pool-settings.repository.ee.js +33 -0
  70. package/dist/repositories/project-pool-settings.repository.ee.js.map +1 -0
  71. package/dist/repositories/project-relation.repository.d.ts +1 -0
  72. package/dist/repositories/project-relation.repository.js +16 -0
  73. package/dist/repositories/project-relation.repository.js.map +1 -1
  74. package/dist/repositories/scheduled-job.repository.d.ts +16 -6
  75. package/dist/repositories/scheduled-job.repository.js +128 -15
  76. package/dist/repositories/scheduled-job.repository.js.map +1 -1
  77. package/dist/repositories/shared-credentials.repository.d.ts +1 -0
  78. package/dist/repositories/shared-credentials.repository.js +14 -1
  79. package/dist/repositories/shared-credentials.repository.js.map +1 -1
  80. package/dist/repositories/shared-workflow.repository.d.ts +1 -1
  81. package/dist/repositories/shared-workflow.repository.js +12 -15
  82. package/dist/repositories/shared-workflow.repository.js.map +1 -1
  83. package/dist/repositories/test-case-execution.repository.ee.d.ts +3 -3
  84. package/dist/repositories/test-case-execution.repository.ee.js +3 -3
  85. package/dist/repositories/test-case-execution.repository.ee.js.map +1 -1
  86. package/dist/repositories/test-run.repository.ee.d.ts +6 -2
  87. package/dist/repositories/test-run.repository.ee.js +9 -4
  88. package/dist/repositories/test-run.repository.ee.js.map +1 -1
  89. package/dist/repositories/user.repository.d.ts +16 -1
  90. package/dist/repositories/user.repository.js +44 -0
  91. package/dist/repositories/user.repository.js.map +1 -1
  92. package/dist/repositories/workflow-dependency.repository.d.ts +24 -1
  93. package/dist/repositories/workflow-dependency.repository.js +60 -2
  94. package/dist/repositories/workflow-dependency.repository.js.map +1 -1
  95. package/dist/repositories/workflow-publication-trigger-status.repository.d.ts +4 -0
  96. package/dist/repositories/workflow-publication-trigger-status.repository.js +19 -0
  97. package/dist/repositories/workflow-publication-trigger-status.repository.js.map +1 -1
  98. package/dist/repositories/workflow-published-version.repository.d.ts +1 -0
  99. package/dist/repositories/workflow-published-version.repository.js +10 -0
  100. package/dist/repositories/workflow-published-version.repository.js.map +1 -1
  101. package/dist/repositories/workflow.repository.d.ts +6 -1
  102. package/dist/repositories/workflow.repository.js +29 -13
  103. package/dist/repositories/workflow.repository.js.map +1 -1
  104. package/dist/services/db-lock.service.d.ts +1 -0
  105. package/dist/services/db-lock.service.js +1 -0
  106. package/dist/services/db-lock.service.js.map +1 -1
  107. package/dist/utils/escape-like.d.ts +2 -0
  108. package/dist/utils/escape-like.js +9 -0
  109. package/dist/utils/escape-like.js.map +1 -0
  110. package/package.json +20 -19
@@ -5,8 +5,18 @@ import { Project, User } from '../entities';
5
5
  export declare class UserRepository extends Repository<User> {
6
6
  constructor(dataSource: DataSource);
7
7
  findManyByIds(userIds: string[], options?: {
8
- includeRole: boolean;
8
+ includeRole?: boolean;
9
+ offset?: number;
10
+ limit?: number;
9
11
  }): Promise<User[]>;
12
+ findMany(options?: {
13
+ includeRole?: boolean;
14
+ offset?: number;
15
+ limit?: number;
16
+ }): Promise<User[]>;
17
+ findByIdWithRole(id: string): Promise<User | null>;
18
+ findByEmailWithRole(email: string): Promise<User | null>;
19
+ findOneByProjectIdOrFail(projectId: string): Promise<User>;
10
20
  findByApiKey(apiKey: string): Promise<User | null>;
11
21
  update(...args: Parameters<Repository<User>['update']>): Promise<import("@n8n/typeorm").UpdateResult>;
12
22
  deleteAllExcept(user: User): Promise<void>;
@@ -25,6 +35,11 @@ export declare class UserRepository extends Repository<User> {
25
35
  projectRoleSlugs: string[];
26
36
  globalRoleSlugs: string[];
27
37
  }): Promise<User[]>;
38
+ findIdsWithGlobalOrProjectRoles({ projectIds, projectRoleSlugs, globalRoleSlugs, }: {
39
+ projectIds: string[];
40
+ projectRoleSlugs: string[];
41
+ globalRoleSlugs: string[];
42
+ }): Promise<string[]>;
28
43
  findPersonalOwnerForWorkflow(workflowId: string): Promise<User | null>;
29
44
  findPersonalOwnerForProject(projectId: string): Promise<User | null>;
30
45
  private applyUserListSelect;
@@ -21,7 +21,35 @@ let UserRepository = class UserRepository extends typeorm_1.Repository {
21
21
  async findManyByIds(userIds, options) {
22
22
  return await this.find({
23
23
  where: { id: (0, typeorm_1.In)(userIds) },
24
+ skip: options?.offset,
25
+ take: options?.limit,
24
26
  relations: options?.includeRole ? ['role'] : undefined,
27
+ order: { id: 'ASC' },
28
+ });
29
+ }
30
+ async findMany(options) {
31
+ return await this.find({
32
+ skip: options?.offset,
33
+ take: options?.limit,
34
+ relations: options?.includeRole ? ['role'] : undefined,
35
+ order: { id: 'ASC' },
36
+ });
37
+ }
38
+ async findByIdWithRole(id) {
39
+ return await this.findOne({
40
+ where: { id },
41
+ relations: ['role'],
42
+ });
43
+ }
44
+ async findByEmailWithRole(email) {
45
+ return await this.findOne({
46
+ where: { email },
47
+ relations: ['role'],
48
+ });
49
+ }
50
+ async findOneByProjectIdOrFail(projectId) {
51
+ return await this.findOneByOrFail({
52
+ projectRelations: { projectId },
25
53
  });
26
54
  }
27
55
  async findByApiKey(apiKey) {
@@ -128,6 +156,22 @@ let UserRepository = class UserRepository extends typeorm_1.Repository {
128
156
  relations: { role: true, authIdentities: true },
129
157
  });
130
158
  }
159
+ async findIdsWithGlobalOrProjectRoles({ projectIds, projectRoleSlugs, globalRoleSlugs, }) {
160
+ const where = [];
161
+ if (globalRoleSlugs.length > 0) {
162
+ where.push({ disabled: false, role: { slug: (0, typeorm_1.In)(globalRoleSlugs) } });
163
+ }
164
+ if (projectIds.length > 0 && projectRoleSlugs.length > 0) {
165
+ where.push({
166
+ disabled: false,
167
+ projectRelations: { projectId: (0, typeorm_1.In)(projectIds), role: { slug: (0, typeorm_1.In)(projectRoleSlugs) } },
168
+ });
169
+ }
170
+ if (where.length === 0)
171
+ return [];
172
+ const users = await this.find({ where, select: ['id'] });
173
+ return [...new Set(users.map(({ id }) => id))];
174
+ }
131
175
  async findPersonalOwnerForWorkflow(workflowId) {
132
176
  return await this.findOne({
133
177
  where: {
@@ -1 +1 @@
1
- {"version":3,"file":"user.repository.js","sourceRoot":"","sources":["../../src/repositories/user.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.repository.js","sourceRoot":"","sources":["../../src/repositories/user.repository.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,13 @@
1
1
  import { DatabaseConfig } from '@n8n/config';
2
2
  import { DataSource, Repository } from '@n8n/typeorm';
3
+ import { SharedWorkflowRepository } from './shared-workflow.repository';
4
+ import type { User } from '../entities';
3
5
  import { WorkflowDependency } from '../entities';
6
+ export interface NodeUsageScope {
7
+ projectRoles: string[];
8
+ workflowRoles: string[];
9
+ projectId?: string;
10
+ }
4
11
  export declare class WorkflowDependencies {
5
12
  readonly workflowId: string;
6
13
  readonly workflowVersionId: number | undefined;
@@ -15,7 +22,23 @@ export declare class WorkflowDependencies {
15
22
  }
16
23
  export declare class WorkflowDependencyRepository extends Repository<WorkflowDependency> {
17
24
  private readonly databaseConfig;
18
- constructor(dataSource: DataSource, databaseConfig: DatabaseConfig);
25
+ private readonly sharedWorkflowRepository;
26
+ constructor(dataSource: DataSource, databaseConfig: DatabaseConfig, sharedWorkflowRepository: SharedWorkflowRepository);
27
+ countNodeTypeUsage(user: User, scope: NodeUsageScope, limit: number): Promise<{
28
+ workflowsInScope: number;
29
+ nodeTypes: Array<{
30
+ nodeType: string;
31
+ workflowCount: number;
32
+ }>;
33
+ truncated: boolean;
34
+ }>;
35
+ countWorkflowsInScope(user: User, scope: NodeUsageScope): Promise<number>;
36
+ findWorkflowsUsingNodeType(user: User, scope: NodeUsageScope, nodeType: string, limit: number): Promise<Array<{
37
+ workflowId: string;
38
+ name: string;
39
+ updatedAt: Date;
40
+ }>>;
41
+ private buildScopedDependencyQuery;
19
42
  updateDependenciesForWorkflow(workflowId: string, dependencies: WorkflowDependencies): Promise<boolean>;
20
43
  private executeUpdate;
21
44
  removeDependenciesForWorkflow(workflowId: string): Promise<boolean>;
@@ -13,6 +13,7 @@ exports.WorkflowDependencyRepository = exports.WorkflowDependencies = void 0;
13
13
  const config_1 = require("@n8n/config");
14
14
  const di_1 = require("@n8n/di");
15
15
  const typeorm_1 = require("@n8n/typeorm");
16
+ const shared_workflow_repository_1 = require("./shared-workflow.repository");
16
17
  const entities_1 = require("../entities");
17
18
  const INDEX_VERSION_ID = 1;
18
19
  class WorkflowDependencies {
@@ -36,9 +37,66 @@ class WorkflowDependencies {
36
37
  }
37
38
  exports.WorkflowDependencies = WorkflowDependencies;
38
39
  let WorkflowDependencyRepository = class WorkflowDependencyRepository extends typeorm_1.Repository {
39
- constructor(dataSource, databaseConfig) {
40
+ constructor(dataSource, databaseConfig, sharedWorkflowRepository) {
40
41
  super(entities_1.WorkflowDependency, dataSource.manager);
41
42
  this.databaseConfig = databaseConfig;
43
+ this.sharedWorkflowRepository = sharedWorkflowRepository;
44
+ }
45
+ async countNodeTypeUsage(user, scope, limit) {
46
+ const rows = await this.buildScopedDependencyQuery(user, scope)
47
+ .andWhere('dependency.dependencyType = :dependencyType', { dependencyType: 'nodeType' })
48
+ .select('dependency.dependencyKey', 'nodeType')
49
+ .addSelect('COUNT(DISTINCT dependency.workflowId)', 'workflowCount')
50
+ .groupBy('dependency.dependencyKey')
51
+ .orderBy('COUNT(DISTINCT dependency.workflowId)', 'DESC')
52
+ .addOrderBy('dependency.dependencyKey', 'ASC')
53
+ .limit(limit + 1)
54
+ .getRawMany();
55
+ const workflowsInScope = await this.countWorkflowsInScope(user, scope);
56
+ return {
57
+ workflowsInScope,
58
+ nodeTypes: rows.slice(0, limit).map((row) => ({
59
+ nodeType: row.nodeType,
60
+ workflowCount: Number(row.workflowCount),
61
+ })),
62
+ truncated: rows.length > limit,
63
+ };
64
+ }
65
+ async countWorkflowsInScope(user, scope) {
66
+ const total = await this.buildScopedDependencyQuery(user, scope)
67
+ .select('COUNT(DISTINCT dependency.workflowId)', 'total')
68
+ .getRawOne();
69
+ return Number(total?.total ?? 0);
70
+ }
71
+ async findWorkflowsUsingNodeType(user, scope, nodeType, limit) {
72
+ const rows = await this.buildScopedDependencyQuery(user, scope)
73
+ .andWhere('dependency.dependencyType = :dependencyType', { dependencyType: 'nodeType' })
74
+ .andWhere('dependency.dependencyKey = :nodeType', { nodeType })
75
+ .select('dependency.workflowId', 'workflowId')
76
+ .addSelect('MAX(workflow.name)', 'name')
77
+ .addSelect('MAX(workflow.updatedAt)', 'updatedAt')
78
+ .groupBy('dependency.workflowId')
79
+ .orderBy('MAX(workflow.updatedAt)', 'DESC')
80
+ .limit(limit)
81
+ .getRawMany();
82
+ return rows.map((row) => ({
83
+ workflowId: row.workflowId,
84
+ name: row.name,
85
+ updatedAt: row.updatedAt instanceof Date ? row.updatedAt : new Date(row.updatedAt),
86
+ }));
87
+ }
88
+ buildScopedDependencyQuery(user, scope) {
89
+ const readable = this.sharedWorkflowRepository.buildSharedWorkflowIdsSubquery(user, {
90
+ projectRoles: scope.projectRoles,
91
+ workflowRoles: scope.workflowRoles,
92
+ ...(scope.projectId ? { projectId: scope.projectId } : {}),
93
+ });
94
+ return (this.createQueryBuilder('dependency')
95
+ .innerJoin(entities_1.WorkflowEntity, 'workflow', 'workflow.id = dependency.workflowId')
96
+ .where('dependency.publishedVersionId IS NULL')
97
+ .andWhere('workflow.isArchived = :isArchived', { isArchived: false })
98
+ .andWhere(`dependency.workflowId IN (${readable.getQuery()})`)
99
+ .setParameters(readable.getParameters()));
42
100
  }
43
101
  async updateDependenciesForWorkflow(workflowId, dependencies) {
44
102
  return await this.manager.transaction(async (tx) => {
@@ -94,6 +152,6 @@ let WorkflowDependencyRepository = class WorkflowDependencyRepository extends ty
94
152
  exports.WorkflowDependencyRepository = WorkflowDependencyRepository;
95
153
  exports.WorkflowDependencyRepository = WorkflowDependencyRepository = __decorate([
96
154
  (0, di_1.Service)(),
97
- __metadata("design:paramtypes", [typeorm_1.DataSource, config_1.DatabaseConfig])
155
+ __metadata("design:paramtypes", [typeorm_1.DataSource, config_1.DatabaseConfig, shared_workflow_repository_1.SharedWorkflowRepository])
98
156
  ], WorkflowDependencyRepository);
99
157
  //# sourceMappingURL=workflow-dependency.repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-dependency.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-dependency.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-dependency.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-dependency.repository.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,8 @@ export declare class WorkflowPublicationTriggerStatusRepository extends Reposito
16
16
  replaceForWorkflow(workflowId: string, rows: TriggerStatusRow[], trx?: EntityManager): Promise<void>;
17
17
  findByWorkflowId(workflowId: string): Promise<WorkflowPublicationTriggerStatus[]>;
18
18
  findActivatedInMemoryTriggers(): Promise<InMemoryTriggerRef[]>;
19
+ getStatusCountsByWorkflowIds(workflowIds: string[]): Promise<Map<string, {
20
+ total: number;
21
+ failed: number;
22
+ }>>;
19
23
  }
@@ -14,6 +14,7 @@ const di_1 = require("@n8n/di");
14
14
  const typeorm_1 = require("@n8n/typeorm");
15
15
  const entities_1 = require("../entities");
16
16
  const workflow_publication_outbox_1 = require("../entities/workflow-publication-outbox");
17
+ const chunk_ids_1 = require("../utils/chunk-ids");
17
18
  let WorkflowPublicationTriggerStatusRepository = class WorkflowPublicationTriggerStatusRepository extends typeorm_1.Repository {
18
19
  constructor(dataSource) {
19
20
  super(entities_1.WorkflowPublicationTriggerStatus, dataSource.manager);
@@ -52,6 +53,24 @@ let WorkflowPublicationTriggerStatusRepository = class WorkflowPublicationTrigge
52
53
  })
53
54
  .getRawMany();
54
55
  }
56
+ async getStatusCountsByWorkflowIds(workflowIds) {
57
+ const counts = new Map();
58
+ const failedStatus = 'failed';
59
+ for (const chunk of (0, chunk_ids_1.chunkIds)(workflowIds)) {
60
+ const rows = await this.createQueryBuilder('t')
61
+ .select('t.workflowId', 'workflowId')
62
+ .addSelect('COUNT(*)', 'total')
63
+ .addSelect('SUM(CASE WHEN t.status = :failedStatus THEN 1 ELSE 0 END)', 'failed')
64
+ .setParameter('failedStatus', failedStatus)
65
+ .where('t.workflowId IN (:...workflowIds)', { workflowIds: chunk })
66
+ .groupBy('t.workflowId')
67
+ .getRawMany();
68
+ for (const row of rows) {
69
+ counts.set(row.workflowId, { total: Number(row.total), failed: Number(row.failed) });
70
+ }
71
+ }
72
+ return counts;
73
+ }
55
74
  };
56
75
  exports.WorkflowPublicationTriggerStatusRepository = WorkflowPublicationTriggerStatusRepository;
57
76
  exports.WorkflowPublicationTriggerStatusRepository = WorkflowPublicationTriggerStatusRepository = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-publication-trigger-status.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-publication-trigger-status.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAClC,0CAAqE;AAErE,0CAA+D;AAC/D,yFAGiD;AAiB1C,IAAM,0CAA0C,GAAhD,MAAM,0CAA2C,SAAQ,oBAA4C;IAC3G,YAAY,UAAsB;QACjC,KAAK,CAAC,2CAAgC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAGD,KAAK,CAAC,kBAAkB,CACvB,UAAkB,EAClB,IAAwB,EACxB,GAAmB;QAEnB,MAAM,GAAG,GAAG,KAAK,EAAE,EAAiB,EAAE,EAAE;YACvC,MAAM,EAAE,CAAC,MAAM,CAAC,2CAAgC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC9B,MAAM,EAAE,CAAC,MAAM,CACd,2CAAgC,EAChC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAC3C,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QACxC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC;IAUD,KAAK,CAAC,6BAA6B;QAClC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;aACxC,MAAM,CAAC,CAAC,+BAA+B,EAAE,uBAAuB,CAAC,CAAC;aAClE,KAAK,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;aACrD,QAAQ,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;aACzD,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE;YAChB,MAAM,QAAQ,GAAG,EAAE;iBACjB,QAAQ,EAAE;iBACV,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CAAC,uDAAyB,EAAE,QAAQ,CAAC;iBACzC,KAAK,CAAC,mCAAmC,CAAC;iBAC1C,QAAQ,CAAC,yCAAyC,EAAE;gBACpD,gBAAgB,EAAE;oBACjB,6DAA+B,CAAC,OAAO;oBACvC,6DAA+B,CAAC,UAAU;iBAC1C;aACD,CAAC;iBACD,QAAQ,EAAE,CAAC;YACb,OAAO,cAAc,QAAQ,EAAE,CAAC;QACjC,CAAC,CAAC;aACD,UAAU,EAAsB,CAAC;IACpC,CAAC;CACD,CAAA;;qDAxDY,0CAA0C;IADtD,IAAA,YAAO,GAAE;qCAEe,oBAAU;GADtB,0CAA0C,CAwDtD"}
1
+ {"version":3,"file":"workflow-publication-trigger-status.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-publication-trigger-status.repository.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare class WorkflowPublishedVersionRepository extends BaseRepository<W
8
8
  constructor(dataSource: DataSource, transactionRunner: TransactionRunner);
9
9
  setPublishedVersion(workflowId: string, publishedVersionId: string): Promise<void>;
10
10
  removePublishedVersion(workflowId: string): Promise<void>;
11
+ findPublishedWorkflowIds(workflowIds: string[]): Promise<Set<string>>;
11
12
  getPublishedVersionId(workflowId: string, ctx?: OperationContext): Promise<string | null>;
12
13
  getPublishedVersionWithRelations(workflowId: string): Promise<WorkflowPublishedVersion | null>;
13
14
  getPublishedVersionForExecution(workflowId: string): Promise<PublishedWorkflowDataForExecution | null>;
@@ -25,6 +25,16 @@ let WorkflowPublishedVersionRepository = class WorkflowPublishedVersionRepositor
25
25
  async removePublishedVersion(workflowId) {
26
26
  await this.delete({ workflowId });
27
27
  }
28
+ async findPublishedWorkflowIds(workflowIds) {
29
+ if (workflowIds.length === 0) {
30
+ return new Set();
31
+ }
32
+ const rows = await this.find({
33
+ where: { workflowId: (0, typeorm_1.In)(workflowIds) },
34
+ select: ['workflowId'],
35
+ });
36
+ return new Set(rows.map((row) => row.workflowId));
37
+ }
28
38
  async getPublishedVersionId(workflowId, ctx = {}) {
29
39
  const record = await this.managerFor(ctx).findOne(entities_1.WorkflowPublishedVersion, {
30
40
  where: { workflowId },
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-published-version.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-published-version.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAClC,0CAA0C;AAG1C,uDAAmD;AACnD,0CAAuD;AACvD,yDAAmF;AAyB5E,IAAM,kCAAkC,GAAxC,MAAM,kCAAmC,SAAQ,gCAAwC;IAC/F,YAAY,UAAsB,EAAE,iBAAoC;QACvE,KAAK,CAAC,mCAAwB,EAAE,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,UAAkB,EAAE,kBAA0B;QACvE,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QAC9C,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACnC,CAAC;IAOD,KAAK,CAAC,qBAAqB,CAC1B,UAAkB,EAClB,GAAG,GAAqB,EAAE;QAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,mCAAwB,EAAE;YAC3E,KAAK,EAAE,EAAE,UAAU,EAAE;YACrB,MAAM,EAAE,CAAC,oBAAoB,CAAC;SAC9B,CAAC,CAAC;QACH,OAAO,MAAM,EAAE,kBAAkB,IAAI,IAAI,CAAC;IAC3C,CAAC;IAOD,KAAK,CAAC,gCAAgC,CACrC,UAAkB;QAElB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC;YACzB,KAAK,EAAE,EAAE,UAAU,EAAE;YACrB,SAAS,EAAE;gBACV,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;gBACvC,gBAAgB,EAAE,IAAI;aACtB;SACD,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,+BAA+B,CACpC,UAAkB;QAElB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;aACrD,kBAAkB,CAAC,kBAAkB,EAAE,UAAU,CAAC;aAClD,kBAAkB,CAAC,0BAA0B,EAAE,kBAAkB,CAAC;aAClE,MAAM,CAAC;YACP,oBAAoB;YACpB,4BAA4B;YAC5B,aAAa;YACb,eAAe;YACf,sBAAsB;YACtB,iBAAiB;YACjB,qBAAqB;YACrB,oBAAoB;YACpB,oBAAoB;YACpB,mBAAmB;YACnB,qBAAqB;YACrB,0BAA0B;YAC1B,yBAAyB;YACzB,4BAA4B;YAC5B,wBAAwB;YACxB,8BAA8B;YAC9B,6BAA6B;SAC7B,CAAC;aACD,KAAK,CAAC,kCAAkC,EAAE,EAAE,UAAU,EAAE,CAAC;aACzD,MAAM,EAAE,CAAC;QAEX,IAAI,CAAC,MAAM,EAAE,gBAAgB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;QAE9C,OAAO;YACN,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,KAAK,EAAE,gBAAgB,CAAC,KAAK;YAC7B,WAAW,EAAE,gBAAgB,CAAC,WAAW;YACzC,UAAU,EAAE,gBAAgB,CAAC,UAAU;YACvC,SAAS,EAAE,gBAAgB,CAAC,SAAS;SACrC,CAAC;IACH,CAAC;CACD,CAAA;;6CAlGY,kCAAkC;IAD9C,IAAA,YAAO,GAAE;qCAEe,oBAAU,EAAqB,+BAAiB;GAD5D,kCAAkC,CAkG9C"}
1
+ {"version":3,"file":"workflow-published-version.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-published-version.repository.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,9 @@ import { WorkflowEntity, User } from '../entities';
11
11
  import type { ListQueryDb, FolderWithWorkflowAndSubFolderCount, ListQuery } from '../entities/types-db';
12
12
  import { type OperationContext, TransactionRunner } from '../services/transaction';
13
13
  type ResourceType = 'folder' | 'workflow';
14
+ type UpsertableWorkflowContent = QueryDeepPartialEntity<WorkflowEntity> & Pick<WorkflowEntity, 'nodes'> & {
15
+ id?: string;
16
+ };
14
17
  export type WorkflowFolderUnionFull = (ListQueryDb.Workflow.Plain | ListQueryDb.Workflow.WithSharing | FolderWithWorkflowAndSubFolderCount) & {
15
18
  resource: ResourceType;
16
19
  };
@@ -18,6 +21,7 @@ type WorkflowListResult = {
18
21
  workflows: ListQueryDb.Workflow.Plain[] | ListQueryDb.Workflow.WithSharing[];
19
22
  count: number;
20
23
  };
24
+ export declare function agentToolReferenceWhere(projectId: string, workflowIds: string[], legacyWorkflowNames: string[]): Array<FindOptionsWhere<WorkflowEntity>>;
21
25
  export declare class WorkflowRepository extends BaseRepository<WorkflowEntity> {
22
26
  private readonly globalConfig;
23
27
  private readonly folderRepository;
@@ -45,6 +49,8 @@ export declare class WorkflowRepository extends BaseRepository<WorkflowEntity> {
45
49
  getPublishedPersonalWorkflowsCount(): Promise<number>;
46
50
  hasAnyWorkflowsWithErrorWorkflow(): Promise<boolean>;
47
51
  updateContent(id: string, content: QueryDeepPartialEntity<WorkflowEntity>, ctx: OperationContext): Promise<void>;
52
+ createContent(workflow: WorkflowEntity, ctx: OperationContext): Promise<WorkflowEntity>;
53
+ upsertImportedContent(content: UpsertableWorkflowContent, ctx: OperationContext): Promise<string>;
48
54
  findByCredentialResolverId(resolverId: string): Promise<Array<Pick<WorkflowEntity, 'id' | 'name'>>>;
49
55
  findActiveByCredentialResolverId(resolverId: string): Promise<string[]>;
50
56
  private addCredentialResolverFilter;
@@ -108,7 +114,6 @@ export declare class WorkflowRepository extends BaseRepository<WorkflowEntity> {
108
114
  private buildCallablePolicySubquery;
109
115
  private buildCallablePolicyConditions;
110
116
  private settingsTextValue;
111
- private escapeLike;
112
117
  private buildSharedWorkflowIdsSubquery;
113
118
  getManyQuery(workflowIds: string[], options?: ListQuery.Options): SelectQueryBuilder<WorkflowEntity>;
114
119
  private createBaseQuery;
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.WorkflowRepository = void 0;
13
+ exports.agentToolReferenceWhere = agentToolReferenceWhere;
13
14
  const config_1 = require("@n8n/config");
14
15
  const decorators_1 = require("@n8n/decorators");
15
16
  const di_1 = require("@n8n/di");
@@ -24,9 +25,20 @@ const shared_workflow_1 = require("../entities/shared-workflow");
24
25
  const transaction_1 = require("../services/transaction");
25
26
  const apply_workflow_boolean_setting_filter_1 = require("../utils/apply-workflow-boolean-setting-filter");
26
27
  const chunk_ids_1 = require("../utils/chunk-ids");
28
+ const escape_like_1 = require("../utils/escape-like");
27
29
  const is_string_array_1 = require("../utils/is-string-array");
28
30
  const list_query_sort_1 = require("../utils/list-query-sort");
29
31
  const timed_query_1 = require("../utils/timed-query");
32
+ function agentToolReferenceWhere(projectId, workflowIds, legacyWorkflowNames) {
33
+ const where = [];
34
+ if (workflowIds.length > 0) {
35
+ where.push({ id: (0, typeorm_1.In)(workflowIds), shared: { projectId } });
36
+ }
37
+ if (legacyWorkflowNames.length > 0) {
38
+ where.push({ name: (0, typeorm_1.In)(legacyWorkflowNames), shared: { projectId } });
39
+ }
40
+ return where;
41
+ }
30
42
  let WorkflowRepository = class WorkflowRepository extends base_repository_1.BaseRepository {
31
43
  constructor(dataSource, globalConfig, folderRepository, sharedWorkflowRepository, workflowHistoryRepository, transactionRunner) {
32
44
  super(entities_1.WorkflowEntity, dataSource.manager, transactionRunner);
@@ -103,6 +115,19 @@ let WorkflowRepository = class WorkflowRepository extends base_repository_1.Base
103
115
  (0, decorators_1.assertClearedFor)(ctx.policyCleared, 'workflowSave', { type: 'workflow', id });
104
116
  await this.managerFor(ctx).update(entities_1.WorkflowEntity, id, content);
105
117
  }
118
+ async createContent(workflow, ctx) {
119
+ (0, decorators_1.assertClearedFor)(ctx.policyCleared, 'workflowSave', (0, decorators_1.workflowContentSubject)(workflow));
120
+ return await this.managerFor(ctx).save(workflow);
121
+ }
122
+ async upsertImportedContent(content, ctx) {
123
+ (0, decorators_1.assertClearedFor)(ctx.policyCleared, 'contentImport', (0, decorators_1.workflowSubject)({ id: content.id ?? null, nodes: content.nodes }));
124
+ const result = await this.managerFor(ctx).upsert(entities_1.WorkflowEntity, content, ['id']);
125
+ const id = result.identifiers.at(0)?.id;
126
+ if (typeof id !== 'string') {
127
+ throw new n8n_workflow_1.UnexpectedError('Upsert of an imported workflow returned no id');
128
+ }
129
+ return id;
130
+ }
106
131
  async findByCredentialResolverId(resolverId) {
107
132
  const qb = this.createQueryBuilder('workflow').select(['workflow.id', 'workflow.name']);
108
133
  this.addCredentialResolverFilter(qb, resolverId);
@@ -175,18 +200,12 @@ let WorkflowRepository = class WorkflowRepository extends base_repository_1.Base
175
200
  return [...workflows.values()];
176
201
  }
177
202
  async findManyByAgentToolReferences(projectId, workflowIds, legacyWorkflowNames) {
178
- const where = [];
179
- if (workflowIds.length > 0) {
180
- where.push({ id: (0, typeorm_1.In)(workflowIds), shared: { projectId } });
181
- }
182
- if (legacyWorkflowNames.length > 0) {
183
- where.push({ name: (0, typeorm_1.In)(legacyWorkflowNames), shared: { projectId } });
184
- }
203
+ const where = agentToolReferenceWhere(projectId, workflowIds, legacyWorkflowNames);
185
204
  if (where.length === 0)
186
205
  return [];
187
206
  return await this.find({
188
207
  where,
189
- select: ['id', 'name', 'nodes', 'connections'],
208
+ select: ['id', 'name', 'nodes', 'connections', 'activeVersionId'],
190
209
  });
191
210
  }
192
211
  async findOneByAgentToolReference(projectId, reference, options = {}) {
@@ -567,10 +586,10 @@ let WorkflowRepository = class WorkflowRepository extends base_repository_1.Base
567
586
  const conditions = [];
568
587
  const params = {
569
588
  cpParentWorkflowId: parentWorkflowId,
570
- cpCallerIdMembership: `%,${this.escapeLike(parentWorkflowId)},%`,
589
+ cpCallerIdMembership: `%,${(0, escape_like_1.escapeLike)(parentWorkflowId)},%`,
571
590
  };
572
591
  conditions.push(`${callerPolicy} = 'any'`);
573
- conditions.push(`(${callerPolicy} = 'workflowsFromAList' AND (',' || REPLACE(${callerIds}, ' ', '') || ',') LIKE :cpCallerIdMembership ESCAPE '\\')`);
592
+ conditions.push(`(${callerPolicy} = 'workflowsFromAList' AND (',' || REPLACE(${callerIds}, ' ', '') || ',') LIKE :cpCallerIdMembership ${escape_like_1.LIKE_ESCAPE_CLAUSE})`);
574
593
  const sameOwnerPolicyClauses = [`${callerPolicy} = 'workflowsFromSameOwner'`];
575
594
  if (defaultPolicy === 'workflowsFromSameOwner') {
576
595
  sameOwnerPolicyClauses.push(`${callerPolicy} IS NULL`);
@@ -586,9 +605,6 @@ let WorkflowRepository = class WorkflowRepository extends base_repository_1.Base
586
605
  ? `${field} ->> '${key}'`
587
606
  : `JSON_EXTRACT(${field}, '$.${key}')`;
588
607
  }
589
- escapeLike(value) {
590
- return value.replace(/[\\%_]/g, (char) => `\\${char}`);
591
- }
592
608
  buildSharedWorkflowIdsSubquery(user, sharingOptions) {
593
609
  return this.sharedWorkflowRepository.buildSharedWorkflowIdsSubquery(user, sharingOptions);
594
610
  }