Skip to content

considering tiny product price list#689

Merged
leomp12 merged 5 commits intomainfrom
tiny-price-list
Feb 6, 2026
Merged

considering tiny product price list#689
leomp12 merged 5 commits intomainfrom
tiny-price-list

Conversation

@vitorrgg
Copy link
Member

@vitorrgg vitorrgg commented Feb 5, 2026

No description provided.

Copy link
Member

@leomp12 leomp12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tem que resolver os conflitos do PR (branch muito antigo?)

Além disso @claude revise por favor, seja sucinto

@leomp12
Copy link
Member

leomp12 commented Feb 5, 2026

@claude ?

@claude
Copy link

claude bot commented Feb 5, 2026

Claude finished @leomp12's task in 1m 6s —— View job


Revisão do PR

Tarefas:

  • Verificar conflitos de merge
  • Ler arquivos modificados
  • Analisar alterações no código
  • Fornecer feedback da revisão

Conflitos

✅ Branch precisa ser atualizada com main (sem merge base encontrado). Resolver conflitos antes de merge.

Resumo das Mudanças

Adiciona suporte para lista de preços do Tiny ERP via variável de ambiente TINY_PRICE_LIST_ID:

  • Nova função getPriceListData() consulta exceções de preços
  • Parser usa preços da lista quando disponíveis
  • Correções de segurança em after-tiny-queue.ts

Problemas Identificados

1. Bug: Parâmetro errado no parseProduct import-product-from-tiny.ts:117

return parseProduct(tinyProduct, appData, tipo, true)

Falta o parâmetro priceListData quando canCreateNew && tipo === 'produto'. Deveria buscar preços antes:

const priceListData = await getPriceListData(tinyProduct.id);
return parseProduct(tinyProduct, appData, tipo, true, priceListData)

2. Lógica de preços pode confundir product-from-tiny.ts:105-108

Ordem de precedência dos preços:

  1. listPromoPrice (lista)
  2. preco_promocional (produto)
  3. basePrice (lista ou produto)

Problema: Se lista tem preco mas não preco_promocional, e produto tem preco_promocional, o promocional do produto é ignorado. Considerar se isso é intencional.

3. Correções em after-tiny-queue.ts são boas

let queueList = appData[action] && appData[action][queue];
...(appData[action] || {})

Previne TypeError quando appData[action] é undefined.

Sugestões

  • Corrigir linha 117 - adicionar getPriceListData() antes do parseProduct
  • Validar lógica de precedência de preços
  • Adicionar testes para novos cenários de preços

Veredicto

⚠️ Aprovar com ressalvas - Corrigir bug na linha 117 antes do merge.


Branch: tiny-price-list |

@leomp12
Copy link
Member

leomp12 commented Feb 5, 2026

@claude resovi os conflitos, revise novamente, seja sucinto.

@claude
Copy link

claude bot commented Feb 5, 2026

Claude finished @leomp12's task in 40s —— View job


Revisão do PR

Tarefas:

  • Ler arquivos modificados
  • Verificar correção do bug linha 117
  • Analisar lógica de preços
  • Fornecer feedback final

Resultado

⚠️ Bug permanece na linha 142 - import-product-from-tiny.ts:142

Quando canCreateNew && tipo === 'produto', o código chama:

return parseProduct(tinyProduct, appData, tipo, true)

Falta o parâmetro priceListData. Deveria buscar os preços da lista antes:

const priceListData = await getPriceListData(tinyProduct.id);
return parseProduct(tinyProduct, appData, tipo, true, priceListData)

Lógica de preços (product-from-tiny.ts:141-146) está correta:

  • Prioridade: lista promocional > produto promocional > preço base
  • basePrice: usa lista ou produto
  • price: usa promocional da lista, senão promocional do produto, senão base

Ação necessária

Corrigir linha 142 →


Branch: tiny-price-list |

@leomp12
Copy link
Member

leomp12 commented Feb 6, 2026

Verifique novamente @claude

@claude
Copy link

claude bot commented Feb 6, 2026

Claude finished @leomp12's task in 50s —— View job


Revisão do PR

Tarefas:

  • Ler arquivos modificados
  • Verificar correção do bug linha 142
  • Analisar lógica geral
  • Fornecer feedback

Resultado

Bug corrigido - import-product-from-tiny.ts:141-142

O bug reportado nas revisões anteriores foi corrigido:

return getPriceListData(tinyProduct.id)
  .then((priceListData) => parseProduct(tinyProduct, appData, tipo, true, priceListData))

Agora quando canCreateNew && tipo === 'produto', o código:

  1. Busca priceListData via getPriceListData()
  2. Passa o resultado como 5º parâmetro do parseProduct()

Lógica de preços - product-from-tiny.ts:141-146

Precedência correta:

  • basePrice: lista ou produto
  • price: promocional da lista → promocional do produto → base

Outras linhas - import-product-from-tiny.ts:164-172

Linha 164 também busca priceListData corretamente antes de chamar parseProduct().

Veredicto

Aprovado - Todas as correções implementadas.


Branch: tiny-price-list |

leomp12
leomp12 previously approved these changes Feb 6, 2026
@leomp12 leomp12 merged commit 84ea061 into main Feb 6, 2026
2 of 3 checks passed
@leomp12 leomp12 deleted the tiny-price-list branch February 6, 2026 05:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants