@n8n/db 1.12.0 → 1.14.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 (63) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/entities/credential-dependency-entity.d.ts +11 -0
  3. package/dist/entities/credential-dependency-entity.js +45 -0
  4. package/dist/entities/credential-dependency-entity.js.map +1 -0
  5. package/dist/entities/index.d.ts +5 -1
  6. package/dist/entities/index.js +7 -1
  7. package/dist/entities/index.js.map +1 -1
  8. package/dist/entities/role.d.ts +1 -1
  9. package/dist/entities/role.js.map +1 -1
  10. package/dist/entities/types-db.d.ts +2 -0
  11. package/dist/entities/types-db.js.map +1 -1
  12. package/dist/entities/workflow-dependency-entity.d.ts +1 -1
  13. package/dist/entities/workflow-dependency-entity.js.map +1 -1
  14. package/dist/entities/workflow-published-version.d.ts +10 -0
  15. package/dist/entities/workflow-published-version.js +43 -0
  16. package/dist/entities/workflow-published-version.js.map +1 -0
  17. package/dist/migrations/common/1769900001000-AddWorkflowUnpublishScopeToCustomRoles.d.ts +1 -1
  18. package/dist/migrations/common/1769900001000-AddWorkflowUnpublishScopeToCustomRoles.js +4 -14
  19. package/dist/migrations/common/1769900001000-AddWorkflowUnpublishScopeToCustomRoles.js.map +1 -1
  20. package/dist/migrations/common/1772619247762-ChangeWorkflowPublishedVersionFKsToRestrict.d.ts +5 -0
  21. package/dist/migrations/common/1772619247762-ChangeWorkflowPublishedVersionFKsToRestrict.js +25 -0
  22. package/dist/migrations/common/1772619247762-ChangeWorkflowPublishedVersionFKsToRestrict.js.map +1 -0
  23. package/dist/migrations/common/1772700000000-AddTypeToChatHubSessions.d.ts +5 -0
  24. package/dist/migrations/common/1772700000000-AddTypeToChatHubSessions.js +18 -0
  25. package/dist/migrations/common/1772700000000-AddTypeToChatHubSessions.js.map +1 -0
  26. package/dist/migrations/common/1773000000000-CreateCredentialDependencyTable.d.ts +12 -0
  27. package/dist/migrations/common/1773000000000-CreateCredentialDependencyTable.js +138 -0
  28. package/dist/migrations/common/1773000000000-CreateCredentialDependencyTable.js.map +1 -0
  29. package/dist/migrations/postgresdb/index.js +6 -0
  30. package/dist/migrations/postgresdb/index.js.map +1 -1
  31. package/dist/migrations/sqlite/index.js +6 -0
  32. package/dist/migrations/sqlite/index.js.map +1 -1
  33. package/dist/repositories/credential-dependency.repository.d.ts +32 -0
  34. package/dist/repositories/credential-dependency.repository.js +98 -0
  35. package/dist/repositories/credential-dependency.repository.js.map +1 -0
  36. package/dist/repositories/credentials.repository.d.ts +12 -3
  37. package/dist/repositories/credentials.repository.js +39 -1
  38. package/dist/repositories/credentials.repository.js.map +1 -1
  39. package/dist/repositories/execution.repository.d.ts +1 -0
  40. package/dist/repositories/execution.repository.js +16 -2
  41. package/dist/repositories/execution.repository.js.map +1 -1
  42. package/dist/repositories/index.d.ts +3 -1
  43. package/dist/repositories/index.js +5 -1
  44. package/dist/repositories/index.js.map +1 -1
  45. package/dist/repositories/project-secrets-provider-access.repository.ee.d.ts +7 -3
  46. package/dist/repositories/project-secrets-provider-access.repository.ee.js +10 -9
  47. package/dist/repositories/project-secrets-provider-access.repository.ee.js.map +1 -1
  48. package/dist/repositories/project.repository.d.ts +12 -0
  49. package/dist/repositories/project.repository.js +66 -0
  50. package/dist/repositories/project.repository.js.map +1 -1
  51. package/dist/repositories/secrets-provider-connection.repository.ee.d.ts +4 -3
  52. package/dist/repositories/secrets-provider-connection.repository.ee.js +24 -12
  53. package/dist/repositories/secrets-provider-connection.repository.ee.js.map +1 -1
  54. package/dist/repositories/workflow-published-version.repository.d.ts +8 -0
  55. package/dist/repositories/workflow-published-version.repository.js +39 -0
  56. package/dist/repositories/workflow-published-version.repository.js.map +1 -0
  57. package/dist/repositories/workflow.repository.d.ts +4 -0
  58. package/dist/repositories/workflow.repository.js +57 -1
  59. package/dist/repositories/workflow.repository.js.map +1 -1
  60. package/dist/services/auth.roles.service.d.ts +1 -0
  61. package/dist/services/auth.roles.service.js +18 -0
  62. package/dist/services/auth.roles.service.js.map +1 -1
  63. package/package.json +9 -9
@@ -0,0 +1,11 @@
1
+ import { Relation } from '@n8n/typeorm';
2
+ import { WithCreatedAt } from './abstract-entity';
3
+ import type { CredentialsEntity } from './credentials-entity';
4
+ export type CredentialDependencyType = 'externalSecretProvider';
5
+ export declare class CredentialDependency extends WithCreatedAt {
6
+ id: number;
7
+ credentialId: string;
8
+ dependencyType: CredentialDependencyType;
9
+ dependencyId: string;
10
+ credential: Relation<CredentialsEntity>;
11
+ }
@@ -0,0 +1,45 @@
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.CredentialDependency = void 0;
13
+ const typeorm_1 = require("@n8n/typeorm");
14
+ const abstract_entity_1 = require("./abstract-entity");
15
+ let CredentialDependency = class CredentialDependency extends abstract_entity_1.WithCreatedAt {
16
+ };
17
+ exports.CredentialDependency = CredentialDependency;
18
+ __decorate([
19
+ (0, typeorm_1.PrimaryGeneratedColumn)(),
20
+ __metadata("design:type", Number)
21
+ ], CredentialDependency.prototype, "id", void 0);
22
+ __decorate([
23
+ (0, typeorm_1.Column)({ length: 36 }),
24
+ (0, typeorm_1.Index)(),
25
+ __metadata("design:type", String)
26
+ ], CredentialDependency.prototype, "credentialId", void 0);
27
+ __decorate([
28
+ (0, typeorm_1.Column)({ length: 64 }),
29
+ __metadata("design:type", String)
30
+ ], CredentialDependency.prototype, "dependencyType", void 0);
31
+ __decorate([
32
+ (0, typeorm_1.Column)({ length: 255 }),
33
+ __metadata("design:type", String)
34
+ ], CredentialDependency.prototype, "dependencyId", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.ManyToOne)('CredentialsEntity', { onDelete: 'CASCADE' }),
37
+ (0, typeorm_1.JoinColumn)({ name: 'credentialId' }),
38
+ __metadata("design:type", Object)
39
+ ], CredentialDependency.prototype, "credential", void 0);
40
+ exports.CredentialDependency = CredentialDependency = __decorate([
41
+ (0, typeorm_1.Entity)({ name: 'credential_dependency' }),
42
+ (0, typeorm_1.Index)(['dependencyType', 'dependencyId']),
43
+ (0, typeorm_1.Unique)(['credentialId', 'dependencyType', 'dependencyId'])
44
+ ], CredentialDependency);
45
+ //# sourceMappingURL=credential-dependency-entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-dependency-entity.js","sourceRoot":"","sources":["../../src/entities/credential-dependency-entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CASsB;AAEtB,uDAAkD;AAQ3C,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,+BAAa;CAiBtD,CAAA;AAjBY,oDAAoB;AAEhC;IADC,IAAA,gCAAsB,GAAE;;gDACd;AAIX;IAFC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACtB,IAAA,eAAK,GAAE;;0DACa;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;4DACkB;AAGzC;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;;0DACH;AAIrB;IAFC,IAAA,mBAAS,EAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACvD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;;wDACG;+BAhB5B,oBAAoB;IAHhC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;IACzC,IAAA,eAAK,EAAC,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IACzC,IAAA,gBAAM,EAAC,CAAC,cAAc,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;GAC9C,oBAAoB,CAiBhC"}
@@ -4,6 +4,7 @@ import { ApiKey } from './api-key';
4
4
  import { AuthIdentity } from './auth-identity';
