@n8n/db 1.22.3 → 1.23.1

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 (53) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/entities/workflow-entity.d.ts +2 -1
  3. package/dist/entities/workflow-entity.js +4 -0
  4. package/dist/entities/workflow-entity.js.map +1 -1
  5. package/dist/entities/workflow-history.d.ts +2 -1
  6. package/dist/entities/workflow-history.js +4 -0
  7. package/dist/entities/workflow-history.js.map +1 -1
  8. package/dist/migrations/common/1784000000007-CreateInstanceAiCheckpointTable.d.ts +5 -0
  9. package/dist/migrations/common/1784000000007-CreateInstanceAiCheckpointTable.js +33 -0
  10. package/dist/migrations/common/1784000000007-CreateInstanceAiCheckpointTable.js.map +1 -0
  11. package/dist/migrations/common/1784000000008-ResetInstanceAiNativePersistence.d.ts +4 -0
  12. package/dist/migrations/common/1784000000008-ResetInstanceAiNativePersistence.js +21 -0
  13. package/dist/migrations/common/1784000000008-ResetInstanceAiNativePersistence.js.map +1 -0
  14. package/dist/migrations/common/1784000000009-CreateAgentMemoryEntryTables.d.ts +5 -0
  15. package/dist/migrations/common/1784000000009-CreateAgentMemoryEntryTables.js +97 -0
  16. package/dist/migrations/common/1784000000009-CreateAgentMemoryEntryTables.js.map +1 -0
  17. package/dist/migrations/common/1784000000010-RefactorAgentObservationScope.d.ts +11 -0
  18. package/dist/migrations/common/1784000000010-RefactorAgentObservationScope.js +230 -0
  19. package/dist/migrations/common/1784000000010-RefactorAgentObservationScope.js.map +1 -0
  20. package/dist/migrations/common/1784000000011-CreateAgentHistoryTable.d.ts +9 -0
  21. package/dist/migrations/common/1784000000011-CreateAgentHistoryTable.js +134 -0
  22. package/dist/migrations/common/1784000000011-CreateAgentHistoryTable.js.map +1 -0
  23. package/dist/migrations/common/1784000000012-CreateInstanceAiObservationTables.d.ts +5 -0
  24. package/dist/migrations/common/1784000000012-CreateInstanceAiObservationTables.js +58 -0
  25. package/dist/migrations/common/1784000000012-CreateInstanceAiObservationTables.js.map +1 -0
  26. package/dist/migrations/common/1784000000013-SplitRedactionScopeInCustomRoles.d.ts +5 -0
  27. package/dist/migrations/common/1784000000013-SplitRedactionScopeInCustomRoles.js +62 -0
  28. package/dist/migrations/common/1784000000013-SplitRedactionScopeInCustomRoles.js.map +1 -0
  29. package/dist/migrations/common/1784000000014-PersistInstanceAiPendingConfirmations.d.ts +6 -0
  30. package/dist/migrations/common/1784000000014-PersistInstanceAiPendingConfirmations.js +71 -0
  31. package/dist/migrations/common/1784000000014-PersistInstanceAiPendingConfirmations.js.map +1 -0
  32. package/dist/migrations/common/1784000000016-UseSlugAsPrimaryKeyInMcpRegistryServer.d.ts +5 -0
  33. package/dist/migrations/common/1784000000016-UseSlugAsPrimaryKeyInMcpRegistryServer.js +35 -0
  34. package/dist/migrations/common/1784000000016-UseSlugAsPrimaryKeyInMcpRegistryServer.js.map +1 -0
  35. package/dist/migrations/dsl/index.d.ts +3 -1
  36. package/dist/migrations/dsl/index.js +2 -0
  37. package/dist/migrations/dsl/index.js.map +1 -1
  38. package/dist/migrations/dsl/table.d.ts +11 -0
  39. package/dist/migrations/dsl/table.js +41 -13
  40. package/dist/migrations/dsl/table.js.map +1 -1
  41. package/dist/migrations/postgresdb/index.js +18 -0
  42. package/dist/migrations/postgresdb/index.js.map +1 -1
  43. package/dist/migrations/sqlite/1784000000011-CreateAgentHistoryTable.d.ts +4 -0
  44. package/dist/migrations/sqlite/1784000000011-CreateAgentHistoryTable.js +12 -0
  45. package/dist/migrations/sqlite/1784000000011-CreateAgentHistoryTable.js.map +1 -0
  46. package/dist/migrations/sqlite/index.js +18 -0
  47. package/dist/migrations/sqlite/index.js.map +1 -1
  48. package/dist/repositories/project.repository.d.ts +1 -0
  49. package/dist/repositories/project.repository.js +16 -0
  50. package/dist/repositories/project.repository.js.map +1 -1
  51. package/dist/services/auth.roles.service.js +12 -7
  52. package/dist/services/auth.roles.service.js.map +1 -1
  53. package/package.json +10 -10
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateAgentHistoryTable1784000000011 = void 0;
4
+ class CreateAgentHistoryTable1784000000011 {
5
+ async up(ctx) {
6
+ const { schemaBuilder } = ctx;
7
+ const { createTable, addColumns, addForeignKey, column, dropTable, dropColumns } = schemaBuilder;
8
+ await createTable('agent_history')
9
+ .withColumns(column('versionId').varchar(36).primary, column('agentId').varchar(36).notNull, column('schema').json.comment('Frozen snapshot of the published AgentJsonConfig'), column('tools').json.comment('Frozen map of `toolId → { code, descriptor }` at publish time'), column('skills').json.comment('Frozen map of `skillId → AgentSkill` at publish time'), column('publishedById').uuid, column('author').varchar(255).notNull)
10
+ .withIndexOn('agentId')
11
+ .withForeignKey('agentId', {
12
+ tableName: 'agents',
13
+ columnName: 'id',
14
+ onDelete: 'CASCADE',
15
+ })
16
+ .withForeignKey('publishedById', {
17
+ tableName: 'user',
18
+ columnName: 'id',
19
+ onDelete: 'SET NULL',
20
+ }).withTimestamps;
21
+ await addColumns('agents', [column('activeVersionId').varchar(36)]);
22
+ await addForeignKey('agents', 'activeVersionId', ['agent_history', 'versionId'], undefined, 'SET NULL');
23
+ await this.copyAgentPublishedVersionToHistory(ctx);
24
+ await this.backfillActiveVersionId(ctx);
25
+ await this.assertHistoryMatchesPublishedVersion(ctx);
26
+ await dropTable('agent_published_version');
27
+ await dropColumns('agents', ['credentialId', 'provider', 'model']);
28
+ }
29
+ async down(ctx) {
30
+ const { schemaBuilder } = ctx;
31
+ const { createTable, addColumns, dropForeignKey, dropColumns, dropTable, column } = schemaBuilder;
32
+ await addColumns('agents', [
33
+ column('credentialId').varchar(255),
34
+ column('provider').varchar(128),
35
+ column('model').varchar(128),
36
+ ]);
37
+ await createTable('agent_published_version')
38
+ .withColumns(column('agentId').varchar(36).primary, column('schema').json, column('publishedFromVersionId').varchar(36).notNull, column('model').varchar(128), column('provider').varchar(128), column('credentialId').varchar(36), column('publishedById').uuid, column('tools').json, column('skills').json)
39
+ .withForeignKey('agentId', {
40
+ tableName: 'agents',
41
+ columnName: 'id',
42
+ onDelete: 'CASCADE',
43
+ })
44
+ .withForeignKey('publishedById', {
45
+ tableName: 'user',
46
+ columnName: 'id',
47
+ onDelete: 'SET NULL',
48
+ }).withTimestamps;
49
+ await this.restoreActiveHistoryToPublishedVersion(ctx);
50
+ await dropForeignKey('agents', 'activeVersionId', ['agent_history', 'versionId']);
51
+ await dropColumns('agents', ['activeVersionId']);
52
+ await dropTable('agent_history');
53
+ }
54
+ async copyAgentPublishedVersionToHistory({ escape, runQuery }) {
55
+ const agentHistoryTable = escape.tableName('agent_history');
56
+ const agentPublishedVersionTable = escape.tableName('agent_published_version');
57
+ const userTable = escape.tableName('user');
58
+ const versionIdCol = escape.columnName('versionId');
59
+ const agentIdCol = escape.columnName('agentId');
60
+ const schemaCol = escape.columnName('schema');
61
+ const toolsCol = escape.columnName('tools');
62
+ const skillsCol = escape.columnName('skills');
63
+ const publishedByIdCol = escape.columnName('publishedById');
64
+ const authorCol = escape.columnName('author');
65
+ const createdAtCol = escape.columnName('createdAt');
66
+ const updatedAtCol = escape.columnName('updatedAt');
67
+ const publishedFromVersionIdCol = escape.columnName('publishedFromVersionId');
68
+ const idCol = escape.columnName('id');
69
+ const firstNameCol = escape.columnName('firstName');
70
+ const lastNameCol = escape.columnName('lastName');
71
+ await runQuery(`INSERT INTO ${agentHistoryTable} (${versionIdCol}, ${agentIdCol}, ${schemaCol}, ${toolsCol}, ${skillsCol}, ${publishedByIdCol}, ${authorCol}, ${createdAtCol}, ${updatedAtCol})
72
+ SELECT apv.${publishedFromVersionIdCol}, apv.${agentIdCol}, apv.${schemaCol}, apv.${toolsCol}, apv.${skillsCol},
73
+ apv.${publishedByIdCol},
74
+ COALESCE(
75
+ NULLIF(
76
+ TRIM(COALESCE(u.${firstNameCol}, '') || ' ' || COALESCE(u.${lastNameCol}, '')),
77
+ ''
78
+ ),
79
+ 'Unknown'
80
+ ),
81
+ apv.${createdAtCol}, apv.${updatedAtCol}
82
+ FROM ${agentPublishedVersionTable} apv
83
+ LEFT JOIN ${userTable} u ON u.${idCol} = apv.${publishedByIdCol}`);
84
+ }
85
+ async backfillActiveVersionId({ escape, runQuery }) {
86
+ const agentsTable = escape.tableName('agents');
87
+ const agentPublishedVersionTable = escape.tableName('agent_published_version');
88
+ const activeVersionIdCol = escape.columnName('activeVersionId');
89
+ const publishedFromVersionIdCol = escape.columnName('publishedFromVersionId');
90
+ const agentIdCol = escape.columnName('agentId');
91
+ const idCol = escape.columnName('id');
92
+ await runQuery(`UPDATE ${agentsTable}
93
+ SET ${activeVersionIdCol} = (
94
+ SELECT ${publishedFromVersionIdCol}
95
+ FROM ${agentPublishedVersionTable} apv
96
+ WHERE apv.${agentIdCol} = ${agentsTable}.${idCol}
97
+ )`);
98
+ }
99
+ async assertHistoryMatchesPublishedVersion({ escape, runQuery }) {
100
+ const agentHistoryTable = escape.tableName('agent_history');
101
+ const agentPublishedVersionTable = escape.tableName('agent_published_version');
102
+ const [historyCountRow] = await runQuery(`SELECT COUNT(*) AS count FROM ${agentHistoryTable}`);
103
+ const [publishedCountRow] = await runQuery(`SELECT COUNT(*) AS count FROM ${agentPublishedVersionTable}`);
104
+ if (Number(historyCountRow.count) !== Number(publishedCountRow.count)) {
105
+ throw new Error(`agent_history row count (${historyCountRow.count}) does not match agent_published_version row count (${publishedCountRow.count}); aborting migration`);
106
+ }
107
+ }
108
+ async restoreActiveHistoryToPublishedVersion({ escape, runQuery }) {
109
+ const agentHistoryTable = escape.tableName('agent_history');
110
+ const agentPublishedVersionTable = escape.tableName('agent_published_version');
111
+ const agentsTable = escape.tableName('agents');
112
+ const agentIdCol = escape.columnName('agentId');
113
+ const schemaCol = escape.columnName('schema');
114
+ const publishedFromVersionIdCol = escape.columnName('publishedFromVersionId');
115
+ const modelCol = escape.columnName('model');
116
+ const providerCol = escape.columnName('provider');
117
+ const credentialIdCol = escape.columnName('credentialId');
118
+ const publishedByIdCol = escape.columnName('publishedById');
119
+ const toolsCol = escape.columnName('tools');
120
+ const skillsCol = escape.columnName('skills');
121
+ const createdAtCol = escape.columnName('createdAt');
122
+ const updatedAtCol = escape.columnName('updatedAt');
123
+ const versionIdCol = escape.columnName('versionId');
124
+ const activeVersionIdCol = escape.columnName('activeVersionId');
125
+ const idCol = escape.columnName('id');
126
+ await runQuery(`INSERT INTO ${agentPublishedVersionTable}
127
+ (${agentIdCol}, ${schemaCol}, ${publishedFromVersionIdCol}, ${modelCol}, ${providerCol}, ${credentialIdCol}, ${publishedByIdCol}, ${toolsCol}, ${skillsCol}, ${createdAtCol}, ${updatedAtCol})
128
+ SELECT a.${idCol}, h.${schemaCol}, h.${versionIdCol}, NULL, NULL, NULL, h.${publishedByIdCol}, h.${toolsCol}, h.${skillsCol}, h.${createdAtCol}, h.${updatedAtCol}
129
+ FROM ${agentsTable} a
130
+ INNER JOIN ${agentHistoryTable} h ON a.${activeVersionIdCol} = h.${versionIdCol}`);
131
+ }
132
+ }
133
+ exports.CreateAgentHistoryTable1784000000011 = CreateAgentHistoryTable1784000000011;
134
+ //# sourceMappingURL=1784000000011-CreateAgentHistoryTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1784000000011-CreateAgentHistoryTable.js","sourceRoot":"","sources":["../../../src/migrations/common/1784000000011-CreateAgentHistoryTable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class CreateInstanceAiObservationTables1784000000012 implements ReversibleMigration {
3
+ up({ schemaBuilder: { createTable, column } }: MigrationContext): Promise<void>;
4
+ down({ schemaBuilder: { dropTable } }: MigrationContext): Promise<void>;
5
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateInstanceAiObservationTables1784000000012 = void 0;
4
+ const OBSERVATION_MARKERS = ['critical', 'important', 'info', 'completion'];
5
+ const OBSERVATION_STATUSES = ['active', 'superseded', 'dropped'];
6
+ const OBSERVATION_TASK_KINDS = ['observer', 'reflector'];
7
+ const table = {
8
+ observations: 'instance_ai_observations',
9
+ observationCursors: 'instance_ai_observation_cursors',
10
+ observationLocks: 'instance_ai_observation_locks',
11
+ };
12
+ class CreateInstanceAiObservationTables1784000000012 {
13
+ async up({ schemaBuilder: { createTable, column } }) {
14
+ await createTable(table.observations)
15
+ .withColumns(column('id')
16
+ .varchar(36)
17
+ .primary.notNull.comment('Application-generated n8n string ID, not a database UUID'), column('observationScopeId').uuid.notNull.comment('instance_ai_threads.id source stream for this observation log'), column('marker').varchar(16).notNull.withEnumCheck(OBSERVATION_MARKERS), column('text').text.notNull, column('parentId').varchar(36), column('tokenCount').int.notNull.default(0), column('status').varchar(16).notNull.withEnumCheck(OBSERVATION_STATUSES), column('supersededBy').varchar(36))
18
+ .withIndexOn(['observationScopeId', 'status', 'createdAt', 'id'])
19
+ .withIndexOn('parentId')
20
+ .withIndexOn('supersededBy')
21
+ .withForeignKey('observationScopeId', {
22
+ tableName: 'instance_ai_threads',
23
+ columnName: 'id',
24
+ onDelete: 'CASCADE',
25
+ })
26
+ .withForeignKey('parentId', {
27
+ tableName: table.observations,
28
+ columnName: 'id',
29
+ })
30
+ .withForeignKey('supersededBy', {
31
+ tableName: table.observations,
32
+ columnName: 'id',
33
+ }).withTimestamps;
34
+ await createTable(table.observationCursors)
35
+ .withColumns(column('observationScopeId').uuid.notNull.primary.comment('instance_ai_threads.id source stream checkpointed by this cursor'), column('lastObservedMessageId').varchar(36).notNull, column('lastObservedAt').timestampTimezone(3).notNull)
36
+ .withForeignKey('observationScopeId', {
37
+ tableName: 'instance_ai_threads',
38
+ columnName: 'id',
39
+ onDelete: 'CASCADE',
40
+ }).withTimestamps;
41
+ await createTable(table.observationLocks)
42
+ .withColumns(column('observationScopeId').uuid.notNull.primary.comment('instance_ai_threads.id source stream locked for observation tasks'), column('taskKind').varchar(20).notNull.primary.withEnumCheck(OBSERVATION_TASK_KINDS), column('holderId')
43
+ .varchar(64)
44
+ .notNull.comment('Ephemeral background-task lock owner token, not a user ID'), column('heldUntil').timestampTimezone(3).notNull)
45
+ .withForeignKey('observationScopeId', {
46
+ tableName: 'instance_ai_threads',
47
+ columnName: 'id',
48
+ onDelete: 'CASCADE',
49
+ }).withTimestamps;
50
+ }
51
+ async down({ schemaBuilder: { dropTable } }) {
52
+ await dropTable(table.observationLocks);
53
+ await dropTable(table.observationCursors);
54
+ await dropTable(table.observations);
55
+ }
56
+ }
57
+ exports.CreateInstanceAiObservationTables1784000000012 = CreateInstanceAiObservationTables1784000000012;
58
+ //# sourceMappingURL=1784000000012-CreateInstanceAiObservationTables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1784000000012-CreateInstanceAiObservationTables.js","sourceRoot":"","sources":["../../../src/migrations/common/1784000000012-CreateInstanceAiObservationTables.ts"],"names":[],"mappings":";;;AAEA,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAC5E,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AACjE,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAEzD,MAAM,KAAK,GAAG;IACb,YAAY,EAAE,0BAA0B;IACxC,kBAAkB,EAAE,iCAAiC;IACrD,gBAAgB,EAAE,+BAA+B;CACxC,CAAC;AAEX,MAAa,8CAA8C;IAC1D,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAoB;QACpE,MAAM,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC;aACnC,WAAW,CACX,MAAM,CAAC,IAAI,CAAC;aACV,OAAO,CAAC,EAAE,CAAC;aACX,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,0DAA0D,CAAC,EACrF,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAChD,+DAA+D,CAC/D,EACD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,EACvE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAC3B,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAC9B,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAC3C,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,EACxE,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAClC;aACA,WAAW,CAAC,CAAC,oBAAoB,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;aAChE,WAAW,CAAC,UAAU,CAAC;aACvB,WAAW,CAAC,cAAc,CAAC;aAC3B,cAAc,CAAC,oBAAoB,EAAE;YACrC,SAAS,EAAE,qBAAqB;YAChC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,SAAS;SACnB,CAAC;aACD,cAAc,CAAC,UAAU,EAAE;YAC3B,SAAS,EAAE,KAAK,CAAC,YAAY;YAC7B,UAAU,EAAE,IAAI;SAChB,CAAC;aACD,cAAc,CAAC,cAAc,EAAE;YAC/B,SAAS,EAAE,KAAK,CAAC,YAAY;YAC7B,UAAU,EAAE,IAAI;SAChB,CAAC,CAAC,cAAc,CAAC;QAEnB,MAAM,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC;aACzC,WAAW,CACX,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CACxD,kEAAkE,CAClE,EACD,MAAM,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,EACnD,MAAM,CAAC,gBAAgB,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CACrD;aACA,cAAc,CAAC,oBAAoB,EAAE;YACrC,SAAS,EAAE,qBAAqB;YAChC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,SAAS;SACnB,CAAC,CAAC,cAAc,CAAC;QAEnB,MAAM,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC;aACvC,WAAW,CACX,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CACxD,mEAAmE,CACnE,EACD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,EACpF,MAAM,CAAC,UAAU,CAAC;aAChB,OAAO,CAAC,EAAE,CAAC;aACX,OAAO,CAAC,OAAO,CAAC,2DAA2D,CAAC,EAC9E,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,OAAO,CAChD;aACA,cAAc,CAAC,oBAAoB,EAAE;YACrC,SAAS,EAAE,qBAAqB;YAChC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,SAAS;SACnB,CAAC,CAAC,cAAc,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,EAAoB;QAC5D,MAAM,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxC,MAAM,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC1C,MAAM,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;CACD;AAvED,wGAuEC"}
@@ -0,0 +1,5 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class SplitRedactionScopeInCustomRoles1784000000013 implements ReversibleMigration {
3
+ up({ escape, runQuery }: MigrationContext): Promise<void>;
4
+ down({ escape, runQuery }: MigrationContext): Promise<void>;
5
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SplitRedactionScopeInCustomRoles1784000000013 = void 0;
4
+ const PERSONAL_OWNER_ROLE_SLUG = 'project:personalOwner';
5
+ const OLD_SCOPE = 'workflow:updateRedactionSetting';
6
+ const NEW_SCOPES = ['workflow:enableRedaction', 'workflow:disableRedaction'];
7
+ class SplitRedactionScopeInCustomRoles1784000000013 {
8
+ async up({ escape, runQuery }) {
9
+ const scopeTableName = escape.tableName('scope');
10
+ const scopeSlugColumn = escape.columnName('slug');
11
+ const displayNameColumn = escape.columnName('displayName');
12
+ const descriptionColumn = escape.columnName('description');
13
+ const roleTableName = escape.tableName('role');
14
+ const roleScopeTableName = escape.tableName('role_scope');
15
+ const roleSlugColumn = escape.columnName('slug');
16
+ const roleScopeRoleSlugColumn = escape.columnName('roleSlug');
17
+ const roleScopeScopeSlugColumn = escape.columnName('scopeSlug');
18
+ const insertScopeQuery = `INSERT INTO ${scopeTableName} (${scopeSlugColumn}, ${displayNameColumn}, ${descriptionColumn})
19
+ VALUES (:slug, :displayName, :description)
20
+ ON CONFLICT (${scopeSlugColumn}) DO NOTHING`;
21
+ await runQuery(insertScopeQuery, {
22
+ slug: 'workflow:enableRedaction',
23
+ displayName: 'Enable Workflow Data Redaction',
24
+ description: 'Allows enabling data redaction on workflows.',
25
+ });
26
+ await runQuery(insertScopeQuery, {
27
+ slug: 'workflow:disableRedaction',
28
+ displayName: 'Disable Workflow Data Redaction',
29
+ description: 'Allows disabling data redaction on workflows.',
30
+ });
31
+ const batchInsertQuery = `
32
+ INSERT INTO ${roleScopeTableName} (${roleScopeRoleSlugColumn}, ${roleScopeScopeSlugColumn})
33
+ SELECT DISTINCT role.${roleSlugColumn}, :newScope
34
+ FROM ${roleTableName} role
35
+ INNER JOIN ${roleScopeTableName} role_scope
36
+ ON role.${roleSlugColumn} = role_scope.${roleScopeRoleSlugColumn}
37
+ WHERE role.${roleSlugColumn} != :personalOwnerSlug
38
+ AND role_scope.${roleScopeScopeSlugColumn} = :oldScope
39
+ ON CONFLICT (${roleScopeRoleSlugColumn}, ${roleScopeScopeSlugColumn}) DO NOTHING
40
+ `;
41
+ for (const newScope of NEW_SCOPES) {
42
+ await runQuery(batchInsertQuery, {
43
+ personalOwnerSlug: PERSONAL_OWNER_ROLE_SLUG,
44
+ oldScope: OLD_SCOPE,
45
+ newScope,
46
+ });
47
+ }
48
+ }
49
+ async down({ escape, runQuery }) {
50
+ const roleScopeTableName = escape.tableName('role_scope');
51
+ const roleScopeScopeSlugColumn = escape.columnName('scopeSlug');
52
+ const deleteQuery = `
53
+ DELETE FROM ${roleScopeTableName}
54
+ WHERE ${roleScopeScopeSlugColumn} = :scope
55
+ `;
56
+ for (const newScope of NEW_SCOPES) {
57
+ await runQuery(deleteQuery, { scope: newScope });
58
+ }
59
+ }
60
+ }
61
+ exports.SplitRedactionScopeInCustomRoles1784000000013 = SplitRedactionScopeInCustomRoles1784000000013;
62
+ //# sourceMappingURL=1784000000013-SplitRedactionScopeInCustomRoles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1784000000013-SplitRedactionScopeInCustomRoles.js","sourceRoot":"","sources":["../../../src/migrations/common/1784000000013-SplitRedactionScopeInCustomRoles.ts"],"names":[],"mappings":";;;AAEA,MAAM,wBAAwB,GAAG,uBAAuB,CAAC;AACzD,MAAM,SAAS,GAAG,iCAAiC,CAAC;AACpD,MAAM,UAAU,GAAG,CAAC,0BAA0B,EAAE,2BAA2B,CAAU,CAAC;AAkBtF,MAAa,6CAA6C;IACzD,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;QAEhE,MAAM,gBAAgB,GAAG,eAAe,cAAc,KAAK,eAAe,KAAK,iBAAiB,KAAK,iBAAiB;;wBAEhG,eAAe,cAAc,CAAC;QAEpD,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAChC,IAAI,EAAE,0BAA0B;YAChC,WAAW,EAAE,gCAAgC;YAC7C,WAAW,EAAE,8CAA8C;SAC3D,CAAC,CAAC;QAEH,MAAM,QAAQ,CAAC,gBAAgB,EAAE;YAChC,IAAI,EAAE,2BAA2B;YACjC,WAAW,EAAE,iCAAiC;YAC9C,WAAW,EAAE,+CAA+C;SAC5D,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG;gBACX,kBAAkB,KAAK,uBAAuB,KAAK,wBAAwB;yBAClE,cAAc;SAC9B,aAAa;eACP,kBAAkB;aACpB,cAAc,iBAAiB,uBAAuB;eACpD,cAAc;oBACT,wBAAwB;iBAC3B,uBAAuB,KAAK,wBAAwB;GAClE,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,QAAQ,CAAC,gBAAgB,EAAE;gBAChC,iBAAiB,EAAE,wBAAwB;gBAC3C,QAAQ,EAAE,SAAS;gBACnB,QAAQ;aACR,CAAC,CAAC;QACJ,CAAC;IACF,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;QAEhE,MAAM,WAAW,GAAG;iBACL,kBAAkB;WACxB,wBAAwB;GAChC,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClD,CAAC;IACF,CAAC;CACD;AA9DD,sGA8DC"}
@@ -0,0 +1,6 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class PersistInstanceAiPendingConfirmations1784000000014 implements ReversibleMigration {
3
+ up(context: MigrationContext): Promise<void>;
4
+ down({ schemaBuilder: { addNotNull, dropTable, dropColumns }, queryRunner, tablePrefix, runQuery, escape, }: MigrationContext): Promise<void>;
5
+ private createPendingConfirmationsTable;
6
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PersistInstanceAiPendingConfirmations1784000000014 = void 0;
4
+ const typeorm_1 = require("@n8n/typeorm");
5
+ const pendingConfirmationsTable = 'instance_ai_pending_confirmations';
6
+ const checkpointsTable = 'instance_ai_checkpoints';
7
+ const threadsTable = 'instance_ai_threads';
8
+ const userTable = 'user';
9
+ const checkpointTombstoneCheck = 'instance_ai_checkpoints_state_tombstone_check';
10
+ class PersistInstanceAiPendingConfirmations1784000000014 {
11
+ async up(context) {
12
+ const { schemaBuilder, queryRunner, tablePrefix } = context;
13
+ await schemaBuilder.addColumns(checkpointsTable, [
14
+ schemaBuilder
15
+ .column('expiredAt')
16
+ .timestampTimezone()
17
+ .comment('Soft-delete timestamp: null means live; non-null marks the row as a tombstone.'),
18
+ ]);
19
+ await schemaBuilder.dropNotNull(checkpointsTable, 'state');
20
+ await queryRunner.createCheckConstraint(`${tablePrefix}${checkpointsTable}`, new typeorm_1.TableCheck({
21
+ name: `${tablePrefix}${checkpointTombstoneCheck}`,
22
+ expression: '("expiredAt" IS NOT NULL AND "state" IS NULL) OR "expiredAt" IS NULL',
23
+ }));
24
+ await this.createPendingConfirmationsTable(context);
25
+ }
26
+ async down({ schemaBuilder: { addNotNull, dropTable, dropColumns }, queryRunner, tablePrefix, runQuery, escape, }) {
27
+ await dropTable(pendingConfirmationsTable);
28
+ await queryRunner.dropCheckConstraint(`${tablePrefix}${checkpointsTable}`, `${tablePrefix}${checkpointTombstoneCheck}`);
29
+ const table = escape.tableName(checkpointsTable);
30
+ const stateCol = escape.columnName('state');
31
+ await runQuery(`DELETE FROM ${table} WHERE ${stateCol} IS NULL`);
32
+ await addNotNull(checkpointsTable, 'state');
33
+ await dropColumns(checkpointsTable, ['expiredAt']);
34
+ }
35
+ async createPendingConfirmationsTable({ schemaBuilder: { createTable, column }, }) {
36
+ await createTable(pendingConfirmationsTable)
37
+ .withColumns(column('requestId').varchar(36).primary.comment('HITL confirmation request identifier.'), column('threadId').uuid.notNull.comment('Instance AI thread that owns the confirmation.'), column('userId').uuid.notNull.comment('User who is expected to confirm or cancel.'), column('kind')
38
+ .varchar(16)
39
+ .notNull.withEnumCheck(['suspended', 'inline'])
40
+ .comment("'suspended' (resumable from checkpoint) or 'inline' (orchestrator-held Promise)."), column('runId')
41
+ .varchar(36)
42
+ .notNull.comment('External run ID; reused on resume for SSE correlation.'), column('toolCallId').varchar(64).comment('Suspended tool call awaiting confirmation.'), column('messageGroupId').varchar(36).comment('SSE event correlation group.'), column('checkpointKey')
43
+ .varchar(255)
44
+ .comment('FK to instance_ai_checkpoints.key; also the SDK runId used to resume.'), column('checkpointTaskId')
45
+ .varchar(36)
46
+ .comment('Set when the suspended run was a planned-task checkpoint follow-up.'), column('expiresAt')
47
+ .timestampTimezone()
48
+ .comment('TTL for the leader-only sweep; null disables auto-expiry.'))
49
+ .withIndexOn('threadId')
50
+ .withIndexOn('userId')
51
+ .withIndexOn('checkpointKey')
52
+ .withIndexOn('expiresAt')
53
+ .withForeignKey('threadId', {
54
+ tableName: threadsTable,
55
+ columnName: 'id',
56
+ onDelete: 'CASCADE',
57
+ })
58
+ .withForeignKey('userId', {
59
+ tableName: userTable,
60
+ columnName: 'id',
61
+ onDelete: 'CASCADE',
62
+ })
63
+ .withForeignKey('checkpointKey', {
64
+ tableName: checkpointsTable,
65
+ columnName: 'key',
66
+ onDelete: 'CASCADE',
67
+ }).withTimestamps;
68
+ }
69
+ }
70
+ exports.PersistInstanceAiPendingConfirmations1784000000014 = PersistInstanceAiPendingConfirmations1784000000014;
71
+ //# sourceMappingURL=1784000000014-PersistInstanceAiPendingConfirmations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1784000000014-PersistInstanceAiPendingConfirmations.js","sourceRoot":"","sources":["../../../src/migrations/common/1784000000014-PersistInstanceAiPendingConfirmations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class UseSlugAsPrimaryKeyInMcpRegistryServer1784000000016 implements ReversibleMigration {
3
+ up({ copyTable, runQuery, escape, schemaBuilder: { createTable, dropTable, column }, }: MigrationContext): Promise<void>;
4
+ down({ copyTable, runQuery, escape, schemaBuilder: { createTable, dropTable, column }, }: MigrationContext): Promise<void>;
5
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UseSlugAsPrimaryKeyInMcpRegistryServer1784000000016 = void 0;
4
+ class UseSlugAsPrimaryKeyInMcpRegistryServer1784000000016 {
5
+ async up({ copyTable, runQuery, escape, schemaBuilder: { createTable, dropTable, column }, }) {
6
+ const tableName = 'mcp_registry_server';
7
+ const tempTableName = 'tmp_mcp_registry_server';
8
+ await createTable(tempTableName).withColumns(column('slug').varchar(255).primary, column('status')
9
+ .varchar(50)
10
+ .notNull.withEnumCheck(['active', 'deprecated'])
11
+ .comment('Server status in the MCP registry. Deprecated servers are not surfaced to users.'), column('version').varchar(50).notNull, column('registryUpdatedAt').timestampNoTimezone(3).notNull, column('data')
12
+ .json.notNull.default("'{}'")
13
+ .comment('JSON object containing server metadata (icons, remotes, tools, etc.)')).withTimestamps;
14
+ await copyTable(tableName, tempTableName, ['slug', 'status', 'version', 'registryUpdatedAt', 'data', 'createdAt', 'updatedAt'], ['slug', 'status', 'version', 'registryUpdatedAt', 'data', 'createdAt', 'updatedAt']);
15
+ await dropTable(tableName);
16
+ await runQuery(`ALTER TABLE ${escape.tableName(tempTableName)} RENAME TO ${escape.tableName(tableName)}`);
17
+ }
18
+ async down({ copyTable, runQuery, escape, schemaBuilder: { createTable, dropTable, column }, }) {
19
+ const tableName = 'mcp_registry_server';
20
+ const tempTableName = 'tmp_mcp_registry_server';
21
+ await createTable(tempTableName)
22
+ .withColumns(column('id').int.primary.autoGenerate2, column('slug').varchar(255).notNull, column('status')
23
+ .varchar(50)
24
+ .notNull.withEnumCheck(['active', 'deprecated'])
25
+ .comment('Server status in the MCP registry. Deprecated servers are not surfaced to users.'), column('version').varchar(50).notNull, column('registryUpdatedAt').timestampNoTimezone(3).notNull, column('data')
26
+ .json.notNull.default("'{}'")
27
+ .comment('JSON object containing server metadata (icons, remotes, tools, etc.)'))
28
+ .withUniqueConstraintOn(['slug']).withTimestamps;
29
+ await copyTable(tableName, tempTableName, ['slug', 'status', 'version', 'registryUpdatedAt', 'data', 'createdAt', 'updatedAt'], ['slug', 'status', 'version', 'registryUpdatedAt', 'data', 'createdAt', 'updatedAt']);
30
+ await dropTable(tableName);
31
+ await runQuery(`ALTER TABLE ${escape.tableName(tempTableName)} RENAME TO ${escape.tableName(tableName)}`);
32
+ }
33
+ }
34
+ exports.UseSlugAsPrimaryKeyInMcpRegistryServer1784000000016 = UseSlugAsPrimaryKeyInMcpRegistryServer1784000000016;
35
+ //# sourceMappingURL=1784000000016-UseSlugAsPrimaryKeyInMcpRegistryServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1784000000016-UseSlugAsPrimaryKeyInMcpRegistryServer.js","sourceRoot":"","sources":["../../../src/migrations/common/1784000000016-UseSlugAsPrimaryKeyInMcpRegistryServer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { QueryRunner } from '@n8n/typeorm';
2
2
  import { Column } from './column';
3
3
  import { CreateIndex, DropIndex } from './indices';
4
- import { AddColumns, AddForeignKey, AddNotNull, CreateTable, DropColumns, DropForeignKey, DropNotNull, DropTable } from './table';
4
+ import { AddColumns, AddEnumCheck, AddForeignKey, AddNotNull, CreateTable, DropColumns, DropEnumCheck, DropForeignKey, DropNotNull, DropTable } from './table';
5
5
  export declare const createSchemaBuilder: (tablePrefix: string, queryRunner: QueryRunner) => {
6
6
  column: (name: string) => Column;
7
7
  createTable: (tableName: string) => CreateTable;
@@ -17,4 +17,6 @@ export declare const createSchemaBuilder: (tablePrefix: string, queryRunner: Que
17
17
  dropForeignKey: (tableName: string, columnName: string, reference: [string, string], customConstraintName?: string) => DropForeignKey;
18
18
  addNotNull: (tableName: string, columnName: string) => AddNotNull;
19
19
  dropNotNull: (tableName: string, columnName: string) => DropNotNull;
20
+ addEnumCheck: (tableName: string, columnName: string, values: string[]) => AddEnumCheck;
21
+ dropEnumCheck: (tableName: string, columnName: string) => DropEnumCheck;
20
22
  };
@@ -18,6 +18,8 @@ const createSchemaBuilder = (tablePrefix, queryRunner) => ({
18
18
  dropForeignKey: (tableName, columnName, reference, customConstraintName) => new table_1.DropForeignKey(tableName, columnName, reference, tablePrefix, queryRunner, customConstraintName),
19
19
  addNotNull: (tableName, columnName) => new table_1.AddNotNull(tableName, columnName, tablePrefix, queryRunner),
20
20
  dropNotNull: (tableName, columnName) => new table_1.DropNotNull(tableName, columnName, tablePrefix, queryRunner),
21
+ addEnumCheck: (tableName, columnName, values) => new table_1.AddEnumCheck(tableName, columnName, values, tablePrefix, queryRunner),
22
+ dropEnumCheck: (tableName, columnName) => new table_1.DropEnumCheck(tableName, columnName, tablePrefix, queryRunner),
21
23
  });
22
24
  exports.createSchemaBuilder = createSchemaBuilder;
23
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/dsl/index.ts"],"names":[],"mappings":";;;AAEA,qCAAkC;AAClC,uCAAmD;AACnD,mCASiB;AAEV,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAE,WAAwB,EAAE,EAAE,CAAC,CAAC;IACtF,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,eAAM,CAAC,IAAI,CAAC;IAG1C,WAAW,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,mBAAW,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC;IAExF,SAAS,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,iBAAS,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC;IAEpF,UAAU,EAAE,CAAC,SAAiB,EAAE,OAAiB,EAAE,EAAE,CACpD,IAAI,kBAAU,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC;IAC7D,WAAW,EAAE,CAAC,SAAiB,EAAE,WAAqB,EAAE,EAAE,CACzD,IAAI,mBAAW,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;IAOlE,WAAW,EAAE,CACZ,SAAiB,EACjB,WAAqB,EACrB,QAAQ,GAAG,KAAK,EAChB,eAAwB,EACxB,WAAoB,EACnB,EAAE,CACH,IAAI,qBAAW,CACd,SAAS,EACT,WAAW,EACX,QAAQ,EACR,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,CACX;IAEF,SAAS,EAAE,CACV,SAAiB,EACjB,WAAqB,EACrB,EAAE,eAAe,EAAE,aAAa,KAA4D;QAC3F,aAAa,EAAE,KAAK;KACpB,EACA,EAAE,CACH,IAAI,mBAAS,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC;IAEhG,aAAa,EAAE,CACd,SAAiB,EACjB,UAAkB,EAClB,SAA2B,EAC3B,oBAA6B,EAC7B,QAA4D,EAC3D,EAAE,CACH,IAAI,qBAAa,CAChB,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,QAAQ,CACR;IAEF,cAAc,EAAE,CACf,SAAiB,EACjB,UAAkB,EAClB,SAA2B,EAC3B,oBAA6B,EAC5B,EAAE,CACH,IAAI,sBAAc,CACjB,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,CACpB;IAEF,UAAU,EAAE,CAAC,SAAiB,EAAE,UAAkB,EAAE,EAAE,CACrD,IAAI,kBAAU,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC;IAChE,WAAW,EAAE,CAAC,SAAiB,EAAE,UAAkB,EAAE,EAAE,CACtD,IAAI,mBAAW,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC;CAGjE,CAAC,CAAC;AAlFU,QAAA,mBAAmB,uBAkF7B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/dsl/index.ts"],"names":[],"mappings":";;;AAEA,qCAAkC;AAClC,uCAAmD;AACnD,mCAWiB;AAEV,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAE,WAAwB,EAAE,EAAE,CAAC,CAAC;IACtF,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,eAAM,CAAC,IAAI,CAAC;IAG1C,WAAW,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,mBAAW,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC;IAExF,SAAS,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAI,iBAAS,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC;IAEpF,UAAU,EAAE,CAAC,SAAiB,EAAE,OAAiB,EAAE,EAAE,CACpD,IAAI,kBAAU,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC;IAC7D,WAAW,EAAE,CAAC,SAAiB,EAAE,WAAqB,EAAE,EAAE,CACzD,IAAI,mBAAW,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;IAOlE,WAAW,EAAE,CACZ,SAAiB,EACjB,WAAqB,EACrB,QAAQ,GAAG,KAAK,EAChB,eAAwB,EACxB,WAAoB,EACnB,EAAE,CACH,IAAI,qBAAW,CACd,SAAS,EACT,WAAW,EACX,QAAQ,EACR,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,CACX;IAEF,SAAS,EAAE,CACV,SAAiB,EACjB,WAAqB,EACrB,EAAE,eAAe,EAAE,aAAa,KAA4D;QAC3F,aAAa,EAAE,KAAK;KACpB,EACA,EAAE,CACH,IAAI,mBAAS,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC;IAEhG,aAAa,EAAE,CACd,SAAiB,EACjB,UAAkB,EAClB,SAA2B,EAC3B,oBAA6B,EAC7B,QAA4D,EAC3D,EAAE,CACH,IAAI,qBAAa,CAChB,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,QAAQ,CACR;IAEF,cAAc,EAAE,CACf,SAAiB,EACjB,UAAkB,EAClB,SAA2B,EAC3B,oBAA6B,EAC5B,EAAE,CACH,IAAI,sBAAc,CACjB,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,CACpB;IAEF,UAAU,EAAE,CAAC,SAAiB,EAAE,UAAkB,EAAE,EAAE,CACrD,IAAI,kBAAU,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC;IAChE,WAAW,EAAE,CAAC,SAAiB,EAAE,UAAkB,EAAE,EAAE,CACtD,IAAI,mBAAW,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC;IAGjE,YAAY,EAAE,CAAC,SAAiB,EAAE,UAAkB,EAAE,MAAgB,EAAE,EAAE,CACzE,IAAI,oBAAY,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC;IAE1E,aAAa,EAAE,CAAC,SAAiB,EAAE,UAAkB,EAAE,EAAE,CACxD,IAAI,qBAAa,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC;CAGnE,CAAC,CAAC;AAzFU,QAAA,mBAAmB,uBAyF7B"}
@@ -66,4 +66,15 @@ export declare class DropNotNull extends ModifyNotNull {
66
66
  protected columnName: string;
67
67
  constructor(tableName: string, columnName: string, prefix: string, queryRunner: QueryRunner);
68
68
  }
69
+ export declare class DropEnumCheck extends TableOperation {
70
+ protected columnName: string;
71
+ constructor(tableName: string, columnName: string, prefix: string, queryRunner: QueryRunner);
72
+ execute(queryRunner: QueryRunner): Promise<void>;
73
+ }
74
+ export declare class AddEnumCheck extends TableOperation {
75
+ protected columnName: string;
76
+ protected values: string[];
77
+ constructor(tableName: string, columnName: string, values: string[], prefix: string, queryRunner: QueryRunner);
78
+ execute(queryRunner: QueryRunner): Promise<void>;
79
+ }
69
80
  export {};
@@ -3,24 +3,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DropNotNull = exports.AddNotNull = exports.DropForeignKey = exports.AddForeignKey = exports.DropColumns = exports.AddColumns = exports.DropTable = exports.CreateTable = void 0;
6
+ exports.AddEnumCheck = exports.DropEnumCheck = exports.DropNotNull = exports.AddNotNull = exports.DropForeignKey = exports.AddForeignKey = exports.DropColumns = exports.AddColumns = exports.DropTable = exports.CreateTable = void 0;
7
7
  const typeorm_1 = require("@n8n/typeorm");
8
8
  const n8n_workflow_1 = require("n8n-workflow");
9
9
  const p_lazy_1 = __importDefault(require("p-lazy"));
10
10
  const column_1 = require("./column");
11
+ function buildEnumCheck(columnName, values, prefix, tableName, driver) {
12
+ const checkName = `CHK_${prefix}${tableName}_${columnName}`;
13
+ const escapedColumnName = driver.escape(columnName);
14
+ const escapedValues = values.map((v) => `'${v.replace(/'/g, "''")}'`).join(', ');
15
+ const expression = `${escapedColumnName} IN (${escapedValues})`;
16
+ return new typeorm_1.TableCheck({ name: checkName, expression });
17
+ }
11
18
  function buildEnumChecks(columns, prefix, tableName, driver) {
12
- const checks = [];
13
- for (const column of columns) {
14
- const enumCheck = column.getEnumCheck();
15
- if (enumCheck) {
16
- const checkName = `CHK_${prefix}${tableName}_${enumCheck.columnName}`;
17
- const escapedColumnName = driver.escape(enumCheck.columnName);
18
- const escapedValues = enumCheck.values.map((v) => `'${v.replace(/'/g, "''")}'`).join(', ');
19
- const expression = `${escapedColumnName} IN (${escapedValues})`;
20
- checks.push(new typeorm_1.TableCheck({ name: checkName, expression }));
21
- }
22
- }
23
- return checks;
19
+ return columns
20
+ .map((column) => column.getEnumCheck())
21
+ .filter((enumCheck) => enumCheck !== undefined)
22
+ .map((enumCheck) => buildEnumCheck(enumCheck.columnName, enumCheck.values, prefix, tableName, driver));
24
23
  }
25
24
  class TableOperation extends p_lazy_1.default {
26
25
  constructor(tableName, prefix, queryRunner) {
@@ -190,4 +189,33 @@ class DropNotNull extends ModifyNotNull {
190
189
  }
191
190
  }
192
191
  exports.DropNotNull = DropNotNull;
192
+ class DropEnumCheck extends TableOperation {
193
+ constructor(tableName, columnName, prefix, queryRunner) {
194
+ super(tableName, prefix, queryRunner);
195
+ this.columnName = columnName;
196
+ }
197
+ async execute(queryRunner) {
198
+ const { tableName, prefix, columnName } = this;
199
+ const fullTableName = `${prefix}${tableName}`;
200
+ const checkName = `CHK_${prefix}${tableName}_${columnName}`;
201
+ return await queryRunner.dropCheckConstraint(fullTableName, checkName);
202
+ }
203
+ }
204
+ exports.DropEnumCheck = DropEnumCheck;
205
+ class AddEnumCheck extends TableOperation {
206
+ constructor(tableName, columnName, values, prefix, queryRunner) {
207
+ super(tableName, prefix, queryRunner);
208
+ this.columnName = columnName;
209
+ this.values = values;
210
+ }
211
+ async execute(queryRunner) {
212
+ const { tableName, prefix, columnName, values } = this;
213
+ const { driver } = queryRunner.connection;
214
+ const fullTableName = `${prefix}${tableName}`;
215
+ return await queryRunner.createCheckConstraints(fullTableName, [
216
+ buildEnumCheck(columnName, values, prefix, tableName, driver),
217
+ ]);
218
+ }
219
+ }
220
+ exports.AddEnumCheck = AddEnumCheck;
193
221
  //# sourceMappingURL=table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/migrations/dsl/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/migrations/dsl/table.ts"],"names":[],"mappings":"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"}