mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-16 17:46:45 +00:00
refactor(core): Move leaf entities to @n8n/db (#15010)
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
import { JsonColumn, WithTimestamps } from '@n8n/db';
|
||||
import { Entity, PrimaryColumn } from '@n8n/typeorm';
|
||||
import { MessageEventBusDestinationOptions } from 'n8n-workflow';
|
||||
|
||||
import { JsonColumn, WithTimestamps } from './abstract-entity';
|
||||
|
||||
@Entity({ name: 'event_destinations' })
|
||||
export class EventDestinations extends WithTimestamps {
|
||||
@PrimaryColumn('uuid')
|
||||
19
packages/@n8n/db/src/entities/index.ts
Normal file
19
packages/@n8n/db/src/entities/index.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { EventDestinations } from './event-destinations';
|
||||
import { InstalledNodes } from './installed-nodes';
|
||||
import { InstalledPackages } from './installed-packages';
|
||||
import { InvalidAuthToken } from './invalid-auth-token';
|
||||
import { ProcessedData } from './processed-data';
|
||||
import { Settings } from './settings';
|
||||
import { Variables } from './variables';
|
||||
import { WebhookEntity } from './webhook-entity';
|
||||
|
||||
export {
|
||||
EventDestinations,
|
||||
InstalledNodes,
|
||||
InstalledPackages,
|
||||
InvalidAuthToken,
|
||||
ProcessedData,
|
||||
Settings,
|
||||
Variables,
|
||||
WebhookEntity,
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
import { WithTimestamps } from '@n8n/db';
|
||||
import { Column, Entity, JoinColumn, OneToMany, PrimaryColumn } from '@n8n/typeorm';
|
||||
|
||||
import { WithTimestamps } from './abstract-entity';
|
||||
import type { InstalledNodes } from './installed-nodes';
|
||||
|
||||
@Entity()
|
||||
@@ -1,6 +1,7 @@
|
||||
import { DateTimeColumn } from '@n8n/db';
|
||||
import { Entity, PrimaryColumn } from '@n8n/typeorm';
|
||||
|
||||
import { DateTimeColumn } from './abstract-entity';
|
||||
|
||||
@Entity()
|
||||
export class InvalidAuthToken {
|
||||
@PrimaryColumn()
|
||||
@@ -1,8 +1,7 @@
|
||||
import { JsonColumn, WithTimestamps } from '@n8n/db';
|
||||
import { Entity, PrimaryColumn } from '@n8n/typeorm';
|
||||
import type { IProcessedDataEntries, IProcessedDataLatest } from 'n8n-workflow';
|
||||
|
||||
import type { IProcessedDataEntries, IProcessedDataLatest } from '@/types-db';
|
||||
|
||||
import { JsonColumn, WithTimestamps } from './abstract-entity';
|
||||
import { objectRetriever } from '../utils/transformers';
|
||||
|
||||
@Entity()
|
||||
@@ -1,6 +1,7 @@
|
||||
import { WithStringId } from '@n8n/db';
|
||||
import { Column, Entity } from '@n8n/typeorm';
|
||||
|
||||
import { WithStringId } from './abstract-entity';
|
||||
|
||||
@Entity()
|
||||
export class Variables extends WithStringId {
|
||||
@Column('text')
|
||||
@@ -12,3 +12,15 @@ export {
|
||||
export { generateNanoId } from './utils/generators';
|
||||
export { isStringArray } from './utils/is-string-array';
|
||||
export { separate } from './utils/separate';
|
||||
export { idStringifier, lowerCaser, objectRetriever, sqlite } from './utils/transformers';
|
||||
|
||||
export {
|
||||
EventDestinations,
|
||||
InstalledNodes,
|
||||
InstalledPackages,
|
||||
InvalidAuthToken,
|
||||
ProcessedData,
|
||||
Settings,
|
||||
Variables,
|
||||
WebhookEntity,
|
||||
} from './entities';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { type InstalledNodes } from '@n8n/db';
|
||||
import { type Config } from '@oclif/core';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
|
||||
import { type CredentialsEntity } from '@/databases/entities/credentials-entity';
|
||||
import { type InstalledNodes } from '@/databases/entities/installed-nodes';
|
||||
import { type User } from '@/databases/entities/user';
|
||||
|
||||
import { CommunityNode } from '../community-node';
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import { type InstalledNodes, type InstalledPackages } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { Flags } from '@oclif/core';
|
||||
|
||||
import { CredentialsService } from '@/credentials/credentials.service';
|
||||
import { type InstalledNodes } from '@/databases/entities/installed-nodes';
|
||||
import { type InstalledPackages } from '@/databases/entities/installed-packages';
|
||||
import { type User } from '@/databases/entities/user';
|
||||
import { CredentialsRepository } from '@/databases/repositories/credentials.repository';
|
||||
import { InstalledNodesRepository } from '@/databases/repositories/installed-nodes.repository';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import type { InstalledPackages } from '@n8n/db';
|
||||
import { Delete, Get, Patch, Post, RestController, GlobalScope } from '@n8n/decorators';
|
||||
|
||||
import {
|
||||
@@ -5,7 +6,6 @@ import {
|
||||
STARTER_TEMPLATE_NAME,
|
||||
UNKNOWN_FAILURE_REASON,
|
||||
} from '@/constants';
|
||||
import type { InstalledPackages } from '@/databases/entities/installed-packages';
|
||||
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
|
||||
import { InternalServerError } from '@/errors/response-errors/internal-server.error';
|
||||
import { EventService } from '@/events/event.service';
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import { JsonColumn } from '@n8n/db';
|
||||
import { JsonColumn, idStringifier } from '@n8n/db';
|
||||
import { Column, Entity, ManyToOne, PrimaryColumn } from '@n8n/typeorm';
|
||||
import { IWorkflowBase } from 'n8n-workflow';
|
||||
|
||||
import { ExecutionEntity } from './execution-entity';
|
||||
import { idStringifier } from '../utils/transformers';
|
||||
|
||||
@Entity()
|
||||
export class ExecutionData {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { DateTimeColumn, datetimeColumnType } from '@n8n/db';
|
||||
import { DateTimeColumn, datetimeColumnType, idStringifier } from '@n8n/db';
|
||||
import {
|
||||
Column,
|
||||
Entity,
|
||||
@@ -19,7 +19,6 @@ import type { ExecutionAnnotation } from '@/databases/entities/execution-annotat
|
||||
import type { ExecutionData } from './execution-data';
|
||||
import type { ExecutionMetadata } from './execution-metadata';
|
||||
import { WorkflowEntity } from './workflow-entity';
|
||||
import { idStringifier } from '../utils/transformers';
|
||||
|
||||
@Entity()
|
||||
@Index(['workflowId', 'id'])
|
||||
|
||||
@@ -1,3 +1,14 @@
|
||||
import {
|
||||
EventDestinations,
|
||||
InstalledNodes,
|
||||
InstalledPackages,
|
||||
InvalidAuthToken,
|
||||
ProcessedData,
|
||||
Settings,
|
||||
Variables,
|
||||
WebhookEntity,
|
||||
} from '@n8n/db';
|
||||
|
||||
import { AnnotationTagEntity } from './annotation-tag-entity.ee';
|
||||
import { AnnotationTagMapping } from './annotation-tag-mapping.ee';
|
||||
import { ApiKey } from './api-key';
|
||||
@@ -5,20 +16,14 @@ import { AuthIdentity } from './auth-identity';
|
||||
import { AuthProviderSyncHistory } from './auth-provider-sync-history';
|
||||
import { AuthUser } from './auth-user';
|
||||
import { CredentialsEntity } from './credentials-entity';
|
||||
import { EventDestinations } from './event-destinations';
|
||||
import { ExecutionAnnotation } from './execution-annotation.ee';
|
||||
import { ExecutionData } from './execution-data';
|
||||
import { ExecutionEntity } from './execution-entity';
|
||||
import { ExecutionMetadata } from './execution-metadata';
|
||||
import { Folder } from './folder';
|
||||
import { FolderTagMapping } from './folder-tag-mapping';
|
||||
import { InstalledNodes } from './installed-nodes';
|
||||
import { InstalledPackages } from './installed-packages';
|
||||
import { InvalidAuthToken } from './invalid-auth-token';
|
||||
import { ProcessedData } from './processed-data';
|
||||
import { Project } from './project';
|
||||
import { ProjectRelation } from './project-relation';
|
||||
import { Settings } from './settings';
|
||||
import { SharedCredentials } from './shared-credentials';
|
||||
import { SharedWorkflow } from './shared-workflow';
|
||||
import { TagEntity } from './tag-entity';
|
||||
@@ -27,8 +32,6 @@ import { TestDefinition } from './test-definition.ee';
|
||||
import { TestMetric } from './test-metric.ee';
|
||||
import { TestRun } from './test-run.ee';
|
||||
import { User } from './user';
|
||||
import { Variables } from './variables';
|
||||
import { WebhookEntity } from './webhook-entity';
|
||||
import { WorkflowEntity } from './workflow-entity';
|
||||
import { WorkflowHistory } from './workflow-history';
|
||||
import { WorkflowStatistics } from './workflow-statistics';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { JsonColumn, WithTimestamps } from '@n8n/db';
|
||||
import { JsonColumn, WithTimestamps, objectRetriever, lowerCaser } from '@n8n/db';
|
||||
import { hasScope, type ScopeOptions, type Scope, GlobalRole } from '@n8n/permissions';
|
||||
import {
|
||||
AfterLoad,
|
||||
@@ -28,7 +28,6 @@ import type { AuthIdentity } from './auth-identity';
|
||||
import type { ProjectRelation } from './project-relation';
|
||||
import type { SharedCredentials } from './shared-credentials';
|
||||
import type { SharedWorkflow } from './shared-workflow';
|
||||
import { objectRetriever, lowerCaser } from '../utils/transformers';
|
||||
|
||||
const STATIC_SCOPE_MAP: Record<GlobalRole, Scope[]> = {
|
||||
'global:owner': GLOBAL_OWNER_SCOPES,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { JsonColumn, WithTimestampsAndStringId, dbType } from '@n8n/db';
|
||||
import { JsonColumn, WithTimestampsAndStringId, dbType, objectRetriever, sqlite } from '@n8n/db';
|
||||
import {
|
||||
Column,
|
||||
Entity,
|
||||
@@ -20,7 +20,6 @@ import type { SharedWorkflow } from './shared-workflow';
|
||||
import type { TagEntity } from './tag-entity';
|
||||
import type { WorkflowStatistics } from './workflow-statistics';
|
||||
import type { WorkflowTagMapping } from './workflow-tag-mapping';
|
||||
import { objectRetriever, sqlite } from '../utils/transformers';
|
||||
|
||||
@Entity()
|
||||
export class WorkflowEntity extends WithTimestampsAndStringId implements IWorkflowDb {
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { EventDestinations } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { DataSource, Repository } from '@n8n/typeorm';
|
||||
|
||||
import { EventDestinations } from '../entities/event-destinations';
|
||||
|
||||
@Service()
|
||||
export class EventDestinationsRepository extends Repository<EventDestinations> {
|
||||
constructor(dataSource: DataSource) {
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { InstalledNodes } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { DataSource, Repository } from '@n8n/typeorm';
|
||||
|
||||
import { InstalledNodes } from '../entities/installed-nodes';
|
||||
|
||||
@Service()
|
||||
export class InstalledNodesRepository extends Repository<InstalledNodes> {
|
||||
constructor(dataSource: DataSource) {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { InstalledPackages } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { DataSource, Repository } from '@n8n/typeorm';
|
||||
import type { PackageDirectoryLoader } from 'n8n-core';
|
||||
|
||||
import { InstalledNodesRepository } from './installed-nodes.repository';
|
||||
import { InstalledPackages } from '../entities/installed-packages';
|
||||
|
||||
@Service()
|
||||
export class InstalledPackagesRepository extends Repository<InstalledPackages> {
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { InvalidAuthToken } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { DataSource, Repository } from '@n8n/typeorm';
|
||||
|
||||
import { InvalidAuthToken } from '../entities/invalid-auth-token';
|
||||
|
||||
@Service()
|
||||
export class InvalidAuthTokenRepository extends Repository<InvalidAuthToken> {
|
||||
constructor(dataSource: DataSource) {
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { ProcessedData } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { DataSource, Repository } from '@n8n/typeorm';
|
||||
|
||||
import { ProcessedData } from '../entities/processed-data';
|
||||
|
||||
@Service()
|
||||
export class ProcessedDataRepository extends Repository<ProcessedData> {
|
||||
constructor(dataSource: DataSource) {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { Settings } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { DataSource, Repository } from '@n8n/typeorm';
|
||||
import { ErrorReporter } from 'n8n-core';
|
||||
@@ -5,8 +6,6 @@ import { ErrorReporter } from 'n8n-core';
|
||||
import config from '@/config';
|
||||
import { EXTERNAL_SECRETS_DB_KEY } from '@/external-secrets.ee/constants';
|
||||
|
||||
import { Settings } from '../entities/settings';
|
||||
|
||||
@Service()
|
||||
export class SettingsRepository extends Repository<Settings> {
|
||||
constructor(
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { Variables } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { DataSource, Repository } from '@n8n/typeorm';
|
||||
|
||||
import { Variables } from '../entities/variables';
|
||||
|
||||
@Service()
|
||||
export class VariablesRepository extends Repository<Variables> {
|
||||
constructor(dataSource: DataSource) {
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import { WebhookEntity } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { DataSource, Repository } from '@n8n/typeorm';
|
||||
|
||||
import { WebhookEntity } from '../entities/webhook-entity';
|
||||
|
||||
@Service()
|
||||
export class WebhookRepository extends Repository<WebhookEntity> {
|
||||
constructor(dataSource: DataSource) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { GlobalConfig } from '@n8n/config';
|
||||
import { isStringArray } from '@n8n/db';
|
||||
import { isStringArray, WebhookEntity } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { DataSource, Repository, In, Like } from '@n8n/typeorm';
|
||||
import type {
|
||||
@@ -18,7 +18,6 @@ import type { ListQuery } from '@/types-db';
|
||||
import { FolderRepository } from './folder.repository';
|
||||
import type { Folder, FolderWithWorkflowAndSubFolderCount } from '../entities/folder';
|
||||
import { TagEntity } from '../entities/tag-entity';
|
||||
import { WebhookEntity } from '../entities/webhook-entity';
|
||||
import { WorkflowEntity } from '../entities/workflow-entity';
|
||||
import { WorkflowTagMapping } from '../entities/workflow-tag-mapping';
|
||||
|
||||
|
||||
@@ -1,21 +1,22 @@
|
||||
import type { ProcessedData } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { createHash } from 'crypto';
|
||||
import {
|
||||
type ICheckProcessedContextData,
|
||||
type IDataDeduplicator,
|
||||
type ICheckProcessedOptions,
|
||||
type IDeduplicationOutput,
|
||||
type DeduplicationScope,
|
||||
type DeduplicationItemTypes,
|
||||
type DeduplicationMode,
|
||||
tryToParseDateTime,
|
||||
import { tryToParseDateTime } from 'n8n-workflow';
|
||||
import type {
|
||||
IProcessedDataEntries,
|
||||
IProcessedDataLatest,
|
||||
ICheckProcessedContextData,
|
||||
IDataDeduplicator,
|
||||
ICheckProcessedOptions,
|
||||
IDeduplicationOutput,
|
||||
DeduplicationScope,
|
||||
DeduplicationItemTypes,
|
||||
DeduplicationMode,
|
||||
} from 'n8n-workflow';
|
||||
import * as assert from 'node:assert/strict';
|
||||
|
||||
import type { ProcessedData } from '@/databases/entities/processed-data';
|
||||
import { ProcessedDataRepository } from '@/databases/repositories/processed-data.repository';
|
||||
import { DeduplicationError } from '@/errors/deduplication.error';
|
||||
import type { IProcessedDataEntries, IProcessedDataLatest } from '@/types-db';
|
||||
|
||||
export class DeduplicationHelper implements IDataDeduplicator {
|
||||
private static sortEntries(
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { SourceControlledFile } from '@n8n/api-types';
|
||||
import type { Variables } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import { InstanceSettings } from 'n8n-core';
|
||||
@@ -6,7 +7,6 @@ import { InstanceSettings } from 'n8n-core';
|
||||
import type { FolderWithWorkflowAndSubFolderCount } from '@/databases/entities/folder';
|
||||
import type { TagEntity } from '@/databases/entities/tag-entity';
|
||||
import type { User } from '@/databases/entities/user';
|
||||
import type { Variables } from '@/databases/entities/variables';
|
||||
import type { FolderRepository } from '@/databases/repositories/folder.repository';
|
||||
import type { TagRepository } from '@/databases/repositories/tag.repository';
|
||||
import { SourceControlPreferencesService } from '@/environments.ee/source-control/source-control-preferences.service.ee';
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { SourceControlledFile } from '@n8n/api-types';
|
||||
import type { Variables } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
import { In } from '@n8n/typeorm';
|
||||
@@ -14,7 +15,6 @@ import type { Project } from '@/databases/entities/project';
|
||||
import { SharedCredentials } from '@/databases/entities/shared-credentials';
|
||||
import type { TagEntity } from '@/databases/entities/tag-entity';
|
||||
import type { User } from '@/databases/entities/user';
|
||||
import type { Variables } from '@/databases/entities/variables';
|
||||
import type { WorkflowTagMapping } from '@/databases/entities/workflow-tag-mapping';
|
||||
import { CredentialsRepository } from '@/databases/repositories/credentials.repository';
|
||||
import { FolderRepository } from '@/databases/repositories/folder.repository';
|
||||
|
||||
@@ -3,6 +3,7 @@ import type {
|
||||
PushWorkFolderRequestDto,
|
||||
SourceControlledFile,
|
||||
} from '@n8n/api-types';
|
||||
import type { Variables } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { writeFileSync } from 'fs';
|
||||
import { Logger } from 'n8n-core';
|
||||
@@ -12,7 +13,6 @@ import type { PushResult } from 'simple-git';
|
||||
|
||||
import type { TagEntity } from '@/databases/entities/tag-entity';
|
||||
import type { User } from '@/databases/entities/user';
|
||||
import type { Variables } from '@/databases/entities/variables';
|
||||
import { FolderRepository } from '@/databases/repositories/folder.repository';
|
||||
import { TagRepository } from '@/databases/repositories/tag.repository';
|
||||
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { generateNanoId } from '@n8n/db';
|
||||
import type { Variables } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
|
||||
import type { Variables } from '@/databases/entities/variables';
|
||||
import { VariablesRepository } from '@/databases/repositories/variables.repository';
|
||||
import { VariableCountLimitReachedError } from '@/errors/variable-count-limit-reached.error';
|
||||
import { VariableValidationError } from '@/errors/variable-validation.error';
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import type { EventDestinations } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { Logger } from 'n8n-core';
|
||||
import { MessageEventBusDestinationTypeNames } from 'n8n-workflow';
|
||||
|
||||
import type { EventDestinations } from '@/databases/entities/event-destinations';
|
||||
|
||||
import { MessageEventBusDestinationSentry } from './message-event-bus-destination-sentry.ee';
|
||||
import { MessageEventBusDestinationSyslog } from './message-event-bus-destination-syslog.ee';
|
||||
import { MessageEventBusDestinationWebhook } from './message-event-bus-destination-webhook.ee';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import type { Settings } from '@n8n/db';
|
||||
import { QueryFailedError } from '@n8n/typeorm';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import { Client } from 'ldapts';
|
||||
@@ -5,7 +6,6 @@ import type { Cipher } from 'n8n-core';
|
||||
import { randomString } from 'n8n-workflow';
|
||||
|
||||
import config from '@/config';
|
||||
import type { Settings } from '@/databases/entities/settings';
|
||||
import { AuthIdentityRepository } from '@/databases/repositories/auth-identity.repository';
|
||||
import { SettingsRepository } from '@/databases/repositories/settings.repository';
|
||||
import type { EventService } from '@/events/event.service';
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { ProjectIcon, ProjectRole, ProjectType } from '@n8n/api-types';
|
||||
import type { Variables } from '@n8n/db';
|
||||
import type { AssignableRole, GlobalRole, Scope } from '@n8n/permissions';
|
||||
import type express from 'express';
|
||||
import type {
|
||||
@@ -9,7 +10,6 @@ import type {
|
||||
|
||||
import type { Project } from '@/databases/entities/project';
|
||||
import type { User } from '@/databases/entities/user';
|
||||
import type { Variables } from '@/databases/entities/variables';
|
||||
import type { WorkflowHistory } from '@/databases/entities/workflow-history';
|
||||
import type { ListQuery } from '@/types-db';
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import type { GlobalConfig } from '@n8n/config';
|
||||
import { InstalledNodes } from '@n8n/db';
|
||||
import { InstalledPackages } from '@n8n/db';
|
||||
import axios from 'axios';
|
||||
import { exec } from 'child_process';
|
||||
import { access as fsAccess, mkdir as fsMkdir } from 'fs/promises';
|
||||
@@ -13,8 +15,6 @@ import {
|
||||
NPM_PACKAGE_STATUS_GOOD,
|
||||
RESPONSE_ERROR_MESSAGES,
|
||||
} from '@/constants';
|
||||
import { InstalledNodes } from '@/databases/entities/installed-nodes';
|
||||
import { InstalledPackages } from '@/databases/entities/installed-packages';
|
||||
import { InstalledNodesRepository } from '@/databases/repositories/installed-nodes.repository';
|
||||
import { InstalledPackagesRepository } from '@/databases/repositories/installed-packages.repository';
|
||||
import type { CommunityPackages } from '@/interfaces';
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { GlobalConfig } from '@n8n/config';
|
||||
import { LICENSE_FEATURES } from '@n8n/constants';
|
||||
import type { InstalledPackages } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import axios from 'axios';
|
||||
import { exec } from 'child_process';
|
||||
@@ -16,7 +17,6 @@ import {
|
||||
RESPONSE_ERROR_MESSAGES,
|
||||
UNKNOWN_FAILURE_REASON,
|
||||
} from '@/constants';
|
||||
import type { InstalledPackages } from '@/databases/entities/installed-packages';
|
||||
import { InstalledPackagesRepository } from '@/databases/repositories/installed-packages.repository';
|
||||
import { FeatureNotLicensedError } from '@/errors/feature-not-licensed.error';
|
||||
import type { CommunityPackages } from '@/interfaces';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import type { Settings } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
import type { FindManyOptions, FindOneOptions, FindOptionsWhere } from '@n8n/typeorm';
|
||||
@@ -8,7 +9,6 @@ import type { NextFunction, Response } from 'express';
|
||||
import { AuthService } from '@/auth/auth.service';
|
||||
import type { AuthUser } from '@/databases/entities/auth-user';
|
||||
import type { CredentialsEntity } from '@/databases/entities/credentials-entity';
|
||||
import type { Settings } from '@/databases/entities/settings';
|
||||
import type { User } from '@/databases/entities/user';
|
||||
import type { WorkflowEntity } from '@/databases/entities/workflow-entity';
|
||||
import { AuthUserRepository } from '@/databases/repositories/auth-user.repository';
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { SamlPreferences } from '@n8n/api-types';
|
||||
import type { Settings } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import axios from 'axios';
|
||||
import type express from 'express';
|
||||
@@ -8,7 +9,6 @@ import { jsonParse, UnexpectedError } from 'n8n-workflow';
|
||||
import type { IdentityProviderInstance, ServiceProviderInstance } from 'samlify';
|
||||
import type { BindingContext, PostBindingContext } from 'samlify/types/src/entity';
|
||||
|
||||
import type { Settings } from '@/databases/entities/settings';
|
||||
import type { User } from '@/databases/entities/user';
|
||||
import { SettingsRepository } from '@/databases/repositories/settings.repository';
|
||||
import { UserRepository } from '@/databases/repositories/user.repository';
|
||||
|
||||
@@ -8,8 +8,6 @@ import type {
|
||||
ExecutionStatus,
|
||||
FeatureFlags,
|
||||
IUserSettings,
|
||||
DeduplicationMode,
|
||||
DeduplicationItemTypes,
|
||||
AnnotationVote,
|
||||
ExecutionSummary,
|
||||
IUser,
|
||||
@@ -148,16 +146,6 @@ export interface WorkflowWithSharingsMetaDataAndCredentials extends Omit<Workflo
|
||||
usedCredentials?: CredentialUsedByWorkflow[];
|
||||
}
|
||||
|
||||
export interface IProcessedDataLatest {
|
||||
mode: DeduplicationMode;
|
||||
data: DeduplicationItemTypes;
|
||||
}
|
||||
|
||||
export interface IProcessedDataEntries {
|
||||
mode: DeduplicationMode;
|
||||
data: DeduplicationItemTypes[];
|
||||
}
|
||||
|
||||
/** Payload for creating an execution. */
|
||||
export type CreateExecutionPayload = Omit<IExecutionDb, 'id' | 'createdAt' | 'startedAt'>;
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { WebhookEntity } from '@n8n/db';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import type { INode, INodeType, IWebhookData, IWorkflowExecuteAdditionalData } from 'n8n-workflow';
|
||||
import { Workflow } from 'n8n-workflow';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import config from '@/config';
|
||||
import { WebhookEntity } from '@/databases/entities/webhook-entity';
|
||||
import type { WebhookRepository } from '@/databases/repositories/webhook.repository';
|
||||
import type { NodeTypes } from '@/node-types';
|
||||
import type { CacheService } from '@/services/cache/cache.service';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import type { WebhookEntity } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { HookContext, WebhookContext, Logger } from 'n8n-core';
|
||||
import { Node, NodeHelpers, UnexpectedError } from 'n8n-workflow';
|
||||
@@ -14,7 +15,6 @@ import type {
|
||||
WorkflowExecuteMode,
|
||||
} from 'n8n-workflow';
|
||||
|
||||
import type { WebhookEntity } from '@/databases/entities/webhook-entity';
|
||||
import { WebhookRepository } from '@/databases/repositories/webhook.repository';
|
||||
import { NodeTypes } from '@/node-types';
|
||||
import { CacheService } from '@/services/cache/cache.service';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import type { WebhookEntity } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import { Logger } from 'n8n-core';
|
||||
@@ -13,7 +14,6 @@ import type {
|
||||
|
||||
import { ActiveExecutions } from '@/active-executions';
|
||||
import { ActiveWorkflowManager } from '@/active-workflow-manager';
|
||||
import type { WebhookEntity } from '@/databases/entities/webhook-entity';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { ExecutionService } from '@/executions/execution.service';
|
||||
import { ExternalHooks } from '@/external-hooks';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { InstalledNodes } from '@n8n/db';
|
||||
import type { InstalledPackages } from '@n8n/db';
|
||||
import path from 'path';
|
||||
|
||||
import type { InstalledNodes } from '@/databases/entities/installed-nodes';
|
||||
import type { InstalledPackages } from '@/databases/entities/installed-packages';
|
||||
import { LoadNodesAndCredentials } from '@/load-nodes-and-credentials';
|
||||
import { CommunityPackagesService } from '@/services/community-packages.service';
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { GlobalConfig } from '@n8n/config';
|
||||
import type { InstalledNodes } from '@n8n/db';
|
||||
import type { InstalledPackages } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import nock from 'nock';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import * as constants from '@/constants';
|
||||
import type { InstalledNodes } from '@/databases/entities/installed-nodes';
|
||||
import type { InstalledPackages } from '@/databases/entities/installed-packages';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import type { Risk } from '@/security-audit/types';
|
||||
import { toReportTitle } from '@/security-audit/utils';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { InstalledPackages } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
|
||||
import { NODE_PACKAGE_PREFIX } from '@/constants';
|
||||
import { InstalledPackages } from '@/databases/entities/installed-packages';
|
||||
import { InstalledNodesRepository } from '@/databases/repositories/installed-nodes.repository';
|
||||
import { InstalledPackagesRepository } from '@/databases/repositories/installed-packages.repository';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { generateNanoId } from '@n8n/db';
|
||||
import type { Variables } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
|
||||
import type { Variables } from '@/databases/entities/variables';
|
||||
import { VariablesRepository } from '@/databases/repositories/variables.repository';
|
||||
import { VariablesService } from '@/environments.ee/variables/variables.service.ee';
|
||||
import { CacheService } from '@/services/cache/cache.service';
|
||||
|
||||
@@ -704,6 +704,16 @@ export type DeduplicationScope = 'node' | 'workflow';
|
||||
export type DeduplicationItemTypes = string | number;
|
||||
export type DeduplicationMode = 'entries' | 'latestIncrementalKey' | 'latestDate';
|
||||
|
||||
export interface IProcessedDataLatest {
|
||||
mode: DeduplicationMode;
|
||||
data: DeduplicationItemTypes;
|
||||
}
|
||||
|
||||
export interface IProcessedDataEntries {
|
||||
mode: DeduplicationMode;
|
||||
data: DeduplicationItemTypes[];
|
||||
}
|
||||
|
||||
export interface IDeduplicationOutput {
|
||||
new: DeduplicationItemTypes[];
|
||||
processed: DeduplicationItemTypes[];
|
||||
|
||||
Reference in New Issue
Block a user