@n8n/db 0.31.1 → 0.32.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 (32) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/connection/db-connection.d.ts +3 -1
  3. package/dist/connection/db-connection.js +22 -4
  4. package/dist/connection/db-connection.js.map +1 -1
  5. package/dist/migrations/common/1761830340990-AddToolsColumnToChatHubTables.d.ts +5 -0
  6. package/dist/migrations/common/1761830340990-AddToolsColumnToChatHubTables.js +27 -0
  7. package/dist/migrations/common/1761830340990-AddToolsColumnToChatHubTables.js.map +1 -0
  8. package/dist/migrations/common/1762763704614-BackfillMissingWorkflowHistoryRecords.d.ts +4 -0
  9. package/dist/migrations/common/1762763704614-BackfillMissingWorkflowHistoryRecords.js +80 -0
  10. package/dist/migrations/common/1762763704614-BackfillMissingWorkflowHistoryRecords.js.map +1 -0
  11. package/dist/migrations/common/1762847206508-AddWorkflowHistoryAutoSaveFields.d.ts +5 -0
  12. package/dist/migrations/common/1762847206508-AddWorkflowHistoryAutoSaveFields.js +21 -0
  13. package/dist/migrations/common/1762847206508-AddWorkflowHistoryAutoSaveFields.js.map +1 -0
  14. package/dist/migrations/mysqldb/1761830340990-AddToolsColumnToChatHubTables.d.ts +5 -0
  15. package/dist/migrations/mysqldb/1761830340990-AddToolsColumnToChatHubTables.js +29 -0
  16. package/dist/migrations/mysqldb/1761830340990-AddToolsColumnToChatHubTables.js.map +1 -0
  17. package/dist/migrations/mysqldb/index.js +7 -1
  18. package/dist/migrations/mysqldb/index.js.map +1 -1
  19. package/dist/migrations/postgresdb/1762771264000-ChangeDefaultForIdInUserTable.d.ts +4 -0
  20. package/dist/migrations/postgresdb/1762771264000-ChangeDefaultForIdInUserTable.js +12 -0
  21. package/dist/migrations/postgresdb/1762771264000-ChangeDefaultForIdInUserTable.js.map +1 -0
  22. package/dist/migrations/postgresdb/index.js +8 -0
  23. package/dist/migrations/postgresdb/index.js.map +1 -1
  24. package/dist/migrations/sqlite/index.js +6 -0
  25. package/dist/migrations/sqlite/index.js.map +1 -1
  26. package/dist/repositories/workflow-history.repository.d.ts +1 -0
  27. package/dist/repositories/workflow-history.repository.js +15 -0
  28. package/dist/repositories/workflow-history.repository.js.map +1 -1
  29. package/dist/repositories/workflow.repository.d.ts +3 -0
  30. package/dist/repositories/workflow.repository.js +30 -4
  31. package/dist/repositories/workflow.repository.js.map +1 -1
  32. package/package.json +9 -9
@@ -1,3 +1,4 @@
1
+ import { Logger } from '@n8n/backend-common';
1
2
  import { DatabaseConfig } from '@n8n/config';
2
3
  import { ErrorReporter } from 'n8n-core';
3
4
  import { DbConnectionOptions } from './db-connection-options';
