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