Pular para o conteúdo principal

Impacto de Desativar / Deletar Entidades

Guia de consequências para cada tipo de entidade. Use como referência ao implementar warnings no frontend.

Regra geral

Pedidos existentes nunca são afetados por nenhuma operação de delete/inativação (design by snapshot). O risco principal está na visibilidade na loja e na falta de cascade automático.


ProductTypeAsset

Exemplo: desativar size=350ml

O que acontece:

  • Valor some das assetDefinitions na loja
  • Novos templates/variants não podem usar esse valor
  • Variants existentes continuam ativas — não são desativadas automaticamente
Mensagem para o frontend

"Desativar este asset irá removê-lo das opções visíveis na loja. Variantes e templates existentes que usam este valor continuarão funcionando, mas não poderão ser recriados."


ProductTypeOption / OptionValue

Exemplo: desativar color ou color=black

AçãoEfeito
Inativar optionTodas as values desaparecem. Seletor some do frontend.
Inativar valueApenas aquele valor some (ex: "Preto" desaparece, "Branco" continua).

Impacto downstream:

  • allowedOptions nos SellerProducts não é limpo automaticamente
  • Templates com essa option continuam no banco mas não aparecem na loja
  • Renders existentes permanecem, mas cliente não consegue visualizar a opção
Mensagem para o frontend

"Desativar esta opção irá removê-la do seletor na loja. Renders e variantes existentes não são apagados, mas clientes não poderão selecionar esta opção em novas compras."


ProductVariant

Exemplo: desativar a variant 350ml + glossy

O que acontece:

  • SKU é liberado (sku = null) para reuso
  • Variant some das listagens do catálogo admin
  • SellerProductVariant que referencia esta variant continua ativa — não é desativada automaticamente
  • Sellers continuam vendendo com o preço antigo
Mensagem para o frontend

"Desativar esta variante do catálogo não desativa automaticamente os SKUs dos sellers que a utilizam. Os sellers continuarão vendendo até que suas variantes sejam desativadas manualmente. Considere notificar os sellers afetados."


Template

Exemplo: desativar caneca-350ml-black-v1

O que acontece:

  • Template excluído das buscas de render na loja
  • SKUs que dependiam exclusivamente deste template ficam sem imagens
  • Renders e placements permanecem no banco (não são deletados)
  • Seller não é notificado — produto simplesmente perde a imagem
Mensagem para o frontend

"Desativar este template irá remover os mockups associados da visualização na loja. SKUs que dependem exclusivamente deste template ficarão sem imagem. Renders podem ser restaurados reativando o template."


SellerProduct

AçãoTipoEfeito
Arquivar (seller)Soft (status=archived)Produto some da loja. Pode ser reativado.
Deletar (admin)HardRemove produto, variants, imagens, renders e placements.
Hard delete (admin) — cuidado!

Deleta todos os renders do artwork, mesmo que ele seja usado em outro produto. Se o mesmo artwork for compartilhado, os renders do outro produto também são apagados.

Arquivar

"Arquivar este produto irá removê-lo da loja. Pode ser reativado a qualquer momento. Pedidos existentes não são afetados."


SellerProductVariant (SKU do Seller)

Deletar remove o SKU permanentemente. Não é possível deletar o último SKU (precisa arquivar o produto).

  • SKU some da loja imediatamente
  • Faixa de preço (minPrice/maxPrice) é recalculada automaticamente
  • Renders são compartilhados por template, não por variant — permanecem

Resumo de Segurança

EntidadePedidos OK?Cascade Auto?Risco Principal
AssetSimNaoJSONB orfao em variants
Option/ValueSimNaoOpcao some da UI silenciosamente
ProductVariantSimNaoSeller continua vendendo
TemplateSimNaoSKUs ficam sem imagem
SellerProduct (archive)SimNaoPode ser reativado
SellerProduct (hard delete)SimParcialRender loss cross-product
SellerProductVariantSimNaoMinimo -- preco recalcula