mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 02:21:13 +00:00
refactor(core): Move shared workflow and shared credentials repositories to @n8n/db (#15255)
This commit is contained in:
@@ -28,3 +28,5 @@ export { VariablesRepository } from './variables.repository';
|
||||
export { WorkflowHistoryRepository } from './workflow-history.repository';
|
||||
export { WorkflowStatisticsRepository } from './workflow-statistics.repository';
|
||||
export { WorkflowTagMappingRepository } from './workflow-tag-mapping.repository';
|
||||
export { SharedWorkflowRepository } from './shared-workflow.repository';
|
||||
export { SharedCredentialsRepository } from './shared-credentials.repository';
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import { SharedCredentials } from '@n8n/db';
|
||||
import type { Project } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import type { CredentialSharingRole, ProjectRole } from '@n8n/permissions';
|
||||
import type { EntityManager, FindOptionsWhere } from '@n8n/typeorm';
|
||||
import { DataSource, In, Not, Repository } from '@n8n/typeorm';
|
||||
|
||||
import type { Project } from '../entities';
|
||||
import { SharedCredentials } from '../entities';
|
||||
|
||||
@Service()
|
||||
export class SharedCredentialsRepository extends Repository<SharedCredentials> {
|
||||
constructor(dataSource: DataSource) {
|
||||
@@ -1,10 +1,11 @@
|
||||
import { SharedWorkflow } from '@n8n/db';
|
||||
import type { Project } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import type { WorkflowSharingRole } from '@n8n/permissions';
|
||||
import { DataSource, Repository, In, Not } from '@n8n/typeorm';
|
||||
import type { EntityManager, FindManyOptions, FindOptionsWhere } from '@n8n/typeorm';
|
||||
|
||||
import type { Project } from '../entities';
|
||||
import { SharedWorkflow } from '../entities';
|
||||
|
||||
@Service()
|
||||
export class SharedWorkflowRepository extends Repository<SharedWorkflow> {
|
||||
constructor(dataSource: DataSource) {
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { WorkflowEntity } from '@n8n/db';
|
||||
import { generateNanoId, ProjectRepository } from '@n8n/db';
|
||||
import { generateNanoId, ProjectRepository, SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { Flags } from '@oclif/core';
|
||||
import glob from 'fast-glob';
|
||||
@@ -8,7 +8,6 @@ import type { IWorkflowBase, WorkflowId } from 'n8n-workflow';
|
||||
import { jsonParse, UserError } from 'n8n-workflow';
|
||||
|
||||
import { UM_FIX_INSTRUCTION } from '@/constants';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { UserRepository } from '@/databases/repositories/user.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import type { IWorkflowToImport } from '@/interfaces';
|
||||
|
||||
@@ -3,6 +3,8 @@ import {
|
||||
AuthProviderSyncHistoryRepository,
|
||||
ProjectRelationRepository,
|
||||
ProjectRepository,
|
||||
SharedCredentialsRepository,
|
||||
SharedWorkflowRepository,
|
||||
} from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
@@ -13,8 +15,6 @@ import { UserError } from 'n8n-workflow';
|
||||
import { UM_FIX_INSTRUCTION } from '@/constants';
|
||||
import { CredentialsService } from '@/credentials/credentials.service';
|
||||
import { SettingsRepository } from '@/databases/repositories/settings.repository';
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { UserRepository } from '@/databases/repositories/user.repository';
|
||||
import { LDAP_DEFAULT_CONFIGURATION, LDAP_FEATURE_NAME } from '@/ldap.ee/constants';
|
||||
import { WorkflowService } from '@/workflows/workflow.service';
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
import type { CredentialsEntity } from '@n8n/db';
|
||||
import { User, CredentialsRepository, ProjectRepository } from '@n8n/db';
|
||||
import {
|
||||
User,
|
||||
CredentialsRepository,
|
||||
ProjectRepository,
|
||||
SharedCredentialsRepository,
|
||||
SharedWorkflowRepository,
|
||||
} from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
|
||||
import { SettingsRepository } from '@/databases/repositories/settings.repository';
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { UserRepository } from '@/databases/repositories/user.repository';
|
||||
|
||||
import { BaseCommand } from '../base-command';
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
import { RoleChangeRequestDto, SettingsUpdateRequestDto } from '@n8n/api-types';
|
||||
import type { PublicUser } from '@n8n/db';
|
||||
import { Project, User, AuthIdentity, ProjectRepository } from '@n8n/db';
|
||||
import {
|
||||
Project,
|
||||
User,
|
||||
AuthIdentity,
|
||||
ProjectRepository,
|
||||
SharedCredentialsRepository,
|
||||
SharedWorkflowRepository,
|
||||
} from '@n8n/db';
|
||||
import {
|
||||
GlobalScope,
|
||||
Delete,
|
||||
@@ -16,8 +23,6 @@ import { Logger } from 'n8n-core';
|
||||
|
||||
import { AuthService } from '@/auth/auth.service';
|
||||
import { CredentialsService } from '@/credentials/credentials.service';
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { UserRepository } from '@/databases/repositories/user.repository';
|
||||
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
|
||||
import { ForbiddenError } from '@/errors/response-errors/forbidden.error';
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
||||
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
||||
import type { CredentialsEntity, ICredentialsDb } from '@n8n/db';
|
||||
import { CredentialsRepository } from '@n8n/db';
|
||||
import { CredentialsRepository, SharedCredentialsRepository } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
import { In } from '@n8n/typeorm';
|
||||
@@ -32,7 +32,6 @@ import { ICredentialsHelper, NodeHelpers, Workflow, UnexpectedError } from 'n8n-
|
||||
|
||||
import { CredentialTypes } from '@/credential-types';
|
||||
import { CredentialsOverwrites } from '@/credentials-overwrites';
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
|
||||
import { RESPONSE_ERROR_MESSAGES } from './constants';
|
||||
import { CredentialNotFoundError } from './errors/credential-not-found.error';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
|
||||
import { createRawProjectData } from '@/__tests__/project.test-data';
|
||||
import type { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import type { EventService } from '@/events/event.service';
|
||||
import type { AuthenticatedRequest } from '@/requests';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { CredentialsEntity, SharedCredentials, User } from '@n8n/db';
|
||||
import { CredentialsRepository } from '@n8n/db';
|
||||
import { CredentialsRepository, SharedCredentialsRepository } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { hasGlobalScope, rolesWithScope } from '@n8n/permissions';
|
||||
import type { CredentialSharingRole, ProjectRole, Scope } from '@n8n/permissions';
|
||||
@@ -8,8 +8,6 @@ import type { EntityManager, FindOptionsWhere } from '@n8n/typeorm';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
import { In } from '@n8n/typeorm';
|
||||
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
|
||||
@Service()
|
||||
export class CredentialsFinderService {
|
||||
constructor(
|
||||
|
||||
@@ -5,7 +5,7 @@ import {
|
||||
GenerateCredentialNameRequestQuery,
|
||||
} from '@n8n/api-types';
|
||||
import { GlobalConfig } from '@n8n/config';
|
||||
import { SharedCredentials, ProjectRelationRepository } from '@n8n/db';
|
||||
import { SharedCredentials, ProjectRelationRepository, SharedCredentialsRepository } from '@n8n/db';
|
||||
import {
|
||||
Delete,
|
||||
Get,
|
||||
@@ -26,7 +26,6 @@ import { deepCopy } from 'n8n-workflow';
|
||||
import type { ICredentialDataDecryptedObject } from 'n8n-workflow';
|
||||
import { z } from 'zod';
|
||||
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import * as Db from '@/db';
|
||||
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
|
||||
import { ForbiddenError } from '@/errors/response-errors/forbidden.error';
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import { Project, SharedCredentials } from '@n8n/db';
|
||||
import type { CredentialsEntity, User } from '@n8n/db';
|
||||
import { Project, SharedCredentials, SharedCredentialsRepository } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { hasGlobalScope, rolesWithScope } from '@n8n/permissions';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
import { In, type EntityManager } from '@n8n/typeorm';
|
||||
import type { ICredentialDataDecryptedObject } from 'n8n-workflow';
|
||||
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { NotFoundError } from '@/errors/response-errors/not-found.error';
|
||||
import { TransferCredentialError } from '@/errors/response-errors/transfer-credential.error';
|
||||
import { OwnershipService } from '@/services/ownership.service';
|
||||
|
||||
@@ -5,6 +5,7 @@ import {
|
||||
SharedCredentials,
|
||||
CredentialsRepository,
|
||||
ProjectRepository,
|
||||
SharedCredentialsRepository,
|
||||
} from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { hasGlobalScope, type Scope } from '@n8n/permissions';
|
||||
@@ -27,7 +28,6 @@ import { CREDENTIAL_EMPTY_VALUE, deepCopy, NodeHelpers, UnexpectedError } from '
|
||||
import { CREDENTIAL_BLANKING_VALUE } from '@/constants';
|
||||
import { CredentialTypes } from '@/credential-types';
|
||||
import { createCredentialsFromCredentialsEntity } from '@/credentials-helper';
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { UserRepository } from '@/databases/repositories/user.repository';
|
||||
import * as Db from '@/db';
|
||||
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
|
||||
|
||||
@@ -4,13 +4,13 @@ import type { SharedWorkflow } from '@n8n/db';
|
||||
import type { FolderRepository } from '@n8n/db';
|
||||
import type { TagRepository } from '@n8n/db';
|
||||
import type { WorkflowTagMappingRepository } from '@n8n/db';
|
||||
import type { SharedCredentialsRepository } from '@n8n/db';
|
||||
import type { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { mock, captor } from 'jest-mock-extended';
|
||||
import { Cipher, type InstanceSettings } from 'n8n-core';
|
||||
import fsp from 'node:fs/promises';
|
||||
|
||||
import type { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import type { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import type { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
|
||||
import type { VariablesService } from '../../variables/variables.service.ee';
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
import type { SourceControlledFile } from '@n8n/api-types';
|
||||
import type { IWorkflowDb } from '@n8n/db';
|
||||
import { FolderRepository, TagRepository, WorkflowTagMappingRepository } from '@n8n/db';
|
||||
import {
|
||||
FolderRepository,
|
||||
TagRepository,
|
||||
WorkflowTagMappingRepository,
|
||||
SharedCredentialsRepository,
|
||||
SharedWorkflowRepository,
|
||||
} from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
import { In } from '@n8n/typeorm';
|
||||
@@ -10,8 +16,6 @@ import { UnexpectedError, type ICredentialDataDecryptedObject } from 'n8n-workfl
|
||||
import { writeFile as fsWriteFile, rm as fsRm } from 'node:fs/promises';
|
||||
import path from 'path';
|
||||
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { formatWorkflow } from '@/workflows/workflow.formatter';
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ import {
|
||||
TagRepository,
|
||||
VariablesRepository,
|
||||
WorkflowTagMappingRepository,
|
||||
SharedCredentialsRepository,
|
||||
SharedWorkflowRepository,
|
||||
} from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
@@ -20,8 +22,6 @@ import path from 'path';
|
||||
|
||||
import { ActiveWorkflowManager } from '@/active-workflow-manager';
|
||||
import { CredentialsService } from '@/credentials/credentials.service';
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { UserRepository } from '@/databases/repositories/user.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import type { IWorkflowToImport } from '@/interfaces';
|
||||
|
||||
@@ -4,13 +4,13 @@ import type { WorkflowEntity } from '@n8n/db';
|
||||
import type { IWorkflowDb } from '@n8n/db';
|
||||
import type { CredentialsRepository } from '@n8n/db';
|
||||
import type { ProjectRelationRepository } from '@n8n/db';
|
||||
import type { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import { type BinaryDataConfig, InstanceSettings } from 'n8n-core';
|
||||
import type { INode, INodesGraphResult } from 'n8n-workflow';
|
||||
import { NodeApiError, TelemetryHelpers, type IRun, type IWorkflowBase } from 'n8n-workflow';
|
||||
|
||||
import { N8N_VERSION } from '@/constants';
|
||||
import type { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import type { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { EventService } from '@/events/event.service';
|
||||
import type { RelayEventMap } from '@/events/maps/relay.event-map';
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
import { GlobalConfig } from '@n8n/config';
|
||||
import { CredentialsRepository, ProjectRelationRepository } from '@n8n/db';
|
||||
import {
|
||||
CredentialsRepository,
|
||||
ProjectRelationRepository,
|
||||
SharedWorkflowRepository,
|
||||
} from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { snakeCase } from 'change-case';
|
||||
import { BinaryDataConfig, InstanceSettings } from 'n8n-core';
|
||||
@@ -10,7 +14,6 @@ import { get as pslGet } from 'psl';
|
||||
|
||||
import config from '@/config';
|
||||
import { N8N_VERSION } from '@/constants';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { EventService } from '@/events/event.service';
|
||||
import type { RelayEventMap } from '@/events/maps/relay.event-map';
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { Project } from '@n8n/db';
|
||||
import type { User } from '@n8n/db';
|
||||
import type { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import type { INode } from 'n8n-workflow';
|
||||
|
||||
import type { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import type { OwnershipService } from '@/services/ownership.service';
|
||||
import type { ProjectService } from '@/services/project.service.ee';
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import type { Project } from '@n8n/db';
|
||||
import { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { hasGlobalScope } from '@n8n/permissions';
|
||||
import type { INode } from 'n8n-workflow';
|
||||
import { UserError } from 'n8n-workflow';
|
||||
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { OwnershipService } from '@/services/ownership.service';
|
||||
import { ProjectService } from '@/services/project.service.ee';
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import type { Project } from '@n8n/db';
|
||||
import type { WorkflowEntity } from '@n8n/db';
|
||||
import type { IWorkflowDb } from '@n8n/db';
|
||||
import type { SharedWorkflowRepository } from '@n8n/db';
|
||||
import type { WorkflowExecuteAfterContext } from '@n8n/decorators';
|
||||
import { Container } from '@n8n/di';
|
||||
import { In } from '@n8n/typeorm';
|
||||
@@ -13,7 +14,6 @@ import {
|
||||
type WorkflowExecuteMode,
|
||||
} from 'n8n-workflow';
|
||||
|
||||
import type { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import type { TypeUnit } from '@/modules/insights/database/entities/insights-shared';
|
||||
import { InsightsMetadataRepository } from '@/modules/insights/database/repositories/insights-metadata.repository';
|
||||
import { InsightsRawRepository } from '@/modules/insights/database/repositories/insights-raw.repository';
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import type { WorkflowEntity } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import type { DateTime } from 'luxon';
|
||||
import type { IWorkflowBase } from 'n8n-workflow';
|
||||
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
|
||||
import { InsightsByPeriodRepository } from '../../repositories/insights-by-period.repository';
|
||||
import { InsightsMetadataRepository } from '../../repositories/insights-metadata.repository';
|
||||
import { InsightsRawRepository } from '../../repositories/insights-raw.repository';
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { OnLifecycleEvent, type WorkflowExecuteAfterContext } from '@n8n/decorators';
|
||||
import { Service } from '@n8n/di';
|
||||
import { In } from '@n8n/typeorm';
|
||||
@@ -5,7 +6,6 @@ import { DateTime } from 'luxon';
|
||||
import { Logger } from 'n8n-core';
|
||||
import { UnexpectedError, type ExecutionStatus, type WorkflowExecuteMode } from 'n8n-workflow';
|
||||
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { InsightsMetadata } from '@/modules/insights/database/entities/insights-metadata';
|
||||
import { InsightsRaw } from '@/modules/insights/database/entities/insights-raw';
|
||||
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
import type { User } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { ProjectRepository, SharedCredentialsRepository, SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { hasGlobalScope, rolesWithScope, type Scope } from '@n8n/permissions';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
import { In } from '@n8n/typeorm';
|
||||
import { UnexpectedError } from 'n8n-workflow';
|
||||
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
|
||||
/**
|
||||
* Check if a user has the required scopes. The check can be:
|
||||
*
|
||||
|
||||
@@ -4,6 +4,7 @@ import {
|
||||
SharedCredentials,
|
||||
CredentialsRepository,
|
||||
ProjectRepository,
|
||||
SharedCredentialsRepository,
|
||||
} from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { Credentials } from 'n8n-core';
|
||||
@@ -14,7 +15,6 @@ import type {
|
||||
INodePropertyOptions,
|
||||
} from 'n8n-workflow';
|
||||
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import * as Db from '@/db';
|
||||
import { EventService } from '@/events/event.service';
|
||||
import { ExternalHooks } from '@/external-hooks';
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
import { GlobalConfig } from '@n8n/config';
|
||||
import type { Project, User } from '@n8n/db';
|
||||
import { WorkflowEntity, WorkflowTagMapping, SharedWorkflow, TagRepository } from '@n8n/db';
|
||||
import {
|
||||
WorkflowEntity,
|
||||
WorkflowTagMapping,
|
||||
SharedWorkflow,
|
||||
TagRepository,
|
||||
SharedWorkflowRepository,
|
||||
} from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import type { Scope, WorkflowSharingRole } from '@n8n/permissions';
|
||||
import type { WorkflowId } from 'n8n-workflow';
|
||||
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import * as Db from '@/db';
|
||||
import { License } from '@/license';
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { User } from '@n8n/db';
|
||||
import { WorkflowEntity } from '@n8n/db';
|
||||
import type { User } from '@n8n/db';
|
||||
import type { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
|
||||
import type { ActivationErrorsService } from '@/activation-errors.service';
|
||||
import type { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import type { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
|
||||
import { ActiveWorkflowsService } from '@/services/active-workflows.service';
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import type { SharedCredentials } from '@n8n/db';
|
||||
import { Project, SharedWorkflow, User, WorkflowEntity, ProjectRelation } from '@n8n/db';
|
||||
import { ProjectRelationRepository } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { UserRepository } from '@/databases/repositories/user.repository';
|
||||
import { OwnershipService } from '@/services/ownership.service';
|
||||
import { mockCredential, mockProject } from '@test/mock-objects';
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import type { User } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { hasGlobalScope } from '@n8n/permissions';
|
||||
import { Logger } from 'n8n-core';
|
||||
|
||||
import { ActivationErrorsService } from '@/activation-errors.service';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
|
||||
import { WorkflowFinderService } from '@/workflows/workflow-finder.service';
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import type { Project, User, ListQueryDb } from '@n8n/db';
|
||||
import { ProjectRelationRepository, ProjectRepository } from '@n8n/db';
|
||||
import { ProjectRelationRepository, ProjectRepository, SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { UserRepository } from '@/databases/repositories/user.repository';
|
||||
import { CacheService } from '@/services/cache/cache.service';
|
||||
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
import type { CreateProjectDto, ProjectType, UpdateProjectDto } from '@n8n/api-types';
|
||||
import { UNLIMITED_LICENSE_QUOTA } from '@n8n/constants';
|
||||
import type { User } from '@n8n/db';
|
||||
import { Project, ProjectRelation, ProjectRelationRepository, ProjectRepository } from '@n8n/db';
|
||||
import {
|
||||
Project,
|
||||
ProjectRelation,
|
||||
ProjectRelationRepository,
|
||||
ProjectRepository,
|
||||
SharedCredentialsRepository,
|
||||
SharedWorkflowRepository,
|
||||
} from '@n8n/db';
|
||||
import { Container, Service } from '@n8n/di';
|
||||
import { hasGlobalScope, rolesWithScope, type Scope, type ProjectRole } from '@n8n/permissions';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
@@ -10,8 +17,6 @@ import type { FindOptionsWhere, EntityManager } from '@n8n/typeorm';
|
||||
import { In, Not } from '@n8n/typeorm';
|
||||
import { UserError } from 'n8n-workflow';
|
||||
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
|
||||
import { ForbiddenError } from '@/errors/response-errors/forbidden.error';
|
||||
import { NotFoundError } from '@/errors/response-errors/not-found.error';
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { SharedWorkflow, User } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import { hasGlobalScope, rolesWithScope, type Scope } from '@n8n/permissions';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
@@ -6,8 +7,6 @@ import type { EntityManager, FindOptionsWhere } from '@n8n/typeorm';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
import { In } from '@n8n/typeorm';
|
||||
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
|
||||
@Service()
|
||||
export class WorkflowFinderService {
|
||||
constructor(private readonly sharedWorkflowRepository: SharedWorkflowRepository) {}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { ProjectRelationRepository } from '@n8n/db';
|
||||
import type { User } from '@n8n/db';
|
||||
import { ProjectRelationRepository, SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import {
|
||||
hasGlobalScope,
|
||||
@@ -11,7 +11,6 @@ import {
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
import { In } from '@n8n/typeorm';
|
||||
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { RoleService } from '@/services/role.service';
|
||||
|
||||
export type ShareWorkflowOptions =
|
||||
|
||||
@@ -5,7 +5,14 @@ import type {
|
||||
WorkflowWithSharingsAndCredentials,
|
||||
WorkflowWithSharingsMetaDataAndCredentials,
|
||||
} from '@n8n/db';
|
||||
import { Folder, Project, SharedWorkflow, CredentialsRepository, FolderRepository } from '@n8n/db';
|
||||
import {
|
||||
Folder,
|
||||
Project,
|
||||
SharedWorkflow,
|
||||
CredentialsRepository,
|
||||
FolderRepository,
|
||||
SharedWorkflowRepository,
|
||||
} from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
import { In, type EntityManager } from '@n8n/typeorm';
|
||||
@@ -18,7 +25,6 @@ import { ActiveWorkflowManager } from '@/active-workflow-manager';
|
||||
import { CredentialsFinderService } from '@/credentials/credentials-finder.service';
|
||||
import { CredentialsService } from '@/credentials/credentials.service';
|
||||
import { EnterpriseCredentialsService } from '@/credentials/credentials.service.ee';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
|
||||
import { NotFoundError } from '@/errors/response-errors/not-found.error';
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { GlobalConfig } from '@n8n/config';
|
||||
import type { User, WorkflowEntity, ListQueryDb } from '@n8n/db';
|
||||
import { SharedWorkflow, ExecutionRepository, WorkflowTagMappingRepository } from '@n8n/db';
|
||||
import {
|
||||
SharedWorkflow,
|
||||
ExecutionRepository,
|
||||
WorkflowTagMappingRepository,
|
||||
SharedWorkflowRepository,
|
||||
} from '@n8n/db';
|
||||
import { Service } from '@n8n/di';
|
||||
import type { Scope } from '@n8n/permissions';
|
||||
// eslint-disable-next-line n8n-local-rules/misplaced-n8n-typeorm-import
|
||||
@@ -16,7 +21,6 @@ import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { ActiveWorkflowManager } from '@/active-workflow-manager';
|
||||
import config from '@/config';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import type { WorkflowFolderUnionFull } from '@/databases/repositories/workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
|
||||
|
||||
@@ -11,6 +11,7 @@ import {
|
||||
ProjectRelationRepository,
|
||||
ProjectRepository,
|
||||
TagRepository,
|
||||
SharedWorkflowRepository,
|
||||
} from '@n8n/db';
|
||||
import {
|
||||
Body,
|
||||
@@ -33,7 +34,6 @@ import { Logger } from 'n8n-core';
|
||||
import { UnexpectedError } from 'n8n-workflow';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import * as Db from '@/db';
|
||||
import { BadRequestError } from '@/errors/response-errors/bad-request.error';
|
||||
|
||||
@@ -2,13 +2,13 @@ import type { Project } from '@n8n/db';
|
||||
import type { User } from '@n8n/db';
|
||||
import { CredentialsRepository } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { randomUUID } from 'crypto';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import { OPEN_AI_API_CREDENTIAL_TYPE } from 'n8n-workflow';
|
||||
|
||||
import { FREE_AI_CREDITS_CREDENTIAL_NAME } from '@/constants';
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { UserRepository } from '@/databases/repositories/user.repository';
|
||||
import { AiService } from '@/services/ai.service';
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { CredentialsRepository } from '@n8n/db';
|
||||
import { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { EntityNotFoundError } from '@n8n/typeorm';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { Reset } from '@/commands/ldap/reset';
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { getLdapSynchronizations, saveLdapSynchronization } from '@/ldap.ee/helpers.ee';
|
||||
import { LdapService } from '@/ldap.ee/ldap.service.ee';
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { CredentialsEntity } from '@n8n/db';
|
||||
import { CredentialsRepository } from '@n8n/db';
|
||||
import { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
|
||||
import { Reset } from '@/commands/user-management/reset';
|
||||
import { SettingsRepository } from '@/databases/repositories/settings.repository';
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { UserRepository } from '@/databases/repositories/user.repository';
|
||||
import { LoadNodesAndCredentials } from '@/load-nodes-and-credentials';
|
||||
import { NodeTypes } from '@/node-types';
|
||||
|
||||
@@ -2,13 +2,13 @@ import type { Project } from '@n8n/db';
|
||||
import type { User } from '@n8n/db';
|
||||
import type { ListQueryDb } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import type { ProjectRole } from '@n8n/permissions';
|
||||
import { In } from '@n8n/typeorm';
|
||||
|
||||
import config from '@/config';
|
||||
import { CredentialsService } from '@/credentials/credentials.service';
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { ProjectService } from '@/services/project.service.ee';
|
||||
import { UserManagementMailer } from '@/user-management/email';
|
||||
import { createWorkflow, shareWorkflowWithUsers } from '@test-integration/db/workflows';
|
||||
|
||||
@@ -4,6 +4,7 @@ import type { User } from '@n8n/db';
|
||||
import type { ListQueryDb } from '@n8n/db';
|
||||
import { CredentialsRepository } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import type { Scope } from '@sentry/node';
|
||||
import * as a from 'assert';
|
||||
@@ -14,7 +15,6 @@ import { randomString } from 'n8n-workflow';
|
||||
|
||||
import { CREDENTIAL_BLANKING_VALUE } from '@/constants';
|
||||
import { CredentialsService } from '@/credentials/credentials.service';
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { CredentialsTester } from '@/services/credentials-tester.service';
|
||||
|
||||
import {
|
||||
|
||||
@@ -2,6 +2,7 @@ import type { SourceControlledFile } from '@n8n/api-types';
|
||||
import { CredentialsRepository } from '@n8n/db';
|
||||
import { FolderRepository } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import { Cipher } from 'n8n-core';
|
||||
@@ -10,7 +11,6 @@ import * as utils from 'n8n-workflow';
|
||||
import { nanoid } from 'nanoid';
|
||||
import fsp from 'node:fs/promises';
|
||||
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { UserRepository } from '@/databases/repositories/user.repository';
|
||||
import { SourceControlImportService } from '@/environments.ee/source-control/source-control-import.service.ee';
|
||||
import type { ExportableCredential } from '@/environments.ee/source-control/types/exportable-credential';
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import type { Project } from '@n8n/db';
|
||||
import type { User } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import type { INode, IWorkflowBase } from 'n8n-workflow';
|
||||
import { randomInt } from 'n8n-workflow';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { CredentialsPermissionChecker } from '@/executions/pre-execution-checks';
|
||||
import { LoadNodesAndCredentials } from '@/load-nodes-and-credentials';
|
||||
|
||||
@@ -3,12 +3,12 @@ import type { User } from '@n8n/db';
|
||||
import { TagEntity } from '@n8n/db';
|
||||
import { CredentialsRepository } from '@n8n/db';
|
||||
import { TagRepository } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
import type { INode } from 'n8n-workflow';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { ImportService } from '@/services/import.service';
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@ import type { Project } from '@n8n/db';
|
||||
import { FolderRepository } from '@n8n/db';
|
||||
import { ProjectRelationRepository } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { getRoleScopes, type GlobalRole, type ProjectRole, type Scope } from '@n8n/permissions';
|
||||
import { EntityNotFoundError } from '@n8n/typeorm';
|
||||
|
||||
import { ActiveWorkflowManager } from '@/active-workflow-manager';
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { getWorkflowById } from '@/public-api/v1/handlers/workflows/workflows.service';
|
||||
import { CacheService } from '@/services/cache/cache.service';
|
||||
import { createFolder } from '@test-integration/db/folders';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { ProjectService } from '@/services/project.service.ee';
|
||||
|
||||
import { linkUserToProject, createTeamProject } from './shared/db/projects';
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { User } from '@n8n/db';
|
||||
import { CredentialsRepository } from '@n8n/db';
|
||||
import { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { randomString } from 'n8n-workflow';
|
||||
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { createTeamProject } from '@test-integration/db/projects';
|
||||
|
||||
import {
|
||||
|
||||
@@ -3,12 +3,12 @@ import { ApiKeyRepository } from '@n8n/db';
|
||||
import { CredentialsRepository } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { TagRepository } from '@n8n/db';
|
||||
import { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { randomString } from 'n8n-workflow';
|
||||
import validator from 'validator';
|
||||
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { getOwnerOnlyApiKeyScopes } from '@/public-api/permissions.ee';
|
||||
import { affixRoleToSaveCredential, createCredentials } from '@test-integration/db/credentials';
|
||||
import { createErrorExecution, createSuccessfulExecution } from '@test-integration/db/executions';
|
||||
|
||||
@@ -4,13 +4,13 @@ import type { TagEntity } from '@n8n/db';
|
||||
import type { User } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { WorkflowHistoryRepository } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { InstanceSettings } from 'n8n-core';
|
||||
import type { INode } from 'n8n-workflow';
|
||||
|
||||
import { ActiveWorkflowManager } from '@/active-workflow-manager';
|
||||
import { STARTING_NODES } from '@/constants';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { ExecutionService } from '@/executions/execution.service';
|
||||
import { ProjectService } from '@/services/project.service.ee';
|
||||
import { Telemetry } from '@/telemetry';
|
||||
|
||||
@@ -4,11 +4,10 @@ import type { ICredentialsDb } from '@n8n/db';
|
||||
import { CredentialsEntity } from '@n8n/db';
|
||||
import { CredentialsRepository } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import type { CredentialSharingRole } from '@n8n/permissions';
|
||||
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
|
||||
import type { CredentialPayload } from '../types';
|
||||
|
||||
export async function encryptCredentialData(
|
||||
|
||||
@@ -3,6 +3,7 @@ import type { IWorkflowDb } from '@n8n/db';
|
||||
import { Project } from '@n8n/db';
|
||||
import { User } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import type { WorkflowSharingRole } from '@n8n/permissions';
|
||||
import type { DeepPartial } from '@n8n/typeorm';
|
||||
@@ -10,7 +11,6 @@ import type { IWorkflowBase } from 'n8n-workflow';
|
||||
import { NodeConnectionTypes } from 'n8n-workflow';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
|
||||
export async function createManyWorkflows(
|
||||
|
||||
@@ -2,13 +2,13 @@ import type { User } from '@n8n/db';
|
||||
import { FolderRepository } from '@n8n/db';
|
||||
import { ProjectRelationRepository } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { SharedCredentialsRepository } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { RESPONSE_ERROR_MESSAGES } from '@/constants';
|
||||
import { UsersController } from '@/controllers/users.controller';
|
||||
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { UserRepository } from '@/databases/repositories/user.repository';
|
||||
import { ExecutionService } from '@/executions/execution.service';
|
||||
import { CacheService } from '@/services/cache/cache.service';
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { CredentialsEntity } from '@n8n/db';
|
||||
import { CredentialsRepository } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { Telemetry } from '@/telemetry';
|
||||
import { EnterpriseWorkflowService } from '@/workflows/workflow.service.ee';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import { mock } from 'jest-mock-extended';
|
||||
|
||||
import { ActiveWorkflowManager } from '@/active-workflow-manager';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { MessageEventBus } from '@/eventbus/message-event-bus/message-event-bus';
|
||||
import { Telemetry } from '@/telemetry';
|
||||
|
||||
@@ -3,6 +3,7 @@ import type { User } from '@n8n/db';
|
||||
import type { WorkflowWithSharingsMetaDataAndCredentials } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { WorkflowHistoryRepository } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import type { ProjectRole } from '@n8n/permissions';
|
||||
import { ApplicationError, WorkflowActivationError, type INode } from 'n8n-workflow';
|
||||
@@ -10,7 +11,6 @@ import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { ActiveWorkflowManager } from '@/active-workflow-manager';
|
||||
import config from '@/config';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { UserManagementMailer } from '@/user-management/email';
|
||||
import { mockInstance } from '@test/mocking';
|
||||
|
||||
@@ -2,6 +2,7 @@ import type { User } from '@n8n/db';
|
||||
import type { ListQueryDb } from '@n8n/db';
|
||||
import { ProjectRepository } from '@n8n/db';
|
||||
import { WorkflowHistoryRepository } from '@n8n/db';
|
||||
import { SharedWorkflowRepository } from '@n8n/db';
|
||||
import { Container } from '@n8n/di';
|
||||
import type { Scope } from '@n8n/permissions';
|
||||
import { DateTime } from 'luxon';
|
||||
@@ -9,7 +10,6 @@ import { PROJECT_ROOT, type INode, type IPinData, type IWorkflowBase } from 'n8n
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import { ActiveWorkflowManager } from '@/active-workflow-manager';
|
||||
import { SharedWorkflowRepository } from '@/databases/repositories/shared-workflow.repository';
|
||||
import type { WorkflowFolderUnionFull } from '@/databases/repositories/workflow.repository';
|
||||
import { WorkflowRepository } from '@/databases/repositories/workflow.repository';
|
||||
import { License } from '@/license';
|
||||
|
||||
Reference in New Issue
Block a user