refactor(core): Move interrelated entities to @n8n/db (#15050)

This commit is contained in:
Iván Ovejero
2025-05-02 12:19:32 +02:00
committed by GitHub
parent 88afd66471
commit 20834abb56
270 changed files with 699 additions and 566 deletions

View File

@@ -1,13 +1,13 @@
import { CredentialsEntity } from '@n8n/db';
import type { Project } from '@n8n/db';
import type { CredentialSharingRole } from '@n8n/db';
import type { User } from '@n8n/db';
import type { ICredentialsDb } from '@n8n/db';
import { Container } from '@n8n/di';
import { CredentialsEntity } from '@/databases/entities/credentials-entity';
import type { Project } from '@/databases/entities/project';
import type { CredentialSharingRole } from '@/databases/entities/shared-credentials';
import type { User } from '@/databases/entities/user';
import { CredentialsRepository } from '@/databases/repositories/credentials.repository';
import { ProjectRepository } from '@/databases/repositories/project.repository';
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
import type { ICredentialsDb } from '@/types-db';
import type { CredentialPayload } from '../types';

View File

@@ -1,8 +1,8 @@
import type { Folder } from '@n8n/db';
import type { Project } from '@n8n/db';
import type { TagEntity } from '@n8n/db';
import { Container } from '@n8n/di';
import type { Folder } from '@/databases/entities/folder';
import type { Project } from '@/databases/entities/project';
import type { TagEntity } from '@/databases/entities/tag-entity';
import { FolderRepository } from '@/databases/repositories/folder.repository';
import { randomName } from '@test-integration/random';

View File

@@ -1,9 +1,9 @@
import type { ProjectRole } from '@n8n/api-types';
import type { Project } from '@n8n/db';
import type { User } from '@n8n/db';
import type { ProjectRelation } from '@n8n/db';
import { Container } from '@n8n/di';
import type { Project } from '@/databases/entities/project';
import type { ProjectRelation } from '@/databases/entities/project-relation';
import type { User } from '@/databases/entities/user';
import { ProjectRelationRepository } from '@/databases/repositories/project-relation.repository';
import { ProjectRepository } from '@/databases/repositories/project.repository';

View File

@@ -1,9 +1,9 @@
import { generateNanoId } from '@n8n/db';
import type { TagEntity } from '@n8n/db';
import type { WorkflowEntity } from '@n8n/db';
import { Container } from '@n8n/di';
import type { IWorkflowBase } from 'n8n-workflow';
import type { TagEntity } from '@/databases/entities/tag-entity';
import type { WorkflowEntity } from '@/databases/entities/workflow-entity';
import { TagRepository } from '@/databases/repositories/tag.repository';
import { WorkflowTagMappingRepository } from '@/databases/repositories/workflow-tag-mapping.repository';

View File

@@ -1,9 +1,9 @@
import { AuthIdentity } from '@n8n/db';
import { type User } from '@n8n/db';
import { Container } from '@n8n/di';
import type { ApiKeyScope, GlobalRole } from '@n8n/permissions';
import { hash } from 'bcryptjs';
import { AuthIdentity } from '@/databases/entities/auth-identity';
import { type User } from '@/databases/entities/user';
import { AuthIdentityRepository } from '@/databases/repositories/auth-identity.repository';
import { AuthUserRepository } from '@/databases/repositories/auth-user.repository';
import { UserRepository } from '@/databases/repositories/user.repository';

View File

@@ -1,7 +1,7 @@
import { StatisticsNames, type WorkflowStatistics } from '@n8n/db';
import { Container } from '@n8n/di';
import type { Workflow } from 'n8n-workflow';
import { StatisticsNames, type WorkflowStatistics } from '@/databases/entities/workflow-statistics';
import { WorkflowStatisticsRepository } from '@/databases/repositories/workflow-statistics.repository';
export async function createWorkflowStatisticsItem(

View File

@@ -1,16 +1,16 @@
import { Project } from '@n8n/db';
import { User } from '@n8n/db';
import type { SharedWorkflow, WorkflowSharingRole } from '@n8n/db';
import type { IWorkflowDb } from '@n8n/db';
import { Container } from '@n8n/di';
import type { DeepPartial } from '@n8n/typeorm';
import type { IWorkflowBase } from 'n8n-workflow';
import { NodeConnectionTypes } from 'n8n-workflow';
import { v4 as uuid } from 'uuid';
import { Project } from '@/databases/entities/project';
import type { SharedWorkflow, WorkflowSharingRole } from '@/databases/entities/shared-workflow';
import { User } from '@/databases/entities/user';
import { ProjectRepository } from '@/databases/repositories/project.repository';
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
import type { IWorkflowDb } from '@/types-db';
export async function createManyWorkflows(
amount: number,

View File

@@ -1,14 +1,13 @@
import type { BooleanLicenseFeature, NumericLicenseFeature } from '@n8n/constants';
import type { CredentialsEntity } from '@n8n/db';
import type { Project } from '@n8n/db';
import type { User } from '@n8n/db';
import type { ICredentialsDb } from '@n8n/db';
import type { Application } from 'express';
import type { Server } from 'http';
import type { ICredentialDataDecryptedObject } from 'n8n-workflow';
import type TestAgent from 'supertest/lib/agent';
import type { CredentialsEntity } from '@/databases/entities/credentials-entity';
import type { Project } from '@/databases/entities/project';
import type { User } from '@/databases/entities/user';
import type { ICredentialsDb } from '@/types-db';
import type { LicenseMocker } from './license';
type EndpointGroup =

View File

@@ -1,3 +1,4 @@
import { WorkflowEntity } from '@n8n/db';
import { Container } from '@n8n/di';
import { mock } from 'jest-mock-extended';
import {
@@ -20,7 +21,6 @@ import { v4 as uuid } from 'uuid';
import config from '@/config';
import { AUTH_COOKIE_NAME } from '@/constants';
import { WorkflowEntity } from '@/databases/entities/workflow-entity';
import { SettingsRepository } from '@/databases/repositories/settings.repository';
import { ExecutionService } from '@/executions/execution.service';
import { LoadNodesAndCredentials } from '@/load-nodes-and-credentials';

View File

@@ -1,3 +1,4 @@
import type { User } from '@n8n/db';
import { Container } from '@n8n/di';
import cookieParser from 'cookie-parser';
import express from 'express';
@@ -9,7 +10,6 @@ import { AuthService } from '@/auth/auth.service';
import config from '@/config';
import { AUTH_COOKIE_NAME } from '@/constants';
import { ControllerRegistry } from '@/controller.registry';
import type { User } from '@/databases/entities/user';
import { License } from '@/license';
import { rawBodyReader, bodyParser } from '@/middlewares';
import { PostHogClient } from '@/posthog';

View File

@@ -1,5 +1,5 @@
import type { User } from '@/databases/entities/user';
import type { PublicUser } from '@/types-db';
import type { User } from '@n8n/db';
import type { PublicUser } from '@n8n/db';
export const validateUser = (user: PublicUser) => {
expect(typeof user.id).toBe('string');

View File

@@ -1,7 +1,6 @@
import { WorkflowEntity } from '@n8n/db';
import type { INode } from 'n8n-workflow';
import { WorkflowEntity } from '@/databases/entities/workflow-entity';
export const FIRST_CREDENTIAL_ID = '1';
export const SECOND_CREDENTIAL_ID = '2';
export const THIRD_CREDENTIAL_ID = '3';