Skip to content

v3.4.1

Choose a tag to compare

@github-actions github-actions released this 19 Sep 15:27
· 4 commits to main since this release

🚀 Archbase Framework v3.4.1

archbase 3.4.1 — o filtro de empresa passa a ser opcional

Patch de uma correção só. Aplicações sem CompanyPersistenceEntityBase podem usar
X-COMPANY-ID.
Onde o filtro existe, nada muda. Nenhuma mudança de API pública.

X-COMPANY-ID derrubava toda requisição com 401. O ArchbaseTenantServiceAspect
liga o companyFilter do Hibernate em toda chamada de repositório com empresa no
contexto, mas o filtro só é declarado em CompanyPersistenceEntityBase. Sem entidade
que estenda essa base, ele não existe na SessionFactory e enableFilter lançava
UnknownFilterException — dentro do filtro JWT, na busca do usuário. Token válido,
resposta 401. Reproduzido no VendaX B2B.

O aspecto agora confere getDefinedFilterNames() antes de ligar. Sem o filtro,
registra em debug e segue; a empresa continua no ArchbaseTenantContext para a
aplicação decidir a empresa ativa por conta própria.

O filtro segue sem ser desligado ao fim da chamada, de propósito: desligar no
finally deixaria consultas posteriores na mesma sessão sem filtro. O parâmetro é
reescrito a cada chamada, então troca de empresa é respeitada.

ArchbaseTenantServiceAspectTest roda contra uma SessionFactory real (H2), com e
sem entidade de empresa. Sem a guarda, o caso sem entidade falha com a mesma
UnknownFilterException do relato.

Instalação

<dependency>
    <groupId>br.com.archbase</groupId>
    <artifactId>archbase-starter</artifactId>
    <version>3.4.1</version>
</dependency>

Documentação

https://java.archbase.dev

Full Changelog: v3.4.0...v3.4.1