refactor(core): Use injectable classes for db repositories (part-1) (no-changelog) (#5953)

Co-authored-by: ricardo <ricardoespinoza105@gmail.com>
This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2023-04-12 10:59:14 +02:00
committed by GitHub
parent 323e26acfd
commit 10f8c35dbb
67 changed files with 557 additions and 270 deletions

View File

@@ -1,5 +1,4 @@
import validator from 'validator';
import type { Repository } from 'typeorm';
import { In } from 'typeorm';
import type { ILogger } from 'n8n-workflow';
import { ErrorReporterProxy as ErrorReporter } from 'n8n-workflow';
@@ -23,7 +22,6 @@ import { Response } from 'express';
import type { Config } from '@/config';
import { UserRequest } from '@/requests';
import type { UserManagementMailer } from '@/UserManagement/email';
import type { Role } from '@db/entities/Role';
import type {
PublicUser,
IDatabaseCollections,
@@ -36,6 +34,12 @@ import { AuthIdentity } from '@db/entities/AuthIdentity';
import type { PostHogClient } from '@/posthog';
import { userManagementEnabledMiddleware } from '../middlewares/userManagementEnabled';
import { isSamlLicensedAndEnabled } from '../sso/saml/samlHelpers';
import type {
RoleRepository,
SharedCredentialsRepository,
SharedWorkflowRepository,
UserRepository,
} from '@db/repositories';
@RestController('/users')
export class UsersController {
@@ -47,13 +51,13 @@ export class UsersController {
private internalHooks: IInternalHooksClass;
private userRepository: Repository<User>;
private userRepository: UserRepository;
private roleRepository: Repository<Role>;
private roleRepository: RoleRepository;
private sharedCredentialsRepository: Repository<SharedCredentials>;
private sharedCredentialsRepository: SharedCredentialsRepository;
private sharedWorkflowRepository: Repository<SharedWorkflow>;
private sharedWorkflowRepository: SharedWorkflowRepository;
private activeWorkflowRunner: ActiveWorkflowRunner;
@@ -147,7 +151,7 @@ export class UsersController {
createUsers[invite.email.toLowerCase()] = null;
});
const role = await this.roleRepository.findOneBy({ scope: 'global', name: 'member' });
const role = await this.roleRepository.findGlobalMemberRole();
if (!role) {
this.logger.error(
@@ -396,8 +400,8 @@ export class UsersController {
}
const [workflowOwnerRole, credentialOwnerRole] = await Promise.all([
this.roleRepository.findOneBy({ name: 'owner', scope: 'workflow' }),
this.roleRepository.findOneBy({ name: 'owner', scope: 'credential' }),
this.roleRepository.findWorkflowOwnerRole(),
this.roleRepository.findCredentialOwnerRole(),
]);
if (transferId) {