diff --git a/app/api/externalIntegrations.v2/automaticTranslation/RequestEntityTranslation.ts b/app/api/externalIntegrations.v2/automaticTranslation/RequestEntityTranslation.ts index c613477a95..539d769a09 100644 --- a/app/api/externalIntegrations.v2/automaticTranslation/RequestEntityTranslation.ts +++ b/app/api/externalIntegrations.v2/automaticTranslation/RequestEntityTranslation.ts @@ -46,15 +46,8 @@ export class RequestEntityTranslation { async execute(entityInputModel: EntityInputModel | unknown) { this.inputValidator.ensure(entityInputModel); - const atConfig = await this.ATConfigDS.get(); - const atTemplateConfig = atConfig.templates.find( - t => t.template === entityInputModel.template?.toString() - ); - - const languageFrom = entityInputModel.language; - const languagesTo = atConfig.languages.filter( - language => language !== entityInputModel.language - ); + const entity = Entity.fromInputModel(entityInputModel); + const { atTemplateConfig, languagesTo, atConfig, languageFrom } = await this.getConfig(entity); if ( !atTemplateConfig || @@ -64,7 +57,6 @@ export class RequestEntityTranslation { return; } - const entity = Entity.fromInputModel(entityInputModel); let updatedEntities = (await this.entitiesDS.getByIds([entity.sharedId]).all()).filter( e => e.language !== languageFrom ); @@ -105,4 +97,15 @@ export class RequestEntityTranslation { }) ); } + + private async getConfig(entity: Entity) { + const atConfig = await this.ATConfigDS.get(); + const atTemplateConfig = atConfig.templates.find( + t => t.template === entity.template?.toString() + ); + + const languageFrom = entity.language; + const languagesTo = atConfig.languages.filter(language => language !== entity.language); + return { atTemplateConfig, languagesTo, atConfig, languageFrom }; + } } diff --git a/app/api/externalIntegrations.v2/automaticTranslation/adapters/driving/ATEntityCreationListener.ts b/app/api/externalIntegrations.v2/automaticTranslation/adapters/driving/ATEntityCreationListener.ts index 12d839364e..1c6873f4f1 100644 --- a/app/api/externalIntegrations.v2/automaticTranslation/adapters/driving/ATEntityCreationListener.ts +++ b/app/api/externalIntegrations.v2/automaticTranslation/adapters/driving/ATEntityCreationListener.ts @@ -1,8 +1,7 @@ +import { DefaultTransactionManager } from 'api/common.v2/database/data_source_defaults'; import { EntityCreatedEvent } from 'api/entities/events/EntityCreatedEvent'; import { EventsBus } from 'api/eventsbus'; -import { permissionsContext } from 'api/permissions/permissionsContext'; import { AutomaticTranslationFactory } from '../../AutomaticTranslationFactory'; -import { DefaultTransactionManager } from 'api/common.v2/database/data_source_defaults'; export class ATEntityCreationListener { private eventBus: EventsBus; @@ -24,7 +23,6 @@ export class ATEntityCreationListener { ).get(); if (active) { - permissionsContext.setCommandContext(); const entityFrom = event.entities.find(e => e.language === event.targetLanguageKey) || {}; entityFrom._id = entityFrom._id?.toString(); diff --git a/app/api/externalIntegrations.v2/automaticTranslation/adapters/driving/specs/ATEntityCreationListener.spec.ts b/app/api/externalIntegrations.v2/automaticTranslation/adapters/driving/specs/ATEntityCreationListener.spec.ts index 0c32c65315..c839f3bdcf 100644 --- a/app/api/externalIntegrations.v2/automaticTranslation/adapters/driving/specs/ATEntityCreationListener.spec.ts +++ b/app/api/externalIntegrations.v2/automaticTranslation/adapters/driving/specs/ATEntityCreationListener.spec.ts @@ -3,12 +3,10 @@ import { EntityCreatedEvent } from 'api/entities/events/EntityCreatedEvent'; import { EventsBus } from 'api/eventsbus'; import { AutomaticTranslationFactory } from 'api/externalIntegrations.v2/automaticTranslation/AutomaticTranslationFactory'; import { RequestEntityTranslation } from 'api/externalIntegrations.v2/automaticTranslation/RequestEntityTranslation'; -import { permissionsContext } from 'api/permissions/permissionsContext'; import { tenants } from 'api/tenants'; import { appContext } from 'api/utils/AppContext'; import { getFixturesFactory } from 'api/utils/fixturesFactory'; import { testingEnvironment } from 'api/utils/testingEnvironment'; -import { UserSchema } from 'shared/types/userType'; import { ATEntityCreationListener } from '../ATEntityCreationListener'; const factory = getFixturesFactory(); @@ -32,7 +30,6 @@ describe('ATEntityCreationListener', () => { let listener: ATEntityCreationListener; const eventBus: EventsBus = new EventsBus(); let executeSpy: jest.Mock; - let userInContext: UserSchema | undefined = {} as UserSchema; beforeEach(async () => { await testingEnvironment.setUp({ @@ -40,9 +37,7 @@ describe('ATEntityCreationListener', () => { }); await testingEnvironment.setTenant('tenant'); - executeSpy = jest.fn().mockImplementation(() => { - userInContext = permissionsContext.getUserInContext(); - }); + executeSpy = jest.fn().mockImplementation(() => {}); listener = new ATEntityCreationListener(eventBus, prepareATFactory(executeSpy)); listener.start(); @@ -88,10 +83,6 @@ describe('ATEntityCreationListener', () => { it('should execute RequestEntityTranslation on receiving entity creation event', async () => { expect(executeSpy).toHaveBeenCalledWith(entityEn); }); - - it('should execute RequestEntityTranslation with commandUser as its context user', async () => { - expect(userInContext).toBe(permissionsContext.commandUser); - }); }); }); }); diff --git a/package.json b/package.json index e746c86730..6c10d37c4c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "uwazi", - "version": "1.189.0-rc8", + "version": "1.189.0-rc9", "description": "Uwazi is a free, open-source solution for organising, analysing and publishing your documents.", "keywords": [ "react"