[CAROL APP] mdmField global gera erros de instalação mesmo em tenants sem ES

Description

Descrição Inicial Issue


Um Carol App definiu o campo month de um datamodel como date, porém outro Carol App definiu o mesmo campo com type long , o que gera o erro abaixo na instalação do segundo app na mesma tenant.

Error: Field: month already exists with the type date, trying to use longError restoring hrplatformpayment
curl -X 'GET' \  'https://totvstechfin.carol.ai/api/v4/admin/fields/0bf8574ba0e2416893e39e3334e48d89' \  -H 'accept: application/json' \  -H 'Authorization: Bearer xxx'

https://totvstechfin.carol.ai/tenant2205584387d446429e82456a69475188/carol-ui/tasks/activity/34c53862-cb98-42e4-bb02-7db3e1dad4dd

https://cloudlogging.app.goo.gl/FsWJssbPq2iFthCXA

tenantid: 8d70555e8eb6437eb6ef05573fa8097f

O cenário é uma dependência antiga do ES onde apenas um Field era suportado por ambiente, com seu respectivo type. Porém, agora com a utilização do BigQuery, campos com mesmo nome podem ter tipos diferentes quando estão em tabelas diferentes. Ou seja, tenants que não usam o storage type RT, não precisam ter essa limitação.

Na issue

foram tratados os casos de forma paliativa (remoção da entidade no ES).

Critério de Aceite


  • Permitir ao Tenant Admin remover atributos globais de uma tenant.

  • O atributo global deve respeitar algumas condições:

    • Não existir o MAPPING no ES, para evitar ser adicionado novamente com outro tipo. Data Model sem RT habilitado.

    • Não deve estar em uso por nenhum DM ou STG.

    • Endpoint disponível para Tenant Admin (impacto baixo, apenas na tenant).