n8n 1.115.2 → 1.116.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.
- package/dist/active-workflow-manager.js +5 -3
- package/dist/active-workflow-manager.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chat/chat-execution-manager.js +1 -1
- package/dist/chat/chat-execution-manager.js.map +1 -1
- package/dist/commands/import/credentials.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +2 -2
- package/dist/constants.js.map +1 -1
- package/dist/controllers/ai.controller.js +3 -3
- package/dist/controllers/ai.controller.js.map +1 -1
- package/dist/controllers/dynamic-node-parameters.controller.js +29 -7
- package/dist/controllers/dynamic-node-parameters.controller.js.map +1 -1
- package/dist/controllers/posthog.controller.d.ts +17 -0
- package/dist/controllers/posthog.controller.js +131 -0
- package/dist/controllers/posthog.controller.js.map +1 -0
- package/dist/controllers/users.controller.d.ts +2 -2
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/credentials-helper.js.map +1 -1
- package/dist/environments.ee/source-control/source-control-import.service.ee.d.ts +10 -4
- package/dist/environments.ee/source-control/source-control-import.service.ee.js +69 -9
- package/dist/environments.ee/source-control/source-control-import.service.ee.js.map +1 -1
- package/dist/environments.ee/source-control/source-control-status.service.ee.d.ts +10 -1
- package/dist/environments.ee/source-control/source-control-status.service.ee.js +112 -2
- package/dist/environments.ee/source-control/source-control-status.service.ee.js.map +1 -1
- package/dist/environments.ee/source-control/source-control.controller.ee.d.ts +10 -0
- package/dist/environments.ee/source-control/source-control.service.ee.d.ts +5 -0
- package/dist/environments.ee/source-control/types/exportable-project.d.ts +5 -2
- package/dist/environments.ee/source-control/types/resource-owner.d.ts +4 -2
- package/dist/environments.ee/variables/variables.service.ee.js +3 -1
- package/dist/environments.ee/variables/variables.service.ee.js.map +1 -1
- package/dist/events/relays/telemetry.event-relay.d.ts +1 -1
- package/dist/events/relays/telemetry.event-relay.js +2 -1
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/interfaces.d.ts +1 -0
- package/dist/modules/chat-hub/chat-hub.controller.d.ts +17 -0
- package/dist/modules/chat-hub/chat-hub.controller.js +106 -0
- package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub.module.d.ts +8 -0
- package/dist/modules/chat-hub/chat-hub.module.js +78 -0
- package/dist/modules/chat-hub/chat-hub.module.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub.service.d.ts +34 -0
- package/dist/modules/chat-hub/chat-hub.service.js +549 -0
- package/dist/modules/chat-hub/chat-hub.service.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub.settings.controller.d.ts +16 -0
- package/dist/modules/chat-hub/chat-hub.settings.controller.js +66 -0
- package/dist/modules/chat-hub/chat-hub.settings.controller.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub.settings.service.d.ts +7 -0
- package/dist/modules/chat-hub/chat-hub.settings.service.js +36 -0
- package/dist/modules/chat-hub/chat-hub.settings.service.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub.types.d.ts +17 -0
- package/dist/modules/chat-hub/chat-hub.types.js +3 -0
- package/dist/modules/chat-hub/chat-hub.types.js.map +1 -0
- package/dist/modules/chat-hub/dto/chat-message-request.dto.d.ts +9 -0
- package/dist/modules/chat-hub/dto/chat-message-request.dto.js +12 -0
- package/dist/modules/chat-hub/dto/chat-message-request.dto.js.map +1 -0
- package/dist/modules/chat-hub/dto/chat-models-request.dto.d.ts +7 -0
- package/dist/modules/chat-hub/dto/chat-models-request.dto.js +9 -0
- package/dist/modules/chat-hub/dto/chat-models-request.dto.js.map +1 -0
- package/dist/modules/chat-hub/dto/update-chat-settings.dto.d.ts +8 -0
- package/dist/modules/chat-hub/dto/update-chat-settings.dto.js +11 -0
- package/dist/modules/chat-hub/dto/update-chat-settings.dto.js.map +1 -0
- package/dist/modules/data-table/data-table-aggregate.controller.d.ts +14 -0
- package/dist/modules/data-table/{data-store-aggregate.controller.js → data-table-aggregate.controller.js} +21 -21
- package/dist/modules/data-table/{data-store-aggregate.controller.js.map → data-table-aggregate.controller.js.map} +1 -1
- package/dist/modules/data-table/{data-store-aggregate.service.d.ts → data-table-aggregate.service.d.ts} +6 -6
- package/dist/modules/data-table/{data-store-aggregate.service.js → data-table-aggregate.service.js} +11 -11
- package/dist/modules/data-table/{data-store-aggregate.service.js.map → data-table-aggregate.service.js.map} +1 -1
- package/dist/modules/data-table/{data-store-column.repository.d.ts → data-table-column.repository.d.ts} +7 -7
- package/dist/modules/data-table/{data-store-column.repository.js → data-table-column.repository.js} +23 -23
- package/dist/modules/data-table/data-table-column.repository.js.map +1 -0
- package/dist/modules/data-table/data-table-ddl.service.d.ts +10 -0
- package/dist/modules/data-table/data-table-ddl.service.js +56 -0
- package/dist/modules/data-table/data-table-ddl.service.js.map +1 -0
- package/dist/modules/data-table/data-table-proxy.service.d.ts +20 -0
- package/dist/modules/data-table/{data-store-proxy.service.js → data-table-proxy.service.js} +34 -34
- package/dist/modules/data-table/{data-store-proxy.service.js.map → data-table-proxy.service.js.map} +1 -1
- package/dist/modules/data-table/data-table-rows.repository.d.ts +31 -0
- package/dist/modules/data-table/{data-store-rows.repository.js → data-table-rows.repository.js} +39 -68
- package/dist/modules/data-table/data-table-rows.repository.js.map +1 -0
- package/dist/modules/data-table/{data-store-size-validator.service.d.ts → data-table-size-validator.service.d.ts} +4 -2
- package/dist/modules/data-table/{data-store-size-validator.service.js → data-table-size-validator.service.js} +20 -11
- package/dist/modules/data-table/data-table-size-validator.service.js.map +1 -0
- package/dist/modules/data-table/data-table.controller.d.ts +55 -0
- package/dist/modules/data-table/{data-store.controller.js → data-table.controller.js} +119 -119
- package/dist/modules/data-table/{data-store.controller.js.map → data-table.controller.js.map} +1 -1
- package/dist/modules/data-table/data-table.module.d.ts +2 -2
- package/dist/modules/data-table/data-table.module.js +18 -18
- package/dist/modules/data-table/data-table.module.js.map +1 -1
- package/dist/modules/data-table/data-table.repository.d.ts +34 -0
- package/dist/modules/data-table/{data-store.repository.js → data-table.repository.js} +44 -44
- package/dist/modules/data-table/data-table.repository.js.map +1 -0
- package/dist/modules/data-table/data-table.service.d.ts +62 -0
- package/dist/modules/data-table/data-table.service.js +331 -0
- package/dist/modules/data-table/data-table.service.js.map +1 -0
- package/dist/modules/data-table/{data-store.types.d.ts → data-table.types.d.ts} +1 -1
- package/dist/modules/data-table/{data-store.types.js → data-table.types.js} +1 -1
- package/dist/modules/data-table/data-table.types.js.map +1 -0
- package/dist/modules/data-table/errors/data-table-column-name-conflict.error.d.ts +4 -0
- package/dist/modules/data-table/errors/data-table-column-name-conflict.error.js +13 -0
- package/dist/modules/data-table/errors/{data-store-column-name-conflict.error.js.map → data-table-column-name-conflict.error.js.map} +1 -1
- package/dist/modules/data-table/errors/data-table-column-not-found.error.d.ts +4 -0
- package/dist/modules/data-table/errors/data-table-column-not-found.error.js +13 -0
- package/dist/modules/data-table/errors/{data-store-column-not-found.error.js.map → data-table-column-not-found.error.js.map} +1 -1
- package/dist/modules/data-table/errors/{data-store-name-conflict.error.d.ts → data-table-name-conflict.error.d.ts} +1 -1
- package/dist/modules/data-table/errors/data-table-name-conflict.error.js +13 -0
- package/dist/modules/data-table/errors/{data-store-name-conflict.error.js.map → data-table-name-conflict.error.js.map} +1 -1
- package/dist/modules/data-table/errors/data-table-not-found.error.d.ts +4 -0
- package/dist/modules/data-table/errors/data-table-not-found.error.js +13 -0
- package/dist/modules/data-table/errors/data-table-not-found.error.js.map +1 -0
- package/dist/modules/data-table/errors/{data-store-system-column-name-conflict.error.d.ts → data-table-system-column-name-conflict.error.d.ts} +1 -1
- package/dist/modules/data-table/errors/{data-store-system-column-name-conflict.error.js → data-table-system-column-name-conflict.error.js} +4 -4
- package/dist/modules/data-table/errors/{data-store-system-column-name-conflict.error.js.map → data-table-system-column-name-conflict.error.js.map} +1 -1
- package/dist/modules/data-table/errors/{data-store-validation.error.d.ts → data-table-validation.error.d.ts} +1 -1
- package/dist/modules/data-table/errors/data-table-validation.error.js +13 -0
- package/dist/modules/data-table/errors/{data-store-validation.error.js.map → data-table-validation.error.js.map} +1 -1
- package/dist/modules/data-table/utils/sql-utils.d.ts +11 -16
- package/dist/modules/data-table/utils/sql-utils.js +53 -45
- package/dist/modules/data-table/utils/sql-utils.js.map +1 -1
- package/dist/modules/insights/database/entities/insights-by-period.js.map +1 -1
- package/dist/modules/insights/database/entities/insights-raw.js.map +1 -1
- package/dist/modules/insights/database/repositories/insights-by-period-query.helper.d.ts +6 -0
- package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js +76 -0
- package/dist/modules/insights/database/repositories/insights-by-period-query.helper.js.map +1 -0
- package/dist/modules/insights/database/repositories/insights-by-period.repository.d.ts +1 -3
- package/dist/modules/insights/database/repositories/insights-by-period.repository.js +8 -58
- package/dist/modules/insights/database/repositories/insights-by-period.repository.js.map +1 -1
- package/dist/modules/insights/insights.controller.js +3 -1
- package/dist/modules/insights/insights.controller.js.map +1 -1
- package/dist/modules/insights/insights.service.js +1 -1
- package/dist/modules/insights/insights.service.js.map +1 -1
- package/dist/modules/mcp/dto/update-workflow-availability.dto.d.ts +8 -0
- package/dist/modules/mcp/dto/update-workflow-availability.dto.js +11 -0
- package/dist/modules/mcp/dto/update-workflow-availability.dto.js.map +1 -0
- package/dist/modules/mcp/mcp.controller.js +1 -1
- package/dist/modules/mcp/mcp.settings.controller.d.ts +12 -1
- package/dist/modules/mcp/mcp.settings.controller.js +55 -4
- package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.js +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
- package/dist/public-api/v1/handlers/variables/variables.handler.d.ts +1 -2
- package/dist/public-api/v1/handlers/variables/variables.handler.js +7 -1
- package/dist/public-api/v1/handlers/variables/variables.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +44 -5
- package/dist/requests.d.ts +8 -1
- package/dist/scaling/job-processor.d.ts +1 -1
- package/dist/scaling/job-processor.js +4 -1
- package/dist/scaling/job-processor.js.map +1 -1
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/services/credentials-tester.service.d.ts +1 -1
- package/dist/services/credentials-tester.service.js +11 -4
- package/dist/services/credentials-tester.service.js.map +1 -1
- package/dist/services/dynamic-node-parameters.service.js +1 -1
- package/dist/services/frontend.service.js +1 -0
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/import.service.d.ts +3 -1
- package/dist/services/import.service.js +8 -2
- package/dist/services/import.service.js.map +1 -1
- package/dist/services/project.service.ee.js +4 -4
- package/dist/services/project.service.ee.js.map +1 -1
- package/dist/services/public-api-key.service.js.map +1 -1
- package/dist/task-runners/task-broker/task-broker-ws-server.js +1 -1
- package/dist/task-runners/task-broker/task-broker-ws-server.js.map +1 -1
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.js +11 -2
- package/dist/telemetry/index.js.map +1 -1
- package/dist/utils/compression.util.js +2 -1
- package/dist/utils/compression.util.js.map +1 -1
- package/dist/wait-tracker.js +2 -1
- package/dist/wait-tracker.js.map +1 -1
- package/dist/webhooks/live-webhooks.d.ts +1 -1
- package/dist/webhooks/live-webhooks.js +7 -3
- package/dist/webhooks/live-webhooks.js.map +1 -1
- package/dist/webhooks/test-webhooks.d.ts +2 -2
- package/dist/webhooks/test-webhooks.js +8 -5
- package/dist/webhooks/test-webhooks.js.map +1 -1
- package/dist/webhooks/waiting-webhooks.d.ts +1 -1
- package/dist/webhooks/waiting-webhooks.js +5 -3
- package/dist/webhooks/waiting-webhooks.js.map +1 -1
- package/dist/webhooks/webhook-helpers.js +4 -2
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/workflow-execute-additional-data.d.ts +7 -1
- package/dist/workflow-execute-additional-data.js +2 -2
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflow-helpers.d.ts +3 -2
- package/dist/workflow-helpers.js +27 -5
- package/dist/workflow-helpers.js.map +1 -1
- package/dist/workflow-runner.js +5 -1
- package/dist/workflow-runner.js.map +1 -1
- package/dist/workflows/workflow-execution.service.d.ts +2 -1
- package/dist/workflows/workflow-execution.service.js +7 -2
- package/dist/workflows/workflow-execution.service.js.map +1 -1
- package/dist/workflows/workflow-finder.service.d.ts +1 -1
- package/dist/workflows/workflow.service.ee.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +4 -4
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +17 -17
- package/dist/modules/data-table/data-store-aggregate.controller.d.ts +0 -14
- package/dist/modules/data-table/data-store-column.repository.js.map +0 -1
- package/dist/modules/data-table/data-store-proxy.service.d.ts +0 -20
- package/dist/modules/data-table/data-store-rows.repository.d.ts +0 -40
- package/dist/modules/data-table/data-store-rows.repository.js.map +0 -1
- package/dist/modules/data-table/data-store-size-validator.service.js.map +0 -1
- package/dist/modules/data-table/data-store.controller.d.ts +0 -60
- package/dist/modules/data-table/data-store.repository.d.ts +0 -34
- package/dist/modules/data-table/data-store.repository.js.map +0 -1
- package/dist/modules/data-table/data-store.service.d.ts +0 -64
- package/dist/modules/data-table/data-store.service.js +0 -323
- package/dist/modules/data-table/data-store.service.js.map +0 -1
- package/dist/modules/data-table/data-store.types.js.map +0 -1
- package/dist/modules/data-table/errors/data-store-column-name-conflict.error.d.ts +0 -4
- package/dist/modules/data-table/errors/data-store-column-name-conflict.error.js +0 -13
- package/dist/modules/data-table/errors/data-store-column-not-found.error.d.ts +0 -4
- package/dist/modules/data-table/errors/data-store-column-not-found.error.js +0 -13
- package/dist/modules/data-table/errors/data-store-name-conflict.error.js +0 -13
- package/dist/modules/data-table/errors/data-store-not-found.error.d.ts +0 -4
- package/dist/modules/data-table/errors/data-store-not-found.error.js +0 -13
- package/dist/modules/data-table/errors/data-store-not-found.error.js.map +0 -1
- package/dist/modules/data-table/errors/data-store-validation.error.js +0 -13
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SettingsRepository } from '@n8n/db';
|
|
2
|
+
export declare class ChatHubSettingsService {
|
|
3
|
+
private readonly settingsRepository;
|
|
4
|
+
constructor(settingsRepository: SettingsRepository);
|
|
5
|
+
getEnabled(): Promise<boolean>;
|
|
6
|
+
setEnabled(enabled: boolean): Promise<void>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
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.ChatHubSettingsService = void 0;
|
|
13
|
+
const db_1 = require("@n8n/db");
|
|
14
|
+
const di_1 = require("@n8n/di");
|
|
15
|
+
const KEY = 'chat.access.enabled';
|
|
16
|
+
let ChatHubSettingsService = class ChatHubSettingsService {
|
|
17
|
+
constructor(settingsRepository) {
|
|
18
|
+
this.settingsRepository = settingsRepository;
|
|
19
|
+
}
|
|
20
|
+
async getEnabled() {
|
|
21
|
+
const row = await this.settingsRepository.findByKey(KEY);
|
|
22
|
+
if (!row)
|
|
23
|
+
return true;
|
|
24
|
+
return row.value === 'true';
|
|
25
|
+
}
|
|
26
|
+
async setEnabled(enabled) {
|
|
27
|
+
const value = enabled ? 'true' : 'false';
|
|
28
|
+
await this.settingsRepository.upsert({ key: KEY, value, loadOnStartup: true }, ['key']);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.ChatHubSettingsService = ChatHubSettingsService;
|
|
32
|
+
exports.ChatHubSettingsService = ChatHubSettingsService = __decorate([
|
|
33
|
+
(0, di_1.Service)(),
|
|
34
|
+
__metadata("design:paramtypes", [db_1.SettingsRepository])
|
|
35
|
+
], ChatHubSettingsService);
|
|
36
|
+
//# sourceMappingURL=chat-hub.settings.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-hub.settings.service.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub.settings.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAA6C;AAC7C,gCAAkC;AAElC,MAAM,GAAG,GAAG,qBAAqB,CAAC;AAG3B,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAClC,YAA6B,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAG,CAAC;IAEvE,KAAK,CAAC,UAAU;QACf,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEzD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAgB;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACzC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACzF,CAAC;CACD,CAAA;AAdY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,YAAO,GAAE;qCAEwC,uBAAkB;GADvD,sBAAsB,CAclC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ChatHubConversationModel } from '@n8n/api-types';
|
|
2
|
+
import type { INodeCredentials } from 'n8n-workflow';
|
|
3
|
+
export interface ChatPayloadWithCredentials {
|
|
4
|
+
userId: string;
|
|
5
|
+
message: string;
|
|
6
|
+
messageId: string;
|
|
7
|
+
sessionId: string;
|
|
8
|
+
replyId: string;
|
|
9
|
+
model: ChatHubConversationModel;
|
|
10
|
+
credentials: INodeCredentials;
|
|
11
|
+
}
|
|
12
|
+
export type ChatMessage = {
|
|
13
|
+
id: string;
|
|
14
|
+
message: string;
|
|
15
|
+
type: 'user' | 'ai' | 'system';
|
|
16
|
+
createdAt: Date;
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-hub.types.js","sourceRoot":"","sources":["../../../src/modules/chat-hub/chat-hub.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChatMessageRequestDto = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const zod_class_1 = require("zod-class");
|
|
6
|
+
class ChatMessageRequestDto extends zod_class_1.Z.class({
|
|
7
|
+
message: zod_1.z.string(),
|
|
8
|
+
model: zod_1.z.string(),
|
|
9
|
+
}) {
|
|
10
|
+
}
|
|
11
|
+
exports.ChatMessageRequestDto = ChatMessageRequestDto;
|
|
12
|
+
//# sourceMappingURL=chat-message-request.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-message-request.dto.js","sourceRoot":"","sources":["../../../../src/modules/chat-hub/dto/chat-message-request.dto.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,yCAA8B;AAE9B,MAAa,qBAAsB,SAAQ,aAAC,CAAC,KAAK,CAAC;IAClD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;CACjB,CAAC;CAAG;AAHL,sDAGK"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Z } from 'zod-class';
|
|
2
|
+
declare const ChatModelsRequestDto_base: Z.Class<{
|
|
3
|
+
credentials: import("zod").ZodRecord<import("zod").ZodEnum<["openai", "anthropic", "google"]>, import("zod").ZodNullable<import("zod").ZodString>>;
|
|
4
|
+
}>;
|
|
5
|
+
export declare class ChatModelsRequestDto extends ChatModelsRequestDto_base {
|
|
6
|
+
}
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChatModelsRequestDto = void 0;
|
|
4
|
+
const api_types_1 = require("@n8n/api-types");
|
|
5
|
+
const zod_class_1 = require("zod-class");
|
|
6
|
+
class ChatModelsRequestDto extends zod_class_1.Z.class(api_types_1.chatModelsRequestSchema.shape) {
|
|
7
|
+
}
|
|
8
|
+
exports.ChatModelsRequestDto = ChatModelsRequestDto;
|
|
9
|
+
//# sourceMappingURL=chat-models-request.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-models-request.dto.js","sourceRoot":"","sources":["../../../../src/modules/chat-hub/dto/chat-models-request.dto.ts"],"names":[],"mappings":";;;AAAA,8CAAyD;AACzD,yCAA8B;AAE9B,MAAa,oBAAqB,SAAQ,aAAC,CAAC,KAAK,CAAC,mCAAuB,CAAC,KAAK,CAAC;CAAG;AAAnF,oDAAmF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateChatSettingsDto = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const zod_class_1 = require("zod-class");
|
|
6
|
+
class UpdateChatSettingsDto extends zod_class_1.Z.class({
|
|
7
|
+
chatAccessEnabled: zod_1.z.boolean(),
|
|
8
|
+
}) {
|
|
9
|
+
}
|
|
10
|
+
exports.UpdateChatSettingsDto = UpdateChatSettingsDto;
|
|
11
|
+
//# sourceMappingURL=update-chat-settings.dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-chat-settings.dto.js","sourceRoot":"","sources":["../../../../src/modules/chat-hub/dto/update-chat-settings.dto.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,yCAA8B;AAE9B,MAAa,qBAAsB,SAAQ,aAAC,CAAC,KAAK,CAAC;IAClD,iBAAiB,EAAE,OAAC,CAAC,OAAO,EAAE;CAC9B,CAAC;CAAG;AAFL,sDAEK"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ListDataTableQueryDto } from '@n8n/api-types';
|
|
2
|
+
import { AuthenticatedRequest } from '@n8n/db';
|
|
3
|
+
import { DataTableAggregateService } from './data-table-aggregate.service';
|
|
4
|
+
import { DataTableService } from './data-table.service';
|
|
5
|
+
export declare class DataTableAggregateController {
|
|
6
|
+
private readonly dataTableAggregateService;
|
|
7
|
+
private readonly dataTableService;
|
|
8
|
+
constructor(dataTableAggregateService: DataTableAggregateService, dataTableService: DataTableService);
|
|
9
|
+
listDataTables(req: AuthenticatedRequest, _res: Response, payload: ListDataTableQueryDto): Promise<{
|
|
10
|
+
count: number;
|
|
11
|
+
data: import("./data-table.entity").DataTable[];
|
|
12
|
+
}>;
|
|
13
|
+
getDataTablesSize(req: AuthenticatedRequest): Promise<import("n8n-workflow").DataTablesSizeResult>;
|
|
14
|
+
}
|
|
@@ -12,43 +12,43 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
15
|
+
exports.DataTableAggregateController = void 0;
|
|
16
16
|
const api_types_1 = require("@n8n/api-types");
|
|
17
17
|
const decorators_1 = require("@n8n/decorators");
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
let
|
|
21
|
-
constructor(
|
|
22
|
-
this.
|
|
23
|
-
this.
|
|
18
|
+
const data_table_aggregate_service_1 = require("./data-table-aggregate.service");
|
|
19
|
+
const data_table_service_1 = require("./data-table.service");
|
|
20
|
+
let DataTableAggregateController = class DataTableAggregateController {
|
|
21
|
+
constructor(dataTableAggregateService, dataTableService) {
|
|
22
|
+
this.dataTableAggregateService = dataTableAggregateService;
|
|
23
|
+
this.dataTableService = dataTableService;
|
|
24
24
|
}
|
|
25
|
-
async
|
|
26
|
-
return await this.
|
|
25
|
+
async listDataTables(req, _res, payload) {
|
|
26
|
+
return await this.dataTableAggregateService.getManyAndCount(req.user, payload);
|
|
27
27
|
}
|
|
28
28
|
async getDataTablesSize(req) {
|
|
29
|
-
return await this.
|
|
29
|
+
return await this.dataTableService.getDataTablesSize(req.user);
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
|
-
exports.
|
|
32
|
+
exports.DataTableAggregateController = DataTableAggregateController;
|
|
33
33
|
__decorate([
|
|
34
34
|
(0, decorators_1.Get)('/'),
|
|
35
|
-
(0, decorators_1.GlobalScope)('
|
|
35
|
+
(0, decorators_1.GlobalScope)('dataTable:list'),
|
|
36
36
|
__param(2, decorators_1.Query),
|
|
37
37
|
__metadata("design:type", Function),
|
|
38
38
|
__metadata("design:paramtypes", [Object, Response,
|
|
39
|
-
api_types_1.
|
|
39
|
+
api_types_1.ListDataTableQueryDto]),
|
|
40
40
|
__metadata("design:returntype", Promise)
|
|
41
|
-
],
|
|
41
|
+
], DataTableAggregateController.prototype, "listDataTables", null);
|
|
42
42
|
__decorate([
|
|
43
43
|
(0, decorators_1.Get)('/limits'),
|
|
44
|
-
(0, decorators_1.GlobalScope)('
|
|
44
|
+
(0, decorators_1.GlobalScope)('dataTable:list'),
|
|
45
45
|
__metadata("design:type", Function),
|
|
46
46
|
__metadata("design:paramtypes", [Object]),
|
|
47
47
|
__metadata("design:returntype", Promise)
|
|
48
|
-
],
|
|
49
|
-
exports.
|
|
48
|
+
], DataTableAggregateController.prototype, "getDataTablesSize", null);
|
|
49
|
+
exports.DataTableAggregateController = DataTableAggregateController = __decorate([
|
|
50
50
|
(0, decorators_1.RestController)('/data-tables-global'),
|
|
51
|
-
__metadata("design:paramtypes", [
|
|
52
|
-
|
|
53
|
-
],
|
|
54
|
-
//# sourceMappingURL=data-
|
|
51
|
+
__metadata("design:paramtypes", [data_table_aggregate_service_1.DataTableAggregateService,
|
|
52
|
+
data_table_service_1.DataTableService])
|
|
53
|
+
], DataTableAggregateController);
|
|
54
|
+
//# sourceMappingURL=data-table-aggregate.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-
|
|
1
|
+
{"version":3,"file":"data-table-aggregate.controller.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table-aggregate.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8CAAuD;AAEvD,gDAA0E;AAE1E,iFAA2E;AAC3E,6DAAwD;AAGjD,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IACxC,YACkB,yBAAoD,EACpD,gBAAkC;QADlC,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,qBAAgB,GAAhB,gBAAgB,CAAkB;IACjD,CAAC;IAIE,AAAN,KAAK,CAAC,cAAc,CACnB,GAAyB,EACzB,IAAc,EACP,OAA8B;QAErC,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAIK,AAAN,KAAK,CAAC,iBAAiB,CAAC,GAAyB;QAChD,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;CACD,CAAA;AArBY,oEAA4B;AAQlC;IAFL,IAAA,gBAAG,EAAC,GAAG,CAAC;IACR,IAAA,wBAAW,EAAC,gBAAgB,CAAC;IAI5B,WAAA,kBAAK,CAAA;;6CADA,QAAQ;QACE,iCAAqB;;kEAGrC;AAIK;IAFL,IAAA,gBAAG,EAAC,SAAS,CAAC;IACd,IAAA,wBAAW,EAAC,gBAAgB,CAAC;;;;qEAG7B;uCApBW,4BAA4B;IADxC,IAAA,2BAAc,EAAC,qBAAqB,CAAC;qCAGQ,wDAAyB;QAClC,qCAAgB;GAHxC,4BAA4B,CAqBxC"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ListDataTableQueryDto } from '@n8n/api-types';
|
|
2
2
|
import { Logger } from '@n8n/backend-common';
|
|
3
3
|
import { User } from '@n8n/db';
|
|
4
4
|
import { ProjectService } from '../../services/project.service.ee';
|
|
5
|
-
import {
|
|
6
|
-
export declare class
|
|
7
|
-
private readonly
|
|
5
|
+
import { DataTableRepository } from './data-table.repository';
|
|
6
|
+
export declare class DataTableAggregateService {
|
|
7
|
+
private readonly dataTableRepository;
|
|
8
8
|
private readonly projectService;
|
|
9
9
|
private readonly logger;
|
|
10
|
-
constructor(
|
|
10
|
+
constructor(dataTableRepository: DataTableRepository, projectService: ProjectService, logger: Logger);
|
|
11
11
|
start(): Promise<void>;
|
|
12
12
|
shutdown(): Promise<void>;
|
|
13
|
-
getManyAndCount(user: User, options:
|
|
13
|
+
getManyAndCount(user: User, options: ListDataTableQueryDto): Promise<{
|
|
14
14
|
count: number;
|
|
15
15
|
data: import("./data-table.entity").DataTable[];
|
|
16
16
|
}>;
|
package/dist/modules/data-table/{data-store-aggregate.service.js → data-table-aggregate.service.js}
RENAMED
|
@@ -9,14 +9,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.DataTableAggregateService = void 0;
|
|
13
13
|
const backend_common_1 = require("@n8n/backend-common");
|
|
14
14
|
const di_1 = require("@n8n/di");
|
|
15
15
|
const project_service_ee_1 = require("../../services/project.service.ee");
|
|
16
|
-
const
|
|
17
|
-
let
|
|
18
|
-
constructor(
|
|
19
|
-
this.
|
|
16
|
+
const data_table_repository_1 = require("./data-table.repository");
|
|
17
|
+
let DataTableAggregateService = class DataTableAggregateService {
|
|
18
|
+
constructor(dataTableRepository, projectService, logger) {
|
|
19
|
+
this.dataTableRepository = dataTableRepository;
|
|
20
20
|
this.projectService = projectService;
|
|
21
21
|
this.logger = logger;
|
|
22
22
|
this.logger = this.logger.scoped('data-table');
|
|
@@ -33,7 +33,7 @@ let DataStoreAggregateService = class DataStoreAggregateService {
|
|
|
33
33
|
if (projectIds.length === 0) {
|
|
34
34
|
return { count: 0, data: [] };
|
|
35
35
|
}
|
|
36
|
-
return await this.
|
|
36
|
+
return await this.dataTableRepository.getManyAndCount({
|
|
37
37
|
...options,
|
|
38
38
|
filter: {
|
|
39
39
|
...options.filter,
|
|
@@ -42,11 +42,11 @@ let DataStoreAggregateService = class DataStoreAggregateService {
|
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
|
-
exports.
|
|
46
|
-
exports.
|
|
45
|
+
exports.DataTableAggregateService = DataTableAggregateService;
|
|
46
|
+
exports.DataTableAggregateService = DataTableAggregateService = __decorate([
|
|
47
47
|
(0, di_1.Service)(),
|
|
48
|
-
__metadata("design:paramtypes", [
|
|
48
|
+
__metadata("design:paramtypes", [data_table_repository_1.DataTableRepository,
|
|
49
49
|
project_service_ee_1.ProjectService,
|
|
50
50
|
backend_common_1.Logger])
|
|
51
|
-
],
|
|
52
|
-
//# sourceMappingURL=data-
|
|
51
|
+
], DataTableAggregateService);
|
|
52
|
+
//# sourceMappingURL=data-table-aggregate.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-
|
|
1
|
+
{"version":3,"file":"data-table-aggregate.service.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table-aggregate.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,wDAA6C;AAE7C,gCAAkC;AAElC,sEAA+D;AAE/D,mEAA8D;AAGvD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACrC,YACkB,mBAAwC,EACxC,cAA8B,EAC9B,MAAc;QAFd,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QAE/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IACD,KAAK,CAAC,KAAK,KAAI,CAAC;IAChB,KAAK,CAAC,QAAQ,KAAI,CAAC;IAEnB,KAAK,CAAC,eAAe,CAAC,IAAU,EAAE,OAA8B;QAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAC5E,IAAI,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC;YACrD,GAAG,OAAO;YACV,MAAM,EAAE;gBACP,GAAG,OAAO,CAAC,MAAM;gBACjB,SAAS,EAAE,UAAU;aACrB;SACD,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AA/BY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,YAAO,GAAE;qCAG8B,2CAAmB;QACxB,mCAAc;QACtB,uBAAM;GAJpB,yBAAyB,CA+BrC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DataTableCreateColumnSchema } from '@n8n/api-types';
|
|
2
2
|
import { DataSource, EntityManager, Repository } from '@n8n/typeorm';
|
|
3
|
-
import { DataStoreRowsRepository } from './data-store-rows.repository';
|
|
4
3
|
import { DataTableColumn } from './data-table-column.entity';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
import { DataTableDDLService } from './data-table-ddl.service';
|
|
5
|
+
export declare class DataTableColumnRepository extends Repository<DataTableColumn> {
|
|
6
|
+
private ddlService;
|
|
7
|
+
constructor(dataSource: DataSource, ddlService: DataTableDDLService);
|
|
8
8
|
getColumns(dataTableId: string, trx?: EntityManager): Promise<DataTableColumn[]>;
|
|
9
|
-
addColumn(dataTableId: string, schema:
|
|
10
|
-
deleteColumn(
|
|
9
|
+
addColumn(dataTableId: string, schema: DataTableCreateColumnSchema, trx?: EntityManager): Promise<DataTableColumn>;
|
|
10
|
+
deleteColumn(dataTableId: string, column: DataTableColumn, trx?: EntityManager): Promise<void>;
|
|
11
11
|
moveColumn(dataTableId: string, column: DataTableColumn, targetIndex: number, trx?: EntityManager): Promise<void>;
|
|
12
12
|
shiftColumns(dataTableId: string, lowestIndex: number, delta: -1 | 1, trx?: EntityManager): Promise<void>;
|
|
13
13
|
}
|
package/dist/modules/data-table/{data-store-column.repository.js → data-table-column.repository.js}
RENAMED
|
@@ -9,21 +9,21 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.DataTableColumnRepository = void 0;
|
|
13
13
|
const db_1 = require("@n8n/db");
|
|
14
14
|
const di_1 = require("@n8n/di");
|
|
15
15
|
const typeorm_1 = require("@n8n/typeorm");
|
|
16
16
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
17
|
-
const data_store_rows_repository_1 = require("./data-store-rows.repository");
|
|
18
17
|
const data_table_column_entity_1 = require("./data-table-column.entity");
|
|
18
|
+
const data_table_ddl_service_1 = require("./data-table-ddl.service");
|
|
19
19
|
const data_table_entity_1 = require("./data-table.entity");
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
let
|
|
24
|
-
constructor(dataSource,
|
|
20
|
+
const data_table_column_name_conflict_error_1 = require("./errors/data-table-column-name-conflict.error");
|
|
21
|
+
const data_table_system_column_name_conflict_error_1 = require("./errors/data-table-system-column-name-conflict.error");
|
|
22
|
+
const data_table_validation_error_1 = require("./errors/data-table-validation.error");
|
|
23
|
+
let DataTableColumnRepository = class DataTableColumnRepository extends typeorm_1.Repository {
|
|
24
|
+
constructor(dataSource, ddlService) {
|
|
25
25
|
super(data_table_column_entity_1.DataTableColumn, dataSource.manager);
|
|
26
|
-
this.
|
|
26
|
+
this.ddlService = ddlService;
|
|
27
27
|
}
|
|
28
28
|
async getColumns(dataTableId, trx) {
|
|
29
29
|
return await (0, db_1.withTransaction)(this.manager, trx, async (em) => {
|
|
@@ -38,10 +38,10 @@ let DataStoreColumnRepository = class DataStoreColumnRepository extends typeorm_
|
|
|
38
38
|
async addColumn(dataTableId, schema, trx) {
|
|
39
39
|
return await (0, db_1.withTransaction)(this.manager, trx, async (em) => {
|
|
40
40
|
if (n8n_workflow_1.DATA_TABLE_SYSTEM_COLUMNS.includes(schema.name)) {
|
|
41
|
-
throw new
|
|
41
|
+
throw new data_table_system_column_name_conflict_error_1.DataTableSystemColumnNameConflictError(schema.name);
|
|
42
42
|
}
|
|
43
43
|
if (schema.name === n8n_workflow_1.DATA_TABLE_SYSTEM_TESTING_COLUMN) {
|
|
44
|
-
throw new
|
|
44
|
+
throw new data_table_system_column_name_conflict_error_1.DataTableSystemColumnNameConflictError(schema.name, 'testing');
|
|
45
45
|
}
|
|
46
46
|
const existingColumnMatch = await em.existsBy(data_table_column_entity_1.DataTableColumn, {
|
|
47
47
|
name: schema.name,
|
|
@@ -50,9 +50,9 @@ let DataStoreColumnRepository = class DataStoreColumnRepository extends typeorm_
|
|
|
50
50
|
if (existingColumnMatch) {
|
|
51
51
|
const dataTable = await em.findOneBy(data_table_entity_1.DataTable, { id: dataTableId });
|
|
52
52
|
if (!dataTable) {
|
|
53
|
-
throw new n8n_workflow_1.UnexpectedError('Data
|
|
53
|
+
throw new n8n_workflow_1.UnexpectedError('Data table not found');
|
|
54
54
|
}
|
|
55
|
-
throw new
|
|
55
|
+
throw new data_table_column_name_conflict_error_1.DataTableColumnNameConflictError(schema.name, dataTable.name);
|
|
56
56
|
}
|
|
57
57
|
if (schema.index === undefined) {
|
|
58
58
|
const columns = await this.getColumns(dataTableId, em);
|
|
@@ -66,25 +66,25 @@ let DataStoreColumnRepository = class DataStoreColumnRepository extends typeorm_
|
|
|
66
66
|
dataTableId,
|
|
67
67
|
});
|
|
68
68
|
await em.insert(data_table_column_entity_1.DataTableColumn, column);
|
|
69
|
-
await this.
|
|
69
|
+
await this.ddlService.addColumn(dataTableId, column, em.connection.options.type, em);
|
|
70
70
|
return column;
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
|
-
async deleteColumn(
|
|
73
|
+
async deleteColumn(dataTableId, column, trx) {
|
|
74
74
|
await (0, db_1.withTransaction)(this.manager, trx, async (em) => {
|
|
75
75
|
await em.remove(data_table_column_entity_1.DataTableColumn, column);
|
|
76
|
-
await this.
|
|
77
|
-
await this.shiftColumns(
|
|
76
|
+
await this.ddlService.dropColumnFromTable(dataTableId, column.name, em.connection.options.type, em);
|
|
77
|
+
await this.shiftColumns(dataTableId, column.index, -1, em);
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
80
|
async moveColumn(dataTableId, column, targetIndex, trx) {
|
|
81
81
|
await (0, db_1.withTransaction)(this.manager, trx, async (em) => {
|
|
82
82
|
const columnCount = await em.countBy(data_table_column_entity_1.DataTableColumn, { dataTableId });
|
|
83
83
|
if (targetIndex < 0) {
|
|
84
|
-
throw new
|
|
84
|
+
throw new data_table_validation_error_1.DataTableValidationError('tried to move column to negative index');
|
|
85
85
|
}
|
|
86
86
|
if (targetIndex >= columnCount) {
|
|
87
|
-
throw new
|
|
87
|
+
throw new data_table_validation_error_1.DataTableValidationError('tried to move column to an index larger than column count');
|
|
88
88
|
}
|
|
89
89
|
await this.shiftColumns(dataTableId, column.index, -1, em);
|
|
90
90
|
await this.shiftColumns(dataTableId, targetIndex, 1, em);
|
|
@@ -107,10 +107,10 @@ let DataStoreColumnRepository = class DataStoreColumnRepository extends typeorm_
|
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
109
|
};
|
|
110
|
-
exports.
|
|
111
|
-
exports.
|
|
110
|
+
exports.DataTableColumnRepository = DataTableColumnRepository;
|
|
111
|
+
exports.DataTableColumnRepository = DataTableColumnRepository = __decorate([
|
|
112
112
|
(0, di_1.Service)(),
|
|
113
113
|
__metadata("design:paramtypes", [typeorm_1.DataSource,
|
|
114
|
-
|
|
115
|
-
],
|
|
116
|
-
//# sourceMappingURL=data-
|
|
114
|
+
data_table_ddl_service_1.DataTableDDLService])
|
|
115
|
+
], DataTableColumnRepository);
|
|
116
|
+
//# sourceMappingURL=data-table-column.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-table-column.repository.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table-column.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DataSource, DataSourceOptions, EntityManager } from '@n8n/typeorm';
|
|
2
|
+
import { DataTableColumn } from './data-table-column.entity';
|
|
3
|
+
export declare class DataTableDDLService {
|
|
4
|
+
private dataSource;
|
|
5
|
+
constructor(dataSource: DataSource);
|
|
6
|
+
createTableWithColumns(dataTableId: string, columns: DataTableColumn[], trx?: EntityManager): Promise<void>;
|
|
7
|
+
dropTable(dataTableId: string, trx?: EntityManager): Promise<void>;
|
|
8
|
+
addColumn(dataTableId: string, column: DataTableColumn, dbType: DataSourceOptions['type'], trx?: EntityManager): Promise<void>;
|
|
9
|
+
dropColumnFromTable(dataTableId: string, columnName: string, dbType: DataSourceOptions['type'], trx?: EntityManager): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
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.DataTableDDLService = void 0;
|
|
13
|
+
const db_1 = require("@n8n/db");
|
|
14
|
+
const di_1 = require("@n8n/di");
|
|
15
|
+
const typeorm_1 = require("@n8n/typeorm");
|
|
16
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
17
|
+
const sql_utils_1 = require("./utils/sql-utils");
|
|
18
|
+
let DataTableDDLService = class DataTableDDLService {
|
|
19
|
+
constructor(dataSource) {
|
|
20
|
+
this.dataSource = dataSource;
|
|
21
|
+
}
|
|
22
|
+
async createTableWithColumns(dataTableId, columns, trx) {
|
|
23
|
+
await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
24
|
+
if (!em.queryRunner) {
|
|
25
|
+
throw new n8n_workflow_1.UnexpectedError('QueryRunner is not available');
|
|
26
|
+
}
|
|
27
|
+
const dslColumns = [new db_1.DslColumn('id').int.autoGenerate2.primary, ...(0, sql_utils_1.toDslColumns)(columns)];
|
|
28
|
+
const createTable = new db_1.CreateTable((0, sql_utils_1.toTableName)(dataTableId), '', em.queryRunner).withColumns(...dslColumns).withTimestamps;
|
|
29
|
+
await createTable.execute(em.queryRunner);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
async dropTable(dataTableId, trx) {
|
|
33
|
+
await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
34
|
+
if (!em.queryRunner) {
|
|
35
|
+
throw new n8n_workflow_1.UnexpectedError('QueryRunner is not available');
|
|
36
|
+
}
|
|
37
|
+
await em.queryRunner.dropTable((0, sql_utils_1.toTableName)(dataTableId), true);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
async addColumn(dataTableId, column, dbType, trx) {
|
|
41
|
+
await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
42
|
+
await em.query((0, sql_utils_1.addColumnQuery)((0, sql_utils_1.toTableName)(dataTableId), column, dbType));
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
async dropColumnFromTable(dataTableId, columnName, dbType, trx) {
|
|
46
|
+
await (0, db_1.withTransaction)(this.dataSource.manager, trx, async (em) => {
|
|
47
|
+
await em.query((0, sql_utils_1.deleteColumnQuery)((0, sql_utils_1.toTableName)(dataTableId), columnName, dbType));
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.DataTableDDLService = DataTableDDLService;
|
|
52
|
+
exports.DataTableDDLService = DataTableDDLService = __decorate([
|
|
53
|
+
(0, di_1.Service)(),
|
|
54
|
+
__metadata("design:paramtypes", [typeorm_1.DataSource])
|
|
55
|
+
], DataTableDDLService);
|
|
56
|
+
//# sourceMappingURL=data-table-ddl.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-table-ddl.service.js","sourceRoot":"","sources":["../../../src/modules/data-table/data-table-ddl.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkE;AAClE,gCAAkC;AAClC,0CAA4E;AAC5E,+CAA+C;AAG/C,iDAAiG;AAO1F,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC/B,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE9C,KAAK,CAAC,sBAAsB,CAC3B,WAAmB,EACnB,OAA0B,EAC1B,GAAmB;QAEnB,MAAM,IAAA,oBAAe,EAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAChE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,IAAI,8BAAe,CAAC,8BAA8B,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,UAAU,GAAG,CAAC,IAAI,cAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,CAAC,CAAC;YAC7F,MAAM,WAAW,GAAG,IAAI,gBAAW,CAAC,IAAA,uBAAW,EAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,WAAW,CAC5F,GAAG,UAAU,CACb,CAAC,cAAc,CAAC;YAEjB,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,GAAmB;QACvD,MAAM,IAAA,oBAAe,EAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAChE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,IAAI,8BAAe,CAAC,8BAA8B,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,IAAA,uBAAW,EAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACd,WAAmB,EACnB,MAAuB,EACvB,MAAiC,EACjC,GAAmB;QAEnB,MAAM,IAAA,oBAAe,EAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAChE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAA,0BAAc,EAAC,IAAA,uBAAW,EAAC,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACxB,WAAmB,EACnB,UAAkB,EAClB,MAAiC,EACjC,GAAmB;QAEnB,MAAM,IAAA,oBAAe,EAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAChE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAA,6BAAiB,EAAC,IAAA,uBAAW,EAAC,WAAW,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AApDY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,YAAO,GAAE;qCAEuB,oBAAU;GAD9B,mBAAmB,CAoD/B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Logger } from '@n8n/backend-common';
|
|
2
|
+
import { DataTableProxyProvider, IDataTableProjectAggregateService, IDataTableProjectService, INode, Workflow } from 'n8n-workflow';
|
|
3
|
+
import { DataTableService } from './data-table.service';
|
|
4
|
+
import { OwnershipService } from '../../services/ownership.service';
|
|
5
|
+
declare const ALLOWED_NODES: readonly ["n8n-nodes-base.dataTable", "n8n-nodes-base.dataTableTool", "n8n-nodes-base.evaluationTrigger", "n8n-nodes-base.evaluation"];
|
|
6
|
+
type AllowedNode = (typeof ALLOWED_NODES)[number];
|
|
7
|
+
export declare function isAllowedNode(s: string): s is AllowedNode;
|
|
8
|
+
export declare class DataTableProxyService implements DataTableProxyProvider {
|
|
9
|
+
private readonly dataTableService;
|
|
10
|
+
private readonly ownershipService;
|
|
11
|
+
private readonly logger;
|
|
12
|
+
constructor(dataTableService: DataTableService, ownershipService: OwnershipService, logger: Logger);
|
|
13
|
+
private validateRequest;
|
|
14
|
+
private getProjectId;
|
|
15
|
+
getDataTableAggregateProxy(workflow: Workflow, node: INode, projectId?: string): Promise<IDataTableProjectAggregateService>;
|
|
16
|
+
getDataTableProxy(workflow: Workflow, node: INode, dataTableId: string, projectId?: string): Promise<IDataTableProjectService>;
|
|
17
|
+
private makeAggregateOperations;
|
|
18
|
+
private makeDataTableOperations;
|
|
19
|
+
}
|
|
20
|
+
export {};
|