@@ -9,10 +10,11 @@ export declare class DbConnection {
9
10
  private readonly errorReporter;
10
11
  private readonly connectionOptions;
11
12
  private readonly databaseConfig;
13
+ private readonly logger;
12
14
  private dataSource;
13
15
  private pingTimer;
14
16
  readonly connectionState: ConnectionState;
15
- constructor(errorReporter: ErrorReporter, connectionOptions: DbConnectionOptions, databaseConfig: DatabaseConfig);
17
+ constructor(errorReporter: ErrorReporter, connectionOptions: DbConnectionOptions, databaseConfig: DatabaseConfig, logger: Logger);
16
18
  get options(): import("@n8n/typeorm").DataSourceOptions;
17
19
  init(): Promise<void>;
18
20
  migrate(): Promise<void>;
@@ -18,13 +18,15 @@ const di_1 = require("@n8n/di");
18
18
  const typeorm_1 = require("@n8n/typeorm");
19
19
  const n8n_core_1 = require("n8n-core");
20
20
  const n8n_workflow_1 = require("n8n-workflow");
21
+ const promises_1 = require("timers/promises");
21
22
  const db_connection_options_1 = require("./db-connection-options");
22
23
  const migration_helpers_1 = require("../migrations/migration-helpers");
23
24
  let DbConnection = class DbConnection {
24
- constructor(errorReporter, connectionOptions, databaseConfig) {
25
+ constructor(errorReporter, connectionOptions, databaseConfig, logger) {
25
26
  this.errorReporter = errorReporter;
26
27
  this.connectionOptions = connectionOptions;
27
28
  this.databaseConfig = databaseConfig;
29
+ this.logger = logger;
28
30
  this.connectionState = {
29
31
  connected: false,
30
32
  migrated: false,
@@ -79,16 +81,31 @@ let DbConnection = class DbConnection {
79
81
  async ping() {
80
82
  if (!this.dataSource.isInitialized)
81
83
  return;
84
+ const abortController = new AbortController();
82
85
  try {
83
- await this.dataSource.query('SELECT 1');
86
+ await Promise.race([
87
+ this.dataSource.query('SELECT 1'),
88
+ (0, promises_1.setTimeout)(5000, undefined, { signal: abortController.signal }).then(() => {
89
+ throw new n8n_workflow_1.OperationalError('Database connection timed out');
90
+ }),
91
+ ]);
92
+ if (!this.connectionState.connected) {
93
+ this.logger.info('Database connection recovered');
94
+ }
84
95
  this.connectionState.connected = true;
85
96
  return;
86
97
  }
87
98
  catch (error) {
88
99
  this.connectionState.connected = false;
89
- this.errorReporter.error(error);
100
+ if (error instanceof n8n_workflow_1.OperationalError) {
101
+ this.logger.warn(error.message);
102
+ }
103
+ else {
104
+ this.errorReporter.error(error);
105
+ }
90
106
  }
91
107
  finally {
108
+ abortController.abort();
92
109
  this.scheduleNextPing();
93
110
  }
94
111
  }
@@ -103,6 +120,7 @@ exports.DbConnection = DbConnection = __decorate([
103
120
  (0, di_1.Service)(),
104
121
  __metadata("design:paramtypes", [n8n_core_1.ErrorReporter,
105
122
  db_connection_options_1.DbConnectionOptions,
106
- config_1.DatabaseConfig])
123
+ config_1.DatabaseConfig,
124
+ backend_common_1.Logger])
107
125
  ], DbConnection);
108
126
  //# sourceMappingURL=db-connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"db-connection.js","sourceRoot":"","sources":["../../src/connection/db-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db-connection.js","sourceRoot":"","sources":["../../src/connection/db-connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class AddToolsColumnToChatHubTables1761830340990 implements ReversibleMigration {
3
+ up({ schemaBuilder: { addColumns, column } }: MigrationContext): Promise<void>;
4
+ down({ schemaBuilder: { dropColumns } }: MigrationContext): Promise<void>;
5
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddToolsColumnToChatHubTables1761830340990 = void 0;
4
+ const table = {
5
+ sessions: 'chat_hub_sessions',
6
+ agents: 'chat_hub_agents',
7
+ };
8
+ class AddToolsColumnToChatHubTables1761830340990 {
9
+ async up({ schemaBuilder: { addColumns, column } }) {
10
+ await addColumns(table.sessions, [
11
+ column('tools')
12
+ .json.notNull.default("'[]'")
13
+ .comment('Tools available to the agent as JSON node definitions'),
14
+ ]);
15
+ await addColumns(table.agents, [
16
+ column('tools')
17
+ .json.notNull.default("'[]'")
18
+ .comment('Tools available to the agent as JSON node definitions'),
19
+ ]);
20
+ }
21
+ async down({ schemaBuilder: { dropColumns } }) {
22
+ await dropColumns(table.sessions, ['tools']);
23
+ await dropColumns(table.agents, ['tools']);
24
+ }
25
+ }
26
+ exports.AddToolsColumnToChatHubTables1761830340990 = AddToolsColumnToChatHubTables1761830340990;
27
+ //# sourceMappingURL=1761830340990-AddToolsColumnToChatHubTables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1761830340990-AddToolsColumnToChatHubTables.js","sourceRoot":"","sources":["../../../src/migrations/common/1761830340990-AddToolsColumnToChatHubTables.ts"],"names":[],"mappings":";;;AAEA,MAAM,KAAK,GAAG;IACb,QAAQ,EAAE,mBAAmB;IAC7B,MAAM,EAAE,iBAAiB;CAChB,CAAC;AAEX,MAAa,0CAA0C;IACtD,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAoB;QACnE,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE;YAChC,MAAM,CAAC,OAAO,CAAC;iBACb,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;iBAC5B,OAAO,CAAC,uDAAuD,CAAC;SAClE,CAAC,CAAC;QACH,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE;YAC9B,MAAM,CAAC,OAAO,CAAC;iBACb,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;iBAC5B,OAAO,CAAC,uDAAuD,CAAC;SAClE,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,EAAoB;QAC9D,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,MAAM,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;CACD;AAlBD,gGAkBC"}
@@ -0,0 +1,4 @@
1
+ import type { IrreversibleMigration, MigrationContext } from '../migration-types';
2
+ export declare class BackfillMissingWorkflowHistoryRecords1762763704614 implements IrreversibleMigration {
3
+ up({ escape, runQuery, schemaBuilder }: MigrationContext): Promise<void>;
4
+ }
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BackfillMissingWorkflowHistoryRecords1762763704614 = void 0;
4
+ class BackfillMissingWorkflowHistoryRecords1762763704614 {
5
+ async up({ escape, runQuery, schemaBuilder }) {
6
+ const workflowTable = escape.tableName('workflow_entity');
7
+ const historyTable = escape.tableName('workflow_history');
8
+ const versionIdColumn = escape.columnName('versionId');
9
+ const idColumn = escape.columnName('id');
10
+ const workflowIdColumn = escape.columnName('workflowId');
11
+ const nodesColumn = escape.columnName('nodes');
12
+ const connectionsColumn = escape.columnName('connections');
13
+ const authorsColumn = escape.columnName('authors');
14
+ const createdAtColumn = escape.columnName('createdAt');
15
+ const updatedAtColumn = escape.columnName('updatedAt');
16
+ const workflowsNeedingNewVersionId = await runQuery(`
17
+ -- Find duplicate versionIds (appear in more than one workflow)
18
+ WITH dup_version AS (
19
+ SELECT ${versionIdColumn}
20
+ FROM ${workflowTable}
21
+ WHERE ${versionIdColumn} IS NOT NULL AND ${versionIdColumn} <> ''
22
+ GROUP BY ${versionIdColumn}
23
+ HAVING COUNT(*) > 1
24
+ )
25
+ SELECT w.${idColumn} AS id
26
+ FROM ${workflowTable} w
27
+ LEFT JOIN ${historyTable} wh
28
+ ON wh.${versionIdColumn} = w.${versionIdColumn}
29
+ AND wh.${workflowIdColumn} = w.${idColumn}
30
+ LEFT JOIN dup_version d
31
+ ON d.${versionIdColumn} = w.${versionIdColumn}
32
+ WHERE
33
+ -- missing or empty versionId
34
+ w.${versionIdColumn} IS NULL OR w.${versionIdColumn} = ''
35
+ -- duplicate versionId without matching history entry by both versionId and workflowId
36
+ OR (
37
+ d.${versionIdColumn} IS NOT NULL
38
+ AND wh.${workflowIdColumn} IS NULL
39
+ );
40
+ `);
41
+ for (const workflow of workflowsNeedingNewVersionId) {
42
+ const versionId = crypto.randomUUID();
43
+ await runQuery(`
44
+ UPDATE ${workflowTable}
45
+ SET ${versionIdColumn} = :versionId
46
+ WHERE ${idColumn} = :id
47
+ `, { versionId, id: workflow.id });
48
+ }
49
+ await runQuery(`
50
+ INSERT INTO ${historyTable} (
51
+ ${versionIdColumn},
52
+ ${workflowIdColumn},
53
+ ${authorsColumn},
54
+ ${nodesColumn},
55
+ ${connectionsColumn},
56
+ ${createdAtColumn},
57
+ ${updatedAtColumn}
58
+ )
59
+ SELECT
60
+ w.${versionIdColumn},
61
+ w.${idColumn},
62
+ :authors,
63
+ w.${nodesColumn},
64
+ w.${connectionsColumn},
65
+ :createdAt,
66
+ :updatedAt
67
+ FROM ${workflowTable} w
68
+ LEFT JOIN ${historyTable} wh
69
+ ON w.${versionIdColumn} = wh.${versionIdColumn}
70
+ WHERE wh.${versionIdColumn} IS NULL
71
+ `, {
72
+ authors: 'system migration',
73
+ createdAt: new Date(),
74
+ updatedAt: new Date(),
75
+ });
76
+ await schemaBuilder.addNotNull('workflow_entity', 'versionId');
77
+ }
78
+ }
79
+ exports.BackfillMissingWorkflowHistoryRecords1762763704614 = BackfillMissingWorkflowHistoryRecords1762763704614;
80
+ //# sourceMappingURL=1762763704614-BackfillMissingWorkflowHistoryRecords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1762763704614-BackfillMissingWorkflowHistoryRecords.js","sourceRoot":"","sources":["../../../src/migrations/common/1762763704614-BackfillMissingWorkflowHistoryRecords.ts"],"names":[],"mappings":";;;AAEA,MAAa,kDAAkD;IAS9D,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAoB;QAC7D,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAGvD,MAAM,4BAA4B,GAAG,MAAM,QAAQ,CAAwB;;;aAGhE,eAAe;WACjB,aAAa;YACZ,eAAe,oBAAoB,eAAe;eAC/C,eAAe;;;cAGhB,QAAQ;UACZ,aAAa;eACR,YAAY;YACf,eAAe,QAAQ,eAAe;aACrC,gBAAgB,QAAQ,QAAQ;;WAElC,eAAe,QAAQ,eAAe;;;QAGzC,eAAe,iBAAiB,eAAe;;;SAG9C,eAAe;cACV,gBAAgB;;GAE3B,CAAC,CAAC;QAGH,KAAK,MAAM,QAAQ,IAAI,4BAA4B,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,QAAQ,CACb;aACS,aAAa;UAChB,eAAe;YACb,QAAQ;KACf,EACD,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC9B,CAAC;QACH,CAAC;QAGD,MAAM,QAAQ,CACb;iBACc,YAAY;MACvB,eAAe;MACf,gBAAgB;MAChB,aAAa;MACb,WAAW;MACX,iBAAiB;MACjB,eAAe;MACf,eAAe;;;QAGb,eAAe;QACf,QAAQ;;QAER,WAAW;QACX,iBAAiB;;;aAGZ,aAAa;qBACL,YAAY;WACtB,eAAe,SAAS,eAAe;cACpC,eAAe;IACzB,EACD;YACC,OAAO,EAAE,kBAAkB;YAC3B,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE;SACrB,CACD,CAAC;QAGF,MAAM,aAAa,CAAC,UAAU,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;CACD;AAhGD,gHAgGC"}
@@ -0,0 +1,5 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class AddWorkflowHistoryAutoSaveFields1762847206508 implements ReversibleMigration {
3
+ up({ schemaBuilder: { addColumns, column } }: MigrationContext): Promise<void>;
4
+ down({ schemaBuilder: { dropColumns } }: MigrationContext): Promise<void>;
5
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddWorkflowHistoryAutoSaveFields1762847206508 = void 0;
4
+ const tableName = 'workflow_history';
5
+ const name = 'name';
6
+ const autosaved = 'autosaved';
7
+ const description = 'description';
8
+ class AddWorkflowHistoryAutoSaveFields1762847206508 {
9
+ async up({ schemaBuilder: { addColumns, column } }) {
10
+ await addColumns(tableName, [
11
+ column(name).varchar(128),
12
+ column(autosaved).bool.notNull.default(false),
13
+ column(description).text,
14
+ ]);
15
+ }
16
+ async down({ schemaBuilder: { dropColumns } }) {
17
+ await dropColumns(tableName, [name, autosaved, description]);
18
+ }
19
+ }
20
+ exports.AddWorkflowHistoryAutoSaveFields1762847206508 = AddWorkflowHistoryAutoSaveFields1762847206508;
21
+ //# sourceMappingURL=1762847206508-AddWorkflowHistoryAutoSaveFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1762847206508-AddWorkflowHistoryAutoSaveFields.js","sourceRoot":"","sources":["../../../src/migrations/common/1762847206508-AddWorkflowHistoryAutoSaveFields.ts"],"names":[],"mappings":";;;AAEA,MAAM,SAAS,GAAG,kBAAkB,CAAC;AACrC,MAAM,IAAI,GAAG,MAAM,CAAC;AACpB,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,MAAa,6CAA6C;IACzD,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAoB;QACnE,MAAM,UAAU,CAAC,SAAS,EAAE;YAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;YACzB,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAC7C,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI;SACxB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,EAAoB;QAC9D,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAC9D,CAAC;CACD;AAZD,sGAYC"}
@@ -0,0 +1,5 @@
1
+ import type { MigrationContext, ReversibleMigration } from '../migration-types';
2
+ export declare class AddToolsColumnToChatHubTables1761830340990 implements ReversibleMigration {
3
+ up({ schemaBuilder: { addColumns, column }, queryRunner, tablePrefix }: MigrationContext): Promise<void>;
4
+ down({ schemaBuilder: { dropColumns } }: MigrationContext): Promise<void>;
5
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddToolsColumnToChatHubTables1761830340990 = void 0;
4
+ const table = {
5
+ sessions: 'chat_hub_sessions',
6
+ agents: 'chat_hub_agents',
7
+ };
8
+ class AddToolsColumnToChatHubTables1761830340990 {
9
+ async up({ schemaBuilder: { addColumns, column }, queryRunner, tablePrefix }) {
10
+ await addColumns(table.sessions, [
11
+ column('tools').json.notNull.comment('Tools available to the agent as JSON node definitions'),
12
+ ]);
13
+ await addColumns(table.agents, [
14
+ column('tools').json.notNull.comment('Tools available to the agent as JSON node definitions'),
15
+ ]);
16
+ await Promise.all([
17
+ `UPDATE \`${tablePrefix}${table.sessions}\` SET \`tools\` = '[]' WHERE JSON_TYPE(\`tools\`) = 'NULL'`,
18
+ `UPDATE \`${tablePrefix}${table.agents}\` SET \`tools\` = '[]' WHERE JSON_TYPE(\`tools\`) = 'NULL'`,
19
+ ].map(async (query) => {
20
+ await queryRunner.query(query);
21
+ }));
22
+ }
23
+ async down({ schemaBuilder: { dropColumns } }) {
24
+ await dropColumns(table.sessions, ['tools']);
25
+ await dropColumns(table.agents, ['tools']);
26
+ }
27
+ }
28
+ exports.AddToolsColumnToChatHubTables1761830340990 = AddToolsColumnToChatHubTables1761830340990;
29
+ //# sourceMappingURL=1761830340990-AddToolsColumnToChatHubTables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1761830340990-AddToolsColumnToChatHubTables.js","sourceRoot":"","sources":["../../../src/migrations/mysqldb/1761830340990-AddToolsColumnToChatHubTables.ts"],"names":[],"mappings":";;;AAEA,MAAM,KAAK,GAAG;IACb,QAAQ,EAAE,mBAAmB;IAC7B,MAAM,EAAE,iBAAiB;CAChB,CAAC;AAEX,MAAa,0CAA0C;IACtD,KAAK,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,EAAoB;QAC7F,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE;YAChC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uDAAuD,CAAC;SAC7F,CAAC,CAAC;QACH,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE;YAC9B,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uDAAuD,CAAC;SAC7F,CAAC,CAAC;QAGH,MAAM,OAAO,CAAC,GAAG,CAChB;YACC,YAAY,WAAW,GAAG,KAAK,CAAC,QAAQ,6DAA6D;YACrG,YAAY,WAAW,GAAG,KAAK,CAAC,MAAM,6DAA6D;SACnG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,EAAoB;QAC9D,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7C,MAAM,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;CACD;AAxBD,gGAwBC"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mysqlMigrations = void 0;
4
+ const _1690000000040_AddMfaColumns_1 = require("./../common/1690000000040-AddMfaColumns");
5
+ const _1762847206508_AddWorkflowHistoryAutoSaveFields_1 = require("./../common/1762847206508-AddWorkflowHistoryAutoSaveFields");
4
6
  const _1588157391238_InitialMigration_1 = require("./1588157391238-InitialMigration");
5
7
  const _1592447867632_WebhookModel_1 = require("./1592447867632-WebhookModel");
6
8
  const _1594902918301_CreateIndexStoppedAt_1 = require("./1594902918301-CreateIndexStoppedAt");
@@ -52,10 +54,10 @@ const _1758794506893_AddProjectIdToVariableTable_1 = require("./1758794506893-Ad
52
54
  const _1760965142113_DropUnusedChatHubColumns_1 = require("./1760965142113-DropUnusedChatHubColumns");
53
55
  const _1761047826451_AddWorkflowVersionColumn_1 = require("./1761047826451-AddWorkflowVersionColumn");
54
56
  const _1761655473000_ChangeDependencyInfoToJson_1 = require("./1761655473000-ChangeDependencyInfoToJson");
57
+ const _1761830340990_AddToolsColumnToChatHubTables_1 = require("./1761830340990-AddToolsColumnToChatHubTables");
55
58
  const _1674509946020_CreateLdapEntities_1 = require("../common/1674509946020-CreateLdapEntities");
56
59
  const _1675940580449_PurgeInvalidWorkflowConnections_1 = require("../common/1675940580449-PurgeInvalidWorkflowConnections");
57
60
  const _1690000000030_RemoveResetPasswordColumns_1 = require("../common/1690000000030-RemoveResetPasswordColumns");
58
- const _1690000000040_AddMfaColumns_1 = require("../common/1690000000040-AddMfaColumns");
59
61
  const _1691088862123_CreateWorkflowNameIndex_1 = require("../common/1691088862123-CreateWorkflowNameIndex");
60
62
  const _1692967111175_CreateWorkflowHistoryTable_1 = require("../common/1692967111175-CreateWorkflowHistoryTable");
61
63
  const _1693491613982_ExecutionSoftDelete_1 = require("../common/1693491613982-ExecutionSoftDelete");
@@ -113,6 +115,7 @@ const _1760020838000_UniqueRoleNames_1 = require("../common/1760020838000-Unique
113
115
  const _1760116750277_CreateOAuthEntities_1 = require("../common/1760116750277-CreateOAuthEntities");
114
116
  const _1760314000000_CreateWorkflowDependencyTable_1 = require("../common/1760314000000-CreateWorkflowDependencyTable");
115
117
  const _1762177736257_AddWorkflowDescriptionColumn_1 = require("../common/1762177736257-AddWorkflowDescriptionColumn");
118
+ const _1762763704614_BackfillMissingWorkflowHistoryRecords_1 = require("../common/1762763704614-BackfillMissingWorkflowHistoryRecords");
116
119
  exports.mysqlMigrations = [
117
120
  _1588157391238_InitialMigration_1.InitialMigration1588157391238,
118
121
  _1592447867632_WebhookModel_1.WebhookModel1592447867632,
@@ -226,5 +229,8 @@ exports.mysqlMigrations = [
226
229
  _1761655473000_ChangeDependencyInfoToJson_1.ChangeDependencyInfoToJson1761655473000,
227
230
  _1762177736257_AddWorkflowDescriptionColumn_1.AddWorkflowDescriptionColumn1762177736257,
228
231
  _1760116750277_CreateOAuthEntities_1.CreateOAuthEntities1760116750277,
232
+ _1762763704614_BackfillMissingWorkflowHistoryRecords_1.BackfillMissingWorkflowHistoryRecords1762763704614,
233
+ _1762847206508_AddWorkflowHistoryAutoSaveFields_1.AddWorkflowHistoryAutoSaveFields1762847206508,
234
+ _1761830340990_AddToolsColumnToChatHubTables_1.AddToolsColumnToChatHubTables1761830340990,
229
235
  ];
230
236
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/mysqldb/index.ts"],"names":[],"mappings":";;;AAAA,sFAAiF;AACjF,8EAAyE;AACzE,8FAAyF;AACzF,gGAA2F;AAC3F,8EAAyE;AACzE,kFAA6E;AAC7E,oFAA+E;AAC/E,sGAAiG;AACjG,4FAAuF;AACvF,oGAA+F;AAC/F,gFAA6E;AAC7E,wGAAmG;AACnG,wGAAmG;AACnG,8FAAyF;AACzF,0FAAqF;AACrF,kFAA6E;AAC7E,oFAA+E;AAC/E,oFAA+E;AAC/E,sFAAiF;AACjF,0EAAqE;AACrE,wFAAmF;AACnF,wGAAmG;AACnG,wGAAmG;AACnG,0FAAqF;AACrF,0GAAqG;AACrG,0GAAqG;AACrG,0GAAqG;AACrG,gGAA2F;AAC3F,4GAAuG;AACvG,8GAAyG;AACzG,gHAA2G;AAC3G,gGAA2F;AAC3F,kGAA6F;AAC7F,8GAAyG;AACzG,oFAA+E;AAC/E,8GAAyG;AACzG,sGAAiG;AACjG,8FAAyF;AACzF,0GAAqG;AACrG,gGAA2F;AAC3F,8FAAyF;AACzF,wGAAmG;AACnG,sHAAiH;AACjH,gGAA2F;AAC3F,sGAAiG;AACjG,4GAAuG;AACvG,0GAAqG;AACrG,4GAAuG;AACvG,sGAAiG;AACjG,sGAAiG;AACjG,0GAAqG;AACrG,kGAA6F;AAC7F,4HAAuH;AACvH,kHAA6G;AAC7G,wFAAmF;AACnF,4GAAuG;AACvG,kHAA6G;AAC7G,oGAA+F;AAC/F,8GAAyG;AACzG,oGAA+F;AAC/F,8IAAyI;AACzI,kGAA6F;AAC7F,4FAAuF;AACvF,oHAA+G;AAC/G,wGAAmG;AACnG,gGAA2F;AAC3F,wFAAmF;AACnF,0HAAqH;AACrH,8HAAyH;AACzH,oHAA+G;AAC/G,8GAAyG;AACzG,4HAA8G;AAC9G,4FAAuF;AACvF,8GAAyG;AACzG,kIAA6H;AAC7H,kJAA6I;AAC7I,sIAAiI;AACjI,4FAAuF;AACvF,gHAA2G;AAC3G,0HAAqH;AACrH,kGAAwF;AACxF,sIAAiI;AACjI,kIAA6H;AAC7H,sHAAiH;AACjH,gHAA2G;AAC3G,gGAA2F;AAC3F,wGAAmG;AACnG,gHAA2G;AAC3G,8GAAyG;AACzG,8FAAwF;AACxF,0HAAqH;AACrH,gHAA2G;AAC3G,wFAAmF;AACnF,oHAA+G;AAC/G,oHAA+G;AAC/G,0FAAqF;AACrF,0FAAqF;AACrF,oGAA+F;AAC/F,oGAA+F;AAC/F,oIAA+H;AAC/H,0HAAqH;AACrH,wGAAmG;AACnG,sIAAiI;AACjI,gIAA2H;AAC3H,gHAA4G;AAC5G,oHAA+G;AAC/G,oGAA+F;AAC/F,4GAAuG;AACvG,4FAAuF;AACvF,oGAA+F;AAC/F,wHAAmH;AACnH,sHAAiH;AAGpG,QAAA,eAAe,GAAgB;IAC3C,+DAA6B;IAC7B,uDAAyB;IACzB,uEAAiC;IACjC,uDAAyB;IACzB,yEAAkC;IAClC,2DAA2B;IAC3B,+EAAqC;IACrC,6DAA4B;IAC5B,qEAAgC;IAChC,6EAAoC;IACpC,2DAA4B;IAC5B,iFAAsC;IACtC,iFAAsC;IACtC,uEAAiC;IACjC,mEAA+B;IAC/B,6DAA4B;IAC5B,2DAA2B;IAC3B,6DAA4B;IAC5B,+DAA6B;IAC7B,mDAAuB;IACvB,iEAA8B;IAC9B,iFAAsC;IACtC,iFAAsC;IACtC,mFAAuC;IACvC,mFAAuC;IACvC,mFAAuC;IACvC,mEAA+B;IAC/B,yEAAkC;IAClC,uFAAyC;IACzC,qFAAwC;IACxC,yFAA0C;IAC1C,mEAA+B;IAC/B,6FAA4C;IAC5C,yEAAkC;IAClC,2EAAmC;IACnC,uFAAyC;IACzC,uFAAyC;IACzC,6DAA4B;IAC5B,+EAAqC;IACrC,mFAAuC;IACvC,yEAAkC;IAClC,uEAAiC;IACjC,uEAAiC;IACjC,mFAAuC;IACvC,6EAAoC;IACpC,yDAA0B;IAC1B,mFAAuC;IACvC,+EAAqC;IACrC,qEAAgC;IAChC,qEAAgC;IAChC,+GAAqD;IACrD,mEAA+B;IAC/B,6DAA4B;IAC5B,qFAAwC;IACxC,yEAAkC;IAClC,iEAA8B;IAC9B,yDAA0B;IAC1B,2FAA2C;IAC3C,iFAAsC;IACtC,+FAA6C;IAC7C,qFAAwC;IACxC,+EAAqC;IACrC,oFAAmC;IACnC,6DAA4B;IAC5B,mGAA+C;IAC/C,+EAAqC;IACrC,mHAAuD;IACvD,uGAAiD;IACjD,iFAAsC;IACtC,2FAA2C;IAC3C,+FAA6C;IAC7C,yEAAkC;IAClC,8DAA0B;IAC1B,uGAAiD;IACjD,mGAA+C;IAC/C,6DAA4B;IAC5B,+EAAqC;IACrC,uFAAyC;IACzC,iFAAsC;IACtC,iEAA8B;IAC9B,qFAAwC;IACxC,yEAAkC;IAClC,mFAAuC;IACvC,iFAAsC;IACtC,+EAAqC;IACrC,2FAA2C;IAC3C,iFAAsC;IACtC,yDAA0B;IAC1B,8DAA4B;IAC5B,qFAAwC;IACxC,qFAAwC;IACxC,2DAA2B;IAC3B,2DAA2B;IAC3B,qEAAgC;IAChC,qGAAgD;IAChD,yEAAkC;IAClC,qEAAgC;IAChC,uGAAiD;IACjD,2FAA2C;IAC3C,iGAA8C;IAC9C,qFAAwC;IACxC,kFAAuC;IACvC,qFAAwC;IACxC,qEAAgC;IAChC,6EAAoC;IACpC,6DAA4B;IAC5B,yFAA0C;IAC1C,+EAAqC;IACrC,+EAAqC;IACrC,mFAAuC;IACvC,uFAAyC;IACzC,qEAAgC;CAChC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/mysqldb/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { IrreversibleMigration, MigrationContext } from '../migration-types';
2
+ export declare class ChangeDefaultForIdInUserTable1762771264000 implements IrreversibleMigration {
3
+ up({ queryRunner, escape }: MigrationContext): Promise<void>;
4
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChangeDefaultForIdInUserTable1762771264000 = void 0;
4
+ class ChangeDefaultForIdInUserTable1762771264000 {
5
+ async up({ queryRunner, escape }) {
6
+ const tableName = escape.tableName('user');
7
+ const idColumnName = escape.columnName('id');
8
+ await queryRunner.query(`ALTER TABLE ${tableName} ALTER COLUMN ${idColumnName} SET DEFAULT gen_random_uuid()`);
9
+ }
10
+ }
11
+ exports.ChangeDefaultForIdInUserTable1762771264000 = ChangeDefaultForIdInUserTable1762771264000;
12
+ //# sourceMappingURL=1762771264000-ChangeDefaultForIdInUserTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1762771264000-ChangeDefaultForIdInUserTable.js","sourceRoot":"","sources":["../../../src/migrations/postgresdb/1762771264000-ChangeDefaultForIdInUserTable.ts"],"names":[],"mappings":";;;AAQA,MAAa,0CAA0C;IACtD,KAAK,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAoB;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,WAAW,CAAC,KAAK,CACtB,eAAe,SAAS,iBAAiB,YAAY,gCAAgC,CACrF,CAAC;IACH,CAAC;CACD;AATD,gGASC"}
@@ -48,6 +48,7 @@ const _1740445074052_UpdateParentFolderIdColumn_1 = require("./1740445074052-Upd
48
48
  const _1758794506893_AddProjectIdToVariableTable_1 = require("./1758794506893-AddProjectIdToVariableTable");
49
49
  const _1761047826451_AddWorkflowVersionColumn_1 = require("./1761047826451-AddWorkflowVersionColumn");
50
50
  const _1761655473000_ChangeDependencyInfoToJson_1 = require("./1761655473000-ChangeDependencyInfoToJson");
51
+ const _1762771264000_ChangeDefaultForIdInUserTable_1 = require("./1762771264000-ChangeDefaultForIdInUserTable");
51
52
  const _1674509946020_CreateLdapEntities_1 = require("../common/1674509946020-CreateLdapEntities");
52
53
  const _1675940580449_PurgeInvalidWorkflowConnections_1 = require("../common/1675940580449-PurgeInvalidWorkflowConnections");
53
54
  const _1690000000030_RemoveResetPasswordColumns_1 = require("../common/1690000000030-RemoveResetPasswordColumns");
@@ -111,7 +112,10 @@ const _1760020838000_UniqueRoleNames_1 = require("../common/1760020838000-Unique
111
112
  const _1760116750277_CreateOAuthEntities_1 = require("../common/1760116750277-CreateOAuthEntities");
112
113
  const _1760314000000_CreateWorkflowDependencyTable_1 = require("../common/1760314000000-CreateWorkflowDependencyTable");
113
114
  const _1760965142113_DropUnusedChatHubColumns_1 = require("../common/1760965142113-DropUnusedChatHubColumns");
115
+ const _1761830340990_AddToolsColumnToChatHubTables_1 = require("../common/1761830340990-AddToolsColumnToChatHubTables");
114
116
  const _1762177736257_AddWorkflowDescriptionColumn_1 = require("../common/1762177736257-AddWorkflowDescriptionColumn");
117
+ const _1762763704614_BackfillMissingWorkflowHistoryRecords_1 = require("../common/1762763704614-BackfillMissingWorkflowHistoryRecords");
118
+ const _1762847206508_AddWorkflowHistoryAutoSaveFields_1 = require("../common/1762847206508-AddWorkflowHistoryAutoSaveFields");
115
119
  exports.postgresMigrations = [
116
120
  _1587669153312_InitialMigration_1.InitialMigration1587669153312,
117
121
  _1589476000887_WebhookModel_1.WebhookModel1589476000887,
@@ -224,5 +228,9 @@ exports.postgresMigrations = [
224
228
  _1761655473000_ChangeDependencyInfoToJson_1.ChangeDependencyInfoToJson1761655473000,
225
229
  _1762177736257_AddWorkflowDescriptionColumn_1.AddWorkflowDescriptionColumn1762177736257,
226
230
  _1760116750277_CreateOAuthEntities_1.CreateOAuthEntities1760116750277,
231
+ _1762763704614_BackfillMissingWorkflowHistoryRecords_1.BackfillMissingWorkflowHistoryRecords1762763704614,
232
+ _1762771264000_ChangeDefaultForIdInUserTable_1.ChangeDefaultForIdInUserTable1762771264000,
233
+ _1762847206508_AddWorkflowHistoryAutoSaveFields_1.AddWorkflowHistoryAutoSaveFields1762847206508,
234
+ _1761830340990_AddToolsColumnToChatHubTables_1.AddToolsColumnToChatHubTables1761830340990,
227
235
  ];
228
236
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/postgresdb/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/postgresdb/index.ts"],"names":[],"mappings":"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"}
@@ -108,7 +108,10 @@ const _1760020838000_UniqueRoleNames_1 = require("../common/1760020838000-Unique
108
108
  const _1760116750277_CreateOAuthEntities_1 = require("../common/1760116750277-CreateOAuthEntities");
109
109
  const _1760314000000_CreateWorkflowDependencyTable_1 = require("../common/1760314000000-CreateWorkflowDependencyTable");
110
110
  const _1760965142113_DropUnusedChatHubColumns_1 = require("../common/1760965142113-DropUnusedChatHubColumns");
111
+ const _1761830340990_AddToolsColumnToChatHubTables_1 = require("../common/1761830340990-AddToolsColumnToChatHubTables");
111
112
  const _1762177736257_AddWorkflowDescriptionColumn_1 = require("../common/1762177736257-AddWorkflowDescriptionColumn");
113
+ const _1762763704614_BackfillMissingWorkflowHistoryRecords_1 = require("../common/1762763704614-BackfillMissingWorkflowHistoryRecords");
114
+ const _1762847206508_AddWorkflowHistoryAutoSaveFields_1 = require("../common/1762847206508-AddWorkflowHistoryAutoSaveFields");
112
115
  const sqliteMigrations = [
113
116
  _1588102412422_InitialMigration_1.InitialMigration1588102412422,
114
117
  _1592445003908_WebhookModel_1.WebhookModel1592445003908,
@@ -218,6 +221,9 @@ const sqliteMigrations = [
218
221
  _1761655473000_ChangeDependencyInfoToJson_1.ChangeDependencyInfoToJson1761655473000,
219
222
  _1762177736257_AddWorkflowDescriptionColumn_1.AddWorkflowDescriptionColumn1762177736257,
220
223
  _1760116750277_CreateOAuthEntities_1.CreateOAuthEntities1760116750277,
224
+ _1762763704614_BackfillMissingWorkflowHistoryRecords_1.BackfillMissingWorkflowHistoryRecords1762763704614,
225
+ _1762847206508_AddWorkflowHistoryAutoSaveFields_1.AddWorkflowHistoryAutoSaveFields1762847206508,
226
+ _1761830340990_AddToolsColumnToChatHubTables_1.AddToolsColumnToChatHubTables1761830340990,
221
227
  ];
222
228
  exports.sqliteMigrations = sqliteMigrations;
223
229
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/sqlite/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/sqlite/index.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,5 @@ import { WorkflowHistory } from '../entities';
3
3
  export declare class WorkflowHistoryRepository extends Repository<WorkflowHistory> {
4
4
  constructor(dataSource: DataSource);
5
5
  deleteEarlierThan(date: Date): Promise<import("@n8n/typeorm").DeleteResult>;
6
+ deleteEarlierThanExceptCurrent(date: Date): Promise<import("@n8n/typeorm").DeleteResult>;
6
7
  }
@@ -20,6 +20,21 @@ let WorkflowHistoryRepository = class WorkflowHistoryRepository extends typeorm_
20
20
  async deleteEarlierThan(date) {
21
21
  return await this.delete({ createdAt: (0, typeorm_1.LessThan)(date) });
22
22
  }
23
+ async deleteEarlierThanExceptCurrent(date) {
24
+ const currentVersionIdsSubquery = this.manager
25
+ .createQueryBuilder()
26
+ .subQuery()
27
+ .select('w.versionId')
28
+ .from(entities_1.WorkflowEntity, 'w')
29
+ .getQuery();
30
+ return await this.manager
31
+ .createQueryBuilder()
32
+ .delete()
33
+ .from(entities_1.WorkflowHistory)
34
+ .where('createdAt < :date', { date })
35
+ .andWhere(`versionId NOT IN (${currentVersionIdsSubquery})`)
36
+ .execute();
37
+ }
23
38
  };
24
39
  exports.WorkflowHistoryRepository = WorkflowHistoryRepository;
25
40
  exports.WorkflowHistoryRepository = WorkflowHistoryRepository = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-history.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-history.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAClC,0CAAgE;AAEhE,0CAA8C;AAGvC,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,oBAA2B;IACzE,YAAY,UAAsB;QACjC,KAAK,CAAC,0BAAe,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAU;QACjC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;CACD,CAAA;AARY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,YAAO,GAAE;qCAEe,oBAAU;GADtB,yBAAyB,CAQrC"}
1
+ {"version":3,"file":"workflow-history.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-history.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAClC,0CAAgE;AAEhE,0CAA8D;AAGvD,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,oBAA2B;IACzE,YAAY,UAAsB;QACjC,KAAK,CAAC,0BAAe,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAU;QACjC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAKD,KAAK,CAAC,8BAA8B,CAAC,IAAU;QAC9C,MAAM,yBAAyB,GAAG,IAAI,CAAC,OAAO;aAC5C,kBAAkB,EAAE;aACpB,QAAQ,EAAE;aACV,MAAM,CAAC,aAAa,CAAC;aACrB,IAAI,CAAC,yBAAc,EAAE,GAAG,CAAC;aACzB,QAAQ,EAAE,CAAC;QAEb,OAAO,MAAM,IAAI,CAAC,OAAO;aACvB,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,IAAI,CAAC,0BAAe,CAAC;aACrB,KAAK,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC;aACpC,QAAQ,CAAC,qBAAqB,yBAAyB,GAAG,CAAC;aAC3D,OAAO,EAAE,CAAC;IACb,CAAC;CACD,CAAA;AA5BY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,YAAO,GAAE;qCAEe,oBAAU;GADtB,yBAAyB,CA4BrC"}
@@ -55,6 +55,9 @@ export declare class WorkflowRepository extends Repository<WorkflowEntity> {
55
55
  private createBaseQuery;
56
56
  private applyFilters;
57
57
  private applyAvailableInMCPFilter;
58
+ private parseSearchWords;
59
+ private getFieldConcatExpression;
60
+ private buildSearchConditions;
58
61
  private applyNameFilter;
59
62
  private applyParentFolderFilter;
60
63
  private applyActiveFilter;
@@ -313,11 +313,37 @@ let WorkflowRepository = class WorkflowRepository extends typeorm_1.Repository {
313
313
  }
314
314
  }
315
315
  }
316
+ parseSearchWords(searchValue) {
317
+ if (typeof searchValue !== 'string' || searchValue === '') {
318
+ return [];
319
+ }
320
+ return searchValue
321
+ .toLowerCase()
322
+ .split(/\s+/)
323
+ .filter((word) => word.length > 0);
324
+ }
325
+ getFieldConcatExpression() {
326
+ const dbType = this.globalConfig.database.type;
327
+ return dbType === 'sqlite'
328
+ ? "LOWER(workflow.name || ' ' || COALESCE(workflow.description, ''))"
329
+ : "LOWER(CONCAT(workflow.name, ' ', COALESCE(workflow.description, '')))";
330
+ }
331
+ buildSearchConditions(searchWords) {
332
+ const concatExpression = this.getFieldConcatExpression();
333
+ const conditions = searchWords.map((_, index) => {
334
+ return `${concatExpression} LIKE :searchWord${index}`;
335
+ });
336
+ const parameters = {};
337
+ searchWords.forEach((word, index) => {
338
+ parameters[`searchWord${index}`] = `%${word}%`;
339
+ });
340
+ return { conditions, parameters };
341
+ }
316
342
  applyNameFilter(qb, filter) {
317
- const searchValue = filter?.query;
318
- if (typeof searchValue === 'string' && searchValue !== '') {
319
- const searchTerm = `%${searchValue.toLowerCase()}%`;
320
- qb.andWhere("(LOWER(workflow.name) LIKE :searchTerm OR LOWER(COALESCE(workflow.description, '')) LIKE :searchTerm)", { searchTerm });
343
+ const searchWords = this.parseSearchWords(filter?.query);
344
+ if (searchWords.length > 0) {
345
+ const { conditions, parameters } = this.buildSearchConditions(searchWords);
346
+ qb.andWhere(`(${conditions.join(' OR ')})`, parameters);
321
347
  }
322
348
  }
323
349
  applyParentFolderFilter(qb, filter) {