Validação de marcas — venda ecommerce (US 197129)
Documenta a linguagem de domínio da validação de marcas no fluxo de criação de carrinho com venda de prateleira (SaleEcommerce).
Language
schemaName:
Identificador do schema PostgreSQL do tenant (ex.: arezzo), passado explicitamente ao repositório pelo caller.
Avoid: schema, tenant, SearchPath (como termo de domínio)
Validação de marcas: Verificação de que os produtos do carrinho ecommerce pertencem a marcas compatíveis para venda de prateleira. Avoid: brand check, IsBrandsValid (como termo de negócio)
Loja multibrand permitida: Combinação exclusiva de marcas AREZZO e BRIZZA no mesmo carrinho ecommerce. Avoid: multimarca genérico (sem especificar quais marcas)
Products (fonte de Brand):
Tabela de produtos no schema do tenant no DbCore, consultada para obter a coluna Brand por ProductId.
Avoid: CoreOrg, CoreOrgDbContext (como fonte desta validação)
Relationships
- A Validação de marcas recebe uma lista de
ProductIde um schemaName - O schemaName é resolvido pelo caller (
SchemaNameHandlerouCartServiceAssistant) antes da chamada ao repositório - Uma Loja multibrand permitida é a única exceção à regra de marca única
- A Validação de marcas lê
Brandda tabela Products no DbCore (schema do tenant)
Example dialogue
Dev: "O
ProductRepositoryprecisa chamarIUserProviderpara obter o schema?" Domain expert: "Não — o método já recebe schemaName. Quem chama é responsável por resolver o tenant."
Flagged ambiguities
- "schema" usado genericamente → resolvido: usar schemaName quando referir ao parâmetro do repositório.