ADR-008: Expor cartItemId no Product DTO
O record Product em GetInfoBase.cs não expunha o Id do CartItemsModel (cartItemId). O campo existia em CartItemsInfoDTO (populado pela query SQL) mas era descartado no mapeamento. Decidimos expô-lo como campo novo no Product DTO para que o zzlink possa identificar cada item do cart de forma inequívoca e usá-lo no endpoint de remoção.
Considered Options
- A (escolhida): Adicionar
cartItemIdao recordProductemGetInfoBase.cs. Campo aditivo — não quebra contratos existentes. O zzlink passa a armazenar o ID e o usa na chamadaDELETE api/payment/v2/{id}/remove-recommended-item. - B: Checkout service recebe
productId+sizedo zzlink e resolve internamente ocartItemId. Rejeitado — ambíguo quando doisCartItemstêm o mesmoproductId+size(ex: dois itens do mesmo produto adicionados separadamente), e adiciona lookup desnecessário no handler.