refactor(core): Decouple RoleService from repositories (#14944)

This commit is contained in:
Iván Ovejero
2025-04-28 13:06:34 +02:00
committed by GitHub
parent a767ce3d8e
commit b7c5521942
27 changed files with 421 additions and 315 deletions

View File

@@ -1,9 +1,9 @@
import { Container } from '@n8n/di';
import { CredentialsFinderService } from '@/credentials/credentials-finder.service';
import { CredentialsService } from '@/credentials/credentials.service';
import type { CredentialsEntity } from '@/databases/entities/credentials-entity';
import type { User } from '@/databases/entities/user';
import { SharedCredentialsRepository } from '@/databases/repositories/shared-credentials.repository';
import { createTeamProject, linkUserToProject } from '@test-integration/db/projects';
import { saveCredential, shareCredentialWithUsers } from '../shared/db/credentials';
@@ -32,9 +32,11 @@ beforeAll(async () => {
describe('credentials service', () => {
describe('replaceCredentialContentsForSharee', () => {
it('should replace the contents of the credential for sharee', async () => {
const storedCredential = await Container.get(
SharedCredentialsRepository,
).findCredentialForUser(credential.id, memberWhoDoesNotOwnCredential, ['credential:read']);
const storedCredential = await Container.get(CredentialsFinderService).findCredentialForUser(
credential.id,
memberWhoDoesNotOwnCredential,
['credential:read'],
);
const decryptedData = Container.get(CredentialsService).decrypt(storedCredential!);
@@ -64,10 +66,12 @@ describe('credentials service', () => {
});
const storedProjectCredential = await Container.get(
SharedCredentialsRepository,
CredentialsFinderService,
).findCredentialForUser(projectCredential.id, viewerMember, ['credential:read']);
const decryptedData = Container.get(CredentialsService).decrypt(storedProjectCredential!);
if (!storedProjectCredential) throw new Error('Could not find credential');
const decryptedData = Container.get(CredentialsService).decrypt(storedProjectCredential);
const mergedCredentials = {
id: projectCredential.id,
@@ -78,7 +82,7 @@ describe('credentials service', () => {
await Container.get(CredentialsService).replaceCredentialContentsForSharee(
viewerMember,
storedProjectCredential!,
storedProjectCredential,
decryptedData,
mergedCredentials,
);
@@ -95,10 +99,12 @@ describe('credentials service', () => {
});
const storedProjectCredential = await Container.get(
SharedCredentialsRepository,
CredentialsFinderService,
).findCredentialForUser(projectCredential.id, editorMember, ['credential:read']);
const decryptedData = Container.get(CredentialsService).decrypt(storedProjectCredential!);
if (!storedProjectCredential) throw new Error('Could not find credential');
const decryptedData = Container.get(CredentialsService).decrypt(storedProjectCredential);
const originalData = { accessToken: '' };
const mergedCredentials = {
@@ -110,7 +116,7 @@ describe('credentials service', () => {
await Container.get(CredentialsService).replaceCredentialContentsForSharee(
editorMember,
storedProjectCredential!,
storedProjectCredential,
decryptedData,
mergedCredentials,
);