5
5
  import { AuthProviderSyncHistory } from './auth-provider-sync-history';
6
6
  import { BinaryDataFile, SourceTypeSchema, type SourceType } from './binary-data-file';
7
+ import { CredentialDependency, type CredentialDependencyType } from './credential-dependency-entity';
7
8
  import { CredentialsEntity } from './credentials-entity';
8
9
  import { ExecutionAnnotation } from './execution-annotation.ee';
9
10
  import { ExecutionData } from './execution-data';
@@ -34,9 +35,10 @@ import { WorkflowDependency } from './workflow-dependency-entity';
34
35
  import { WorkflowEntity } from './workflow-entity';
35
36
  import { WorkflowHistory } from './workflow-history';
36
37
  import { WorkflowPublishHistory } from './workflow-publish-history';
38
+ import { WorkflowPublishedVersion } from './workflow-published-version';
37
39
  import { WorkflowStatistics } from './workflow-statistics';
38
40
  import { WorkflowTagMapping } from './workflow-tag-mapping';
39
- export { InvalidAuthToken, ProcessedData, Settings, Variables, ApiKey, BinaryDataFile, SourceTypeSchema, type SourceType, type ExecutionDataStorageLocation, WebhookEntity, AuthIdentity, CredentialsEntity, Folder, Project, ProjectRelation, Role, Scope, SharedCredentials, SharedWorkflow, TagEntity, User, WorkflowDependency, WorkflowEntity, WorkflowStatistics, WorkflowTagMapping, FolderTagMapping, AuthProviderSyncHistory, WorkflowHistory, WorkflowPublishHistory, ExecutionData, ExecutionMetadata, AnnotationTagEntity, ExecutionAnnotation, AnnotationTagMapping, TestRun, TestCaseExecution, ExecutionEntity, ProjectSecretsProviderAccess, type SecretsProviderAccessRole, SecretsProviderConnection, };
41
+ export { InvalidAuthToken, ProcessedData, Settings, Variables, ApiKey, BinaryDataFile, SourceTypeSchema, type SourceType, type ExecutionDataStorageLocation, WebhookEntity, AuthIdentity, CredentialsEntity, CredentialDependency, type CredentialDependencyType, Folder, Project, ProjectRelation, Role, Scope, SharedCredentials, SharedWorkflow, TagEntity, User, WorkflowDependency, WorkflowEntity, WorkflowStatistics, WorkflowTagMapping, FolderTagMapping, AuthProviderSyncHistory, WorkflowHistory, WorkflowPublishedVersion, WorkflowPublishHistory, ExecutionData, ExecutionMetadata, AnnotationTagEntity, ExecutionAnnotation, AnnotationTagMapping, TestRun, TestCaseExecution, ExecutionEntity, ProjectSecretsProviderAccess, type SecretsProviderAccessRole, SecretsProviderConnection, };
40
42
  export declare const entities: {
41
43
  InvalidAuthToken: typeof InvalidAuthToken;
42
44
  ProcessedData: typeof ProcessedData;
@@ -47,6 +49,7 @@ export declare const entities: {
47
49
  WebhookEntity: typeof WebhookEntity;
48
50
  AuthIdentity: typeof AuthIdentity;
49
51
  CredentialsEntity: typeof CredentialsEntity;
52
+ CredentialDependency: typeof CredentialDependency;
50
53
  Folder: typeof Folder;
51
54
  Project: typeof Project;
52
55
  ProjectRelation: typeof ProjectRelation;
@@ -62,6 +65,7 @@ export declare const entities: {
62
65
  FolderTagMapping: typeof FolderTagMapping;
63
66
  AuthProviderSyncHistory: typeof AuthProviderSyncHistory;
64
67
  WorkflowHistory: typeof WorkflowHistory;
68
+ WorkflowPublishedVersion: typeof WorkflowPublishedVersion;
65
69
  WorkflowPublishHistory: typeof WorkflowPublishHistory;
66
70
  ExecutionData: typeof ExecutionData;
67
71
  ExecutionMetadata: typeof ExecutionMetadata;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.entities = exports.SecretsProviderConnection = exports.ProjectSecretsProviderAccess = exports.ExecutionEntity = exports.TestCaseExecution = exports.TestRun = exports.AnnotationTagMapping = exports.ExecutionAnnotation = exports.AnnotationTagEntity = exports.ExecutionMetadata = exports.ExecutionData = exports.WorkflowPublishHistory = exports.WorkflowHistory = exports.AuthProviderSyncHistory = exports.FolderTagMapping = exports.WorkflowTagMapping = exports.WorkflowStatistics = exports.WorkflowEntity = exports.WorkflowDependency = exports.User = exports.TagEntity = exports.SharedWorkflow = exports.SharedCredentials = exports.Scope = exports.Role = exports.ProjectRelation = exports.Project = exports.Folder = exports.CredentialsEntity = exports.AuthIdentity = exports.WebhookEntity = exports.SourceTypeSchema = exports.BinaryDataFile = exports.ApiKey = exports.Variables = exports.Settings = exports.ProcessedData = exports.InvalidAuthToken = void 0;
3
+ exports.entities = exports.SecretsProviderConnection = exports.ProjectSecretsProviderAccess = exports.ExecutionEntity = exports.TestCaseExecution = exports.TestRun = exports.AnnotationTagMapping = exports.ExecutionAnnotation = exports.AnnotationTagEntity = exports.ExecutionMetadata = exports.ExecutionData = exports.WorkflowPublishHistory = exports.WorkflowPublishedVersion = exports.WorkflowHistory = exports.AuthProviderSyncHistory = exports.FolderTagMapping = exports.WorkflowTagMapping = exports.WorkflowStatistics = exports.WorkflowEntity = exports.WorkflowDependency = exports.User = exports.TagEntity = exports.SharedWorkflow = exports.SharedCredentials = exports.Scope = exports.Role = exports.ProjectRelation = exports.Project = exports.Folder = exports.CredentialDependency = exports.CredentialsEntity = exports.AuthIdentity = exports.WebhookEntity = exports.SourceTypeSchema = exports.BinaryDataFile = exports.ApiKey = exports.Variables = exports.Settings = exports.ProcessedData = exports.InvalidAuthToken = void 0;
4
4
  const annotation_tag_entity_ee_1 = require("./annotation-tag-entity.ee");
5
5
  Object.defineProperty(exports, "AnnotationTagEntity", { enumerable: true, get: function () { return annotation_tag_entity_ee_1.AnnotationTagEntity; } });
6
6
  const annotation_tag_mapping_ee_1 = require("./annotation-tag-mapping.ee");
@@ -14,6 +14,8 @@ Object.defineProperty(exports, "AuthProviderSyncHistory", { enumerable: true, ge
14
14
  const binary_data_file_1 = require("./binary-data-file");
15
15
  Object.defineProperty(exports, "BinaryDataFile", { enumerable: true, get: function () { return binary_data_file_1.BinaryDataFile; } });
16
16
  Object.defineProperty(exports, "SourceTypeSchema", { enumerable: true, get: function () { return binary_data_file_1.SourceTypeSchema; } });
17
+ const credential_dependency_entity_1 = require("./credential-dependency-entity");
18
+ Object.defineProperty(exports, "CredentialDependency", { enumerable: true, get: function () { return credential_dependency_entity_1.CredentialDependency; } });
17
19
  const credentials_entity_1 = require("./credentials-entity");
18
20
  Object.defineProperty(exports, "CredentialsEntity", { enumerable: true, get: function () { return credentials_entity_1.CredentialsEntity; } });
19
21
  const execution_annotation_ee_1 = require("./execution-annotation.ee");
@@ -70,6 +72,8 @@ const workflow_history_1 = require("./workflow-history");
70
72
  Object.defineProperty(exports, "WorkflowHistory", { enumerable: true, get: function () { return workflow_history_1.WorkflowHistory; } });
71
73
  const workflow_publish_history_1 = require("./workflow-publish-history");
72
74
  Object.defineProperty(exports, "WorkflowPublishHistory", { enumerable: true, get: function () { return workflow_publish_history_1.WorkflowPublishHistory; } });
75
+ const workflow_published_version_1 = require("./workflow-published-version");
76
+ Object.defineProperty(exports, "WorkflowPublishedVersion", { enumerable: true, get: function () { return workflow_published_version_1.WorkflowPublishedVersion; } });
73
77
  const workflow_statistics_1 = require("./workflow-statistics");
74
78
  Object.defineProperty(exports, "WorkflowStatistics", { enumerable: true, get: function () { return workflow_statistics_1.WorkflowStatistics; } });
75
79
  const workflow_tag_mapping_1 = require("./workflow-tag-mapping");
@@ -84,6 +88,7 @@ exports.entities = {
84
88
  WebhookEntity: webhook_entity_1.WebhookEntity,
85
89
  AuthIdentity: auth_identity_1.AuthIdentity,
86
90
  CredentialsEntity: credentials_entity_1.CredentialsEntity,
91
+ CredentialDependency: credential_dependency_entity_1.CredentialDependency,
87
92
  Folder: folder_1.Folder,
88
93
  Project: project_1.Project,
89
94
  ProjectRelation: project_relation_1.ProjectRelation,
@@ -99,6 +104,7 @@ exports.entities = {
99
104
  FolderTagMapping: folder_tag_mapping_1.FolderTagMapping,
100
105
  AuthProviderSyncHistory: auth_provider_sync_history_1.AuthProviderSyncHistory,
101
106
  WorkflowHistory: workflow_history_1.WorkflowHistory,
107
+ WorkflowPublishedVersion: workflow_published_version_1.WorkflowPublishedVersion,
102
108
  WorkflowPublishHistory: workflow_publish_history_1.WorkflowPublishHistory,
103
109
  ExecutionData: execution_data_1.ExecutionData,
104
110
  ExecutionMetadata: execution_metadata_1.ExecutionMetadata,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entities/index.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare class Role extends WithTimestamps {
6
6
  displayName: string;
7
7
  description: string | null;
8
8
  systemRole: boolean;
9
- roleType: 'global' | 'project' | 'workflow' | 'credential';
9
+ roleType: 'global' | 'project' | 'workflow' | 'credential' | 'secretsProviderConnection';
10
10
  projectRelations: ProjectRelation[];
11
11
  scopes: Scope[];
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"role.js","sourceRoot":"","sources":["../../src/entities/role.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA+F;AAE/F,uDAAmD;AAEnD,mCAAgC;AAKzB,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,gCAAc;CAoDvC,CAAA;AApDY,oBAAI;AAKhB;IAJC,IAAA,uBAAa,EAAC;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;KACZ,CAAC;;kCACW;AAOb;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,aAAa;KACnB,CAAC;;yCACkB;AAOpB;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,aAAa;KACnB,CAAC;;yCACyB;AAU3B;IARC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,YAAY;KAClB,CAAC;;wCAIkB;AASpB;IAPC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,UAAU;KAChB,CAAC;;sCAIyD;AAG3D;IADC,IAAA,mBAAS,EAAC,iBAAiB,EAAE,MAAM,CAAC;;8CACD;AAUpC;IARC,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,aAAK,EAAE;QACxB,KAAK,EAAE,IAAI;KACX,CAAC;IACD,IAAA,mBAAS,EAAC;QACV,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,EAAE;QAC9D,iBAAiB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,EAAE;KACtE,CAAC;;oCACc;eAnDJ,IAAI;IAHhB,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;KACZ,CAAC;GACW,IAAI,CAoDhB"}
1
+ {"version":3,"file":"role.js","sourceRoot":"","sources":["../../src/entities/role.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA+F;AAE/F,uDAAmD;AAEnD,mCAAgC;AAKzB,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,gCAAc;CAoDvC,CAAA;AApDY,oBAAI;AAKhB;IAJC,IAAA,uBAAa,EAAC;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;KACZ,CAAC;;kCACW;AAOb;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,aAAa;KACnB,CAAC;;yCACkB;AAOpB;IALC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,aAAa;KACnB,CAAC;;yCACyB;AAU3B;IARC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,YAAY;KAClB,CAAC;;wCAIkB;AASpB;IAPC,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,UAAU;KAChB,CAAC;;sCAIuF;AAGzF;IADC,IAAA,mBAAS,EAAC,iBAAiB,EAAE,MAAM,CAAC;;8CACD;AAUpC;IARC,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,aAAK,EAAE;QACxB,KAAK,EAAE,IAAI;KACX,CAAC;IACD,IAAA,mBAAS,EAAC;QACV,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,EAAE;QAC9D,iBAAiB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,EAAE;KACtE,CAAC;;oCACc;eAnDJ,IAAI;IAHhB,IAAA,gBAAM,EAAC;QACP,IAAI,EAAE,MAAM;KACZ,CAAC;GACW,IAAI,CAoDhB"}
@@ -69,6 +69,7 @@ export interface IExecutionResponse extends IExecutionBase {
69
69
  retryOf?: string;
70
70
  retrySuccessId?: string;
71
71
  workflowData: IWorkflowBase | WorkflowWithSharingsAndCredentials;
72
+ workflowVersionId?: string | null;
72
73
  customData: Record<string, string>;
73
74
  annotation: {
74
75
  tags: ITagBase[];
@@ -154,6 +155,7 @@ export declare namespace ExecutionSummaries {
154
155
  annotationTags: string[];
155
156
  vote: AnnotationVote;
156
157
  projectId: string;
158
+ workflowVersionId: string;
157
159
  }>;
158
160
  export type StopExecutionFilterQuery = {
159
161
  workflowId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types-db.js","sourceRoot":"","sources":["../../src/entities/types-db.ts"],"names":[],"mappings":";;;AAiTA,gDAEC;AAjSD,6BAAwB;AAmRxB,IAAkB,eAMjB;AAND,WAAkB,eAAe;IAChC,2DAAwC,CAAA;IACxC,uDAAoC,CAAA;IACpC,mDAAgC,CAAA;IAChC,+CAA4B,CAAA;IAC5B,6CAA0B,CAAA;AAC3B,CAAC,EANiB,eAAe,+BAAf,eAAe,QAMhC;AAED,MAAM,kBAAkB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAIrE,SAAgB,kBAAkB,CAAC,KAAa;IAC/C,OAAO,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"types-db.js","sourceRoot":"","sources":["../../src/entities/types-db.ts"],"names":[],"mappings":";;;AAmTA,gDAEC;AAnSD,6BAAwB;AAqRxB,IAAkB,eAMjB;AAND,WAAkB,eAAe;IAChC,2DAAwC,CAAA;IACxC,uDAAoC,CAAA;IACpC,mDAAgC,CAAA;IAChC,+CAA4B,CAAA;IAC5B,6CAA0B,CAAA;AAC3B,CAAC,EANiB,eAAe,+BAAf,eAAe,QAMhC;AAED,MAAM,kBAAkB,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAIrE,SAAgB,kBAAkB,CAAC,KAAa;IAC/C,OAAO,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Relation } from '@n8n/typeorm';
2
2
  import { WithCreatedAt } from './abstract-entity';
3
3
  import type { WorkflowEntity } from './workflow-entity';
4
- export type DependencyType = 'credentialId' | 'nodeType' | 'webhookPath' | 'workflowCall' | 'workflowIndexed';
4
+ export type DependencyType = 'credentialId' | 'dataTableId' | 'nodeType' | 'webhookPath' | 'workflowCall' | 'workflowIndexed';
5
5
  export declare class WorkflowDependency extends WithCreatedAt {
6
6
  id: number;
7
7
  workflowId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-dependency-entity.js","sourceRoot":"","sources":["../../src/entities/workflow-dependency-entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAQsB;AAEtB,uDAAkD;AAW3C,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,+BAAa;CA6DpD,CAAA;AA7DY,gDAAkB;AAE9B;IADC,IAAA,gCAAsB,GAAE;;8CACd;AAOX;IAFC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACtB,IAAA,eAAK,GAAE;;sDACW;AAOnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;6DACE;AAS1B;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvD,IAAA,eAAK,GAAE;;8DAC0B;AAQlC;IAFC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACtB,IAAA,eAAK,GAAE;;0DACuB;AAQ/B;IAFC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACvB,IAAA,eAAK,GAAE;;yDACc;AAOtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DACM;AAM/C;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0DAClB;AAMvB;IAJC,IAAA,mBAAS,EAAC,gBAAgB,EAAE;QAC5B,QAAQ,EAAE,SAAS;KACnB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;oDACA;6BA5DvB,kBAAkB;IAD9B,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;GAC3B,kBAAkB,CA6D9B"}
1
+ {"version":3,"file":"workflow-dependency-entity.js","sourceRoot":"","sources":["../../src/entities/workflow-dependency-entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAQsB;AAEtB,uDAAkD;AAY3C,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,+BAAa;CA6DpD,CAAA;AA7DY,gDAAkB;AAE9B;IADC,IAAA,gCAAsB,GAAE;;8CACd;AAOX;IAFC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACtB,IAAA,eAAK,GAAE;;sDACW;AAOnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;;6DACE;AAS1B;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvD,IAAA,eAAK,GAAE;;8DAC0B;AAQlC;IAFC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACtB,IAAA,eAAK,GAAE;;0DACuB;AAQ/B;IAFC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACvB,IAAA,eAAK,GAAE;;yDACc;AAOtB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DACM;AAM/C;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0DAClB;AAMvB;IAJC,IAAA,mBAAS,EAAC,gBAAgB,EAAE;QAC5B,QAAQ,EAAE,SAAS;KACnB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;oDACA;6BA5DvB,kBAAkB;IAD9B,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;GAC3B,kBAAkB,CA6D9B"}
@@ -0,0 +1,10 @@
1
+ import { Relation } from '@n8n/typeorm';
2
+ import { WithTimestamps } from './abstract-entity';
3
+ import type { WorkflowEntity } from './workflow-entity';
4
+ import type { WorkflowHistory } from './workflow-history';
5
+ export declare class WorkflowPublishedVersion extends WithTimestamps {
6
+ workflowId: string;
7
+ publishedVersionId: string;
8
+ workflow: Relation<WorkflowEntity>;
9
+ publishedVersion: Relation<WorkflowHistory>;
10
+ }
@@ -0,0 +1,43 @@
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.WorkflowPublishedVersion = void 0;
13
+ const typeorm_1 = require("@n8n/typeorm");
14
+ const abstract_entity_1 = require("./abstract-entity");
15
+ let WorkflowPublishedVersion = class WorkflowPublishedVersion extends abstract_entity_1.WithTimestamps {
16
+ };
17
+ exports.WorkflowPublishedVersion = WorkflowPublishedVersion;
18
+ __decorate([
19
+ (0, typeorm_1.PrimaryColumn)({ type: 'varchar', length: 36 }),
20
+ __metadata("design:type", String)
21
+ ], WorkflowPublishedVersion.prototype, "workflowId", void 0);
22
+ __decorate([
23
+ (0, typeorm_1.Column)({ type: 'varchar', length: 36 }),
24
+ __metadata("design:type", String)
25
+ ], WorkflowPublishedVersion.prototype, "publishedVersionId", void 0);
26
+ __decorate([
27
+ (0, typeorm_1.ManyToOne)('WorkflowEntity', {
28
+ onDelete: 'RESTRICT',
29
+ }),
30
+ (0, typeorm_1.JoinColumn)({ name: 'workflowId' }),
31
+ __metadata("design:type", Object)
32
+ ], WorkflowPublishedVersion.prototype, "workflow", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.ManyToOne)('WorkflowHistory', {
35
+ onDelete: 'RESTRICT',
36
+ }),
37
+ (0, typeorm_1.JoinColumn)({ name: 'publishedVersionId', referencedColumnName: 'versionId' }),
38
+ __metadata("design:type", Object)
39
+ ], WorkflowPublishedVersion.prototype, "publishedVersion", void 0);
40
+ exports.WorkflowPublishedVersion = WorkflowPublishedVersion = __decorate([
41
+ (0, typeorm_1.Entity)({ name: 'workflow_published_version' })
42
+ ], WorkflowPublishedVersion);
43
+ //# sourceMappingURL=workflow-published-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-published-version.js","sourceRoot":"","sources":["../../src/entities/workflow-published-version.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA8F;AAE9F,uDAAmD;AAK5C,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,gCAAc;CAkB3D,CAAA;AAlBY,4DAAwB;AAEpC;IADC,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;4DAC5B;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;oEACb;AAM3B;IAJC,IAAA,mBAAS,EAAC,gBAAgB,EAAE;QAC5B,QAAQ,EAAE,UAAU;KACpB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;;0DACA;AAMnC;IAJC,IAAA,mBAAS,EAAC,iBAAiB,EAAE;QAC7B,QAAQ,EAAE,UAAU;KACpB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC;;kEAClC;mCAjBhC,wBAAwB;IADpC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;GAClC,wBAAwB,CAkBpC"}
@@ -1,5 +1,5 @@
1
1
  import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
2
  export declare class AddWorkflowUnpublishScopeToCustomRoles1769900001000 implements ReversibleMigration {
3
- up({ escape, runQuery, dbType }: MigrationContext): Promise<void>;
3
+ up({ escape, runQuery }: MigrationContext): Promise<void>;
4
4
  down({ escape, runQuery }: MigrationContext): Promise<void>;
5
5
  }
@@ -2,11 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AddWorkflowUnpublishScopeToCustomRoles1769900001000 = void 0;
4
4
  const PERSONAL_OWNER_ROLE_SLUG = 'project:personalOwner';
5
- function isMySQLOrMariaDB(dbType) {
6
- return dbType === 'mysqldb' || dbType === 'mariadb';
7
- }
8
5
  class AddWorkflowUnpublishScopeToCustomRoles1769900001000 {
9
- async up({ escape, runQuery, dbType }) {
6
+ async up({ escape, runQuery }) {
10
7
  const scopeTableName = escape.tableName('scope');
11
8
  const scopeSlugColumn = escape.columnName('slug');
12
9
  const displayNameColumn = escape.columnName('displayName');
@@ -16,12 +13,7 @@ class AddWorkflowUnpublishScopeToCustomRoles1769900001000 {
16
13
  const roleSlugColumn = escape.columnName('slug');
17
14
  const roleScopeRoleSlugColumn = escape.columnName('roleSlug');
18
15
  const roleScopeScopeSlugColumn = escape.columnName('scopeSlug');
19
- const dbTypeStr = dbType;
20
- const useInsertIgnore = isMySQLOrMariaDB(dbTypeStr);
21
- const insertScopeQuery = useInsertIgnore
22
- ? `INSERT IGNORE INTO ${scopeTableName} (${scopeSlugColumn}, ${displayNameColumn}, ${descriptionColumn})
23
- VALUES (:slug, :displayName, :description)`
24
- : `INSERT INTO ${scopeTableName} (${scopeSlugColumn}, ${displayNameColumn}, ${descriptionColumn})
16
+ const insertScopeQuery = `INSERT INTO ${scopeTableName} (${scopeSlugColumn}, ${displayNameColumn}, ${descriptionColumn})
25
17
  VALUES (:slug, :displayName, :description)
26
18
  ON CONFLICT (${scopeSlugColumn}) DO NOTHING`;
27
19
  await runQuery(insertScopeQuery, {
@@ -30,7 +22,7 @@ class AddWorkflowUnpublishScopeToCustomRoles1769900001000 {
30
22
  description: 'Allows unpublishing workflows.',
31
23
  });
32
24
  const batchInsertBase = `
33
- INSERT ${useInsertIgnore ? 'IGNORE ' : ''}INTO ${roleScopeTableName} (${roleScopeRoleSlugColumn}, ${roleScopeScopeSlugColumn})
25
+ INSERT INTO ${roleScopeTableName} (${roleScopeRoleSlugColumn}, ${roleScopeScopeSlugColumn})
34
26
  SELECT DISTINCT role.${roleSlugColumn}, :unpublishScope
35
27
  FROM ${roleTableName} role
36
28
  INNER JOIN ${roleScopeTableName} role_scope
@@ -38,9 +30,7 @@ class AddWorkflowUnpublishScopeToCustomRoles1769900001000 {
38
30
  WHERE role.${roleSlugColumn} != :personalOwnerSlug
39
31
  AND role_scope.${roleScopeScopeSlugColumn} = :publishScope
40
32
  `;
41
- const batchInsertQuery = useInsertIgnore
42
- ? batchInsertBase
43
- : `${batchInsertBase}
33
+ const batchInsertQuery = `${batchInsertBase}
44
34
  ON CONFLICT (${roleScopeRoleSlugColumn}, ${roleScopeScopeSlugColumn}) DO NOTHING
45
35
  `;
46
36
  await runQuery(batchInsertQuery, {
@@ -1 +1 @@
1
- {"version":3,"file":"1769900001000-AddWorkflowUnpublishScopeToCustomRoles.js","sourceRoot":"","sources":["../../../src/migrations/common/1769900001000-AddWorkflowUnpublishScopeToCustomRoles.ts"],"names":[],"mappings":";;;AAEA,MAAM,wBAAwB,GAAG,uBAAuB,CAAC;AAEzD,SAAS,gBAAgB,CAAC,MAAc;IACvC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC;AACrD,CAAC;AAeD,MAAa,mDAAmD;IAC/D,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAoB;QACtD,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE3D,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,wBAAwB,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAEhE,MAAM,SAAS,GAAG,MAAgB,CAAC;QACnC,MAAM,eAAe,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAGpD,MAAM,gBAAgB,GAAG,eAAe;YACvC,CAAC,CAAC,sBAAsB,cAAc,KAAK,eAAe,KAAK,iBAAiB,KAAK,iBAAiB;oDACrD;YACjD,CAAC,CAAC,eAAe,cAAc,KAAK,eAAe,KAAK,iBAAiB,KAAK,iBAAiB;;wBAE1E,eAAe,cAAc,CAAC;QAEpD,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAChC,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE,gCAAgC;SAC7C,CAAC,CAAC;QAGH,MAAM,eAAe,GAAG;WACf,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,kBAAkB,KAAK,uBAAuB,KAAK,wBAAwB;yBACrG,cAAc;SAC9B,aAAa;eACP,kBAAkB;aACpB,cAAc,iBAAiB,uBAAuB;eACpD,cAAc;oBACT,wBAAwB;GACzC,CAAC;QACF,MAAM,gBAAgB,GAAG,eAAe;YACvC,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,GAAG,eAAe;iBACN,uBAAuB,KAAK,wBAAwB;GAClE,CAAC;QAEF,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAChC,iBAAiB,EAAE,wBAAwB;YAC3C,YAAY,EAAE,kBAAkB;YAChC,cAAc,EAAE,oBAAoB;SACpC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAoB;QAChD,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,wBAAwB,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAIhE,MAAM,WAAW,GAAG;iBACL,kBAAkB;WACxB,wBAAwB;GAChC,CAAC;QAEF,MAAM,QAAQ,CAAC,WAAW,EAAE;YAC3B,cAAc,EAAE,oBAAoB;YACpC,iBAAiB,EAAE,wBAAwB;SAC3C,CAAC,CAAC;IACJ,CAAC;CACD;AArED,kHAqEC"}
1
+ {"version":3,"file":"1769900001000-AddWorkflowUnpublishScopeToCustomRoles.js","sourceRoot":"","sources":["../../../src/migrations/common/1769900001000-AddWorkflowUnpublishScopeToCustomRoles.ts"],"names":[],"mappings":";;;AAEA,MAAM,wBAAwB,GAAG,uBAAuB,CAAC;AAezD,MAAa,mDAAmD;IAC/D,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAoB;QAC9C,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE3D,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,uBAAuB,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,wBAAwB,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAGhE,MAAM,gBAAgB,GAAG,eAAe,cAAc,KAAK,eAAe,KAAK,iBAAiB,KAAK,iBAAiB;;wBAEhG,eAAe,cAAc,CAAC;QAEpD,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAChC,IAAI,EAAE,oBAAoB;YAC1B,WAAW,EAAE,oBAAoB;YACjC,WAAW,EAAE,gCAAgC;SAC7C,CAAC,CAAC;QAGH,MAAM,eAAe,GAAG;gBACV,kBAAkB,KAAK,uBAAuB,KAAK,wBAAwB;yBAClE,cAAc;SAC9B,aAAa;eACP,kBAAkB;aACpB,cAAc,iBAAiB,uBAAuB;eACpD,cAAc;oBACT,wBAAwB;GACzC,CAAC;QACF,MAAM,gBAAgB,GAAG,GAAG,eAAe;iBAC5B,uBAAuB,KAAK,wBAAwB;GAClE,CAAC;QAEF,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAChC,iBAAiB,EAAE,wBAAwB;YAC3C,YAAY,EAAE,kBAAkB;YAChC,cAAc,EAAE,oBAAoB;SACpC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAoB;QAChD,MAAM,kBAAkB,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,wBAAwB,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAIhE,MAAM,WAAW,GAAG;iBACL,kBAAkB;WACxB,wBAAwB;GAChC,CAAC;QAEF,MAAM,QAAQ,CAAC,WAAW,EAAE;YAC3B,cAAc,EAAE,oBAAoB;YACpC,iBAAiB,EAAE,wBAAwB;SAC3C,CAAC,CAAC;IACJ,CAAC;CACD;AA7DD,kHA6DC"}
@@ -0,0 +1,5 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class ChangeWorkflowPublishedVersionFKsToRestrict1772619247762 implements ReversibleMigration {
3
+ up({ schemaBuilder: { dropForeignKey, addForeignKey } }: MigrationContext): Promise<void>;
4
+ down({ schemaBuilder: { dropForeignKey, addForeignKey } }: MigrationContext): Promise<void>;
5
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChangeWorkflowPublishedVersionFKsToRestrict1772619247762 = void 0;
4
+ class ChangeWorkflowPublishedVersionFKsToRestrict1772619247762 {
5
+ async up({ schemaBuilder: { dropForeignKey, addForeignKey } }) {
6
+ await dropForeignKey('workflow_published_version', 'workflowId', ['workflow_entity', 'id']);
7
+ await addForeignKey('workflow_published_version', 'workflowId', ['workflow_entity', 'id'], undefined, 'RESTRICT');
8
+ await dropForeignKey('workflow_published_version', 'publishedVersionId', [
9
+ 'workflow_history',
10
+ 'versionId',
11
+ ]);
12
+ await addForeignKey('workflow_published_version', 'publishedVersionId', ['workflow_history', 'versionId'], undefined, 'RESTRICT');
13
+ }
14
+ async down({ schemaBuilder: { dropForeignKey, addForeignKey } }) {
15
+ await dropForeignKey('workflow_published_version', 'workflowId', ['workflow_entity', 'id']);
16
+ await addForeignKey('workflow_published_version', 'workflowId', ['workflow_entity', 'id'], undefined, 'CASCADE');
17
+ await dropForeignKey('workflow_published_version', 'publishedVersionId', [
18
+ 'workflow_history',
19
+ 'versionId',
20
+ ]);
21
+ await addForeignKey('workflow_published_version', 'publishedVersionId', ['workflow_history', 'versionId'], undefined, 'CASCADE');
22
+ }
23
+ }
24
+ exports.ChangeWorkflowPublishedVersionFKsToRestrict1772619247762 = ChangeWorkflowPublishedVersionFKsToRestrict1772619247762;
25
+ //# sourceMappingURL=1772619247762-ChangeWorkflowPublishedVersionFKsToRestrict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1772619247762-ChangeWorkflowPublishedVersionFKsToRestrict.js","sourceRoot":"","sources":["../../../src/migrations/common/1772619247762-ChangeWorkflowPublishedVersionFKsToRestrict.ts"],"names":[],"mappings":";;;AAQA,MAAa,wDAAwD;IAGpE,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,EAAoB;QAC9E,MAAM,cAAc,CAAC,4BAA4B,EAAE,YAAY,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5F,MAAM,aAAa,CAClB,4BAA4B,EAC5B,YAAY,EACZ,CAAC,iBAAiB,EAAE,IAAI,CAAC,EACzB,SAAS,EACT,UAAU,CACV,CAAC;QAEF,MAAM,cAAc,CAAC,4BAA4B,EAAE,oBAAoB,EAAE;YACxE,kBAAkB;YAClB,WAAW;SACX,CAAC,CAAC;QACH,MAAM,aAAa,CAClB,4BAA4B,EAC5B,oBAAoB,EACpB,CAAC,kBAAkB,EAAE,WAAW,CAAC,EACjC,SAAS,EACT,UAAU,CACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,EAAoB;QAChF,MAAM,cAAc,CAAC,4BAA4B,EAAE,YAAY,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5F,MAAM,aAAa,CAClB,4BAA4B,EAC5B,YAAY,EACZ,CAAC,iBAAiB,EAAE,IAAI,CAAC,EACzB,SAAS,EACT,SAAS,CACT,CAAC;QAEF,MAAM,cAAc,CAAC,4BAA4B,EAAE,oBAAoB,EAAE;YACxE,kBAAkB;YAClB,WAAW;SACX,CAAC,CAAC;QACH,MAAM,aAAa,CAClB,4BAA4B,EAC5B,oBAAoB,EACpB,CAAC,kBAAkB,EAAE,WAAW,CAAC,EACjC,SAAS,EACT,SAAS,CACT,CAAC;IACH,CAAC;CACD;AAhDD,4HAgDC"}
@@ -0,0 +1,5 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class AddTypeToChatHubSessions1772700000000 implements ReversibleMigration {
3
+ up({ schemaBuilder: { addColumns, column } }: MigrationContext): Promise<void>;
4
+ down({ schemaBuilder: { dropColumns } }: MigrationContext): Promise<void>;
5
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddTypeToChatHubSessions1772700000000 = void 0;
4
+ class AddTypeToChatHubSessions1772700000000 {
5
+ async up({ schemaBuilder: { addColumns, column } }) {
6
+ await addColumns('chat_hub_sessions', [
7
+ column('type')
8
+ .varchar(16)
9
+ .notNull.default("'production'")
10
+ .withEnumCheck(['production', 'manual']),
11
+ ]);
12
+ }
13
+ async down({ schemaBuilder: { dropColumns } }) {
14
+ await dropColumns('chat_hub_sessions', ['type']);
15
+ }
16
+ }
17
+ exports.AddTypeToChatHubSessions1772700000000 = AddTypeToChatHubSessions1772700000000;
18
+ //# sourceMappingURL=1772700000000-AddTypeToChatHubSessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1772700000000-AddTypeToChatHubSessions.js","sourceRoot":"","sources":["../../../src/migrations/common/1772700000000-AddTypeToChatHubSessions.ts"],"names":[],"mappings":";;;AAEA,MAAa,qCAAqC;IACjD,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAoB;QACnE,MAAM,UAAU,CAAC,mBAAmB,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC;iBACZ,OAAO,CAAC,EAAE,CAAC;iBACX,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;iBAC/B,aAAa,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;SACzC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,EAAoB;QAC9D,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;CACD;AAbD,sFAaC"}
@@ -0,0 +1,12 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class CreateCredentialDependencyTable1773000000000 implements ReversibleMigration {
3
+ private readonly cipher;
4
+ up({ schemaBuilder: { createTable, column, createIndex }, escape, runQuery, runInBatches, logger, migrationName, }: MigrationContext): Promise<void>;
5
+ down({ schemaBuilder: { dropTable } }: MigrationContext): Promise<void>;
6
+ private extractProviderKeysFromCredentialData;
7
+ private extractProviderKeysFromDecryptedData;
8
+ private tryDecryptCredentialData;
9
+ private extractProviderKeys;
10
+ private insertDependencies;
11
+ private loadProviderIdByKey;
12
+ }
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateCredentialDependencyTable1773000000000 = void 0;
4
+ const di_1 = require("@n8n/di");
5
+ const n8n_core_1 = require("n8n-core");
6
+ const credentialDependencyTable = 'credential_dependency';
7
+ const externalSecretProviderDependencyType = 'externalSecretProvider';
8
+ const providerKeyPattern = '[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*';
9
+ class CreateCredentialDependencyTable1773000000000 {
10
+ constructor() {
11
+ this.cipher = di_1.Container.get(n8n_core_1.Cipher);
12
+ }
13
+ async up({ schemaBuilder: { createTable, column, createIndex }, escape, runQuery, runInBatches, logger, migrationName, }) {
14
+ await createTable(credentialDependencyTable)
15
+ .withColumns(column('id').int.primary.autoGenerate2, column('credentialId').varchar(36).notNull, column('dependencyType').varchar(64).notNull, column('dependencyId').varchar(255).notNull)
16
+ .withForeignKey('credentialId', {
17
+ tableName: 'credentials_entity',
18
+ columnName: 'id',
19
+ onDelete: 'CASCADE',
20
+ })
21
+ .withIndexOn(['credentialId'])
22
+ .withIndexOn(['dependencyType', 'dependencyId']).withCreatedAt;
23
+ await createIndex(credentialDependencyTable, ['credentialId', 'dependencyType', 'dependencyId'], true);
24
+ const credentialsTable = escape.tableName('credentials_entity');
25
+ const query = `SELECT c.id AS id, c.data AS data FROM ${credentialsTable} c ORDER BY c.id`;
26
+ const providerIdByKey = await this.loadProviderIdByKey(runQuery, escape);
27
+ let processedCount = 0;
28
+ let insertedCount = 0;
29
+ await runInBatches(query, async (rows) => {
30
+ if (rows.length === 0)
31
+ return;
32
+ const batchDependencies = rows.flatMap((row) => {
33
+ const providerKeys = this.extractProviderKeysFromCredentialData(row.data);
34
+ const providerIds = providerKeys
35
+ .map((providerKey) => providerIdByKey.get(providerKey))
36
+ .filter((providerId) => providerId !== undefined);
37
+ return providerIds.map((providerId) => ({
38
+ credentialId: row.id,
39
+ dependencyType: externalSecretProviderDependencyType,
40
+ dependencyId: providerId,
41
+ }));
42
+ });
43
+ processedCount += rows.length;
44
+ if (batchDependencies.length === 0) {
45
+ return;
46
+ }
47
+ await this.insertDependencies(batchDependencies, escape, runQuery);
48
+ insertedCount += batchDependencies.length;
49
+ });
50
+ logger.info(`[${migrationName}] Backfilled credential dependencies for ${processedCount} credentials. Inserted ${insertedCount} dependencies.`);
51
+ }
52
+ async down({ schemaBuilder: { dropTable } }) {
53
+ await dropTable(credentialDependencyTable);
54
+ }
55
+ extractProviderKeysFromCredentialData(encryptedCredentialData) {
56
+ const decrypted = this.tryDecryptCredentialData(encryptedCredentialData);
57
+ if (decrypted === null)
58
+ return [];
59
+ return this.extractProviderKeysFromDecryptedData(decrypted);
60
+ }
61
+ extractProviderKeysFromDecryptedData(decryptedCredentialData) {
62
+ const uniqueKeys = new Set();
63
+ const valuesToScan = [decryptedCredentialData];
64
+ while (valuesToScan.length > 0) {
65
+ const currentValue = valuesToScan.pop();
66
+ if (typeof currentValue === 'string') {
67
+ if (!currentValue.includes('$secrets'))
68
+ continue;
69
+ for (const dependencyKey of this.extractProviderKeys(currentValue)) {
70
+ uniqueKeys.add(dependencyKey);
71
+ }
72
+ continue;
73
+ }
74
+ if (Array.isArray(currentValue)) {
75
+ for (const value of currentValue) {
76
+ valuesToScan.push(value);
77
+ }
78
+ continue;
79
+ }
80
+ if (typeof currentValue === 'object' && currentValue !== null) {
81
+ for (const value of Object.values(currentValue)) {
82
+ valuesToScan.push(value);
83
+ }
84
+ }
85
+ }
86
+ return [...uniqueKeys];
87
+ }
88
+ tryDecryptCredentialData(encryptedCredentialData) {
89
+ try {
90
+ const decrypted = this.cipher.decrypt(encryptedCredentialData);
91
+ return JSON.parse(decrypted);
92
+ }
93
+ catch {
94
+ return null;
95
+ }
96
+ }
97
+ extractProviderKeys(expression) {
98
+ const providerKeys = new Set();
99
+ const expressionBlocks = expression.matchAll(/\{\{(.*?)\}\}/gs);
100
+ for (const block of expressionBlocks) {
101
+ const expressionContent = block[1];
102
+ const dotMatches = expressionContent.matchAll(new RegExp(`\\$secrets\\.(${providerKeyPattern})`, 'g'));
103
+ for (const match of dotMatches) {
104
+ providerKeys.add(match[1]);
105
+ }
106
+ const bracketMatches = expressionContent.matchAll(new RegExp(`\\$secrets\\[['"](${providerKeyPattern})['"]\\]`, 'g'));
107
+ for (const match of bracketMatches) {
108
+ providerKeys.add(match[1]);
109
+ }
110
+ }
111
+ return [...providerKeys];
112
+ }
113
+ async insertDependencies(dependencies, escape, runQuery) {
114
+ const dependencyTable = escape.tableName(credentialDependencyTable);
115
+ const credentialIdColumn = escape.columnName('credentialId');
116
+ const dependencyTypeColumn = escape.columnName('dependencyType');
117
+ const dependencyIdColumn = escape.columnName('dependencyId');
118
+ const namedParameters = {};
119
+ const valuesSql = dependencies
120
+ .map((dependency, index) => {
121
+ namedParameters[`credentialId${index}`] = dependency.credentialId;
122
+ namedParameters[`dependencyType${index}`] = dependency.dependencyType;
123
+ namedParameters[`dependencyId${index}`] = dependency.dependencyId;
124
+ return `(:credentialId${index}, :dependencyType${index}, :dependencyId${index})`;
125
+ })
126
+ .join(', ');
127
+ await runQuery(`INSERT INTO ${dependencyTable} (${credentialIdColumn}, ${dependencyTypeColumn}, ${dependencyIdColumn}) VALUES ${valuesSql} ON CONFLICT (${credentialIdColumn}, ${dependencyTypeColumn}, ${dependencyIdColumn}) DO NOTHING;`, namedParameters);
128
+ }
129
+ async loadProviderIdByKey(runQuery, escape) {
130
+ const providerTable = escape.tableName('secrets_provider_connection');
131
+ const idColumn = escape.columnName('id');
132
+ const providerKeyColumn = escape.columnName('providerKey');
133
+ const rows = await runQuery(`SELECT ${idColumn} AS ${idColumn}, ${providerKeyColumn} AS ${providerKeyColumn} FROM ${providerTable}`);
134
+ return new Map(rows.map(({ id, providerKey }) => [providerKey, id.toString()]));
135
+ }
136
+ }
137
+ exports.CreateCredentialDependencyTable1773000000000 = CreateCredentialDependencyTable1773000000000;
138
+ //# sourceMappingURL=1773000000000-CreateCredentialDependencyTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1773000000000-CreateCredentialDependencyTable.js","sourceRoot":"","sources":["../../../src/migrations/common/1773000000000-CreateCredentialDependencyTable.ts"],"names":[],"mappings":"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"}
@@ -153,6 +153,9 @@ const _1771500000001_AddUnshareScopeToCustomRoles_1 = require("../common/1771500
153
153
  const _1771500000002_AddFilesColumnToChatHubAgents_1 = require("../common/1771500000002-AddFilesColumnToChatHubAgents");
154
154
  const _1772000000000_AddSuggestedPromptsToAgentTable_1 = require("../common/1772000000000-AddSuggestedPromptsToAgentTable");
155
155
  const _1772619247761_AddRoleColumnToProjectSecretsProviderAccess_1 = require("../common/1772619247761-AddRoleColumnToProjectSecretsProviderAccess");
156
+ const _1772619247762_ChangeWorkflowPublishedVersionFKsToRestrict_1 = require("../common/1772619247762-ChangeWorkflowPublishedVersionFKsToRestrict");
157
+ const _1772700000000_AddTypeToChatHubSessions_1 = require("../common/1772700000000-AddTypeToChatHubSessions");
158
+ const _1773000000000_CreateCredentialDependencyTable_1 = require("../common/1773000000000-CreateCredentialDependencyTable");
156
159
  exports.postgresMigrations = [
157
160
  _1587669153312_InitialMigration_1.InitialMigration1587669153312,
158
161
  _1589476000887_WebhookModel_1.WebhookModel1589476000887,
@@ -306,5 +309,8 @@ exports.postgresMigrations = [
306
309
  _1771500000002_AddFilesColumnToChatHubAgents_1.AddFilesColumnToChatHubAgents1771500000002,
307
310
  _1772000000000_AddSuggestedPromptsToAgentTable_1.AddSuggestedPromptsToAgentTable1772000000000,
308
311
  _1772619247761_AddRoleColumnToProjectSecretsProviderAccess_1.AddRoleColumnToProjectSecretsProviderAccess1772619247761,
312
+ _1772619247762_ChangeWorkflowPublishedVersionFKsToRestrict_1.ChangeWorkflowPublishedVersionFKsToRestrict1772619247762,
313
+ _1772700000000_AddTypeToChatHubSessions_1.AddTypeToChatHubSessions1772700000000,
314
+ _1773000000000_CreateCredentialDependencyTable_1.CreateCredentialDependencyTable1773000000000,
309
315
  ];
310
316
  //# sourceMappingURL=index.js.map